diff options
author | Adrian Alonso <aalonso@freescale.com> | 2015-10-12 13:48:14 -0500 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2015-10-30 15:22:37 +0100 |
commit | fba6f9efa4e20a137f1a8121225c5deff4b17300 (patch) | |
tree | 96eaedb17f6008d78993f4d5b7eeea4832126701 /arch/arm/imx-common/hab.c | |
parent | bb955146f06cd22b672faf1ec6cfdcdbac8ef039 (diff) |
imx: hab: use read_fuse for secure boot settings
Use read_fuse api fuction call to read secure boot fuse
settings (enabled/disabled).
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Diffstat (limited to 'arch/arm/imx-common/hab.c')
-rw-r--r-- | arch/arm/imx-common/hab.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/arch/arm/imx-common/hab.c b/arch/arm/imx-common/hab.c index 9ee0f12a660..277c81ef67b 100644 --- a/arch/arm/imx-common/hab.c +++ b/arch/arm/imx-common/hab.c @@ -5,6 +5,8 @@ */ #include <common.h> +#include <config.h> +#include <fuse.h> #include <asm/io.h> #include <asm/system.h> #include <asm/arch/clock.h> @@ -260,11 +262,16 @@ uint8_t hab_engines[16] = { bool is_hab_enabled(void) { - struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR; - struct fuse_bank *bank = &ocotp->bank[0]; - struct fuse_bank0_regs *fuse = - (struct fuse_bank0_regs *)bank->fuse_regs; - uint32_t reg = readl(&fuse->cfg5); + struct imx_sec_config_fuse_t *fuse = + (struct imx_sec_config_fuse_t *)&imx_sec_config_fuse; + uint32_t reg; + int ret; + + ret = fuse_read(fuse->bank, fuse->word, ®); + if (ret) { + puts("\nSecure boot fuse read error\n"); + return ret; + } return (reg & 0x2) == 0x2; } |