On 2019/10/25 上午7:27, Heiko Stuebner wrote:
From: Heiko Stuebner <heiko.stueb...@theobroma-systems.com>

Newer Rockchip socs use a different ip block to handle one-time-
programmable memory, so depending on what got enabled get the cpuid
from either source.

Signed-off-by: Heiko Stuebner <heiko.stueb...@theobroma-systems.com>
Reviewed-by: Kever Yang<kever.y...@rock-chips.com>

Thanks,
- Kever
---
  arch/arm/mach-rockchip/misc.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-rockchip/misc.c b/arch/arm/mach-rockchip/misc.c
index c0e4fdbc00..bed4317f7e 100644
--- a/arch/arm/mach-rockchip/misc.c
+++ b/arch/arm/mach-rockchip/misc.c
@@ -57,13 +57,18 @@ int rockchip_cpuid_from_efuse(const u32 cpuid_offset,
                              const u32 cpuid_length,
                              u8 *cpuid)
  {
-#if CONFIG_IS_ENABLED(ROCKCHIP_EFUSE)
+#if CONFIG_IS_ENABLED(ROCKCHIP_EFUSE) || CONFIG_IS_ENABLED(ROCKCHIP_OTP)
        struct udevice *dev;
        int ret;
/* retrieve the device */
+#if CONFIG_IS_ENABLED(ROCKCHIP_EFUSE)
        ret = uclass_get_device_by_driver(UCLASS_MISC,
                                          DM_GET_DRIVER(rockchip_efuse), &dev);
+#elif CONFIG_IS_ENABLED(ROCKCHIP_OTP)
+       ret = uclass_get_device_by_driver(UCLASS_MISC,
+                                         DM_GET_DRIVER(rockchip_otp), &dev);
+#endif
        if (ret) {
                debug("%s: could not find efuse device\n", __func__);
                return -1;


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to