
On 1/15/24 15:05, Patrick Delaunay wrote:
Add the display of the STMicroelectronics board identification saved in OTP in stm32mp2 checkboard function.
Reviewed-by: Patrice Chotard patrice.chotard@foss.st.com Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
(no changes since v1)
board/st/stm32mp2/stm32mp2.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/board/st/stm32mp2/stm32mp2.c b/board/st/stm32mp2/stm32mp2.c index 9a881583d904..aa7dd31996ea 100644 --- a/board/st/stm32mp2/stm32mp2.c +++ b/board/st/stm32mp2/stm32mp2.c @@ -9,9 +9,12 @@ #include <env.h> #include <fdt_support.h> #include <log.h> +#include <misc.h> #include <asm/global_data.h> #include <asm/arch/sys_proto.h> +#include <dm/device.h> #include <dm/ofnode.h> +#include <dm/uclass.h>
/*
- Get a global data pointer
@@ -20,6 +23,9 @@ DECLARE_GLOBAL_DATA_PTR;
int checkboard(void) {
- int ret;
- u32 otp;
- struct udevice *dev; const char *fdt_compat; int fdt_compat_len;
@@ -27,6 +33,23 @@ int checkboard(void)
log_info("Board: stm32mp2 (%s)\n", fdt_compat && fdt_compat_len ? fdt_compat : "");
- /* display the STMicroelectronics board identification */
- if (CONFIG_IS_ENABLED(CMD_STBOARD)) {
ret = uclass_get_device_by_driver(UCLASS_MISC,
DM_DRIVER_GET(stm32mp_bsec),
&dev);
if (!ret)
ret = misc_read(dev, STM32_BSEC_SHADOW(BSEC_OTP_BOARD),
&otp, sizeof(otp));
if (ret > 0 && otp)
log_info("Board: MB%04x Var%d.%d Rev.%c-%02d\n",
otp >> 16,
(otp >> 12) & 0xF,
(otp >> 4) & 0xF,
((otp >> 8) & 0xF) - 1 + 'A',
otp & 0xF);
- }
- return 0;
}
Applied to u-boot-stm32/master
Thanks Patrice