Hi Jonas,

On 4/8/24 20:14, Jonas Karlman wrote:
Like other Rockchip SoCs the RK3308 has cpu id programmed into OTP
memory. The rockchip_otp driver already support the RK3308 variant.
However, the device tree is missing a node to enable use of OTP.

Add the missing otp node to soc u-boot.dtsi, enable the rockchip_otp
driver and enable use of misc_init_r() to set ethaddr based on cpu id.

Signed-off-by: Jonas Karlman <jo...@kwiboo.se>
---
v2: Add clocks and resets props
---
  arch/arm/dts/rk3308-u-boot.dtsi | 16 ++++++++++++++++
  arch/arm/mach-rockchip/Kconfig  |  3 +++
  2 files changed, 19 insertions(+)

diff --git a/arch/arm/dts/rk3308-u-boot.dtsi b/arch/arm/dts/rk3308-u-boot.dtsi
index db2c20a7055e..436f66d1b87d 100644
--- a/arch/arm/dts/rk3308-u-boot.dtsi
+++ b/arch/arm/dts/rk3308-u-boot.dtsi
@@ -10,6 +10,22 @@
                mmc0 = &emmc;
                mmc1 = &sdmmc;
        };
+
+       otp: nvmem@ff210000 {
+               compatible = "rockchip,rk3308-otp";
+               reg = <0x0 0xff210000 0x0 0x4000>;
+               clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
+                        <&cru PCLK_OTP_PHY>;
+               clock-names = "otp", "apb_pclk", "phy";
+               resets = <&cru SRST_OTP_PHY>;
+               reset-names = "phy";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               cpu_id: id@7 {
+                       reg = <0x07 0x10>;
+               };
+       };

Any plan upstreaming this to the Linux kernel so we can avoid maintaining it in U-Boot?

It seems supported (the compatible is matched by a driver and there's a DT binding already).

Reviewed-by: Quentin Schulz <quentin.sch...@theobroma-systems.com>

Cheers,
Quentin

Reply via email to