gpio: dt-bindings: add ibm,ppc4xx-gpio binding
authorChristian Lamparter <chunkeey@googlemail.com>
Wed, 11 May 2016 22:07:48 +0000 (00:07 +0200)
committerRob Herring <robh@kernel.org>
Thu, 19 May 2016 14:16:36 +0000 (09:16 -0500)
This patch adds binding information for IBM/AMCC/APM GPIO
Controllers of the PowerPC 4XX series and compatible SoCs.

The "PowerPC 405EP Embedded Processor Data Sheet" has the
following to say about the GPIO controllers: "

 - Controller functions and GPIO registers are programmed
   and accessed via memory-mapped OPB bus master accesses

 - All GPIOs are pin-shared with other functions. DCRs control
   whether a particular pin that has GPIO capabilities acts
   as a GPIO or is used for another purpose.

 - Each GPIO outputs is separately programmable to emulate
   an open-drain driver (i.e. drives to zero, threestated if
   output bit is 1)

"
The ppc4xx_gpio.c driver is part of the platform/sysdev drivers
in arch/powerpc/sysdev.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/gpio/ibm,ppc4xx-gpio.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/gpio/ibm,ppc4xx-gpio.txt b/Documentation/devicetree/bindings/gpio/ibm,ppc4xx-gpio.txt
new file mode 100644 (file)
index 0000000..d58b395
--- /dev/null
@@ -0,0 +1,24 @@
+* IBM/AMCC/APM GPIO Controller for PowerPC 4XX series and compatible SoCs
+
+All GPIOs are pin-shared with other functions. DCRs control whether a
+particular pin that has GPIO capabilities acts as a GPIO or is used for
+another purpose. GPIO outputs are separately programmable to emulate
+an open-drain driver.
+
+Required properties:
+       - compatible: must be "ibm,ppc4xx-gpio"
+       - reg: address and length of the register set for the device
+       - #gpio-cells: must be set to 2. The first cell is the pin number
+               and the second cell is used to specify the gpio polarity:
+               0 = active high
+               1 = active low
+       - gpio-controller: marks the device node as a gpio controller.
+
+Example:
+
+GPIO0: gpio@ef600b00 {
+       compatible = "ibm,ppc4xx-gpio";
+       reg = <0xef600b00 0x00000048>;
+       #gpio-cells = <2>;
+       gpio-controller;
+};