imx: use generic name ele(EdgeLockSecure Enclave)
authorPeng Fan <peng.fan@nxp.com>
Thu, 15 Jun 2023 10:09:05 +0000 (18:09 +0800)
committerStefano Babic <sbabic@denx.de>
Thu, 13 Jul 2023 09:29:40 +0000 (11:29 +0200)
Per NXP requirement, we rename all the NXP EdgeLock Secure Enclave
code including comment, folder and API name to ELE to align.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
20 files changed:
arch/arm/Kconfig
arch/arm/include/asm/arch-imx9/ccm_regs.h
arch/arm/include/asm/global_data.h
arch/arm/include/asm/mach-imx/ele_api.h [moved from arch/arm/include/asm/mach-imx/s400_api.h with 78% similarity]
arch/arm/mach-imx/ele_ahab.c
arch/arm/mach-imx/imx8ulp/rdc.c
arch/arm/mach-imx/imx8ulp/soc.c
arch/arm/mach-imx/imx8ulp/upower/upower_hal.c
arch/arm/mach-imx/imx9/clock.c
arch/arm/mach-imx/imx9/clock_root.c
arch/arm/mach-imx/imx9/soc.c
arch/arm/mach-imx/imx9/trdc.c
board/freescale/imx8ulp_evk/spl.c
board/freescale/imx93_evk/spl.c
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/misc/imx_ele/Makefile [moved from drivers/misc/sentinel/Makefile with 71% similarity]
drivers/misc/imx_ele/ele_api.c [moved from drivers/misc/sentinel/s400_api.c with 63% similarity]
drivers/misc/imx_ele/ele_mu.c [moved from drivers/misc/sentinel/s4mu.c with 93% similarity]
drivers/misc/imx_ele/fuse.c [moved from drivers/misc/sentinel/fuse.c with 84% similarity]

index 4604d41..17d69d2 100644 (file)
@@ -882,7 +882,7 @@ config ARCH_IMX8ULP
        select SUPPORT_SPL
        select GPIO_EXTRA_HEADER
        select MISC
-       select IMX_SENTINEL
+       select IMX_ELE
        imply CMD_DM
 
 config ARCH_IMX9
@@ -894,7 +894,7 @@ config ARCH_IMX9
        select SUPPORT_SPL
        select GPIO_EXTRA_HEADER
        select MISC
-       select IMX_SENTINEL
+       select IMX_ELE
        imply CMD_DM
 
 config ARCH_IMXRT
index d326a6e..f6ec8fd 100644 (file)
@@ -12,7 +12,7 @@
 #define ARM_A55_MTR_BUS_CLK_ROOT       1
 #define ARM_A55_CLK_ROOT               2
 #define M33_CLK_ROOT                   3
-#define SENTINEL_CLK_ROOT              4
+#define ELE_CLK_ROOT                   4
 #define BUS_WAKEUP_CLK_ROOT            5
 #define BUS_AON_CLK_ROOT               6
 #define WAKEUP_AXI_CLK_ROOT            7
