2021-06-10 09:17:38

by Tianling Shen

[permalink] [raw]
Subject: [PATCH v2] arm64: dts: rockchip: add EEPROM node for NanoPi R4S

NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
stores the MAC address.

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 <[email protected]>
---
.../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 18 ++++++++++++++++++
1 file changed, 18 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..50d3b11eb925 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
@@ -68,6 +68,24 @@
status = "disabled";
};

+&gmac {
+ nvmem-cells = <&mac_address>;
+ nvmem-cells-names = "mac-address";
+};
+
+&i2c2 {
+ eeprom@51 {
+ compatible = "microchip,24c02", "atmel,24c02";
+ reg = <0x51>;
+ pagesize = <16>;
+ size = <256>;
+
+ mac_address: mac-address@fa {
+ reg = <0xfa 0x06>;
+ };
+ };
+};
+
&i2c4 {
status = "disabled";
};
--
2.17.1


2021-06-19 22:12:02

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: rockchip: add EEPROM node for NanoPi R4S

Hi,

Am Donnerstag, 10. Juni 2021, 11:13:57 CEST schrieb Tianling Shen:
> NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
> stores the MAC address.
>
> 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 <[email protected]>

this produces errors when building the dtb:
DTC arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dtb
../arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts:84.4-22: Warning (reg_format): /i2c@ff120000/eeprom@51/mac-address@fa:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
../arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts:83.31-85.5: Warning (avoid_default_addr_size): /i2c@ff120000/eeprom@51/mac-address@fa: Relying on default #address-cells value
../arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts:83.31-85.5: Warning (avoid_default_addr_size): /i2c@ff120000/eeprom@51/mac-address@fa: Relying on default #size-cells value

in the eeprom node you'll need to define #address-cells and #size-cells
for this to work.

Thanks
Heiko


> ---
> .../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 18 ++++++++++++++++++
> 1 file changed, 18 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..50d3b11eb925 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> @@ -68,6 +68,24 @@
> status = "disabled";
> };
>
> +&gmac {
> + nvmem-cells = <&mac_address>;
> + nvmem-cells-names = "mac-address";
> +};
> +
> +&i2c2 {
> + eeprom@51 {
> + compatible = "microchip,24c02", "atmel,24c02";
> + reg = <0x51>;
> + pagesize = <16>;
> + size = <256>;
> +
> + mac_address: mac-address@fa {
> + reg = <0xfa 0x06>;
> + };
> + };
> +};
> +
> &i2c4 {
> status = "disabled";
> };
>




2021-06-20 04:43:19

by Tianling Shen

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: rockchip: add EEPROM node for NanoPi R4S

Hi Heiko,

On Sun, Jun 20, 2021 at 6:11 AM Heiko Stuebner <[email protected]> wrote:
>
> Hi,
>
> Am Donnerstag, 10. Juni 2021, 11:13:57 CEST schrieb Tianling Shen:
> > NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
> > stores the MAC address.
> >
> > 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 <[email protected]>
>
> this produces errors when building the dtb:
> DTC arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dtb
> ../arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts:84.4-22: Warning (reg_format): /i2c@ff120000/eeprom@51/mac-address@fa:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
> arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
> arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
> arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
> ../arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts:83.31-85.5: Warning (avoid_default_addr_size): /i2c@ff120000/eeprom@51/mac-address@fa: Relying on default #address-cells value
> ../arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts:83.31-85.5: Warning (avoid_default_addr_size): /i2c@ff120000/eeprom@51/mac-address@fa: Relying on default #size-cells value
>
> in the eeprom node you'll need to define #address-cells and #size-cells
> for this to work.

Thanks for pointing this out, added in v3.

Thanks,
Tianling.

>
> Thanks
> Heiko
>
>
> > ---
> > .../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 18 ++++++++++++++++++
> > 1 file changed, 18 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..50d3b11eb925 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> > @@ -68,6 +68,24 @@
> > status = "disabled";
> > };
> >
> > +&gmac {
> > + nvmem-cells = <&mac_address>;
> > + nvmem-cells-names = "mac-address";
> > +};
> > +
> > +&i2c2 {
> > + eeprom@51 {
> > + compatible = "microchip,24c02", "atmel,24c02";
> > + reg = <0x51>;
> > + pagesize = <16>;
> > + size = <256>;
> > +
> > + mac_address: mac-address@fa {
> > + reg = <0xfa 0x06>;
> > + };
> > + };
> > +};
> > +
> > &i2c4 {
> > status = "disabled";
> > };
> >
>
>
>
>