[PATCH v1 2/3] nvmem: imx-ocotp-ele: Add support for i.MX94 OCOTP

Alice Guo (OSS) posted 3 patches 1 week ago
[PATCH v1 2/3] nvmem: imx-ocotp-ele: Add support for i.MX94 OCOTP
Posted by Alice Guo (OSS) 1 week ago
From: Alice Guo <alice.guo@nxp.com>

Add OCOTP device type data for i.MX94 SoC, including register offset,
total size, and fuse bank layout. This enables NVMEM access to the
i.MX94's eFuse regions.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/nvmem/imx-ocotp-ele.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/nvmem/imx-ocotp-ele.c b/drivers/nvmem/imx-ocotp-ele.c
index 7807ec0e2d18..7cf7e809a8f5 100644
--- a/drivers/nvmem/imx-ocotp-ele.c
+++ b/drivers/nvmem/imx-ocotp-ele.c
@@ -186,6 +186,25 @@ static const struct ocotp_devtype_data imx93_ocotp_data = {
 	},
 };
 
+static const struct ocotp_devtype_data imx94_ocotp_data = {
+	.reg_off = 0x8000,
+	.reg_read = imx_ocotp_reg_read,
+	.size = 3296, /* 103 Banks */
+	.num_entry = 10,
+	.entry = {
+		{ 0, 1, FUSE_FSB | FUSE_ECC },
+		{ 7, 1, FUSE_FSB | FUSE_ECC },
+		{ 9, 3, FUSE_FSB | FUSE_ECC },
+		{ 12, 24, FUSE_FSB },
+		{ 36, 2, FUSE_FSB  | FUSE_ECC },
+		{ 38, 14, FUSE_FSB },
+		{ 59, 1, FUSE_ELE },
+		{ 525, 2, FUSE_FSB | FUSE_ECC },
+		{ 528, 7, FUSE_FSB },
+		{ 536, 280, FUSE_FSB },
+	},
+};
+
 static const struct ocotp_devtype_data imx95_ocotp_data = {
 	.reg_off = 0x8000,
 	.reg_read = imx_ocotp_reg_read,
@@ -209,6 +228,7 @@ static const struct ocotp_devtype_data imx95_ocotp_data = {
 
 static const struct of_device_id imx_ele_ocotp_dt_ids[] = {
 	{ .compatible = "fsl,imx93-ocotp", .data = &imx93_ocotp_data, },
+	{ .compatible = "fsl,imx94-ocotp", .data = &imx94_ocotp_data, },
 	{ .compatible = "fsl,imx95-ocotp", .data = &imx95_ocotp_data, },
 	{},
 };

-- 
2.43.0
Re: [PATCH v1 2/3] nvmem: imx-ocotp-ele: Add support for i.MX94 OCOTP
Posted by Frank Li 1 week ago
On Wed, Sep 24, 2025 at 06:06:24PM +0800, Alice Guo (OSS) wrote:
> From: Alice Guo <alice.guo@nxp.com>
>
> Add OCOTP device type data for i.MX94 SoC, including register offset,
> total size, and fuse bank layout. This enables NVMEM access to the
> i.MX94's eFuse regions.
>
> Signed-off-by: Alice Guo <alice.guo@nxp.com>
> Reviewed-by: Peng Fan <peng.fan@nxp.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  drivers/nvmem/imx-ocotp-ele.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/drivers/nvmem/imx-ocotp-ele.c b/drivers/nvmem/imx-ocotp-ele.c
> index 7807ec0e2d18..7cf7e809a8f5 100644
> --- a/drivers/nvmem/imx-ocotp-ele.c
> +++ b/drivers/nvmem/imx-ocotp-ele.c
> @@ -186,6 +186,25 @@ static const struct ocotp_devtype_data imx93_ocotp_data = {
>  	},
>  };
>
> +static const struct ocotp_devtype_data imx94_ocotp_data = {
> +	.reg_off = 0x8000,
> +	.reg_read = imx_ocotp_reg_read,
> +	.size = 3296, /* 103 Banks */
> +	.num_entry = 10,
> +	.entry = {
> +		{ 0, 1, FUSE_FSB | FUSE_ECC },
> +		{ 7, 1, FUSE_FSB | FUSE_ECC },
> +		{ 9, 3, FUSE_FSB | FUSE_ECC },
> +		{ 12, 24, FUSE_FSB },
> +		{ 36, 2, FUSE_FSB  | FUSE_ECC },
> +		{ 38, 14, FUSE_FSB },
> +		{ 59, 1, FUSE_ELE },
> +		{ 525, 2, FUSE_FSB | FUSE_ECC },
> +		{ 528, 7, FUSE_FSB },
> +		{ 536, 280, FUSE_FSB },
> +	},
> +};
> +
>  static const struct ocotp_devtype_data imx95_ocotp_data = {
>  	.reg_off = 0x8000,
>  	.reg_read = imx_ocotp_reg_read,
> @@ -209,6 +228,7 @@ static const struct ocotp_devtype_data imx95_ocotp_data = {
>
>  static const struct of_device_id imx_ele_ocotp_dt_ids[] = {
>  	{ .compatible = "fsl,imx93-ocotp", .data = &imx93_ocotp_data, },
> +	{ .compatible = "fsl,imx94-ocotp", .data = &imx94_ocotp_data, },
>  	{ .compatible = "fsl,imx95-ocotp", .data = &imx95_ocotp_data, },
>  	{},
>  };
>
> --
> 2.43.0
>