[PATCH 2/3] riscv: dts: spacemit: add 24c02 eeprom on BPI-F3

Aurelien Jarno aurelien at aurel32.net
Tue Sep 23 12:30:28 PDT 2025


Hi Vivian,

On 2025-09-23 14:32, Vivian Wang wrote:
> Hi Aurelien,
> 
> On 9/22/25 05:01, Aurelien Jarno wrote:
> > The BPI-F3 contains a 24c02 eeprom, that contains among other things the
> > MAC addresses of the two network interfaces. For this reason, mark it as
> > read-only.
> >
> > Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
> > ---
> >  arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> > index 3b6e4f52e9aad..574d10fdf9b82 100644
> > --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> > +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> > @@ -115,6 +115,15 @@ &i2c2 {
> >  	pinctrl-0 = <&i2c2_0_cfg>;
> >  	pinctrl-names = "default";
> >  	status = "okay";
> > +
> > +	eeprom at 50 {
> > +		compatible = "atmel,24c02";
> > +		reg = <0x50>;
> > +		vcc-supply = <&vcc1v8_sys>;
> > +		pagesize = <16>;
> > +		read-only;
> > +		size = <256>;
> > +	};
> >  };
> >  
> 
> I wonder if it would possibly make sense to specify a nvmem-layout here.
> The BPI-F3 I have here has this in the 24c02:
> 
> 00000000  54 6c 76 49 6e 66 6f 00  01 00 20 24 06 fe fe fe  |TlvInfo... $....|
> 00000010  XX XX XX 2a 02 00 02 23  0c XX XX XX XX XX XX XX  |...*...#.XXXXXXX|
> 00000020  XX XX XX XX XX fe 04 XX  XX XX XX ff ff ff ff ff  |XXXXX..XXXX.....|
> 00000030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
> *
> 00000100
> 
> (... with variable parts replaced with X)
> 
> And, AFAICT, this is a "onie,tlv-layout" with fields:
> 
> 0x24 mac-adddress
> 0x2a num-macs
> 0x23 serial-number
> 0xfe crc32
> 
> As you can see the mac-address assignment looks bogus with fe:fe:fe (it
> is used by vendor code though, so at least it seems to be intended). It
> does appear at least to have useful information.

The reason I initially tried to dump the content of the eeprom was to 
check the MAC addresses provided to the kernel by u-boot at they looked
strange to me starting with fe:fe:fe... But at least they match.

> Can you confirm on your hardware? What do you think about this: should
> we add it now or add it when we have users?

I also have the TlvInfo data on my board, but it misses the 
serial-number field.

This is a good idea to use the "onie,tlv-layout" layout, I'll do that in 
the V2.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien at aurel32.net                     http://aurel32.net



More information about the linux-riscv mailing list