@@ -251,12 +251,16 @@
&gmac0 {
status = "okay";
+ nvmem-cells = <&macaddr_mfginfo 0>;
+ nvmem-cell-names = "mac-address";
};
&gmac1 {
label = "wan";
status = "okay";
phy-mode = "usxgmii";
+ nvmem-cells = <&macaddr_mfginfo 0>;
+ nvmem-cell-names = "mac-address";
};
&gmac2 {
@@ -265,6 +269,8 @@
phy-mode = "usxgmii";
phy-connection-type = "usxgmii";
phy = <&phy8>;
+ nvmem-cells = <&macaddr_mfginfo 1>;
+ nvmem-cell-names = "mac-address";
};
&gsw_phy0 {
@@ -500,6 +506,14 @@
compatible = "block-device";
partitions {
+ block-partition-u-boot-env {
+ partname = "u-boot-env";
+
+ nvmem-layout {
+ compatible = "u-boot,env";
+ };
+ };
+
block-partition-factory {
partname = "factory";
@@ -513,6 +527,22 @@
};
};
};
+
+ block-partition-mfginfo {
+ partname = "mfginfo";
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_mfginfo: macaddr@1D {
+ compatible = "mac-base";
+ reg = <0x1d 0x11>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
+ };
};
};
};
@@ -23,9 +23,7 @@ preinit_set_mac_address() {
ip link set dev eth1 address "$(macaddr_add $addr 1)"
;;
smartrg,sdg-8612|\
- smartrg,sdg-8614|\
- smartrg,sdg-8733|\
- smartrg,sdg-8734)
+ smartrg,sdg-8614)
addr=$(mmc_get_mac_ascii mfginfo MFG_MAC)
lan_addr=$(macaddr_add $addr 1)
ip link set dev wan address "$addr"
Avoids the need of setting MAC addresses in user-space. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> --- .../dts/mt7988a-smartrg-mt-stuart.dtsi | 30 +++++++++++++++++++ .../base-files/lib/preinit/10_fix_eth_mac.sh | 4 +-- 2 files changed, 31 insertions(+), 3 deletions(-)