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

From: Heiko Stuebner
Date: Tue Sep 13 2022 - 06:22:51 EST


Hi,

Am Sonntag, 11. September 2022, 06:06:28 CEST schrieb Tianling Shen:
> NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
> stores the MAC address.
>
> FriendlyElec ship two versions of the R4S [1]: The standard as well
> as the enterprise edition with only the enterprise edition including
> the EEPROM chip that stores the unique MAC address.

This needs to go differently.

If the eeprom is only preset on the enterprise-version, you need
a separate devicetree for it, that provides the eeprom node.

Declaring the eeprom "in error" on a device that doesn't have it,
isn't the way to go.

Look for example at rockchip/rk3399-nanopi-m4b.dts for reference
on how to do it - and also remember to add the new binding
for that board. And can also again declare the correct mac-address
cell.


Heiko

>
> 1. https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R4S#Differences_Between_R4S_Standard_Version_.26_R4S_Enterprise_Version
>
> Changes in v4:
> - Removed `mac-address` cell as it breaks the standard edition
>
> Changes in v3:
> - Added address-cells and size-cells
>
> Changes in v2:
> - Added the size of EEPROM
> - Added `mac-address` cell to pass the MAC address to kernel
> - Removed `read-only` property in EEPROM node
>
> Signed-off-by: Tianling Shen <cnsztl@xxxxxxxxx>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> index fe5b52610010..42c99573ab27 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> @@ -68,6 +68,17 @@ &emmc_phy {
> status = "disabled";
> };
>
> +&i2c2 {
> + eeprom@51 {
> + compatible = "microchip,24c02", "atmel,24c02";
> + reg = <0x51>;
> + pagesize = <16>;
> + size = <256>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + };
> +};
> +
> &i2c4 {
> status = "disabled";
> };
>