]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dt-bindings: gpio: davinci: Add keystone-k2g compatible
authorKeerthy <j-keerthy@ti.com>
Fri, 4 Aug 2017 05:47:33 +0000 (11:17 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 14 Aug 2017 13:03:39 +0000 (15:03 +0200)
The patch adds keystone-k2g compatible, specific properties and
an example. The patch also adds the details of supported SoCs
for each compatible.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/gpio/gpio-davinci.txt

index 5079ba7d65681dfa0b48a3874de414fec9a99189..8beb0539b6d84b3cdf7ebb1b77f1a598e7c91151 100644 (file)
@@ -1,7 +1,10 @@
 Davinci/Keystone GPIO controller bindings
 
 Required Properties:
-- compatible: should be "ti,dm6441-gpio", "ti,keystone-gpio"
+- compatible: should be "ti,dm6441-gpio": for Davinci da850 SoCs
+                       "ti,keystone-gpio": for Keystone 2 66AK2H/K, 66AK2L,
+                                               66AK2E SoCs
+                       "ti,k2g-gpio", "ti,keystone-gpio": for 66AK2G
 
 - reg: Physical base address of the controller and the size of memory mapped
        registers.
@@ -20,7 +23,21 @@ Required Properties:
 - ti,ngpio: The number of GPIO pins supported.
 
 - ti,davinci-gpio-unbanked: The number of GPIOs that have an individual interrupt
-                            line to processor.
+                           line to processor.
+
+- clocks: Should contain the device's input clock, and should be defined as per
+          the appropriate clock bindings consumer usage in,
+
+          Documentation/devicetree/bindings/clock/keystone-gate.txt
+                            for 66AK2HK/66AK2L/66AK2E SoCs or,
+
+          Documentation/devicetree/bindings/clock/ti,sci-clk.txt
+                            for 66AK2G SoCs
+
+- clock-names: Name should be "gpio";
+
+Currently clock-names and clocks are needed for all keystone 2 platforms
+Davinci platforms do not have DT clocks as of now.
 
 The GPIO controller also acts as an interrupt controller. It uses the default
 two cells specifier as described in Documentation/devicetree/bindings/
@@ -60,3 +77,73 @@ leds {
                ...
        };
 };
+
+Example for 66AK2G:
+
+gpio0: gpio@2603000 {
+       compatible = "ti,k2g-gpio", "ti,keystone-gpio";
+       reg = <0x02603000 0x100>;
+       gpio-controller;
+       #gpio-cells = <2>;
+       interrupts = <GIC_SPI 432 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 433 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 434 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 436 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 437 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 438 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 439 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 440 IRQ_TYPE_EDGE_RISING>;
+       interrupt-controller;
+       #interrupt-cells = <2>;
+       ti,ngpio = <144>;
+       ti,davinci-gpio-unbanked = <0>;
+       clocks = <&k2g_clks 0x001b 0x0>;
+       clock-names = "gpio";
+};
+
+Example for 66AK2HK/66AK2L/66AK2E:
+
+gpio0: gpio@260bf00 {
+       compatible = "ti,keystone-gpio";
+       reg = <0x0260bf00 0x100>;
+       gpio-controller;
+       #gpio-cells = <2>;
+       /* HW Interrupts mapped to GPIO pins */
+       interrupts = <GIC_SPI 120 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 121 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 122 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 123 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 124 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 125 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 127 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 131 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 132 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 133 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 134 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 135 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 137 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 138 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 139 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 140 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 145 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 146 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 147 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>,
+                       <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
+                       clocks = <&clkgpio>;
+       clock-names = "gpio";
+       ti,ngpio = <32>;
+       ti,davinci-gpio-unbanked = <32>;
+};