Re: [PATCH] arm64: dts: rockchip: add EEPROM node for NanoPi R4S

From: Johan Jonker
Date: Mon Jun 07 2021 - 06:27:38 EST


Hi Chen-Yu,

On 6/7/21 11:40 AM, Chen-Yu Tsai wrote:
> On Mon, Jun 7, 2021 at 5:31 PM Johan Jonker <jbx6244@xxxxxxxxx> wrote:
>>
>> Hi Tianling,
>>
>> On 6/7/21 10:17 AM, Tianling Shen wrote:
>>> NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
>>> stores the MAC address.
>>>
>>> Signed-off-by: Tianling Shen <cnsztl@xxxxxxxxx>
>>> ---
>>> arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts | 9 +++++++++
>>> 1 file changed, 9 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
>>> index cef4d18b599d..4a82f50a07c5 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
>>> @@ -68,6 +68,15 @@
>>> status = "disabled";
>>> };
>>>
>>> +&i2c2 {
>>> + eeprom@51 {
>>> + compatible = "microchip,24c02", "atmel,24c02";
>>> + reg = <0x51>;
>>> + pagesize = <16>;
>>
>>> + read-only; /* This holds our MAC */
>>
>> The mainline dts files should be generic I think.
>> Any comment about "use", partitions or write ability should be avoided.
>> It's up the user.
>

> Per the datasheet for this specific EEPROM, the latter half (128 bytes)
> is read-only in hardware by design though.

The 24AA02XEXX is programmed at the factory with a
globally unique node address stored in the upper half
of the array and permanently write-protected. The
remaining 1,024 bits are available for application use.

Just a question...

nvmem-cells = <&mac_address>;
nvmem-cells-names = "mac-address";

Which part does this point to?

Can we use the lower part to store/rewrite this too?

===

>From at24.yaml:

items:
- pattern:
"^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$"
- pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"

How does Microchip 24AA025E48 fit the regex?
What compatible would you advise?

===

Johan

>
> ChenYu
>