From 6933487b4df3fb864214a64bd6b1b33dfe26c98c Mon Sep 17 00:00:00 2001 From: Ye Li Date: Wed, 19 Oct 2022 10:55:56 +0800 Subject: LFU-427 imx93: Print ELE FW version Print ELE FW version in uboot log for debug purpose Signed-off-by: Ye Li Reviewed-by: Peng Fan --- arch/arm/mach-imx/imx9/soc.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'arch/arm/mach-imx') diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index 94351f8cb8d..02edced9aa6 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -34,6 +34,8 @@ #include #include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -671,8 +673,36 @@ int print_cpuinfo(void) return 0; } +void build_info(void) +{ + u32 fw_version, sha1, res, status; + int ret; + + printf("\nBuildInfo:\n"); + + ret = ahab_get_fw_status(&status, &res); + if (ret) { + printf(" - ELE firmware status failed %d, 0x%x\n", ret, res); + } else if ((status & 0xff) == 1) { + ret = ahab_get_fw_version(&fw_version, &sha1, &res); + if (ret) { + printf(" - ELE firmware version failed %d, 0x%x\n", ret, res); + } else { + printf(" - ELE firmware version %u.%u.%u-%x", + (fw_version & (0x00ff0000)) >> 16, + (fw_version & (0x0000ff00)) >> 8, + (fw_version & (0x000000ff)), sha1); + ((fw_version & (0x80000000)) >> 31) == 1 ? puts("-dirty\n") : puts("\n"); + } + } else { + printf(" - ELE firmware not included\n"); + } + puts("\n"); +} + int arch_misc_init(void) { + build_info(); return 0; } -- cgit v1.2.3