lantiq: add support for ARV7506PW11 (Alice/O2 IAD 4421)
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>
Mon, 20 Jun 2016 16:47:38 +0000 (18:47 +0200)
committerJohn Crispin <john@phrozen.org>
Wed, 22 Jun 2016 17:32:06 +0000 (19:32 +0200)
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>
target/linux/lantiq/base-files/etc/board.d/01_leds
target/linux/lantiq/base-files/etc/board.d/02_network
target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
target/linux/lantiq/dts/ARV7506PW11.dts [new file with mode: 0644]
target/linux/lantiq/image/Makefile

index 4cca17f280c3148aa42d521edbc8db2629057c43..c9d9a7794c5a79170bdac1ceff9e3fa53ac87e3a 100755 (executable)
@@ -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"
        ;;
index 6d9f8fdeee1b39dacadb334971001cb0857f012e..c271e62f733c1adc19592910ac9477090a1a6203 100755 (executable)
@@ -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)
index 5f1cb00452a0a133517d37da01206d16616e21cc..da10797381557ed89a00b93dfdb90e6625e4c68e 100644 (file)
@@ -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 (file)
index 0000000..7519e22
--- /dev/null
@@ -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>;
+               };
+       };
+};
index f76f6db79044e5f7d98957c1afd2dc2f7417ffd4..7cd08c15f6043b09bb9a49f915d663d7cc584e36 100644 (file)
@@ -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