For a description of the devicetree node, please read
Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.txt

For a description of the gpio devicetree nodes, please read
Documentation/devicetree/bindings/gpio/ingenic,gpio.txt

Signed-off-by: Paul Cercueil <[email protected]>
---
 arch/mips/boot/dts/ingenic/jz4780.dtsi | 89 ++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

 v2: Changed the devicetree bindings to match the new driver
 v3: No changes
 v4: Update the bindings for the v4 version of the drivers

diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi 
b/arch/mips/boot/dts/ingenic/jz4780.dtsi
index b868b429add2..f90199a7925d 100644
--- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
+++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
@@ -44,6 +44,95 @@
                #clock-cells = <1>;
        };
 
+       pinctrl: ingenic-pinctrl@10010000 {
+               compatible = "ingenic,jz4780-pinctrl";
+               reg = <0x10010000 0x600>;
+
+               gpa: gpio-controller@0 {
+                       compatible = "ingenic,gpio-bank-a", 
"ingenic,jz4780-gpio";
+
+                       gpio-controller;
+                       gpio-ranges = <&pinctrl 0 0 32>;
+                       #gpio-cells = <2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <17>;
+               };
+
+               gpb: gpio-controller@1 {
+                       compatible = "ingenic,gpio-bank-b", 
"ingenic,jz4780-gpio";
+
+                       gpio-controller;
+                       gpio-ranges = <&pinctrl 0 32 32>;
+                       #gpio-cells = <2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <16>;
+               };
+
+               gpc: gpio-controller@2 {
+                       compatible = "ingenic,gpio-bank-c", 
"ingenic,jz4780-gpio";
+
+                       gpio-controller;
+                       gpio-ranges = <&pinctrl 0 64 32>;
+                       #gpio-cells = <2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <15>;
+               };
+
+               gpd: gpio-controller@3 {
+                       compatible = "ingenic,gpio-bank-d", 
"ingenic,jz4780-gpio";
+
+                       gpio-controller;
+                       gpio-ranges = <&pinctrl 0 96 32>;
+                       #gpio-cells = <2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <14>;
+               };
+
+               gpe: gpio-controller@4 {
+                       compatible = "ingenic,gpio-bank-e", 
"ingenic,jz4780-gpio";
+
+                       gpio-controller;
+                       gpio-ranges = <&pinctrl 0 128 32>;
+                       #gpio-cells = <2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <13>;
+               };
+
+               gpf: gpio-controller@5 {
+                       compatible = "ingenic,gpio-bank-f", 
"ingenic,jz4780-gpio";
+
+                       gpio-controller;
+                       gpio-ranges = <&pinctrl 0 160 32>;
+                       #gpio-cells = <2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+
+                       interrupt-parent = <&intc>;
+                       interrupts = <12>;
+               };
+       };
+
        uart0: serial@10030000 {
                compatible = "ingenic,jz4780-uart";
                reg = <0x10030000 0x100>;
-- 
2.11.0

Reply via email to