index 0c13075..2a222c5 100644 (file)
@@ -92,8 +92,8 @@ struct arch_global_data {
        struct udevice *scu_dev;
 #endif
 
-#ifdef CONFIG_IMX_SENTINEL
-       struct udevice *s400_dev;
+#ifdef CONFIG_IMX_ELE
+       struct udevice *ele_dev;
        u32 soc_rev;
        u32 lifecycle;
        u32 uid[4];
similarity index 78%
rename from arch/arm/include/asm/mach-imx/s400_api.h
rename to arch/arm/include/asm/mach-imx/ele_api.h
index 5582ff1..120da08 100644 (file)
@@ -3,12 +3,12 @@
  * Copyright 2021 NXP
  */
 
-#ifndef __S400_API_H__
-#define __S400_API_H__
+#ifndef __ELE_API_H__
+#define __ELE_API_H__
 
-#define AHAB_VERSION    0x6
-#define AHAB_CMD_TAG    0x17
-#define AHAB_RESP_TAG   0xe1
+#define ELE_VERSION    0x6
+#define ELE_CMD_TAG    0x17
+#define ELE_RESP_TAG   0xe1
 
 /* ELE commands */
 #define ELE_PING_REQ (0x01)
@@ -24,6 +24,8 @@
 #define ELE_GET_FW_VERSION_REQ (0x9D)
 #define ELE_RET_LIFECYCLE_UP_REQ (0xA0)
 #define ELE_GET_EVENTS_REQ (0xA2)
+#define ELE_START_RNG (0xA3)
+#define ELE_GENERATE_DEK_BLOB (0xAF)
 #define ELE_ENABLE_PATCH_REQ (0xC3)
 #define ELE_RELEASE_RDC_REQ (0xC4)
 #define ELE_GET_FW_STATUS_REQ (0xC5)
 #define ELE_SUCCESS_IND (0xD6)
 #define ELE_FAILURE_IND (0x29)
 
-#define S400_MAX_MSG          255U
+#define ELE_MAX_MSG          255U
 
-struct sentinel_msg {
+struct ele_msg {
        u8 version;
        u8 size;
        u8 command;
        u8 tag;
-       u32 data[(S400_MAX_MSG - 1U)];
+       u32 data[(ELE_MAX_MSG - 1U)];
 };
 
-struct sentinel_get_info_data {
+struct ele_get_info_data {
        u32 hdr;
        u32 soc;
        u32 lc;
@@ -130,19 +132,19 @@ struct sentinel_get_info_data {
        u32 state;
 };
 
-int ahab_release_rdc(u8 core_id, u8 xrdc, u32 *response);
-int ahab_auth_oem_ctnr(ulong ctnr_addr, u32 *response);
-int ahab_release_container(u32 *response);
-int ahab_verify_image(u32 img_id, u32 *response);
-int ahab_forward_lifecycle(u16 life_cycle, u32 *response);
-int ahab_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response);
-int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response);
-int ahab_release_caam(u32 core_did, u32 *response);
-int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response);
-int ahab_dump_buffer(u32 *buffer, u32 buffer_length);
-int ahab_get_info(struct sentinel_get_info_data *info, u32 *response);
-int ahab_get_fw_status(u32 *status, u32 *response);
-int ahab_release_m33_trout(void);
-int ahab_get_events(u32 *events, u32 *events_cnt, u32 *response);
+int ele_release_rdc(u8 core_id, u8 xrdc, u32 *response);
+int ele_auth_oem_ctnr(ulong ctnr_addr, u32 *response);
+int ele_release_container(u32 *response);
+int ele_verify_image(u32 img_id, u32 *response);
+int ele_forward_lifecycle(u16 life_cycle, u32 *response);
+int ele_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response);
+int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response);
+int ele_release_caam(u32 core_did, u32 *response);
+int ele_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response);
+int ele_get_events(u32 *events, u32 *events_cnt, u32 *response);
+int ele_dump_buffer(u32 *buffer, u32 buffer_length);
+int ele_get_info(struct ele_get_info_data *info, u32 *response);
+int ele_get_fw_status(u32 *status, u32 *response);
+int ele_release_m33_trout(void);
 
 #endif
index 99fc540..9bb3791 100644 (file)
@@ -7,14 +7,13 @@
 #include <command.h>
 #include <errno.h>
 #include <asm/io.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <asm/mach-imx/sys_proto.h>
 #include <asm/arch-imx/cpu.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/mach-imx/image.h>
 #include <console.h>
 #include <cpu_func.h>
-#include <asm/mach-imx/ahab.h>
 #include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -267,7 +266,7 @@ int ahab_auth_cntr_hdr(struct container_hdr *container, u16 length)
        flush_dcache_range(IMG_CONTAINER_BASE,
                           IMG_CONTAINER_BASE + ALIGN(length, CONFIG_SYS_CACHELINE_SIZE) - 1);
 
