]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
misc: ele_api: Update ELE read common fuse API
authorPeng Fan <peng.fan@nxp.com>
Sun, 6 Oct 2024 00:30:02 +0000 (08:30 +0800)
committerFabio Estevam <festevam@denx.de>
Sun, 13 Oct 2024 12:43:05 +0000 (09:43 -0300)
On iMX8ULP, the word index 1 is used to read OTP_UNIQ_ID with 4 words
data responsed. However this special index does not apply others.
So restrict the check to i.MX8ULP to avoid problem when reading from
fuse word 1 for others, such as i.MX93.

Also update header order

Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/misc/imx_ele/ele_api.c

index b753419f01b9ac8af1b09917a497b2614684589b..8f321fbf40e4eff3ab9d33fec6d8673e68d42c83 100644 (file)
@@ -5,12 +5,12 @@
  *
  */
 
-#include <hang.h>
-#include <malloc.h>
-#include <memalign.h>
 #include <asm/io.h>
-#include <dm.h>
+#include <asm/mach-imx/sys_proto.h>
 #include <asm/mach-imx/ele_api.h>
+#include <dm.h>
+#include <malloc.h>
+#include <memalign.h>
 #include <misc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -205,8 +205,7 @@ int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respon
                return -EINVAL;
        }
 
-       if ((fuse_id != 1 && fuse_num != 1) ||
-           (fuse_id == 1 && fuse_num != 4)) {
+       if (is_imx8ulp() && ((fuse_id != 1 && fuse_num != 1) || (fuse_id == 1 && fuse_num != 4))) {
                printf("Invalid fuse number parameter\n");
                return -EINVAL;
        }
@@ -226,7 +225,7 @@ int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respon
                *response = msg.data[0];
 
        fuse_words[0] = msg.data[1];
-       if (fuse_id == 1) {
+       if (fuse_id == 1 && is_imx8ulp()) {
                /* OTP_UNIQ_ID */
                fuse_words[1] = msg.data[2];
                fuse_words[2] = msg.data[3];