Message ID | 20191024232803.10338-9-heiko@sntech.de |
---|---|
State | Accepted |
Commit | e61350a5f5f711fc4427bb1303c54d853db941e0 |
Delegated to: | Kever Yang |
Headers | show |
Series | rockchip: add support for px30 | expand |
On 2019/10/25 上午7:27, Heiko Stuebner wrote: > From: Heiko Stuebner <heiko.stuebner@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.stuebner@theobroma-systems.com> Reviewed-by: Kever Yang<kever.yang@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;
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;