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