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

Heiko Stuebner
2021-06-19T22:12:57Z

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 <cnsztl@gmail.com>

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