On Tue, Jun 8, 2021 at 1:04 AM Johan Jonker <jbx6244@xxxxxxxxx> wrote: > > > > On 6/7/21 6:01 PM, Tianling Shen wrote: > > Hi Johan, > > > > On Mon, Jun 7, 2021 at 6:26 PM Johan Jonker <jbx6244@xxxxxxxxx> wrote: > >> > >> 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. > >> > > > > > In my opinion, as this contains data programmed by the factory, would > > it be okay to keep it read-only? > > This chip is not completely read-only. > There might be users that like to try some other mac_address or store > something else in that lower part. Is this then still possible? > Generic DT describes hardware independent from what Linux drivers or > other OS are capable off. > This factory mac_addres is permanently write-protected, so no need to > keep the rest read-only. > > nvmem-cells = <&new_mac_address_in_lower_part>; > nvmem-cells-names = "mac-address"; > > > > >> 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? > > > > It seems that 24AA025E48 is a variant of 24MAC402 [1], and > > `atmel,24c02` will be okay in this case. > > 1. https://lkml.org/lkml/2018/1/24/494 > > Ask Heiko. ;) > > As long as it does not generate more notifications then we already have. I think having a part specific compatible would be better. That way if someone wanted to implement read-only "feedback" to users for the second half they could. ChenYu > > > > Thanks, > > Tianling. > > > >> > >> === > >> > >> Johan > >> > >>> > >>> ChenYu > >>>