Commit 8cae5f97 authored by Quan Nguyen's avatar Quan Nguyen Committed by Linus Walleij

gpio: X-Gene standby GPIO controller DTS binding

Update description for X-Gene standby GPIO controller DTS binding to
support GPIO line configuration as input, output or external IRQ pin.
Signed-off-by: default avatarY Vo <yvo@apm.com>
Signed-off-by: default avatarQuan Nguyen <qnguyen@apm.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 1013fc41
APM X-Gene Standby GPIO controller bindings APM X-Gene Standby GPIO controller bindings
This is a gpio controller in the standby domain. This is a gpio controller in the standby domain. It also supports interrupt in
some particular pins which are sourced to its parent interrupt controller
There are 20 GPIO pins from 0..21. There is no GPIO_DS14 or GPIO_DS15, as diagram below:
only GPIO_DS8..GPIO_DS13 support interrupts. The IRQ mapping +-----------------+
is currently 1-to-1 on interrupts 0x28 thru 0x2d. | X-Gene standby |
| GPIO controller +------ GPIO_0
+------------+ | | ...
| Parent IRQ | EXT_INT_0 | +------ GPIO_8/EXT_INT_0
| controller | (SPI40) | | ...
| (GICv2) +--------------+ +------ GPIO_[N+8]/EXT_INT_N
| | ... | |
| | EXT_INT_N | +------ GPIO_[N+9]
| | (SPI[40 + N])| | ...
| +--------------+ +------ GPIO_MAX
+------------+ +-----------------+
Required properties: Required properties:
- compatible: "apm,xgene-gpio-sb" for the X-Gene Standby GPIO controller - compatible: "apm,xgene-gpio-sb" for the X-Gene Standby GPIO controller
...@@ -15,10 +25,18 @@ Required properties: ...@@ -15,10 +25,18 @@ Required properties:
0 = active high 0 = active high
1 = active low 1 = active low
- gpio-controller: Marks the device node as a GPIO controller. - gpio-controller: Marks the device node as a GPIO controller.
- interrupts: Shall contain exactly 6 interrupts. - interrupts: The EXT_INT_0 parent interrupt resource must be listed first.
- interrupt-parent: Phandle of the parent interrupt controller.
- interrupt-cells: Should be two.
- first cell is 0-N coresponding for EXT_INT_0 to EXT_INT_N.
- second cell is used to specify flags.
- interrupt-controller: Marks the device node as an interrupt controller.
- apm,nr-gpios: Optional, specify number of gpios pin.
- apm,nr-irqs: Optional, specify number of interrupt pins.
- apm,irq-start: Optional, specify lowest gpio pin support interrupt.
Example: Example:
sbgpio: sbgpio@17001000 { sbgpio: gpio@17001000{
compatible = "apm,xgene-gpio-sb"; compatible = "apm,xgene-gpio-sb";
reg = <0x0 0x17001000 0x0 0x400>; reg = <0x0 0x17001000 0x0 0x400>;
#gpio-cells = <2>; #gpio-cells = <2>;
...@@ -29,4 +47,19 @@ Example: ...@@ -29,4 +47,19 @@ Example:
<0x0 0x2b 0x1>, <0x0 0x2b 0x1>,
<0x0 0x2c 0x1>, <0x0 0x2c 0x1>,
<0x0 0x2d 0x1>; <0x0 0x2d 0x1>;
interrupt-parent = <&gic>;
#interrupt-cells = <2>;
interrupt-controller;
apm,nr-gpios = <22>;
apm,nr-irqs = <6>;
apm,irq-start = <8>;
};
testuser {
compatible = "example,testuser";
/* Use the GPIO_13/EXT_INT_5 line as an active high triggered
* level interrupt
*/
interrupts = <5 4>;
interrupt-parent = <&sbgpio>;
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment