diff options
Diffstat (limited to 'plat/imx/common/imx8_helpers.S')
-rw-r--r-- | plat/imx/common/imx8_helpers.S | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/plat/imx/common/imx8_helpers.S b/plat/imx/common/imx8_helpers.S index 18330281..a8293dce 100644 --- a/plat/imx/common/imx8_helpers.S +++ b/plat/imx/common/imx8_helpers.S @@ -116,6 +116,25 @@ endfunc plat_reset_handler * --------------------------------------------- */ func plat_get_my_entrypoint + +#if defined(PLAT_IMX8QXP) || defined(PLAT_IMX8QM) + /* --------------------------------------------- + * SCU will signal through a GIR bit when a + * partition boot has taken place which requires + * cold boot setup to take place once again + * --------------------------------------------- + */ + + mov x0, #PLAT_BOOT_MU_BASE + add x0, x0, #PLAT_MU_SR_OFF + ldr w1, [x0] + and w1, w1, #PLAT_MU_COLD_BOOT_FLG_MSK + cbz w1, warm_boot + str w1, [x0] + mov x0, #0 + ret +warm_boot: +#endif adrp x1, mailbox_base ldr x0, [x1, :lo12:mailbox_base] ret |