]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
imx8ulp_evk: Fix ELE FW version print bug
authorYe Li <ye.li@nxp.com>
Fri, 19 Sep 2025 06:58:33 +0000 (14:58 +0800)
committerFabio Estevam <festevam@gmail.com>
Sun, 21 Sep 2025 12:08:26 +0000 (09:08 -0300)
According to latest ELE Get FW version API, the FW version word is defined
as below. The patch version only has 4 bits and minor version has 12 bits.
However, the codes use 8 bits for patch version and minor version. Add the
patch to fix the issue.

ELE firmware version
[31] - When set indicates a dirty build.
[30] - Reserved
[29:28] - Hotfix version.
[27] - When set, indicate that ELE FW is authenticated and operational.
[26:25] - Reserved
[24] - When set, indicate that an alternative FW is running.
[23:16] - Indicate the major version. This byte is checked against the
version set in the fuses to determine if the FW execution can be authorized
[15:4] - Indicate the minor version.
[3:0] - Indicate the patch version.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
board/freescale/imx8ulp_evk/spl.c

index d123b21b72251a402a0e36bcf0fbc073b4d721f7..fe63707792844c98ca92065fe9e64cdb458bc396 100644 (file)
@@ -69,8 +69,8 @@ void display_ele_fw_version(void)
        } else {
                printf("ELE firmware version %u.%u.%u-%x",
                       (fw_version & (0x00ff0000)) >> 16,
-                      (fw_version & (0x0000ff00)) >> 8,
-                      (fw_version & (0x000000ff)), sha1);
+                      (fw_version & (0x0000fff0)) >> 4,
+                      (fw_version & (0x0000000f)), sha1);
                ((fw_version & (0x80000000)) >> 31) == 1 ? puts("-dirty\n") : puts("\n");
        }
 }