Odroid-C1 uses the MAC address stored in eFuse at offset 0x1b4 (which is
defined as a "standard" offset for all Meson8 and Meson8b boards, but
testing shows that MXQ doesn't have the eFuse values programmed and
EC-100 stores it's MAC address in eMMC).

Add the nvmem cell which points to the MAC address and asssign it to the
Ethernet controller as "mac-address".
As result of this the MAC address which is stored in the eFuse is now
assigned to the Ethernet controller and consistent across reboots.

Signed-off-by: Martin Blumenstingl <[email protected]>
---
 arch/arm/boot/dts/meson8b-odroidc1.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts 
b/arch/arm/boot/dts/meson8b-odroidc1.dts
index 90f66dc45115..a24eccc354b9 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -190,6 +190,12 @@
        cpu-supply = <&vcck>;
 };
 
+&efuse {
+       ethernet_mac_address: mac@1b4 {
+               reg = <0x1b4 0x6>;
+       };
+};
+
 &ethmac {
        status = "okay";
 
@@ -200,6 +206,9 @@
        phy-handle = <&eth_phy>;
        amlogic,tx-delay-ns = <4>;
 
+       nvmem-cells = <&ethernet_mac_address>;
+       nvmem-cell-names = "mac-address";
+
        mdio {
                compatible = "snps,dwmac-mdio";
                #address-cells = <1>;
-- 
2.22.0

Reply via email to