diff mbox series

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

Message ID 20220911040628.13774-1-cnsztl@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v4] arm64: dts: rockchip: add EEPROM node for NanoPi R4S | expand

Commit Message

Tianling Shen Sept. 11, 2022, 4:06 a.m. UTC
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.

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@gmail.com>
---
 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Heiko Stuebner Sept. 13, 2022, 10:22 a.m. UTC | #1
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@gmail.com>
> ---
>  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";
>  };
>
Tianling Shen Sept. 13, 2022, 2:44 p.m. UTC | #2
Hi Heiko,

On Tue, Sep 13, 2022 at 6:22 PM Heiko Stuebner <heiko@sntech.de> wrote:
>
> 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.
>

Got it, thank you! I will do it these days.

Regards,
Tianling.

>
> 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@gmail.com>
> > ---
> >  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";
> >  };
> >
>
>
>
>
diff mbox series

Patch

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";
 };