-       err = ahab_auth_oem_ctnr(IMG_CONTAINER_BASE, &resp);
+       err = ele_auth_oem_ctnr(IMG_CONTAINER_BASE, &resp);
        if (err) {
                printf("Authenticate container hdr failed, return %d, resp 0x%x\n",
                       err, resp);
@@ -282,7 +281,7 @@ int ahab_auth_release(void)
        int err;
        u32 resp;
 
-       err = ahab_release_container(&resp);
+       err = ele_release_container(&resp);
        if (err) {
                printf("Error: release container failed, resp 0x%x!\n", resp);
                display_ahab_auth_ind(resp);
@@ -296,7 +295,7 @@ int ahab_verify_cntr_image(struct boot_img_t *img, int image_index)
        int err;
        u32 resp;
 
-       err = ahab_verify_image(image_index, &resp);
+       err = ele_verify_image(image_index, &resp);
        if (err) {
                printf("Authenticate img %d failed, return %d, resp 0x%x\n",
                       image_index, err, resp);
@@ -485,7 +484,7 @@ static int do_ahab_close(struct cmd_tbl *cmdtp, int flag, int argc,
                return -EPERM;
        }
 
-       err = ahab_forward_lifecycle(8, &resp);
+       err = ele_forward_lifecycle(8, &resp);
        if (err != 0) {
                printf("Error in forward lifecycle to OEM closed\n");
                return -EIO;
@@ -502,7 +501,7 @@ int ahab_dump(void)
        int ret, i = 0;
 
        do {
-               ret = ahab_dump_buffer(buffer, 32);
+               ret = ele_dump_buffer(buffer, 32);
                if (ret < 0) {
                        printf("Error in dump AHAB log\n");
                        return -EIO;
@@ -547,7 +546,7 @@ static int do_ahab_status(struct cmd_tbl *cmdtp, int flag, int argc, char *const
 
        display_life_cycle(lc);
 
-       ret = ahab_get_events(events, &cnt, NULL);
+       ret = ele_get_events(events, &cnt, NULL);
        if (ret) {
                printf("Get ELE EVENTS error %d\n", ret);
                return CMD_RET_FAILURE;
index 50b097b..cfc09e7 100644 (file)
@@ -9,7 +9,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/mach-imx/mu_hal.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <asm/arch/rdc.h>
 #include <div64.h>
 
@@ -203,12 +203,12 @@ int xrdc_config_msc(u32 msc, u32 index, u32 dom, u32 perm)
 int release_rdc(enum rdc_type type)
 {
        ulong s_mu_base = 0x27020000UL;
-       struct sentinel_msg msg;
+       struct ele_msg msg;
        int ret;
        u32 rdc_id = (type == RDC_XRDC) ? 0x78 : 0x74;
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_RELEASE_RDC_REQ;
        msg.data[0] = (rdc_id << 8) | 0x2; /* A35 XRDC */
@@ -266,7 +266,7 @@ void xrdc_mrc_region_set_access(int mrc_index, u32 addr, u32 access)
                                mrgd[4] |= ((access & 0xFFF) << 16);
                        }
 
-                       /* not handle other cases, since S400 only set ACCESS1 and 2 */
+                       /* not handle other cases, since ELE only set ACCESS1 and 2 */
                        writel(mrgd[4], xrdc_base + off + 0x10);
                        return;
                }
@@ -295,7 +295,7 @@ void xrdc_init_mda(void)
 
 void xrdc_init_mrc(void)
 {
-       /* Re-config MRC3 for SRAM0 in case protected by S400 */
+       /* Re-config MRC3 for SRAM0 in case protected by ELE */
        xrdc_config_mrc_w0_w1(3, 0, 0x22010000, 0x10000);
        xrdc_config_mrc_dx_perm(3, 0, 0, 1);
        xrdc_config_mrc_dx_perm(3, 0, 1, 1);
@@ -320,7 +320,7 @@ void xrdc_init_mrc(void)
        xrdc_config_mrc_dx_perm(5, 0, 1, 1);
        xrdc_config_mrc_w3_w4(5, 0, 0x0, 0x80000FFF);
 
-       /* Set MRC6 for DDR access from Sentinel */
+       /* Set MRC6 for DDR access from ELE */
        xrdc_config_mrc_w0_w1(6, 0, CFG_SYS_SDRAM_BASE, PHYS_SDRAM_SIZE);
        xrdc_config_mrc_dx_perm(6, 0, 4, 1);
        xrdc_config_mrc_w3_w4(6, 0, 0x0, 0x80000FFF);
@@ -404,7 +404,7 @@ int trdc_mbc_set_access(u32 mbc_x, u32 dom_x, u32 mem_x, u32 blk_x, bool sec_acc
        val &= ~(0xFU << offset);
 
        /* MBC0-3
-        *  Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it.
+        *  Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it.
         *  So select MBC0_MEMN_GLBAC0
         */
        if (sec_access) {
@@ -445,7 +445,7 @@ int trdc_mrc_region_set_access(u32 mrc_x, u32 dom_x, u32 addr_start, u32 addr_en
                        continue;
 
                /* MRC0,1
-                *  Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it.
+                *  Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it.
                 *  So select MRCx_MEMN_GLBAC0
                 */
                if (sec_access) {
index 81eae02..e23cf60 100644 (file)
@@ -14,7 +14,7 @@
 #include <event.h>
 #include <spl.h>
 #include <asm/arch/rdc.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <asm/mach-imx/mu_hal.h>
 #include <cpu_func.h>
 #include <asm/setup.h>
@@ -70,7 +70,7 @@ int mmc_get_env_dev(void)
 }
 #endif
 
-static void set_cpu_info(struct sentinel_get_info_data *info)
+static void set_cpu_info(struct ele_get_info_data *info)
 {
        gd->arch.soc_rev = info->soc;
        gd->arch.lifecycle = info->lc;
@@ -582,9 +582,9 @@ void get_board_serial(struct tag_serialnr *serialnr)
        u32 res;
        int ret;
 
-       ret = ahab_read_common_fuse(1, uid, 4, &res);
+       ret = ele_read_common_fuse(1, uid, 4, &res);
        if (ret)
-               printf("ahab read fuse failed %d, 0x%x\n", ret, res);
+               printf("ele read fuse failed %d, 0x%x\n", ret, res);
        else
                printf("UID 0x%x,0x%x,0x%x,0x%x\n", uid[0], uid[1], uid[2], uid[3]);
 
@@ -783,7 +783,7 @@ int imx8ulp_dm_post_init(void)
        struct udevice *devp;
        int ret;
        u32 res;
-       struct sentinel_get_info_data *info = (struct sentinel_get_info_data *)SRAM0_BASE;
+       struct ele_get_info_data *info = (struct ele_get_info_data *)SRAM0_BASE;
 
        ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(imx8ulp_mu), &devp);
        if (ret) {
@@ -791,11 +791,11 @@ int imx8ulp_dm_post_init(void)
                return ret;
        }
 
-       ret = ahab_get_info(info, &res);
+       ret = ele_get_info(info, &res);
        if (ret) {
-               printf("ahab_get_info failed %d\n", ret);
+               printf("ele_get_info failed %d\n", ret);
                /* fallback to A0.1 revision */
-               memset((void *)info, 0, sizeof(struct sentinel_get_info_data));
+               memset((void *)info, 0, sizeof(struct ele_get_info_data));
                info->soc = 0xa000084d;
        }
 
index fcb02ed..b471a75 100644 (file)
@@ -217,8 +217,8 @@ int upower_init(void)
         * CM33 Cache
         * PowerQuad RAM
         * ETF RAM
-        * Sentinel PKC, Data RAM1, Inst RAM0/1
-        * Sentinel ROM
+        * ELE PKC, Data RAM1, Inst RAM0/1
+        * ELE ROM
         * uPower IRAM/DRAM
         * uPower ROM
         * CM33 ROM
@@ -230,7 +230,7 @@ int upower_init(void)
         * SSRAM Partition 7_a(128KB)
         * SSRAM Partition 7_b(64KB)
         * SSRAM Partition 7_c(64KB)
-        * Sentinel Data RAM0, Inst RAM2
+        * ELE Data RAM0, Inst RAM2
         */
        /* MIPI-CSI FIFO BIT28 not set */
        memon = 0x3FFFFFEFFFFFFCUL;
index a7eccca..766a881 100644 (file)
@@ -709,8 +709,8 @@ struct imx_clk_setting imx_clk_settings[] = {
        /* Set A55 mtr bus to 133M */
        {ARM_A55_MTR_BUS_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3},
 
-       /* Sentinel to 133M */
-       {SENTINEL_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3},
+       /* ELE to 133M */
+       {ELE_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3},
        /* Bus_wakeup to 133M */
        {BUS_WAKEUP_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3},
        /* Bus_AON to 133M */
@@ -740,8 +740,8 @@ struct imx_clk_setting imx_clk_settings[] = {
        {ARM_A55_PERIPH_CLK_ROOT, SYS_PLL_PFD0, 3},
        /* Set A55 mtr bus to 133M */
        {ARM_A55_MTR_BUS_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3},
-       /* Sentinel to 200M */
-       {SENTINEL_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2},
+       /* ELE to 200M */
+       {ELE_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2},
        /* Bus_wakeup to 133M */
        {BUS_WAKEUP_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3},
        /* Bus_AON to 133M */
index 06b93f6..7d7ae86 100644 (file)
@@ -34,7 +34,7 @@ static struct clk_root_map clk_root_array[] = {
        { ARM_A55_MTR_BUS_CLK_ROOT,     2 },
        { ARM_A55_CLK_ROOT,             0 },
        { M33_CLK_ROOT,                 2 },
-       { SENTINEL_CLK_ROOT,            2 },
+       { ELE_CLK_ROOT,                 2 },
        { BUS_WAKEUP_CLK_ROOT,          2 },
        { BUS_AON_CLK_ROOT,             2 },
        { WAKEUP_AXI_CLK_ROOT,          0 },
index a0565f3..f43b73a 100644 (file)
@@ -34,7 +34,7 @@
 #include <asm/setup.h>
 #include <asm/bootm.h>
 #include <asm/arch-imx/cpu.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <fuse.h>
 #include <asm/arch/ddr.h>
 
@@ -151,7 +151,7 @@ u32 get_cpu_temp_grade(int *minc, int *maxc)
        return val;
 }
 
-static void set_cpu_info(struct sentinel_get_info_data *info)
+static void set_cpu_info(struct ele_get_info_data *info)
 {
        gd->arch.soc_rev = info->soc;
        gd->arch.lifecycle = info->lc;
@@ -557,7 +557,7 @@ int imx9_probe_mu(void *ctx, struct event *event)
        struct udevice *devp;
        int node, ret;
        u32 res;
-       struct sentinel_get_info_data info;
+       struct ele_get_info_data info;
 
        node = fdt_node_offset_by_compatible(gd->fdt_blob, -1, "fsl,imx93-mu-s4");
 
@@ -568,7 +568,7 @@ int imx9_probe_mu(void *ctx, struct event *event)
        if (gd->flags & GD_FLG_RELOC)
                return 0;
 
-       ret = ahab_get_info(&info, &res);
+       ret = ele_get_info(&info, &res);
        if (ret)
                return ret;
 
@@ -642,7 +642,7 @@ static int mix_power_init(enum mix_power_domain pd)
                mem_id = SRC_MEM_MEDIA;
                scr = BIT(5);
 
-               /* Enable S400 handshake */
+               /* Enable ELE handshake */
                struct blk_ctrl_s_aonmix_regs *s_regs =
                        (struct blk_ctrl_s_aonmix_regs *)BLK_CTRL_S_ANOMIX_BASE_ADDR;
 
@@ -759,8 +759,8 @@ int m33_prepare(void)
        while (!(val & SRC_MIX_SLICE_FUNC_STAT_RST_STAT))
                val = readl(&mix_regs->func_stat);
 
-       /* Release Sentinel TROUT */
-       ahab_release_m33_trout();
+       /* Release ELE TROUT */
+       ele_release_m33_trout();
 
        /* Mask WDOG1 IRQ from A55, we use it for M33 reset */
        setbits_le32(&s_regs->ca55_irq_mask[1], BIT(6));
@@ -768,7 +768,7 @@ int m33_prepare(void)
        /* Turn on WDOG1 clock */
        ccm_lpcg_on(CCGR_WDG1, 1);
 
-       /* Set sentinel LP handshake for M33 reset */
+       /* Set ELE LP handshake for M33 reset */
        setbits_le32(&s_regs->lp_handshake[0], BIT(6));
 
        /* Clear M33 TCM for ECC */
index e05c704..d0f855b 100644 (file)
@@ -10,7 +10,7 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/sys_proto.h>
 #include <div64.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <asm/mach-imx/mu_hal.h>
 
 #define DID_NUM 16
@@ -196,7 +196,7 @@ int trdc_mbc_blk_config(ulong trdc_reg, u32 mbc_x, u32 dom_x, u32 mem_x,
        val &= ~(0xFU << offset);
 
        /* MBC0-3
-        *  Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it.
+        *  Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it.
         *  So select MBC0_MEMN_GLBAC0
         */
        if (sec_access) {
@@ -266,7 +266,7 @@ int trdc_mrc_region_config(ulong trdc_reg, u32 mrc_x, u32 dom_x, u32 addr_start,
                        continue;
 
                /* MRC0,1
-                *  Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it.
+                *  Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it.
                 *  So select MRCx_MEMN_GLBAC0
                 */
                if (sec_access) {
@@ -315,7 +315,7 @@ bool trdc_mbc_enabled(ulong trdc_base)
 int release_rdc(u8 xrdc)
 {
        ulong s_mu_base = 0x47520000UL;
-       struct sentinel_msg msg;
+       struct ele_msg msg;
        int ret;
        u32 rdc_id;
 
@@ -336,8 +336,8 @@ int release_rdc(u8 xrdc)
                return -EINVAL;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_RELEASE_RDC_REQ;
        msg.data[0] = (rdc_id << 8) | 0x2; /* A55 */
@@ -394,7 +394,7 @@ void trdc_init(void)
                /* DDR */
                trdc_mrc_set_control(0x49010000, 0, 0, 0x7777);
 
-               /* S400*/
+               /* ELE */
                trdc_mrc_region_config(0x49010000, 0, 0, 0x80000000, 0xFFFFFFFF, false, 0);
 
                /* MTR */
index a0dad5f..b7c6ff0 100644 (file)
@@ -19,7 +19,7 @@
 #include <asm/arch/ddr.h>
 #include <asm/arch/rdc.h>
 #include <asm/arch/upower.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -63,9 +63,9 @@ void display_ele_fw_version(void)
        u32 fw_version, sha1, res;
        int ret;
 
-       ret = ahab_get_fw_version(&fw_version, &sha1, &res);
+       ret = ele_get_fw_version(&fw_version, &sha1, &res);
        if (ret) {
-               printf("ahab get firmware version failed %d, 0x%x\n", ret, res);
+               printf("ele get firmware version failed %d, 0x%x\n", ret, res);
        } else {
                printf("ELE firmware version %u.%u.%u-%x",
                       (fw_version & (0x00ff0000)) >> 16,
@@ -120,9 +120,9 @@ void spl_board_init(void)
        set_lpav_qos();
 
        /* Enable A35 access to the CAAM */
-       ret = ahab_release_caam(0x7, &res);
+       ret = ele_release_caam(0x7, &res);
        if (ret)
-               printf("ahab release caam failed %d, 0x%x\n", ret, res);
+               printf("ele release caam failed %d, 0x%x\n", ret, res);
 }
 
 void board_init_f(ulong dummy)
index 352ad79..63883b3 100644 (file)
@@ -20,7 +20,6 @@
 #include <asm/mach-imx/mxc_i2c.h>
 #include <asm/arch-mx7ulp/gpio.h>
 #include <asm/mach-imx/syscounter.h>
-#include <asm/mach-imx/s400_api.h>
 #include <dm/uclass.h>
 #include <dm/device.h>
 #include <dm/uclass-internal.h>
index 04460f1..b9f5c7a 100644 (file)
@@ -364,8 +364,8 @@ config NPCM_OTP
          To compile this driver as a module, choose M here: the module
          will be called npcm_otp.
 
-config IMX_SENTINEL
-       bool "Enable i.MX Sentinel MU driver and API"
+config IMX_ELE
+       bool "Enable i.MX EdgeLock Enclave MU driver and API"
        depends on MISC && (ARCH_IMX9 || ARCH_IMX8ULP)
        help
          If you say Y here to enable Message Unit driver to work with
index 52aed09..fd8805f 100644 (file)
@@ -47,7 +47,7 @@ obj-$(CONFIG_SANDBOX) += irq_sandbox.o irq_sandbox_test.o
 obj-$(CONFIG_$(SPL_)I2C_EEPROM) += i2c_eeprom.o
 obj-$(CONFIG_IHS_FPGA) += ihs_fpga.o
 obj-$(CONFIG_IMX8) += imx8/
-obj-$(CONFIG_IMX_SENTINEL) += sentinel/
+obj-$(CONFIG_IMX_ELE) += imx_ele/
 obj-$(CONFIG_LED_STATUS) += status_led.o
 obj-$(CONFIG_LED_STATUS_GPIO) += gpio_led.o
 obj-$(CONFIG_MPC83XX_SERDES) += mpc83xx_serdes.o
similarity index 71%
rename from drivers/misc/sentinel/Makefile
rename to drivers/misc/imx_ele/Makefile
index 446154c..f8d8c55 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0+
 
-obj-y += s400_api.o s4mu.o
+obj-y += ele_api.o ele_mu.o
 obj-$(CONFIG_CMD_FUSE) += fuse.o
similarity index 63%
rename from drivers/misc/sentinel/s400_api.c
rename to drivers/misc/imx_ele/ele_api.c
index 6c0d0b3..5660571 100644 (file)
@@ -9,25 +9,25 @@
 #include <malloc.h>
 #include <asm/io.h>
 #include <dm.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <misc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int ahab_release_rdc(u8 core_id, u8 xrdc, u32 *response)
+int ele_release_rdc(u8 core_id, u8 xrdc, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_RELEASE_RDC_REQ;
        switch (xrdc) {
@@ -59,20 +59,20 @@ int ahab_release_rdc(u8 core_id, u8 xrdc, u32 *response)
        return ret;
 }
 
-int ahab_auth_oem_ctnr(ulong ctnr_addr, u32 *response)
+int ele_auth_oem_ctnr(ulong ctnr_addr, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 3;
        msg.command = ELE_OEM_CNTN_AUTH_REQ;
        msg.data[0] = upper_32_bits(ctnr_addr);
@@ -89,20 +89,20 @@ int ahab_auth_oem_ctnr(ulong ctnr_addr, u32 *response)
        return ret;
 }
 
-int ahab_release_container(u32 *response)
+int ele_release_container(u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 1;
        msg.command = ELE_RELEASE_CONTAINER_REQ;
 
@@ -117,20 +117,20 @@ int ahab_release_container(u32 *response)
        return ret;
 }
 
-int ahab_verify_image(u32 img_id, u32 *response)
+int ele_verify_image(u32 img_id, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_VERIFY_IMAGE_REQ;
        msg.data[0] = 1 << img_id;
@@ -146,20 +146,20 @@ int ahab_verify_image(u32 img_id, u32 *response)
        return ret;
 }
 
-int ahab_forward_lifecycle(u16 life_cycle, u32 *response)
+int ele_forward_lifecycle(u16 life_cycle, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_FWD_LIFECYCLE_UP_REQ;
        msg.data[0] = life_cycle;
@@ -175,15 +175,15 @@ int ahab_forward_lifecycle(u16 life_cycle, u32 *response)
        return ret;
 }
 
-int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response)
+int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
@@ -198,8 +198,8 @@ int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respo
                return -EINVAL;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_READ_FUSE_REQ;
        msg.data[0] = fuse_id;
@@ -223,20 +223,20 @@ int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respo
        return ret;
 }
 
-int ahab_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response)
+int ele_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 3;
        msg.command = ELE_WRITE_FUSE_REQ;
        msg.data[0] = (32 << 16) | (fuse_id << 5);
@@ -256,20 +256,20 @@ int ahab_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response)
        return ret;
 }
 
-int ahab_release_caam(u32 core_did, u32 *response)
+int ele_release_caam(u32 core_did, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 2;
        msg.command = ELE_RELEASE_CAAM_REQ;
        msg.data[0] = core_did;
@@ -285,15 +285,15 @@ int ahab_release_caam(u32 core_did, u32 *response)
        return ret;
 }
 
-int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response)
+int ele_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
@@ -307,8 +307,8 @@ int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response)
                return -EINVAL;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 1;
        msg.command = ELE_GET_FW_VERSION_REQ;
 
@@ -326,20 +326,20 @@ int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response)
        return ret;
 }
 
-int ahab_dump_buffer(u32 *buffer, u32 buffer_length)
+int ele_dump_buffer(u32 *buffer, u32 buffer_length)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret, i = 0;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 1;
        msg.command = ELE_DUMP_DEBUG_BUFFER_REQ;
 
@@ -360,25 +360,25 @@ int ahab_dump_buffer(u32 *buffer, u32 buffer_length)
        return i;
 }
 
-int ahab_get_info(struct sentinel_get_info_data *info, u32 *response)
+int ele_get_info(struct ele_get_info_data *info, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 4;
        msg.command = ELE_GET_INFO_REQ;
        msg.data[0] = upper_32_bits((ulong)info);
        msg.data[1] = lower_32_bits((ulong)info);
-       msg.data[2] = sizeof(struct sentinel_get_info_data);
+       msg.data[2] = sizeof(struct ele_get_info_data);
 
        ret = misc_call(dev, false, &msg, size, &msg, size);
        if (ret)
@@ -391,20 +391,20 @@ int ahab_get_info(struct sentinel_get_info_data *info, u32 *response)
        return ret;
 }
 
-int ahab_get_fw_status(u32 *status, u32 *response)
+int ele_get_fw_status(u32 *status, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 1;
        msg.command = ELE_GET_FW_STATUS_REQ;
 
@@ -421,20 +421,20 @@ int ahab_get_fw_status(u32 *status, u32 *response)
        return ret;
 }
 
-int ahab_release_m33_trout(void)
+int ele_release_m33_trout(void)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 1;
        msg.command = ELE_ENABLE_RTC_REQ;
 
@@ -446,16 +446,16 @@ int ahab_release_m33_trout(void)
        return ret;
 }
 
-int ahab_get_events(u32 *events, u32 *events_cnt, u32 *response)
+int ele_get_events(u32 *events, u32 *events_cnt, u32 *response)
 {
-       struct udevice *dev = gd->arch.s400_dev;
-       int size = sizeof(struct sentinel_msg);
-       struct sentinel_msg msg;
+       struct udevice *dev = gd->arch.ele_dev;
+       int size = sizeof(struct ele_msg);
+       struct ele_msg msg;
        int ret, i = 0;
        u32 actual_events;
 
        if (!dev) {
-               printf("s400 dev is not initialized\n");
+               printf("ele dev is not initialized\n");
                return -ENODEV;
        }
 
@@ -464,8 +464,8 @@ int ahab_get_events(u32 *events, u32 *events_cnt, u32 *response)
                return -EINVAL;
        }
 
-       msg.version = AHAB_VERSION;
-       msg.tag = AHAB_CMD_TAG;
+       msg.version = ELE_VERSION;
+       msg.tag = ELE_CMD_TAG;
        msg.size = 1;
        msg.command = ELE_GET_EVENTS_REQ;
 
similarity index 93%
rename from drivers/misc/sentinel/s4mu.c
rename to drivers/misc/imx_ele/ele_mu.c
index 794fc40..0d34b8c 100644 (file)
@@ -9,7 +9,7 @@
 #include <dm/lists.h>
 #include <dm/root.h>
 #include <dm/device-internal.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <asm/arch/imx-regs.h>
 #include <linux/iopoll.h>
 #include <misc.h>
@@ -85,7 +85,7 @@ int mu_hal_receivemsg(ulong base, u32 reg_index, u32 *msg)
 
 static int imx8ulp_mu_read(struct mu_type *base, void *data)
 {
-       struct sentinel_msg *msg = (struct sentinel_msg *)data;
+       struct ele_msg *msg = (struct ele_msg *)data;
        int ret;
        u8 count = 0;
 
@@ -99,7 +99,7 @@ static int imx8ulp_mu_read(struct mu_type *base, void *data)
        count++;
 
        /* Check size */
-       if (msg->size > S400_MAX_MSG) {
+       if (msg->size > ELE_MAX_MSG) {
                *((u32 *)msg) = 0;
                return -EINVAL;
        }
@@ -118,7 +118,7 @@ static int imx8ulp_mu_read(struct mu_type *base, void *data)
 
 static int imx8ulp_mu_write(struct mu_type *base, void *data)
 {
-       struct sentinel_msg *msg = (struct sentinel_msg *)data;
+       struct ele_msg *msg = (struct ele_msg *)data;
        int ret;
        u8 count = 0;
 
@@ -126,7 +126,7 @@ static int imx8ulp_mu_write(struct mu_type *base, void *data)
                return -EINVAL;
 
        /* Check size */
-       if (msg->size > S400_MAX_MSG)
+       if (msg->size > ELE_MAX_MSG)
                return -EINVAL;
 
        /* Write first word */
@@ -171,7 +171,7 @@ static int imx8ulp_mu_call(struct udevice *dev, int no_resp, void *tx_msg,
                        return ret;
        }
 
-       result = ((struct sentinel_msg *)rx_msg)->data[0];
+       result = ((struct ele_msg *)rx_msg)->data[0];
        if ((result & 0xff) == 0xd6)
                return 0;
 
@@ -196,7 +196,7 @@ static int imx8ulp_mu_probe(struct udevice *dev)
        /* U-Boot not enable interrupts, so need to enable RX interrupts */
        mu_hal_init((ulong)priv->base);
 
-       gd->arch.s400_dev = dev;
+       gd->arch.ele_dev = dev;
 
        return 0;
 }
similarity index 84%
rename from drivers/misc/sentinel/fuse.c
rename to drivers/misc/imx_ele/fuse.c
index 99342d3..4e4dcb4 100644 (file)
@@ -10,7 +10,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/imx-regs.h>
 #include <env.h>
-#include <asm/mach-imx/s400_api.h>
+#include <asm/mach-imx/ele_api.h>
 #include <asm/global_data.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -24,11 +24,11 @@ struct fsb_map_entry {
        bool redundancy;
 };
 
-struct s400_map_entry {
+struct ele_map_entry {
        s32 fuse_bank;
        u32 fuse_words;
        u32 fuse_offset;
-       u32 s400_index;
+       u32 ele_index;
 };
 
 #if defined(CONFIG_IMX8ULP)
@@ -65,7 +65,7 @@ u32 nonecc_fuse_banks[] = {
        0, 1, 8, 12, 16, 22, 24, 25, 26, 27, 36, 41, 51, 56
 };
 
-struct s400_map_entry s400_api_mapping_table[] = {
+struct ele_map_entry ele_api_mapping_table[] = {
        { 1, 8 },       /* LOCK */
        { 2, 8 },       /* ECID */
        { 7, 4, 0, 1 }, /* OTP_UNIQ_ID */
@@ -122,7 +122,7 @@ struct fsb_map_entry fsb_mapping_table[] = {
        { 63, 8 },
 };
 
-struct s400_map_entry s400_api_mapping_table[] = {
+struct ele_map_entry ele_api_mapping_table[] = {
        { 7, 1, 7, 63 },
        { 16, 8, },
        { 17, 8, },
@@ -159,18 +159,18 @@ static s32 map_fsb_fuse_index(u32 bank, u32 word, bool *redundancy)
        return word + word_pos;
 }
 
-static s32 map_s400_fuse_index(u32 bank, u32 word)
+static s32 map_ele_fuse_index(u32 bank, u32 word)
 {
-       s32 size = ARRAY_SIZE(s400_api_mapping_table);
+       s32 size = ARRAY_SIZE(ele_api_mapping_table);
        s32 i;
 
        /* map the fuse from ocotp fuse map to FSB*/
        for (i = 0; i < size; i++) {
-               if (s400_api_mapping_table[i].fuse_bank != -1 &&
-                   s400_api_mapping_table[i].fuse_bank == bank) {
-                       if (word >= s400_api_mapping_table[i].fuse_offset &&
-                           word < (s400_api_mapping_table[i].fuse_offset +
-                           s400_api_mapping_table[i].fuse_words))
+               if (ele_api_mapping_table[i].fuse_bank != -1 &&
+                   ele_api_mapping_table[i].fuse_bank == bank) {
+                       if (word >= ele_api_mapping_table[i].fuse_offset &&
+                           word < (ele_api_mapping_table[i].fuse_offset +
+                           ele_api_mapping_table[i].fuse_words))
                                break;
                }
        }
@@ -178,10 +178,10 @@ static s32 map_s400_fuse_index(u32 bank, u32 word)
        if (i == size)
                return -1; /* Failed to find */
 
-       if (s400_api_mapping_table[i].s400_index != 0)
-               return s400_api_mapping_table[i].s400_index;
+       if (ele_api_mapping_table[i].ele_index != 0)
+               return ele_api_mapping_table[i].ele_index;
 
-       return s400_api_mapping_table[i].fuse_bank * 8 + word;
+       return ele_api_mapping_table[i].fuse_bank * 8 + word;
 }
 
 #if defined(CONFIG_IMX8ULP)
@@ -202,7 +202,7 @@ int fuse_sense(u32 bank, u32 word, u32 *val)
                return 0;
        }
 
-       word_index = map_s400_fuse_index(bank, word);
+       word_index = map_ele_fuse_index(bank, word);
        if (word_index >= 0) {
                u32 data[4];
                u32 res, size = 4;
@@ -212,7 +212,7 @@ int fuse_sense(u32 bank, u32 word, u32 *val)
                if (word_index != 1)
                        size = 1;
 
-               ret = ahab_read_common_fuse(word_index, data, size, &res);
+               ret = ele_read_common_fuse(word_index, data, size, &res);
                if (ret) {
                        printf("ahab read fuse failed %d, 0x%x\n", ret, res);
                        return ret;
@@ -255,13 +255,13 @@ int fuse_sense(u32 bank, u32 word, u32 *val)
                return 0;
        }
 
-       word_index = map_s400_fuse_index(bank, word);
+       word_index = map_ele_fuse_index(bank, word);
        if (word_index >= 0) {
                u32 data;
                u32 res, size = 1;
                int ret;
 
-               ret = ahab_read_common_fuse(word_index, &data, size, &res);
+               ret = ele_read_common_fuse(word_index, &data, size, &res);
                if (ret) {
                        printf("ahab read fuse failed %d, 0x%x\n", ret, res);
                        return ret;
@@ -304,7 +304,7 @@ int fuse_prog(u32 bank, u32 word, u32 val)
                lock = true;
 #endif
 
-       ret = ahab_write_fuse((bank * 8 + word), val, lock, &res);
+       ret = ele_write_fuse((bank * 8 + word), val, lock, &res);
        if (ret) {
                printf("ahab write fuse failed %d, 0x%x\n", ret, res);
                return ret;