arm: mvebu: add DT information for GPIO banks on Armada 370 and XP
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 19 Sep 2012 20:53:01 +0000 (22:53 +0200)
committerJason Cooper <jason@lakedaemon.net>
Sat, 22 Sep 2012 14:51:40 +0000 (14:51 +0000)
The gpioX aliases are needed so that the driver can use
of_alias_get_id() to get a 0-based number of the GPIO bank, which we
then use to compute the base GPIO of the bank being probed. This is
similar to what gpio-mxs.c is doing.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/armada-370.dtsi
arch/arm/boot/dts/armada-xp-mv78230.dtsi
arch/arm/boot/dts/armada-xp-mv78260.dtsi
arch/arm/boot/dts/armada-xp-mv78460.dtsi

index 2bfb904..2069151 100644 (file)
        model = "Marvell Armada 370 family SoC";
        compatible = "marvell,armada370", "marvell,armada-370-xp";
 
+       aliases {
+               gpio0 = &gpio0;
+               gpio1 = &gpio1;
+               gpio2 = &gpio2;
+       };
+
        mpic: interrupt-controller@d0020000 {
              reg = <0xd0020a00 0x1d0>,
                    <0xd0021870 0x58>;
                pinctrl {
                        compatible = "marvell,mv88f6710-pinctrl";
                        reg = <0xd0018000 0x38>;
+               };
+
+               gpio0: gpio@d0018100 {
+                       compatible = "marvell,orion-gpio";
+                       reg = <0xd0018100 0x40>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <82>, <83>, <84>, <85>;
+               };
+
+               gpio1: gpio@d0018140 {
+                       compatible = "marvell,orion-gpio";
+                       reg = <0xd0018140 0x40>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <87>, <88>, <89>, <90>;
+               };
+
+               gpio2: gpio@d0018180 {
+                       compatible = "marvell,orion-gpio";
+                       reg = <0xd0018180 0x40>;
+                       ngpios = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <91>;
                };
        };
 };
index 38ede3d..ea35519 100644 (file)
        model = "Marvell Armada XP MV78230 SoC";
        compatible = "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp";
 
+       aliases {
+               gpio0 = &gpio0;
+               gpio1 = &gpio1;
+       };
+
        soc {
                pinctrl {
                        compatible = "marvell,mv78230-pinctrl";
                        reg = <0xd0018000 0x38>;
                };
+
+               gpio0: gpio@d0018100 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018100 0x40>,
+                           <0xd0018800 0x30>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <16>, <17>, <18>, <19>;
+               };
+
+               gpio1: gpio@d0018140 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018140 0x40>,
+                           <0xd0018840 0x30>;
+                       ngpios = <17>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <20>, <21>, <22>;
+               };
        };
 };
index b2eafcd..2057863 100644 (file)
        model = "Marvell Armada XP MV78260 SoC";
        compatible = "marvell,armadaxp-mv78260", "marvell,armadaxp", "marvell,armada-370-xp";
 
+       aliases {
+               gpio0 = &gpio0;
+               gpio1 = &gpio1;
+               gpio2 = &gpio2;
+       };
+
        soc {
                pinctrl {
                        compatible = "marvell,mv78260-pinctrl";
                        reg = <0xd0018000 0x38>;
                };
+
+               gpio0: gpio@d0018100 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018100 0x40>,
+                           <0xd0018800 0x30>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <16>, <17>, <18>, <19>;
+               };
+
+               gpio1: gpio@d0018140 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018140 0x40>,
+                           <0xd0018840 0x30>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <20>, <21>, <22>, <23>;
+               };
+
+               gpio2: gpio@d0018180 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018180 0x40>,
+                           <0xd0018870 0x30>;
+                       ngpios = <3>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <24>;
+               };
        };
 };
index cf8624d..ffac983 100644 (file)
        model = "Marvell Armada XP MV78460 SoC";
        compatible = "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
 
+       aliases {
+               gpio0 = &gpio0;
+               gpio1 = &gpio1;
+               gpio2 = &gpio2;
+       };
+
        soc {
                pinctrl {
                        compatible = "marvell,mv78460-pinctrl";
                        reg = <0xd0018000 0x38>;
                };
+
+               gpio0: gpio@d0018100 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018100 0x40>,
+                           <0xd0018800 0x30>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <16>, <17>, <18>, <19>;
+               };
+
+               gpio1: gpio@d0018140 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018140 0x40>,
+                           <0xd0018840 0x30>;
+                       ngpios = <32>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <20>, <21>, <22>, <23>;
+               };
+
+               gpio2: gpio@d0018180 {
+                       compatible = "marvell,armadaxp-gpio";
+                       reg = <0xd0018180 0x40>,
+                           <0xd0018870 0x30>;
+                       ngpios = <3>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupts-cells = <2>;
+                       interrupts = <24>;
+               };
        };
  };