[PATCH] ARM: at91: sama5d27_som1_ek: populate MAC address from EEPROM

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Jun 22 01:08:11 PDT 2021


With the latest NVMEM enhancements merged, barebox networking core now
always consults NVMEM cells referenced in the network controller
device tree node before it falls back to randomizing a new address.

The SAM5D27-SOM1 has a 256 byte EEPROM, which holds a MAC address in its
last 6 bytes. Describe this in the device tree, so boards using the SoM
will get an unique MAC address assigned and fixed up into the kernel
device tree. This change can be dropped again when/if the change is
submitted and applied upstream.

Reported-by: Alexander Dahl <ada at thorsis.com>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 arch/arm/dts/at91-sama5d27_som1.dtsi   | 18 ++++++++++++++++++
 arch/arm/dts/at91-sama5d27_som1_ek.dts |  2 +-
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/at91-sama5d27_som1.dtsi

diff --git a/arch/arm/dts/at91-sama5d27_som1.dtsi b/arch/arm/dts/at91-sama5d27_som1.dtsi
new file mode 100644
index 000000000000..0d84c45f9263
--- /dev/null
+++ b/arch/arm/dts/at91-sama5d27_som1.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+#include "sama5d2.dtsi"
+
+&macb0 {
+	nvmem-cells = <&macaddr>;
+	nvmem-cell-names = "mac-address";
+};
+
+&{/ahb/apb/i2c at f8028000/at24 at 50} {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr: mac-address at fa {
+		reg = <0xfa 6>;
+		label = "mac-address";
+	};
+};
diff --git a/arch/arm/dts/at91-sama5d27_som1_ek.dts b/arch/arm/dts/at91-sama5d27_som1_ek.dts
index 97a326dd2b26..1a704b42680f 100644
--- a/arch/arm/dts/at91-sama5d27_som1_ek.dts
+++ b/arch/arm/dts/at91-sama5d27_som1_ek.dts
@@ -4,7 +4,7 @@
  */
 
 #include <arm/at91-sama5d27_som1_ek.dts>
-#include "sama5d2.dtsi"
+#include "at91-sama5d27_som1.dtsi"
 
 / {
 	chosen {
-- 
2.29.2




More information about the barebox mailing list