
HI Patrick
On 5/6/22 16:06, Patrick Delaunay wrote:
As the get_otp() helper function in bsec are common for all STM32MP family, move this function in bsec driver
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
arch/arm/mach-stm32mp/bsec.c | 17 +++++++++++++++++ arch/arm/mach-stm32mp/cpu.c | 17 ----------------- arch/arm/mach-stm32mp/include/mach/sys_proto.h | 3 +++ 3 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-stm32mp/bsec.c b/arch/arm/mach-stm32mp/bsec.c index 506caa0a31..c00130b08b 100644 --- a/arch/arm/mach-stm32mp/bsec.c +++ b/arch/arm/mach-stm32mp/bsec.c @@ -632,3 +632,20 @@ bool bsec_dbgswenable(void)
return false; }
+u32 get_otp(int index, int shift, int mask) +{
- int ret;
- struct udevice *dev;
- u32 otp = 0;
- ret = uclass_get_device_by_driver(UCLASS_MISC,
DM_DRIVER_GET(stm32mp_bsec),
&dev);
- if (!ret)
ret = misc_read(dev, STM32_BSEC_SHADOW(index),
&otp, sizeof(otp));
- return (otp >> shift) & mask;
+} diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c index 0ad5f307db..6f44c75515 100644 --- a/arch/arm/mach-stm32mp/cpu.c +++ b/arch/arm/mach-stm32mp/cpu.c @@ -349,23 +349,6 @@ u32 get_cpu_rev(void) return (read_idc() & DBGMCU_IDC_REV_ID_MASK) >> DBGMCU_IDC_REV_ID_SHIFT; }
-static u32 get_otp(int index, int shift, int mask) -{
- int ret;
- struct udevice *dev;
- u32 otp = 0;
- ret = uclass_get_device_by_driver(UCLASS_MISC,
DM_DRIVER_GET(stm32mp_bsec),
&dev);
- if (!ret)
ret = misc_read(dev, STM32_BSEC_SHADOW(index),
&otp, sizeof(otp));
- return (otp >> shift) & mask;
-}
/* Get Device Part Number (RPN) from OTP */ static u32 get_cpu_rpn(void) { diff --git a/arch/arm/mach-stm32mp/include/mach/sys_proto.h b/arch/arm/mach-stm32mp/include/mach/sys_proto.h index b91f98eb45..dc98f0c5a4 100644 --- a/arch/arm/mach-stm32mp/include/mach/sys_proto.h +++ b/arch/arm/mach-stm32mp/include/mach/sys_proto.h @@ -52,3 +52,6 @@ int setup_mac_address(void);
/* board power management : configure vddcore according OPP */ void board_vddcore_init(u32 voltage_mv);
+/* helper function: read data from OTP */ +u32 get_otp(int index, int shift, int mask);
Reviewed-by: Patrice Chotard patrice.chotard@foss.st.com
Thanks Patrice