aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-01-12 12:07:07 +0000
committerJohn Crispin <john@openwrt.org>2014-01-12 12:07:07 +0000
commitf58b424c9e808cb31a1174d17e61a571d60b966a (patch)
treeb69cbfaf4c651fe78755d84b371fa9db1f2364a4
parent4810de8e4bb03b3caf1c9ad9509e65244f228af1 (diff)
downloadupstream-f58b424c9e808cb31a1174d17e61a571d60b966a.tar.gz
upstream-f58b424c9e808cb31a1174d17e61a571d60b966a.tar.bz2
upstream-f58b424c9e808cb31a1174d17e61a571d60b966a.zip
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
-rw-r--r--target/linux/lantiq/base-files/etc/uci-defaults/02_network16
-rw-r--r--target/linux/lantiq/dts/ARV4510PW.dts147
-rw-r--r--target/linux/lantiq/xway/profiles/arv.mk9
3 files changed, 135 insertions, 37 deletions
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_network b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
index 3262f080c3..41785f4ba0 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/02_network
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
@@ -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
diff --git a/target/linux/lantiq/dts/ARV4510PW.dts b/target/linux/lantiq/dts/ARV4510PW.dts
index 9adad34a36..adba211eac 100644
--- a/target/linux/lantiq/dts/ARV4510PW.dts
+++ b/target/linux/lantiq/dts/ARV4510PW.dts
@@ -3,7 +3,7 @@
/include/ "danube.dtsi"
/ {
- model = "ARV4510QW - Wippies Homebox";
+ model = "ARV4510PW - Wippies, Elisa";
chosen {
bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
@@ -32,32 +32,20 @@
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 {
@@ -65,36 +53,47 @@
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 {
@@ -105,14 +104,104 @@
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>;
+ };
+ };
};
diff --git a/target/linux/lantiq/xway/profiles/arv.mk b/target/linux/lantiq/xway/profiles/arv.mk
index 6bd4035452..ea611fddcf 100644
--- a/target/linux/lantiq/xway/profiles/arv.mk
+++ b/target/linux/lantiq/xway/profiles/arv.mk
@@ -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