From 07e555d8735e8fa272e3f6abd35acc9f1ab44367 Mon Sep 17 00:00:00 2001
From: David Bauer <mail@david-bauer.net>
Date: Sun, 13 Oct 2019 23:37:59 +0200
Subject: [PATCH] mpc85xx: correct TP-LINK TL-WDR4900 MAC addresses

This commit fixes TP-Link TL-WDR4900 v1 MAC address assignment.
Previously, the MAC addrss was read for the ethernet from the "config"
partition. However, the content of this partition is dependent on the
firmware which was previously installed on the device.

Switch the MAC address source to the U-Boot partition, where the MAC
address is always present at a fixed partition. The partition was
previously already used for the WiFi MAC-addresses.

Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
---
 target/linux/mpc85xx/base-files/etc/board.d/02_network      | 2 +-
 .../mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts   | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/target/linux/mpc85xx/base-files/etc/board.d/02_network b/target/linux/mpc85xx/base-files/etc/board.d/02_network
index f907fd2edbe..aa33a4af963 100755
--- a/target/linux/mpc85xx/base-files/etc/board.d/02_network
+++ b/target/linux/mpc85xx/base-files/etc/board.d/02_network
@@ -21,7 +21,7 @@ ocedo,panda)
 tplink,tl-wdr4900-v1)
 	ucidef_add_switch "switch0" \
 		"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
-	ucidef_set_interface_macaddr "wan" "$(mtd_get_mac_binary config 0x14c)"
+	ucidef_set_interface_macaddr "wan" "$(macaddr_add $(mtd_get_mac_binary u-boot 0x4fc00) 1)"
 	;;
 *)
 	ucidef_set_interfaces_lan_wan "eth0" "eth1"
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
index 0e0d74c0d8d..0998a4933aa 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
@@ -49,7 +49,7 @@
 					#address-cells = <1>;
 					#size-cells = <1>;
 
-					partition@0 {
+					uboot: partition@0 {
 						reg = <0x0 0x0050000>;
 						label = "u-boot";
 						read-only;
@@ -67,7 +67,7 @@
 						label = "firmware";
 					};
 
-					config: partition@fe0000 {
+					partition@fe0000 {
 						reg = <0x00fe0000 0x00010000>;
 						label = "config";
 						read-only;
@@ -119,7 +119,7 @@
 		enet0: ethernet@b0000 {
 			phy-handle = <&phy0>;
 			phy-connection-type = "rgmii-id";
-			mtd-mac-address = <&config 0x144>;
+			mtd-mac-address = <&uboot 0x4fc00>;
 		};
 
 		enet1: ethernet@b1000 {
-- 
GitLab