lantiq: fix PCI problems on ARV4510PW
[openwrt/openwrt.git] / target / linux / lantiq / dts / ARV4510PW.dts
index e0cd38a460538b169c26e56f83ba79cfdc62202f..47724959a11e847c03b5a531406282147fedf2e2 100644 (file)
@@ -3,7 +3,7 @@
 /include/ "danube.dtsi"
 
 / {
-       model = "ARV4510QW - Wippies Homebox";
+       model = "ARV4510PW - Wippies, Elisa";
 
        chosen {
                bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
 
                                partition@0 {
                                        label = "uboot";
-                                       reg = <0x00000 0x20000>;
+                                       reg = <0x00000 0x40000>;
                                        read-only;
                                };
 
-                               partition@20000 {
+                               partition@40000 {
                                        label = "uboot_env";
-                                       reg = <0x20000 0x20000>;
+                                       reg = <0x40000 0x20000>;
                                        read-only;
                                };
 
-                               partition@240000 {
-                                       label = "linux";
-                                       reg = <0x40000 0xf00000>;
+                               partition@60000 {
+                                       label = "firmware";
+                                       reg = <0x60000 0xfa0000>;
                                };
-
-                               partition@fe0000 {
-                                       label = "boardconfig";
-                                       reg = <0xfe0000 0x10000>;
-                                       read-only;
-                               };
-                       };
-
-                       mac_addr {
-                               compatible = "lantiq,eth-mac";
-                               reg = <0 0xff0016 0x6>;
-                               mac-increment = <2>;
                        };
                };
                gpio: pinmux@E100B10 {
                        pinctrl-0 = <&state_default>;
 
                        state_default: pinmux {
+                               ebu {
+                                       lantiq,groups = "ebu a23";
+                                       lantiq,function = "ebu";
+                                       lantiq,open-drain = <0>;
+                                       lantiq,output = <1>;
+                               };
                                stp {
                                        lantiq,groups = "stp";
-                                        lantiq,function = "stp";
+                                       lantiq,function = "stp";
+                                       lantiq,open-drain = <0>;
+                                       lantiq,output = <1>;
                                };
                                exin {
-                                       lantiq,groups = "exin2";
+                                       lantiq,groups = "exin1", "exin2";
                                        lantiq,function = "exin";
+                                       lantiq,output = <0>;
                                };
                                pci_in {
                                        lantiq,groups = "req1", "req2";
                                        lantiq,function = "pci";
-                                       lantiq,open-drain = <1>;
-                                       lantiq,pull = <2>;
                                        lantiq,output = <0>;
                                };
                                pci_out {
-                                       lantiq,groups = "gnt1";
+                                       lantiq,groups = "gnt1", "gnt2";
                                        lantiq,function = "pci";
+                                       lantiq,open-drain = <0>;
+                                       lantiq,pull = <0>;
                                        lantiq,output = <1>;
                                };
                                pci_rst {
                                        lantiq,pins = "io21";
-                                       lantiq,pull = <0>;
+                                       lantiq,open-drain = <0>;
                                        lantiq,output = <1>;
                                };
+                               buttons {
+                                       lantiq,pins = "io3", "io14";
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <0>;
+                               };
                        };
                };
 
                gpios: stp@E100BB0 {
                        status = "okay";
+                       lantiq,groups = <0x7>;
                };
 
                etop@E180000 {
                        status = "okay";
                        lantiq,external-clock;
                        interrupt-map = <
-                                0x7000 0 0 1 &icu0 30
-                               0x7800 0 0 1 &icu0 135
-                               0x7800 0 0 2 &icu0 135
-                               0x7800 0 0 3 &icu0 135
+                               0x6000 0 0 1 &icu0 135
+                               0x7800 0 0 1 &icu0 66
+                               0x7800 0 0 2 &icu0 66
+                               0x7800 0 0 3 &icu0 66
                        >;
                        gpio-reset = <&gpio 21 0>;
-                       req-mask = <0x3>;
+                       req-mask = <0x7>;
                };
 
        };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio 14 1>;
+                       linux,code = <0x211>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 3 1>;
+                       linux,code = <0x198>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               power {
+                       label = "power";
+                       gpios = <&gpios 21 0>;
+               };
+               power2 {
+                       label = "power2";
+                       gpios = <&gpios 20 0>;
+               };
+               lan1 {
+                       label = "lan1";
+                       gpios = <&gpios 19 0>;
+               };
+               lan2 {
+                       label = "lan2";
+                       gpios = <&gpios 18 0>;
+               };
+               lan3 {
+                       label = "lan3";
+                       gpios = <&gpios 17 0>;
+               };
+               lan4 {
+                       label = "lan4";
+                       gpios = <&gpios 16 0>;
+               };
+               wifi {
+                       label = "wifi";
+                       gpios = <&gpios 15 0>;
+               };
+               adsl {
+                       label = "adsl";
+                       gpios = <&gpios 14 0>;
+               };
+               internet {
+                       label = "internet";
+                       gpios = <&gpios 13 0>;
+               };
+               internet2 {
+                       label = "internet2";
+                       gpios = <&gpios 12 0>;
+               };
+               voip {
+                       label = "voip";
+                       gpios = <&gpios 11 0>;
+               };
+               phone {
+                       label = "phone";
+                       gpios = <&gpios 10 0>;
+               };
+               phone2 {
+                       label = "phone2";
+                       gpios = <&gpios 9 0>;
+               };
+               usb {
+                       label = "usb";
+                       gpios = <&gpios 8 0>;
+               };
+               usb2 {
+                       label = "usb2";
+                       gpios = <&gpios 7 0>;
+               };
+               usb3 {
+                       label = "usb3";
+                       gpios = <&gpios 6 0>;
+               };
+               unlabeled {
+                       label = "unlabeled";
+                       gpios = <&gpios 5 0>;
+               };
+       };
 };