From 9759fde40a3c50095097443ed261b5dd33f8b393 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 20 Jun 2016 18:47:38 +0200 Subject: [PATCH] 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 [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 --- .../lantiq/base-files/etc/board.d/01_leds | 3 + .../lantiq/base-files/etc/board.d/02_network | 8 + .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 2 +- target/linux/lantiq/dts/ARV7506PW11.dts | 159 ++++++++++++++++++ target/linux/lantiq/image/Makefile | 12 ++ 5 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 target/linux/lantiq/dts/ARV7506PW11.dts 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 @@ -45,6 +45,14 @@ ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22|ARV8539PW22) "0t@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" ;; +# 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) 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 -- 2.30.2