linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] pinctrl: lpc18xx: support pint setup
@ 2016-02-25 21:44 Joachim Eastwood
  2016-02-25 21:44 ` [PATCH v2 1/3] pinctrl: core: create nolock version of pinctrl_find_gpio_range_from_pin Joachim Eastwood
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Joachim Eastwood @ 2016-02-25 21:44 UTC (permalink / raw)
  To: linus.walleij; +Cc: Joachim Eastwood, linux-gpio

Some background here:
The LPC1850 has no less than 3 GPIO interrupt blocks. One of these
blocks is called 'gpio pin interrupt' or just PINT. LPC1850 PINT can
handle up to 8 interrupts and these have a one-to-one relationship with
the main interrupt controller (NVIC).

Selecting which GPIOs that are associated with PINT irq lines is done in
pinctrl hw block (SCU). The pinctrl device usually deals with the pin
namespace but PINT selecction is done in the GPIO namespace. Fortunatly
there is a function that can translate from the pin namespace to the
GPIO namespace.

Selection is done in DT with the "nxp,gpio-pin-interrupt" property.
Example usage;
&pinctrl {
	gpio_joystick_1_cfg {
		pins =  "p9_0";
		function = "gpio";
		nxp,gpio-pin-interrupt = <0>;
		input-enable;
		bias-disable;
	};
};

The reason for not doing this irq line selection on the fly in the
irqchip driver is that the registers lie in the SCU hw block not in the
PINT block and DT gives you more control since you can select a specific
irq lines easily.

The irq chip driver is ready but will posted separately.

Joachim Eastwood (3):
  pinctrl: core: create nolock version of pinctrl_find_gpio_range_from_pin
  pinctrl: lpc18xx: add nxp,gpio-pin-interrupt property
  pinctrl: lpc1850-scu: document nxp,gpio-pin-interrupt

 .../bindings/pinctrl/nxp,lpc1850-scu.txt           |  14 ++
 drivers/pinctrl/core.c                             |  35 +++--
 drivers/pinctrl/core.h                             |   4 +
 drivers/pinctrl/pinctrl-lpc18xx.c                  | 143 ++++++++++++++++++++-
 4 files changed, 178 insertions(+), 18 deletions(-)

-- 
1.8.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-03-07  3:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-25 21:44 [PATCH v2 0/3] pinctrl: lpc18xx: support pint setup Joachim Eastwood
2016-02-25 21:44 ` [PATCH v2 1/3] pinctrl: core: create nolock version of pinctrl_find_gpio_range_from_pin Joachim Eastwood
2016-03-07  3:41   ` Linus Walleij
2016-02-25 21:44 ` [PATCH v2 2/3] pinctrl: lpc18xx: add nxp,gpio-pin-interrupt property Joachim Eastwood
2016-03-07  3:46   ` Linus Walleij
2016-02-25 21:44 ` [PATCH v2 3/3] pinctrl: lpc1850-scu: document nxp,gpio-pin-interrupt Joachim Eastwood
2016-03-07  3:48   ` Linus Walleij
2016-02-25 21:47 ` [PATCH v2 0/3] pinctrl: lpc18xx: support pint setup Joachim Eastwood
2016-03-07  3:52 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).