diff mbox series

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

Message ID 20181120170454.17314-1-reinhard@m4x.de
State Changes Requested
Delegated to: Rafał Miłecki
Headers show
Series [OpenWrt-Devel] lantiq: add support for Fritz!Box 7360v2 | expand

Commit Message

Reinhard Max Nov. 20, 2018, 5:04 p.m. UTC
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@m4x.de>
Reviewed-by: Torsten Duwe <duwe@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

Comments

Rafał Miłecki Nov. 24, 2018, 9:18 a.m. UTC | #1
On Tue, 20 Nov 2018 at 18:06, Reinhard Max <reinhard@m4x.de> wrote:
> 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@m4x.de>
> Reviewed-by: Torsten Duwe <duwe@lst.de>

Could you provide a part of boot log from this device that includes
mtd messages, please? I'm interested in seeing all those messages
including & around
"Creating n MTD partitions"


> 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@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@0 {
> +                               label = "urlader";
> +                               reg = <0x00000 0x20000>;
> +                               read-only;
> +                       };
> +
> +                       partition@20000 {
> +                               label = "firmware";
> +                               reg = <0x20000 0x1e60000>;
> +                       };
> +
> +                       partition@1e80000 {
> +                               label = "jffs2";
> +                               reg = <0x1e80000 0x100000>;
> +                       };
> +
> +                       partition@1f80000 {
> +                               label = "tffs (1)";
> +                               reg = <0x1f80000 0x40000>;
> +                               read-only;
> +                       };
> +
> +                       partition@1fc0000 {
> +                               label = "tffs (2)";
> +                               reg = <0x1fc0000 0x40000>;
> +                               read-only;
> +                       };
> +               };
> +       };
> +};

This file (FRITZ7360v2.dts) seems to be a new one, created by you.
Could you specify its license using a proper SPDX header? GPL 2.0 +
MIT would be perfect if you're OK with it. Something like:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

You can check target/linux/ath79/dts/* files for a reference
diff mbox series

Patch

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@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@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@0 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <0>;
+			phy-mode = "rmii";
+			phy-handle = <&phy0>;
+		};
+		ethernet@1 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <1>;
+			phy-mode = "rmii";
+			phy-handle = <&phy1>;
+		};
+		ethernet@2 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <2>;
+			phy-mode = "gmii";
+			phy-handle = <&phy11>;
+		};
+		ethernet@3 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <4>;
+			phy-mode = "gmii";
+			phy-handle = <&phy13>;
+		};
+	};
+
+	mdio@0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "lantiq,xrx200-mdio";
+		reg = <0>;
+
+		phy0: ethernet-phy@0 {
+			reg = <0x00>;
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+		};
+		phy1: ethernet-phy@1 {
+			reg = <0x01>;
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+		};
+		phy11: ethernet-phy@11 {
+			reg = <0x11>;
+			compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+		};
+		phy13: ethernet-phy@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@0 {
+		reg = <0 0 0 0 0>;
+		#interrupt-cells = <1>;
+		#size-cells = <2>;
+		#address-cells = <3>;
+		device_type = "pci";
+
+		wifi@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@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@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@0 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <0>;
-			phy-mode = "rmii";
-			phy-handle = <&phy0>;
-		};
-		ethernet@1 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <1>;
-			phy-mode = "rmii";
-			phy-handle = <&phy1>;
-		};
-		ethernet@2 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <2>;
-			phy-mode = "gmii";
-			phy-handle = <&phy11>;
-		};
-		ethernet@3 {
-			compatible = "lantiq,xrx200-pdi-port";
-			reg = <4>;
-			phy-mode = "gmii";
-			phy-handle = <&phy13>;
-		};
-	};
-
-	mdio@0 {
-		#address-cells = <1>;
-		#size-cells = <0>;
-		compatible = "lantiq,xrx200-mdio";
-		reg = <0>;
-
-		phy0: ethernet-phy@0 {
-			reg = <0x00>;
-			compatible = "ethernet-phy-ieee802.3-c22";
-			reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
-		};
-		phy1: ethernet-phy@1 {
-			reg = <0x01>;
-			compatible = "ethernet-phy-ieee802.3-c22";
-			reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
-		};
-		phy11: ethernet-phy@11 {
-			reg = <0x11>;
-			compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
-		};
-		phy13: ethernet-phy@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@0 {
-		reg = <0 0 0 0 0>;
-		#interrupt-cells = <1>;
-		#size-cells = <2>;
-		#address-cells = <3>;
-		device_type = "pci";
-
-		wifi@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@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@0 {
+				label = "urlader";
+				reg = <0x00000 0x20000>;
+				read-only;
+			};
+
+			partition@20000 {
+				label = "firmware";
+				reg = <0x20000 0x1e60000>;
+			};
+
+			partition@1e80000 {
+				label = "jffs2";
+				reg = <0x1e80000 0x100000>;
+			};
+
+			partition@1f80000 {
+				label = "tffs (1)";
+				reg = <0x1f80000 0x40000>;
+				read-only;
+			};
+
+			partition@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