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

realtek: switch Netgear RTL8380 devices to NVMEM

Use NVMEM in device tree to set the label and eth0 MAC address based on
the U-Boot environment.

Invididual port MAC addresses and bridge MAC are still handled in the
02_network script to maintain the current assignment.

Signed-off-by: Jan Hoffmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/22055
Signed-off-by: Hauke Mehrtens <[email protected]>
Jan Hoffmann 4 дней назад
Родитель
Сommit
3bf55d8bd4

+ 5 - 5
target/linux/realtek/base-files/etc/board.d/02_network

@@ -53,6 +53,11 @@ realtek_setup_macs()
 
 	case $board in
 	edgecore,ecs4100-12ph|\
+	netgear,gs108t-v3|\
+	netgear,gs110tpp-v1|\
+	netgear,gs110tup-v1|\
+	netgear,gs308t-v1|\
+	netgear,gs310tp-v1|\
 	tplink,sg2008p-v1|\
 	tplink,sg2210p-v3|\
 	tplink,sg2452p-v4|\
@@ -119,11 +124,6 @@ realtek_setup_macs()
 	linksys,lgs310c|\
 	linksys,lgs328c|\
 	linksys,lgs352c|\
-	netgear,gs108t-v3|\
-	netgear,gs110tpp-v1|\
-	netgear,gs110tup-v1|\
-	netgear,gs308t-v1|\
-	netgear,gs310tp-v1|\
 	netgear,gs750e|\
 	panasonic,m16eg-pn28160k|\
 	panasonic,m24eg-pn28240k|\

+ 17 - 0
target/linux/realtek/dts/rtl8380_netgear_gigabit.dtsi

@@ -8,6 +8,10 @@
 / {
 	compatible = "realtek,rtl838x-soc";
 
+	aliases {
+		label-mac-device = &ethernet0;
+	};
+
 	memory@0 {
 		device_type = "memory";
 		reg = <0x0 0x8000000>;
@@ -84,6 +88,14 @@
 			partition@e0000 {
 				label = "u-boot-env";
 				reg = <0x00e0000 0x0010000>;
+
+				nvmem-layout {
+					compatible = "u-boot,env";
+
+					macaddr_ubootenv_ethaddr: ethaddr {
+						#nvmem-cell-cells = <1>;
+					};
+				};
 			};
 
 			partition@f0000 {
@@ -118,6 +130,11 @@
 	};
 };
 
+&ethernet0 {
+	nvmem-cells = <&macaddr_ubootenv_ethaddr 0>;
+	nvmem-cell-names = "mac-address";
+};
+
 &switch0 {
 	ports {
 		#address-cells = <1>;