Ethernet, WiFi, ADSL2+, and LEDs are fully functional.

Supporting the two TAE ports and SIP gateway was not attempted.

The firmware image needs to be kept below ~3.6MiB due to brnboot's dual
image magic. This is just enough for the above configuration plus
dropbear. Luci and other non-critical packages must be installed into
the jffs2 once the device has booted.

U-boot support was not attempted.

Signed-off-by: Oswald Buddenhagen <oswald.buddenha...@gmx.de>
---
 .../linux/lantiq/base-files/etc/board.d/02_network |   8 +
 .../etc/hotplug.d/firmware/10-rt2x00-eeprom        |   2 +-
 target/linux/lantiq/dts/ARV7506PW11.dts            | 213 +++++++++++++++++++++
 target/linux/lantiq/image/Makefile                 |   2 +
 target/linux/lantiq/xway/profiles/arv.mk           |  12 ++
 5 files changed, 236 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/lantiq/dts/ARV7506PW11.dts

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 b27b802..1f06c26 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -39,6 +39,14 @@ ACMP252|GIGASX76X)
                "4:lan:1" "3:lan:2" "2:lan:3" "1:lan:4" "5t@eth0"
        ;;
 
+# rtl8306g
+ARV7506PW11)
+       lan_mac=$(mtd_get_mac_binary board_config 22)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ucidef_add_switch "switch0" \
+               "4:lan:1" "3:lan:2" "2:lan:3" "1:lan:4" "5t@eth0"
+       ;;
+
 # ar8316
 ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22|ARV8539PW22)
        ucidef_add_switch "switch0" \
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 5f1cb00..da10797 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 0000000..1c38c88
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV7506PW11.dts
@@ -0,0 +1,213 @@
+/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>;
+       };
+
+       sram@1F000000 {
+               vmmc@107000 {
+                       status = "okay";
+                       gpios = <&gpiomm 1 0>;
+               };
+       };
+
+       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 = "brnboot";
+                                               reg = <0x00000 0x20000>;
+                                               read-only;
+                                       };
+
+                                       partition@20000 {
+                                               label = "stuff";
+                                               reg = <0x20000 0x70000>;
+                                       };
+
+                                       partition@90000 {
+                                               label = "rootfs_data";
+                                               reg = <0x90000 0x3B0000>;
+                                       };
+
+                                       partition@440000 {
+                                               label = "firmware";
+                                               reg = <0x440000 0x3B0000>;
+                                       };
+
+                                       partition@7f0000 {
+                                               label = "board_config";
+                                               reg = <0x7f0000 0x10000>;
+                                               read-only;
+                                       };
+                               };
+                       };
+
+                       mac_addr {
+                               compatible = "lantiq,eth-mac";
+                               reg = <0 0x7f0016 0x6>;
+                               mac-increment = <2>;
+                       };
+
+                       gpiomm: gpiomm@4000000 {
+                               compatible = "lantiq,gpio-mm";
+                               reg = <1 0x0 0x10 >;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               lantiq,shadow = <0x3>;
+                       };
+               };
+
+               gpio: pinmux@E100B10 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&state_default>;
+
+                       state_default: pinmux {
+                               ebu {
+                                       lantiq,groups = "ebu cs1";
+                                       lantiq,function = "ebu";
+                               };
+                               exin {
+                                       lantiq,groups = "exin1";
+                                       lantiq,function = "exin";
+                               };
+                               pci_in {
+                                       lantiq,groups = "req2", "req1";
+                                       lantiq,function = "pci";
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <0>;
+                               };
+                               pci_out {
+                                       lantiq,groups = "gnt1";
+                                       lantiq,function = "pci";
+                                       lantiq,output = <1>;
+                               };
+                               pci_rst {
+                                       lantiq,pins = "io21";
+                                       lantiq,pull = <2>;
+                                       lantiq,output = <1>;
+                               };
+                               switch_rst {
+                                       lantiq,pins = "io19";
+                               };
+                               leds {
+                                       lantiq,pins = "io2", "io3", "io4", 
"io5", "io6", "io7", "io8", "io9", "io20";
+                                       lantiq,output = <1>;
+                                       lantiq,pull = <0>;
+                               };
+                               keys {
+                                       lantiq,pins = "io11", "io30";
+                                       lantiq,output = <0>;
+                                       lantiq,pull = <2>;
+                               };
+                       };
+               };
+
+               ifxhcd@E101000 {
+                       status = "okay";
+                       gpios = <&gpiomm 0 0>;
+               };
+
+               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 {
+                       /* The button is labeled WLAN/WPS. The former seems 
more useful. */
+                       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>;
+               };
+               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 bc74e4f..7a5a564 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -352,6 +352,8 @@ ifeq ($(CONFIG_TARGET_lantiq_xway),y)
 Image/BuildKernel/Profile/BTHOMEHUBV2B=$(call 
Image/BuildKernel/Template,BTHOMEHUBV2B)
 Image/Build/Profile/BTHOMEHUBV2B=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV2B)
 
+$(eval $(call lantiqBrnImage,ARV7506PW11,BRNDA4421,0x7AB7ADAD,0x2083b8ed))
+
 $(eval $(call lantiqImage,EASY50712))
 $(eval $(call lantiqImage,ACMP252))
 $(eval $(call lantiqImage,ARV4510PW))
diff --git a/target/linux/lantiq/xway/profiles/arv.mk 
b/target/linux/lantiq/xway/profiles/arv.mk
index 976cd19..e20e403 100644
--- a/target/linux/lantiq/xway/profiles/arv.mk
+++ b/target/linux/lantiq/xway/profiles/arv.mk
@@ -78,6 +78,18 @@ endef
 
 $(eval $(call Profile,ARV4519PW))
 
+define Profile/ARV7506PW11
+  NAME:=Alice/O2 IAD 4421 - ARV7506PW11
+  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
+
+$(eval $(call Profile,ARV7506PW11))
+
 define Profile/ARV7510PW22
   NAME:=Astoria - ARV7510PW22
   PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \
-- 
2.8.3.1.g1cc7b6a
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to