lantiq: improve Arcadyan ARV4510PW support

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
This commit is contained in:
John Crispin 2014-01-12 12:07:07 +00:00
parent 4810de8e4b
commit f58b424c9e
3 changed files with 135 additions and 37 deletions

View file

@ -47,16 +47,24 @@ board=$(lantiq_board_id)
case "$board" in case "$board" in
# adm6996 # 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) ARV4520PW)
ucidef_set_interface_lan "eth0.1" ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "eth0" "1" "1" ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "eth0" "1" "3 2 1 0 5t" ucidef_add_switch_vlan "switch0" "1" "3 2 1 0 5t"
;; ;;
ACMP252|GIGASX76X) ACMP252|GIGASX76X)
ucidef_set_interface_lan "eth0.1" ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "eth0" "1" "1" ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "eth0" "1" "4 3 2 1 5t" ucidef_add_switch_vlan "switch0" "1" "4 3 2 1 5t"
;; ;;
# ar8316 # ar8316

View file

@ -3,7 +3,7 @@
/include/ "danube.dtsi" /include/ "danube.dtsi"
/ { / {
model = "ARV4510QW - Wippies Homebox"; model = "ARV4510PW - Wippies, Elisa";
chosen { chosen {
bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
@ -32,32 +32,20 @@
partition@0 { partition@0 {
label = "uboot"; label = "uboot";
reg = <0x00000 0x20000>; reg = <0x00000 0x40000>;
read-only; read-only;
}; };
partition@20000 { partition@40000 {
label = "uboot_env"; label = "uboot_env";
reg = <0x20000 0x20000>; reg = <0x40000 0x20000>;
read-only; read-only;
}; };
partition@240000 { partition@60000 {
label = "firmware"; 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 { gpio: pinmux@E100B10 {
@ -65,36 +53,47 @@
pinctrl-0 = <&state_default>; pinctrl-0 = <&state_default>;
state_default: pinmux { state_default: pinmux {
ebu {
lantiq,groups = "ebu a23";
lantiq,function = "ebu";
lantiq,output = <1>;
};
stp { stp {
lantiq,groups = "stp"; lantiq,groups = "stp";
lantiq,function = "stp"; lantiq,function = "stp";
lantiq,output = <1>;
}; };
exin { exin {
lantiq,groups = "exin2"; lantiq,groups = "exin1", "exin2";
lantiq,function = "exin"; lantiq,function = "exin";
lantiq,output = <0>;
}; };
pci_in { pci_in {
lantiq,groups = "req1", "req2"; lantiq,groups = "req1", "req2";
lantiq,function = "pci"; lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>; lantiq,output = <0>;
}; };
pci_out { pci_out {
lantiq,groups = "gnt1"; lantiq,groups = "gnt1", "gnt2";
lantiq,function = "pci"; lantiq,function = "pci";
lantiq,output = <1>; lantiq,output = <1>;
}; };
pci_rst { pci_rst {
lantiq,pins = "io21"; lantiq,pins = "io21";
lantiq,pull = <0>; lantiq,open-drain;
lantiq,output = <1>; lantiq,output = <1>;
}; };
buttons {
lantiq,pins = "io3", "io14";
lantiq,pull = <2>;
lantiq,output = <0>;
};
}; };
}; };
gpios: stp@E100BB0 { gpios: stp@E100BB0 {
status = "okay"; status = "okay";
lantiq,groups = <0x7>;
}; };
etop@E180000 { etop@E180000 {
@ -105,14 +104,104 @@
status = "okay"; status = "okay";
lantiq,external-clock; lantiq,external-clock;
interrupt-map = < interrupt-map = <
0x7000 0 0 1 &icu0 30 0x6000 0 0 1 &icu0 135
0x7800 0 0 1 &icu0 135 0x7800 0 0 1 &icu0 66
0x7800 0 0 2 &icu0 135 0x7800 0 0 2 &icu0 66
0x7800 0 0 3 &icu0 135 0x7800 0 0 3 &icu0 66
>; >;
gpio-reset = <&gpio 21 0>; 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>;
};
};
}; };

View file

@ -43,12 +43,13 @@ endef
$(eval $(call Profile,ARV4518PWR01A)) $(eval $(call Profile,ARV4518PWR01A))
define Profile/ARV4510PW define Profile/ARV4510PW
NAME:=Wippies Homebox - ARV4510PW NAME:=Wippies, Elisa - ARV4510PW
PACKAGES:=kmod-ledtrig-usbdev kmod-usb2 kmod-usb-uhci \ PACKAGES:=kmod-ledtrig-usbdev kmod-usb2-pci kmod-usb-uhci \
kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \ 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 \ ltq-adsl-app ppp-mod-pppoa \
kmod-rt61 wpad-mini \ kmod-ltq-tapi kmod-ltq-vmmc \
kmod-rt2800-pci kmod-ath5k wpad-mini \
swconfig swconfig
endef endef