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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx>
---
 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@f8028000/at24@50} {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr: mac-address@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


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux