summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAdrian Alonso <aalonso@freescale.com>2015-10-12 13:48:14 -0500
committerStefano Babic <sbabic@denx.de>2015-10-30 15:22:37 +0100
commitfba6f9efa4e20a137f1a8121225c5deff4b17300 (patch)
tree96eaedb17f6008d78993f4d5b7eeea4832126701 /arch
parentbb955146f06cd22b672faf1ec6cfdcdbac8ef039 (diff)
downloadu-boot-imx-fba6f9efa4e20a137f1a8121225c5deff4b17300.zip
u-boot-imx-fba6f9efa4e20a137f1a8121225c5deff4b17300.tar.gz
u-boot-imx-fba6f9efa4e20a137f1a8121225c5deff4b17300.tar.bz2
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')
-rw-r--r--arch/arm/imx-common/hab.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/arch/arm/imx-common/hab.c b/arch/arm/imx-common/hab.c
index 9ee0f12..277c81e 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, &reg);
+ if (ret) {
+ puts("\nSecure boot fuse read error\n");
+ return ret;
+ }
return (reg & 0x2) == 0x2;
}