The HAB code needs an special [Unlock] instruction to keep the SRK_REVOKE fuse bank unlocked. This is required if a key needs to be revoked. Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> --- arch/arm/mach-imx/Kconfig | 8 ++++++++ include/mach/imx/habv4-imx8-gencsf.h | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 61258137736f..68f55971506b 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -835,6 +835,14 @@ config HABV4_QSPI help Enable this option to build signed QSPI/FlexSPI images. +config HABV4_CSF_UNLOCK_SRK_REVOKE + depends on HABV4 + bool "Unlock SRK revocation" + help + Enable this option to instruct the HAB code to not lock + the SRK_REVOKE_LOCK sticky bit. This is required for key + revocation. Don't enable this if you are unsure. + config HAB_CERTS_ENV depends on HAB bool "Specify certificates in environment" diff --git a/include/mach/imx/habv4-imx8-gencsf.h b/include/mach/imx/habv4-imx8-gencsf.h index 5f92ceceab00..56d9ef2de92f 100644 --- a/include/mach/imx/habv4-imx8-gencsf.h +++ b/include/mach/imx/habv4-imx8-gencsf.h @@ -36,6 +36,12 @@ hab [Unlock] hab Engine = CAAM hab Features = RNG, MID +#if defined(CONFIG_HABV4_CSF_UNLOCK_SRK_REVOKE) +hab [Unlock] +hab Engine = OCOTP +hab Features = SRK REVOKE +#endif + hab [Install Key] /* verification key index in key store (0, 2...4) */ hab Verification index = 0 -- 2.39.2