[OpenWrt-Devel] [PATCH] lantiq: add support for Fritz!Box 7360v2

Reinhard Max reinhard at m4x.de
Tue Nov 20 12:04:54 EST 2018


This patch adds support for Fritz!Box 7360 v2 (pollin.de currently
sells these as refurbished). It has 32 MiB of flash compared to the
16 MiB of v1 and SL.

Signed-off-by: Reinhard Max <reinhard at m4x.de>
Reviewed-by: Torsten Duwe <duwe at lst.de>

---
 .../arch/mips/boot/dts/FRITZ7360.dtsi         | 201 ++++++++++++++++++
 .../arch/mips/boot/dts/FRITZ7360SL.dts        | 198 +----------------
 .../arch/mips/boot/dts/FRITZ7360v2.dts        |  51 +++++
 target/linux/lantiq/image/Makefile            |  10 +
 4 files changed, 264 insertions(+), 196 deletions(-)
 create mode 100644 target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360.dtsi
 create mode 100644 target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360v2.dts

diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360.dtsi
new file mode 100644
index 0000000000..d7ff374bf4
--- /dev/null
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360.dtsi
@@ -0,0 +1,201 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+	compatible = "avm,fritz7360", "lantiq,xway", "lantiq,vr9";
+
+	chosen {
+		bootargs = "console=ttyLTQ0,115200";
+	};
+
+	aliases {
+		led-boot = &power_green;
+		led-failsafe = &power_red;
+		led-running = &power_green;
+		led-upgrade = &power_green;
+
+		led-dsl = &info_green;
+		led-wifi = &wifi;
+	};
+
+	memory at 0 {
+		reg = <0x0 0x8000000>;
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <100>;
+		dect {
+			label = "dect";
+			gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+			linux,code = <KEY_PHONE>;
+		};
+		wifi {
+			label = "wifi";
+			gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
+			linux,code = <KEY_WLAN>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		power_green: power {
+			label = "fritz7360sl:green:power";
+			gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
+			default-state = "keep";
+		};
+		power_red: power2 {
+			label = "fritz7360sl:red:power";
+			gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+		};
+		info_red {
+			label = "fritz7360sl:red:info";
+			gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+		};
+		info_green: info_green {
+			label = "fritz7360sl:green:info";
+			gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+		};
+		wifi: wifi {
+			label = "fritz7360sl:green:wlan";
+			gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
+		};
+		dect {
+			label = "fritz7360sl:green:dect";
+			gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&eth0 {
+	lan: interface at 0 {
+		compatible = "lantiq,xrx200-pdi";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <0>;
+		mtd-mac-address = <&urlader 0xa91>;
+		mtd-mac-address-increment = <(-2)>;
+		lantiq,switch;
+
+		ethernet at 0 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <0>;
+			phy-mode = "rmii";
+			phy-handle = <&phy0>;
+		};
+		ethernet at 1 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <1>;
+			phy-mode = "rmii";
+			phy-handle = <&phy1>;
+		};
+		ethernet at 2 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <2>;
+			phy-mode = "gmii";
+			phy-handle = <&phy11>;
+		};
+		ethernet at 3 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <4>;
+			phy-mode = "gmii";
+			phy-handle = <&phy13>;
+		};
+	};
+
+	mdio at 0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "lantiq,xrx200-mdio";
+		reg = <0>;
+
+		phy0: ethernet-phy at 0 {
+			reg = <0x00>;
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+		};
+		phy1: ethernet-phy at 1 {
+			reg = <0x01>;
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+		};
+		phy11: ethernet-phy at 11 {
+			reg = <0x11>;
+			compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+		};
+		phy13: ethernet-phy at 13 {
+			reg = <0x13>;
+			compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+		};
+	};
+};
+
+&gphy0 {
+	lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+	lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gpio {
+	pinctrl-names = "default";
+	pinctrl-0 = <&state_default>;
+
+	state_default: pinmux {
+		mdio {
+			lantiq,groups = "mdio";
+			lantiq,function = "mdio";
+		};
+		phy-rst {
+			lantiq,pins = "io37", "io44";
+			lantiq,pull = <0>;
+			lantiq,open-drain;
+			lantiq,output = <1>;
+		};
+		pcie-rst {
+			lantiq,pins = "io38";
+			lantiq,pull = <0>;
+			lantiq,output = <1>;
+		};
+	};
+};
+
+&pcie0 {
+	pcie at 0 {
+		reg = <0 0 0 0 0>;
+		#interrupt-cells = <1>;
+		#size-cells = <2>;
+		#address-cells = <3>;
+		device_type = "pci";
+
+		wifi at 168c,002e {
+			compatible = "pci168c,002e";
+			reg = <0 0 0 0 0>;
+			qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
+		};
+	};
+};
+
+&usb_phy0 {
+	status = "okay";
+};
+
+&usb_phy1 {
+	status = "okay";
+};
+
+&usb0 {
+	status = "okay";
+};
+
+&usb1 {
+	status = "okay";
+};
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
index 91520c8137..865d443c63 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
@@ -1,172 +1,10 @@
 /dts-v1/;
 
-#include "vr9.dtsi"
-
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+#include "FRITZ7360.dtsi"
 
 / {
-	compatible = "avm,fritz7360sl", "lantiq,xway", "lantiq,vr9";
+	compatible = "avm,fritz7360sl", "avm,fritz7360", "lantiq,xway", "lantiq,vr9";
 	model = "1&1 HomeServer";
-
-	chosen {
-		bootargs = "console=ttyLTQ0,115200";
-	};
-
-	aliases {
-		led-boot = &power_green;
-		led-failsafe = &power_red;
-		led-running = &power_green;
-		led-upgrade = &power_green;
-
-		led-dsl = &info_green;
-		led-wifi = &wifi;
-	};
-
-	memory at 0 {
-		reg = <0x0 0x8000000>;
-	};
-
-	gpio-keys-polled {
-		compatible = "gpio-keys-polled";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		poll-interval = <100>;
-		dect {
-			label = "dect";
-			gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
-			linux,code = <KEY_PHONE>;
-		};
-		wifi {
-			label = "wifi";
-			gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
-			linux,code = <KEY_WLAN>;
-		};
-	};
-
-	gpio-leds {
-		compatible = "gpio-leds";
-
-		power_green: power {
-			label = "fritz7360sl:green:power";
-			gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
-			default-state = "keep";
-		};
-		power_red: power2 {
-			label = "fritz7360sl:red:power";
-			gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
-		};
-		info_red {
-			label = "fritz7360sl:red:info";
-			gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
-		};
-		info_green: info_green {
-			label = "fritz7360sl:green:info";
-			gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
-		};
-		wifi: wifi {
-			label = "fritz7360sl:green:wlan";
-			gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
-		};
-		dect {
-			label = "fritz7360sl:green:dect";
-			gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
-		};
-	};
-};
-
-&eth0 {
-	lan: interface at 0 {
-		compatible = "lantiq,xrx200-pdi";
-		#address-cells = <1>;
-		#size-cells = <0>;
-		reg = <0>;
-		mtd-mac-address = <&urlader 0xa91>;
-		mtd-mac-address-increment = <(-2)>;
-		lantiq,switch;
-
-		ethernet at 0 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <0>;
-			phy-mode = "rmii";
-			phy-handle = <&phy0>;
-		};
-		ethernet at 1 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <1>;
-			phy-mode = "rmii";
-			phy-handle = <&phy1>;
-		};
-		ethernet at 2 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <2>;
-			phy-mode = "gmii";
-			phy-handle = <&phy11>;
-		};
-		ethernet at 3 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <4>;
-			phy-mode = "gmii";
-			phy-handle = <&phy13>;
-		};
-	};
-
-	mdio at 0 {
-		#address-cells = <1>;
-		#size-cells = <0>;
-		compatible = "lantiq,xrx200-mdio";
-		reg = <0>;
-
-		phy0: ethernet-phy at 0 {
-			reg = <0x00>;
-			compatible = "ethernet-phy-ieee802.3-c22";
-			reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
-		};
-		phy1: ethernet-phy at 1 {
-			reg = <0x01>;
-			compatible = "ethernet-phy-ieee802.3-c22";
-			reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
-		};
-		phy11: ethernet-phy at 11 {
-			reg = <0x11>;
-			compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
-		};
-		phy13: ethernet-phy at 13 {
-			reg = <0x13>;
-			compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
-		};
-	};
-};
-
-&gphy0 {
-	lantiq,gphy-mode = <GPHY_MODE_GE>;
-};
-
-&gphy1 {
-	lantiq,gphy-mode = <GPHY_MODE_GE>;
-};
-
-&gpio {
-	pinctrl-names = "default";
-	pinctrl-0 = <&state_default>;
-
-	state_default: pinmux {
-		mdio {
-			lantiq,groups = "mdio";
-			lantiq,function = "mdio";
-		};
-		phy-rst {
-			lantiq,pins = "io37", "io44";
-			lantiq,pull = <0>;
-			lantiq,open-drain;
-			lantiq,output = <1>;
-		};
-		pcie-rst {
-			lantiq,pins = "io38";
-			lantiq,pull = <0>;
-			lantiq,output = <1>;
-		};
-	};
 };
 
 &localbus {
@@ -206,35 +44,3 @@
 		};
 	};
 };
