[OpenWrt-Devel] [PATCH] lantiq: add support for ARV7506PW11 (Alice/O2 IAD 4421)

Oswald Buddenhagen oswald.buddenhagen at gmx.de
Wed May 18 03:37:57 EDT 2016


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

The RFkill switch doesn't appear to be correctly configured.

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.buddenhagen at 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 at 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 at 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..bb9ffd4
--- /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 at 0 {
+		reg = <0x0 0x4000000>;
+	};
+
+	sram at 1F000000 {
+		vmmc at 107000 {
+			status = "okay";
+			gpios = <&gpiomm 1 0>;
+		};
+	};
+
+	fpi at 10000000 {
+		localbus at 0 {
+			nor-boot at 0 {
+				compatible = "lantiq,nor";
+				bank-width = <2>;
+				reg = <0 0x0 0x800000>;
+
+				partitions {
+					compatible = "fixed-partitions";
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					partition at 0 {
+						label = "brnboot";
+						reg = <0x00000 0x20000>;
+						read-only;
+					};
+
+					partition at 20000 {
+						label = "stuff";
+						reg = <0x20000 0x70000>;
+					};
+
+					partition at 90000 {
+						label = "rootfs_data";
+						reg = <0x90000 0x3B0000>;
+					};
+
+					partition at 440000 {
+						label = "firmware";
+						reg = <0x440000 0x3B0000>;
+					};
+
+					partition at 7f0000 {
+						label = "board_config";
+						reg = <0x7f0000 0x10000>;
+						read-only;
+					};
+				};
+			};
+
+			mac_addr {
+				compatible = "lantiq,eth-mac";
+				reg = <0 0x7f0016 0x6>;
+				mac-increment = <2>;
+			};
+
+			gpiomm: gpiomm at 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 at 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 at E101000 {
+			status = "okay";
+			gpios = <&gpiomm 0 0>;
+		};
+
+		etop at E180000 {
+			phy-mode = "rmii";
+		};
+
+		pci at 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 = <0x211>;
+		};
+		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.7.4.1.gb6fc189
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list