From: Ye Li <[email protected]>

Since System Manager will protect sentinel area, FSB can't be accessed.
So when System Manager is used, directly read fuse from ELE.

Signed-off-by: Ye Li <[email protected]>
Signed-off-by: Alice Guo <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
 drivers/misc/imx_ele/fuse.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/imx_ele/fuse.c b/drivers/misc/imx_ele/fuse.c
index d12539c8aa..e4314cc661 100644
--- a/drivers/misc/imx_ele/fuse.c
+++ b/drivers/misc/imx_ele/fuse.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * Copyright 2020 NXP
+ * Copyright 2020-2023 NXP
  */
 
 #include <console.h>
@@ -246,7 +246,7 @@ int fuse_sense(u32 bank, u32 word, u32 *val)
                return -EINVAL;
 
        word_index = map_fsb_fuse_index(bank, word, &redundancy);
-       if (word_index >= 0) {
+       if (!IS_ENABLED(CONFIG_SCMI_FIRMWARE) && word_index >= 0) {
                *val = readl((ulong)FSB_BASE_ADDR + FSB_OTP_SHADOW + 
(word_index << 2));
                if (redundancy)
                        *val = (*val >> ((word % 2) * 16)) & 0xFFFF;
-- 
2.34.1

Reply via email to