]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx: ele_ahab: confirm lifecycle before closing the part
authorYe Li <ye.li@nxp.com>
Mon, 30 Jan 2023 10:39:54 +0000 (18:39 +0800)
committerStefano Babic <sbabic@denx.de>
Wed, 29 Mar 2023 20:27:38 +0000 (22:27 +0200)
Before moving the lifecycle to OEM closed, confirm the lifecycle is
OEM open, otherwise cancel to move forward the lifecycle.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
arch/arm/mach-imx/ele_ahab.c

index da8c99b8b061414d177847eec5cc768e1ac17f1e..58b6542b8e65bbeeaf4c906ff9a771e5d4cf77ff 100644 (file)
@@ -474,10 +474,20 @@ static int do_ahab_close(struct cmd_tbl *cmdtp, int flag, int argc,
 {
        int err;
        u32 resp;
+       u32 lc;
 
        if (!confirm_close())
                return -EACCES;
 
+       lc = readl(FSB_BASE_ADDR + 0x41c);
+       lc &= 0x3ff;
+
+       if (lc != 0x8) {
+               puts("Current lifecycle is NOT OEM open, can't move to OEM closed\n");
+               display_life_cycle(lc);
+               return -EPERM;
+       }
+
        err = ahab_forward_lifecycle(8, &resp);
        if (err != 0) {
                printf("Error in forward lifecycle to OEM closed\n");