Просмотр исходного кода

apm821xx: meraki: fix mac addresses in dts

The one for the mx60 was wrong. The LAN MAC is offset by one.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/14037
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev 1 год назад
Родитель
Сommit
8d302f5ebc

+ 0 - 13
target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx

@@ -1,13 +0,0 @@
-preinit_set_mac_address() {
-	. /lib/functions.sh
-
-	case $(board_name) in
-		meraki,mr24|\
-		meraki,mx60)
-			mac_lan=$(mtd_get_mac_binary_ubi board-config 0x66)
-			[ -n "$mac_lan" ] && ip link set eth0 address "$mac_lan"
-			;;
-	esac
-}
-
-boot_hook_add preinit_main preinit_set_mac_address

+ 20 - 0
target/linux/apm821xx/dts/meraki-mr24.dts

@@ -86,8 +86,25 @@
 			};
 
 			partition@180000 {
+				compatible = "linux,ubi";
 				label = "ubi";
 				reg = <0x00180000 0x01e80000>;
+
+				volumes {
+					ubi-volume-board-config {
+						volume = "board-config";
+
+						nvmem-layout {
+							compatible = "fixed-layout";
+							#address-cells = <1>;
+							#size-cells = <1>;
+
+							macaddr_board_66: macaddr@66 {
+								reg = <0x66 0x6>;
+							};
+						};
+					};
+				};
 			};
 		};
 	};
@@ -110,6 +127,9 @@
 &EMAC0 {
 	status = "okay";
 
+	nvmem-cells = <&macaddr_board_66>;
+	nvmem-cell-names = "mac-address";
+
 	phy-mode = "rgmii-id";
 	phy-map = <0x2>;
 	phy-address = <0x1>;

+ 24 - 0
target/linux/apm821xx/dts/meraki-mx60.dts

@@ -71,8 +71,27 @@
 			};
 
 			partition@240000 {
+				compatible = "linux,ubi";
 				label = "ubi";
 				reg = <0x00240000 0x3fdc0000>;
+
+				volumes {
+					ubi-volume-board-config {
+						volume = "board-config";
+
+						nvmem-layout {
+							compatible = "fixed-layout";
+							#address-cells = <1>;
+							#size-cells = <1>;
+
+							macaddr_board_66: macaddr@66 {
+								compatible = "mac-base";
+								reg = <0x66 0x6>;
+								#nvmem-cell-cells = <1>;
+							};
+						};
+					};
+				};
 			};
 		};
 	};
@@ -93,6 +112,9 @@
 &EMAC0 {
 	status = "okay";
 
+	nvmem-cells = <&macaddr_board_66 0>;
+	nvmem-cell-names = "mac-address";
+
 	fixed-link {
 		speed = <1000>;
 		full-duplex;
@@ -296,6 +318,8 @@
 					label = "wan";
 					phy-mode = "internal";
 					phy-handle = <&phy_port5>;
+					nvmem-cells = <&macaddr_board_66 1>;
+					nvmem-cell-names = "mac-address";
 
 					leds {
 						#address-cells = <1>;