From: Mathias Kresin <dev@kresin.me>
Date: Sun, 26 Mar 2017 08:53:35 +0000 (+0200)
Subject: lantiq: fix avm fritz box mac addresses
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d49920e45044dfb635a93f317e5b965b5c8afdad;p=lede.git

lantiq: fix avm fritz box mac addresses

It has been shown that the Fritz boxes have the correct mac address set
in the wireless calibration data/eeeprom. Use this mac address as base
for the ethernet and xdsl interface increment/decrement the address to
match the values stored in the tffs.

Signed-off-by: Mathias Kresin <dev@kresin.me>
---

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 41d6b7fab3..6140a16035 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -93,7 +93,16 @@ EASY80920NAND|EASY80920NOR)
 		"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
 	;;
 
+FRITZ3370)
+	wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2439)" 1)
+	;;
+
+FRITZ7320)
+	wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
+	;;
+
 FRITZ7360SL)
+	wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
 	ucidef_add_switch "switch0" \
 		"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
 	;;
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
index 1c6b0663fa..26b5551754 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
@@ -139,13 +139,8 @@ case "$FIRMWARE" in
 				ath9k_eeprom_extract "calibration" 61440 0
 				ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot-env ethaddr) +2) 524
 				;;
-			FRITZ3370)
+			FRITZ3370|FRITZ7320|FRITZ7360SL)
 				ath9k_eeprom_extract "urlader" 2437 0
-				ath9k_patch_fw_mac "00:00:00:00:00:00" 2
-				;;
-			FRITZ7320|FRITZ7360SL)
-				ath9k_eeprom_extract "urlader" 2437 0
-				ath9k_patch_fw_mac_crc "00:00:00:00:00:00" 268
 				;;
 			TDW8970|TDW8980)
 				ath9k_eeprom_extract "boardconfig" 135168 0
diff --git a/target/linux/lantiq/dts/FRITZ3370.dts b/target/linux/lantiq/dts/FRITZ3370.dts
index 1e2e90ca1b..3f57f45ee8 100644
--- a/target/linux/lantiq/dts/FRITZ3370.dts
+++ b/target/linux/lantiq/dts/FRITZ3370.dts
@@ -189,7 +189,7 @@
 		reg = <4 0>;
 		spi-max-frequency = <1000000>;
 
-		partition@0 {
+		urlader: partition@0 {
 			reg = <0x0 0x20000>;
 			label = "urlader";
 			read-only;
@@ -215,7 +215,8 @@
 		#address-cells = <1>;
 		#size-cells = <0>;
 		reg = <0>;
-		mac-address = [ 00 11 22 33 44 55 ];
+		mtd-mac-address = <&urlader 0x987>;
+		mtd-mac-address-increment = <(-2)>;
 		lantiq,switch;
 
 		ethernet@0 {
diff --git a/target/linux/lantiq/dts/FRITZ7320.dts b/target/linux/lantiq/dts/FRITZ7320.dts
index 1d3e02f9aa..491baee7ea 100644
--- a/target/linux/lantiq/dts/FRITZ7320.dts
+++ b/target/linux/lantiq/dts/FRITZ7320.dts
@@ -90,6 +90,8 @@
 
 		etop@E180000 {
 			phy-mode = "mii";
+			mtd-mac-address = <&ath9k_cal 0xa91>;
+			mtd-mac-address-increment = <(-2)>;
 		};
 
 		ifxhcd@E101000 {
diff --git a/target/linux/lantiq/dts/FRITZ7360SL.dts b/target/linux/lantiq/dts/FRITZ7360SL.dts
index b4b12246ce..31a9527b79 100644
--- a/target/linux/lantiq/dts/FRITZ7360SL.dts
+++ b/target/linux/lantiq/dts/FRITZ7360SL.dts
@@ -155,7 +155,8 @@
 		#address-cells = <1>;
 		#size-cells = <0>;
 		reg = <0>;
-		mac-address = [ 00 11 22 33 44 55 ];
+		mtd-mac-address = <&urlader 0xa91>;
+		mtd-mac-address-increment = <(-2)>;
 		lantiq,switch;
 
 		ethernet@0 {