aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>2016-06-20 18:47:38 +0200
committerJohn Crispin <john@phrozen.org>2016-06-22 19:32:06 +0200
commit9759fde40a3c50095097443ed261b5dd33f8b393 (patch)
treefffed93ac1f712f471e2a2fa5f6e4895147c899a /target/linux
parentb67066b8fa1202074b3a2dd2cfd94a9aa5947e4a (diff)
downloadupstream-9759fde40a3c50095097443ed261b5dd33f8b393.tar.gz
upstream-9759fde40a3c50095097443ed261b5dd33f8b393.tar.bz2
upstream-9759fde40a3c50095097443ed261b5dd33f8b393.zip
lantiq: add support for ARV7506PW11 (Alice/O2 IAD 4421)
Ethernet, ADSL2+ and LEDs are fully functional. Supporting the two TAE ports and SIP gateway was not attempted. The WiFi is unreliable, due to experimental support for rt35xx family devices by the rt2800pci driver. Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> [rebase to LEDE HEAD] [switch to normal image instead of brnboot image] [remove not required pinmux child nodes keys, leds, ebu, exin, pci_in and pci_out] [remove switch_rst pinmux child node (no support for hw reset in driver/setting a default GPIO value in DT] [enable usage of the wireless LED] [fixup mac address configuration] Sgned-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target/linux')
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/board.d/02_network8
-rw-r--r--target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom2
-rw-r--r--target/linux/lantiq/dts/ARV7506PW11.dts159
-rw-r--r--target/linux/lantiq/image/Makefile12
5 files changed, 183 insertions, 1 deletions
diff --git a/target/linux/lantiq/base-files/etc/board.d/01_leds b/target/linux/lantiq/base-files/etc/board.d/01_leds
index 4cca17f280..c9d9a7794c 100755
--- a/target/linux/lantiq/base-files/etc/board.d/01_leds
+++ b/target/linux/lantiq/base-files/etc/board.d/01_leds
@@ -27,6 +27,9 @@ board_config_update
board=$(lantiq_board_name)
case "$board" in
+ARV7506PW11)
+ ucidef_set_led_wlan "wifi" "wifi" "arv7506pw11:green:wlan" "phy0radio"
+ ;;
BTHOMEHUBV5A)
ucidef_set_led_default "dimmed" "dimmed" "dimmed" "0"
;;
diff --git a/target/linux/lantiq/base-files/etc/board.d/02_network b/target/linux/lantiq/base-files/etc/board.d/02_network
index 6d9f8fdeee..c271e62f73 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -46,6 +46,14 @@ ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22|ARV8539PW22)
;;
# rtl8306g
+ARV7506PW11)
+ lan_mac=$(mtd_get_mac_binary board_config 22)
+ wan_mac=$(macaddr_add "$lan_mac" 2)
+ ucidef_add_switch "switch0" \
+ "4:lan:1" "3:lan:2" "2:lan:3" "1:lan:4" "5t@eth0"
+ ;;
+
+# rtl8306g
ARV7519PW)
lan_mac=$(mtd_get_mac_binary board_config 22)
wan_mac=$(macaddr_add "$lan_mac" 1)
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index 5f1cb00452..da10797381 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -35,7 +35,7 @@ case "$FIRMWARE" in
"RT2860.eeprom" )
local board=$(lantiq_board_name)
case $board in
- ARV7510PW22|ARV7519PW|ARV752DPW|ARV752DPW22|VGV7519)
+ ARV7506PW11|ARV7510PW22|ARV7519PW|ARV752DPW|ARV752DPW22|VGV7519)
rt2x00_eeprom_extract "board_config" 520 256 1
;;
ARV7525PW)
diff --git a/target/linux/lantiq/dts/ARV7506PW11.dts b/target/linux/lantiq/dts/ARV7506PW11.dts
new file mode 100644
index 0000000000..7519e22408
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV7506PW11.dts
@@ -0,0 +1,159 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV7506PW11 - Alice/O2 IAD 4421";
+
+ chosen {
+ leds {
+ boot = &power;
+ failsafe = &power_red;
+ running = &power;
+
+ dsl = &dsl;
+ internet = &internet;
+ wifi = &wlan;
+ };
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "uboot_env";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "firmware";
+ reg = <0x50000 0x7a0000>;
+ };
+
+ partition@7f0000 {
+ label = "board_config";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x7f0016 0x6>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ pci {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ /* GPIO 19: switch reset */
+ etop@E180000 {
+ phy-mode = "rmii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 0>;
+ };
+ };
+
+ ralink_eep {
+ compatible = "ralink,eeprom";
+ ralink,eeprom = "RT2860.eeprom";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 11 1>;
+ linux,code = <0xf7>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ wlan: wlan {
+ label = "arv7506pw11:green:wlan";
+ gpios = <&gpio 2 1>;
+ };
+ power: power {
+ label = "arv7506pw11:green:power";
+ gpios = <&gpio 3 1>;
+ default-state = "keep";
+ };
+ dsl: dsl {
+ label = "arv7506pw11:green:dsl";
+ gpios = <&gpio 4 1>;
+ };
+ internet: internet {
+ label = "arv7506pw11:green:internet";
+ gpios = <&gpio 5 1>;
+ };
+ power_red: power_red {
+ label = "arv7506pw11:red:power";
+ gpios = <&gpio 6 1>;
+ };
+ internet_red {
+ label = "arv7506pw11:red:internet";
+ gpios = <&gpio 7 1>;
+ };
+ info {
+ label = "arv7506pw11:green:info";
+ gpios = <&gpio 8 1>;
+ };
+ telefon {
+ label = "arv7506pw11:green:telefon";
+ gpios = <&gpio 9 1>;
+ };
+ info_red {
+ label = "arv7506pw11:red:info";
+ gpios = <&gpio 20 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index f76f6db790..7cd08c15f6 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -371,6 +371,18 @@ define Device/ARV4519PW
endef
TARGET_DEVICES += ARV4519PW
+define Device/ARV7506PW11
+ DEVICE_PROFILE := ARV7506PW11
+ IMAGE_SIZE := 7808k
+ DEVICE_TITLE := Alice/O2 IAD 4421 - ARV7506PW11
+ DEVICE_PACKAGES := kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
+ kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
+ ltq-adsl-app ppp-mod-pppoa \
+ kmod-rt2800-pci wpad-mini \
+ swconfig
+endef
+TARGET_DEVICES += ARV7506PW11
+
define Device/ARV7510PW22
DEVICE_PROFILE := ARV7510PW22
IMAGE_SIZE := 31232k