mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 17:12:55 +00:00
e92935e13a
This patch adds device tree support for gpio-lpc32xx.c. To register the various GPIO banks as (struct) gpio_chips via the same DT gpio-controller, we utilize the adjusted of_xlate API to manipulate the actually used struct gpio_chip. Signed-off-by: Roland Stigge <stigge@antcom.de> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
44 lines
980 B
Plaintext
44 lines
980 B
Plaintext
NXP LPC32xx SoC GPIO controller
|
|
|
|
Required properties:
|
|
- compatible: must be "nxp,lpc3220-gpio"
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- gpio-controller: Marks the device node as a GPIO controller.
|
|
- #gpio-cells: Should be 3:
|
|
1) bank:
|
|
0: GPIO P0
|
|
1: GPIO P1
|
|
2: GPIO P2
|
|
3: GPIO P3
|
|
4: GPI P3
|
|
5: GPO P3
|
|
2) pin number
|
|
3) optional parameters:
|
|
- bit 0 specifies polarity (0 for normal, 1 for inverted)
|
|
- reg: Index of the GPIO group
|
|
|
|
Example:
|
|
|
|
gpio: gpio@40028000 {
|
|
compatible = "nxp,lpc3220-gpio";
|
|
reg = <0x40028000 0x1000>;
|
|
gpio-controller;
|
|
#gpio-cells = <3>; /* bank, pin, flags */
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led0 {
|
|
gpios = <&gpio 5 1 1>; /* GPO_P3 1, active low */
|
|
linux,default-trigger = "heartbeat";
|
|
default-state = "off";
|
|
};
|
|
|
|
led1 {
|
|
gpios = <&gpio 5 14 1>; /* GPO_P3 14, active low */
|
|
linux,default-trigger = "timer";
|
|
default-state = "off";
|
|
};
|
|
};
|