-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gpio/lpc32xx: Add device tree support
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>
- Loading branch information
Roland Stigge
authored and
Grant Likely
committed
May 18, 2012
1 parent
3d0f7cf
commit e92935e
Showing
3 changed files
with
102 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
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"; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,8 @@ | ||
/* empty */ | ||
#ifndef __MACH_GPIO_H | ||
#define __MACH_GPIO_H | ||
|
||
#include "gpio-lpc32xx.h" | ||
|
||
#define ARCH_NR_GPIOS (LPC32XX_GPO_P3_GRP + LPC32XX_GPO_P3_MAX) | ||
|
||
#endif /* __MACH_GPIO_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters