diff options
author | Ye Li <ye.li@nxp.com> | 2022-10-19 10:55:56 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2022-10-19 11:31:32 +0800 |
commit | 6933487b4df3fb864214a64bd6b1b33dfe26c98c (patch) | |
tree | 510e88cb4b19fdeef38a0631aefd651e22183d11 /arch/arm/mach-imx | |
parent | 15b1ebb00cc05eab9a13ac1ff790b0d4ac4b4d35 (diff) |
LFU-427 imx93: Print ELE FW version
Print ELE FW version in uboot log for debug purpose
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/imx9/soc.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index 94351f8cb8..02edced9aa 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -34,6 +34,8 @@ #include <fuse.h> #include <imx_thermal.h> #include <thermal.h> +#include <imx_sip.h> +#include <linux/arm-smccc.h> 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; } |