summaryrefslogtreecommitdiff
path: root/plat/imx/imx8mq/src.c
diff options
context:
space:
mode:
Diffstat (limited to 'plat/imx/imx8mq/src.c')
-rw-r--r--plat/imx/imx8mq/src.c7
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;
}
}