Hei hei, Am Tue, Jun 22, 2021 at 10:08:11AM +0200 schrieb Ahmad Fatoum: > 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. I have access to such a device, but I can not promise I have time to test this currently. :-/ > This change can be dropped again when/if the change is > submitted and applied upstream. What do you mean with "upstream" here? Linux kernel? I just had a short look into u-boot for that board, there's the i2c eeprom set in dts only, and dts is still the old u-boot way, not dts from kernel plus fixups in a separate file. The mac is set in board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c like this: 87 #define MAC24AA_MAC_OFFSET 0xfa 88 89 #ifdef CONFIG_MISC_INIT_R 90 int misc_init_r(void) 91 { 92 #ifdef CONFIG_I2C_EEPROM 93 at91_set_ethaddr(MAC24AA_MAC_OFFSET); 94 #endif 95 return 0; 96 } 97 #endif What would be the right way for kernel, u-boot, and barebox? Have i2c eeprom defined in dts and an nvmem cell on top like you proposed for barebox now? Not sure if u-boot can do that (already)? But it would still work if only Linux and barebox did it that way, right? Greets Alex > > 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox