lantiq: improve Arcadyan ARV4510PW support
authorJohn Crispin <john@openwrt.org>
Sun, 12 Jan 2014 12:07:07 +0000 (12:07 +0000)
committerJohn Crispin <john@openwrt.org>
Sun, 12 Jan 2014 12:07:07 +0000 (12:07 +0000)
Arcadyan ARV4510PW has already a build profile in OpenWrt, but it is
severely lacking. This patch brings it up-to-date.

Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
SVN-Revision: 39230

target/linux/lantiq/base-files/etc/uci-defaults/02_network
target/linux/lantiq/dts/ARV4510PW.dts
target/linux/lantiq/xway/profiles/arv.mk

index 3262f080c3a65f2c204fcc9d6364e864398c34c1..41785f4ba0518d2ed6d12ef4cb0b704a52fe7ed3 100644 (file)
@@ -47,16 +47,24 @@ board=$(lantiq_board_id)
 
 case "$board" in
 # adm6996
+ARV4510PW)
+       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ucidef_set_interface_lan "eth0.1"
+       ucidef_add_switch "switch0" "1" "1"
+       ucidef_add_switch_vlan "switch0" "1" "3 2 1 0 5t"
+       ;;
+
 ARV4520PW)
        ucidef_set_interface_lan "eth0.1"
-       ucidef_add_switch "eth0" "1" "1"
-       ucidef_add_switch_vlan "eth0" "1" "3 2 1 0 5t"
+       ucidef_add_switch "switch0" "1" "1"
+       ucidef_add_switch_vlan "switch0" "1" "3 2 1 0 5t"
        ;;
 
 ACMP252|GIGASX76X)
        ucidef_set_interface_lan "eth0.1"
-       ucidef_add_switch "eth0" "1" "1"
-       ucidef_add_switch_vlan "eth0" "1" "4 3 2 1 5t"
+       ucidef_add_switch "switch0" "1" "1"
+       ucidef_add_switch_vlan "switch0" "1" "4 3 2 1 5t"
        ;;
 
 # ar8316
index 9adad34a365a336e6998172163a4f55771c0a1ab..adba211eacae5651f5e1d2474927f288e2768f2d 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 {
+                               partition@60000 {
                                        label = "firmware";
-                                       reg = <0x40000 0xf00000>;
+                                       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,output = <1>;
+                               };
                                stp {
                                        lantiq,groups = "stp";
-                                        lantiq,function = "stp";
+                                       lantiq,function = "stp";
+                                       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,output = <1>;
                                };
                                pci_rst {
                                        lantiq,pins = "io21";
-                                       lantiq,pull = <0>;
+                                       lantiq,open-drain;
                                        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>;
+               };
+       };
 };
index 6bd4035452358701ec985319fdbdc914813f8301..ea611fddcf2d9fad0e044f7e06959dbb1e17c81e 100644 (file)
@@ -43,12 +43,13 @@ endef
 $(eval $(call Profile,ARV4518PWR01A))
 
 define Profile/ARV4510PW
-  NAME:=Wippies Homebox - ARV4510PW
-  PACKAGES:=kmod-ledtrig-usbdev kmod-usb2 kmod-usb-uhci \
+  NAME:=Wippies, Elisa - ARV4510PW
+  PACKAGES:=kmod-ledtrig-usbdev kmod-usb2-pci kmod-usb-uhci \
        kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
-       kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
+       kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
        ltq-adsl-app ppp-mod-pppoa \
-       kmod-rt61 wpad-mini \
+       kmod-ltq-tapi kmod-ltq-vmmc \
+       kmod-rt2800-pci kmod-ath5k wpad-mini \
        swconfig
 endef