drivers: nvmem: imx: ports ocotp driver to updated se kernel driver.

ports ocotp driver to updated se kernel driver.

Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
This commit is contained in:
Pankaj Gupta 2025-04-22 03:09:42 +05:30 committed by Jason Liu
parent 1cb1ded9c9
commit be13b6c87d

View File

@ -6,8 +6,7 @@
#include <linux/of_address.h>
#include <linux/dev_printk.h>
#include <linux/errno.h>
#include <linux/firmware/imx/ele_base_msg.h>
#include <linux/firmware/imx/se_fw_inc.h>
#include <linux/firmware/imx/se_api.h>
#include <linux/io.h>
#include <linux/etherdevice.h>
#include <linux/kernel.h>
@ -41,7 +40,8 @@ struct bank_2_reg {
struct imx_fsb_s400_hw {
enum soc_type soc;
unsigned int fsb_otp_shadow;
const uint8_t se_pdev_name[20];
const u16 se_soc;
const u8 se_if_idx;
const struct bank_2_reg fsb_bank_reg[MAPPING_SIZE];
bool oscca_fuse_read;
bool reverse_mac_address;
@ -66,7 +66,7 @@ static int read_words_via_s400_api(u32 *buf, unsigned int fuse_base,
int err = 0;
for (i = 0; i < num; i++)
err = read_common_fuse(se_dev, fuse_base + i, buf + i);
err = imx_se_read_fuse(se_dev, fuse_base + i, buf + i);
return err;
}
@ -145,14 +145,14 @@ static int fsb_s400_fuse_read(void *priv, unsigned int offset, void *val,
goto ret;
break;
case UNIQ_ID:
err = read_common_fuse(fuse->se_dev,
err = imx_se_read_fuse(fuse->se_dev,
OTP_UNIQ_ID,
&buf[56]);
if (err)
goto ret;
break;
case OTFAD_CFG:
err = read_common_fuse(fuse->se_dev,
err = imx_se_read_fuse(fuse->se_dev,
OTFAD_CONFIG, &buf[184]);
if (err)
goto ret;
@ -312,7 +312,7 @@ static int fsb_s400_fuse_write(void *priv, unsigned int offset, void *val, size_
index = offset / 4;
mutex_lock(&fuse->lock);
ret = ele_write_fuse(fuse->se_dev, index, *buf, false);
ret = imx_se_write_fuse(fuse->se_dev, index, *buf, false);
mutex_unlock(&fuse->lock);
return ret;
@ -394,7 +394,7 @@ static int imx_fsb_s400_fuse_probe(struct platform_device *pdev)
return PTR_ERR(nvmem);
}
fuse->se_dev = get_se_dev(fuse->hw->se_pdev_name);
fuse->se_dev = imx_get_se_data_info(fuse->hw->se_soc, fuse->hw->se_if_idx);
if (IS_ERR_OR_NULL(fuse->se_dev)) {
dev_err(&pdev->dev, "failed to get the se-fw2 device\n");
return -EPROBE_DEFER;
@ -438,7 +438,8 @@ static const struct imx_fsb_s400_hw imx8ulp_fsb_s400_hw = {
.reverse_mac_address = false,
.increase_mac_address = false,
.pf_mac_offset_list = NULL,
.se_pdev_name = "se-fw2",
.se_soc = SOC_ID_OF_IMX8ULP,
.se_if_idx = 0,
};
static const struct imx_fsb_s400_hw imx93_fsb_s400_hw = {
@ -448,7 +449,8 @@ static const struct imx_fsb_s400_hw imx93_fsb_s400_hw = {
.reverse_mac_address = true,
.increase_mac_address = false,
.pf_mac_offset_list = NULL,
.se_pdev_name = "se-fw2",
.se_soc = SOC_ID_OF_IMX93,
.se_if_idx = 0,
};
static const struct imx_fsb_s400_hw imx95_fsb_s400_hw = {
@ -458,7 +460,8 @@ static const struct imx_fsb_s400_hw imx95_fsb_s400_hw = {
.reverse_mac_address = false,
.increase_mac_address = true,
.pf_mac_offset_list = imx95_pf_mac_offset_list,
.se_pdev_name = "se-fw2",
.se_soc = SOC_ID_OF_IMX95,
.se_if_idx = 0,
};
static const struct of_device_id imx_fsb_s400_fuse_match[] = {