mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-17 14:18:14 +01:00
arm: stm32mp: move the get_otp helper function in bsec
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> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
parent
2ff0866b45
commit
3865a7ec95
@ -632,3 +632,20 @@ bool bsec_dbgswenable(void)
|
|||||||
|
|
||||||
return false;
|
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;
|
||||||
|
}
|
||||||
|
@ -349,23 +349,6 @@ u32 get_cpu_rev(void)
|
|||||||
return (read_idc() & DBGMCU_IDC_REV_ID_MASK) >> DBGMCU_IDC_REV_ID_SHIFT;
|
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 */
|
/* Get Device Part Number (RPN) from OTP */
|
||||||
static u32 get_cpu_rpn(void)
|
static u32 get_cpu_rpn(void)
|
||||||
{
|
{
|
||||||
|
@ -52,3 +52,6 @@ int setup_mac_address(void);
|
|||||||
|
|
||||||
/* board power management : configure vddcore according OPP */
|
/* board power management : configure vddcore according OPP */
|
||||||
void board_vddcore_init(u32 voltage_mv);
|
void board_vddcore_init(u32 voltage_mv);
|
||||||
|
|
||||||
|
/* helper function: read data from OTP */
|
||||||
|
u32 get_otp(int index, int shift, int mask);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user