[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aNL1VDm77voAHJlX@aurel32.net>
Date: Tue, 23 Sep 2025 21:30:28 +0200
From: Aurelien Jarno <aurelien@...el32.net>
To: Vivian Wang <wangruikang@...as.ac.cn>
Cc: linux-kernel@...r.kernel.org, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>,
Yixun Lan <dlan@...too.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@...r.kernel.org>,
"open list:RISC-V ARCHITECTURE" <linux-riscv@...ts.infradead.org>,
"open list:RISC-V SPACEMIT SoC Support" <spacemit@...ts.linux.dev>
Subject: Re: [PATCH 2/3] riscv: dts: spacemit: add 24c02 eeprom on BPI-F3
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@...el32.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@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@...el32.net http://aurel32.net
Powered by blists - more mailing lists