-
-&pcie0 {
-	pcie at 0 {
-		reg = <0 0 0 0 0>;
-		#interrupt-cells = <1>;
-		#size-cells = <2>;
-		#address-cells = <3>;
-		device_type = "pci";
-
-		wifi at 168c,002e {
-			compatible = "pci168c,002e";
-			reg = <0 0 0 0 0>;
-			qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
-		};
-	};
-};
-
-&usb_phy0 {
-	status = "okay";
-};
-
-&usb_phy1 {
-	status = "okay";
-};
-
-&usb0 {
-	status = "okay";
-};
-
-&usb1 {
-	status = "okay";
-};
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360v2.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360v2.dts
new file mode 100644
index 0000000000..549b0caa93
--- /dev/null
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360v2.dts
@@ -0,0 +1,51 @@
+/dts-v1/;
+
+#include "FRITZ7360.dtsi"
+
+/ {
+	compatible = "avm,fritz7360v2", "avm,fritz7360", "lantiq,xway", "lantiq,vr9";
+	model = "AVM Fritz!Box Fon WLAN 7360 Rev. 2";
+};
+
+&localbus {
+	nor at 0 {
+		compatible = "lantiq,nor";
+		bank-width = <2>;
+		reg = <0 0x0 0x2000000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			urlader: partition at 0 {
+				label = "urlader";
+				reg = <0x00000 0x20000>;
+				read-only;
+			};
+
+			partition at 20000 {
+				label = "firmware";
+				reg = <0x20000 0x1e60000>;
+			};
+
+			partition at 1e80000 {
+				label = "jffs2";
+				reg = <0x1e80000 0x100000>;
+			};
+
+			partition at 1f80000 {
+				label = "tffs (1)";
+				reg = <0x1f80000 0x40000>;
+				read-only;
+			};
+
+			partition at 1fc0000 {
+				label = "tffs (2)";
+				reg = <0x1fc0000 0x40000>;
+				read-only;
+			};
+		};
+	};
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index e9d9e42027..099e8cecea 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -664,6 +664,16 @@ define Device/avm_fritz7360sl
 endef
 TARGET_DEVICES += avm_fritz7360sl
 
+define Device/avm_fritz7360v2
+  $(Device/AVM)
+  IMAGE_SIZE := 31104k
+  DEVICE_DTS := FRITZ7360v2
+  DEVICE_TITLE := AVM Fritz!Box Fon WLAN 7360 Rev. 2
+  DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-usb-dwc2
+  SUPPORTED_DEVICES += FRITZ7360v2
+endef
+TARGET_DEVICES += avm_fritz7360v2
+
 define Device/arcadyan_vg3503j
   IMAGE_SIZE := 8000k
   DEVICE_DTS := VG3503J
-- 
2.19.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list