diff options
Diffstat (limited to 'plat/imx/imx8mq/src.c')
-rw-r--r-- | plat/imx/imx8mq/src.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/plat/imx/imx8mq/src.c b/plat/imx/imx8mq/src.c index eb36c239..2ba6c1a1 100644 --- a/plat/imx/imx8mq/src.c +++ b/plat/imx/imx8mq/src.c @@ -25,6 +25,7 @@ #define DIGPROG 0x6c #define SW_INFO_A0 0x800 #define SW_INFO_B0 0x83C +#define SW_INFO_B1 0x40 int imx_src_handler(uint32_t smc_fid, u_register_t x1, u_register_t x2, u_register_t x3) @@ -59,9 +60,13 @@ int imx_soc_handler(uint32_t smc_fid, u_register_t x1, u_register_t x2, rom_version = mmio_read_32(IMX_ROM_BASE + SW_INFO_A0); if (rom_version != 0x10) { rom_version = mmio_read_32(IMX_ROM_BASE + SW_INFO_B0); - if (rom_version >= 0x20) { + if (rom_version == 0x20) { val &= ~0xff; val |= rom_version; + } else if (mmio_read_32(IMX_OCOTP_BASE + SW_INFO_B1) + == 0xff0055aa) { + /* 0xff0055aa is magic number for B1 */ + val = 0x21; } } |