* [PATCH v2 1/3] dt-bindings: nvmem: imx-ocotp: Add support for i.MX94
2025-10-20 10:50 [PATCH v2 0/3] Add i.MX94 OCOTP support alice.guo
@ 2025-10-20 10:50 ` alice.guo
2025-10-20 10:50 ` [PATCH v2 2/3] nvmem: imx-ocotp-ele: Add i.MX94 OCOTP support alice.guo
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: alice.guo @ 2025-10-20 10:50 UTC (permalink / raw)
To: Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Alice Guo,
Conor Dooley
From: Alice Guo <alice.guo@nxp.com>
Add the compatible string "fsl,imx94-ocotp" to the imx-ocotp device tree
binding documentation to support the i.MX94.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
Documentation/devicetree/bindings/nvmem/imx-ocotp.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/nvmem/imx-ocotp.yaml b/Documentation/devicetree/bindings/nvmem/imx-ocotp.yaml
index b2cb76cf9053..a8076d0e2737 100644
--- a/Documentation/devicetree/bindings/nvmem/imx-ocotp.yaml
+++ b/Documentation/devicetree/bindings/nvmem/imx-ocotp.yaml
@@ -14,7 +14,8 @@ maintainers:
description: |
This binding represents the on-chip eFuse OTP controller found on
i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX, i.MX6UL, i.MX6ULL/ULZ, i.MX6SLL,
- i.MX7D/S, i.MX7ULP, i.MX8MQ, i.MX8MM, i.MX8MN i.MX8MP and i.MX93/5 SoCs.
+ i.MX7D/S, i.MX7ULP, i.MX8MQ, i.MX8MM, i.MX8MN i.MX8MP, i.MX93, i.MX94,
+ and i.MX95.
allOf:
- $ref: nvmem.yaml#
@@ -36,6 +37,7 @@ properties:
- fsl,imx8mq-ocotp
- fsl,imx8mm-ocotp
- fsl,imx93-ocotp
+ - fsl,imx94-ocotp
- fsl,imx95-ocotp
- const: syscon
- items:
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/3] nvmem: imx-ocotp-ele: Add i.MX94 OCOTP support
2025-10-20 10:50 [PATCH v2 0/3] Add i.MX94 OCOTP support alice.guo
2025-10-20 10:50 ` [PATCH v2 1/3] dt-bindings: nvmem: imx-ocotp: Add support for i.MX94 alice.guo
@ 2025-10-20 10:50 ` alice.guo
2025-10-20 10:50 ` [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node alice.guo
2025-11-10 7:53 ` (subset) [PATCH v2 0/3] Add i.MX94 OCOTP support Srinivas Kandagatla
3 siblings, 0 replies; 6+ messages in thread
From: alice.guo @ 2025-10-20 10:50 UTC (permalink / raw)
To: Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Alice Guo,
Peng Fan, Frank Li
From: Alice Guo <alice.guo@nxp.com>
Add OCOTP device type for i.MX94, including register offset, total size,
and fuse layout. This enables NVMEM access to the eFuse of i.MX94.
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
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node
2025-10-20 10:50 [PATCH v2 0/3] Add i.MX94 OCOTP support alice.guo
2025-10-20 10:50 ` [PATCH v2 1/3] dt-bindings: nvmem: imx-ocotp: Add support for i.MX94 alice.guo
2025-10-20 10:50 ` [PATCH v2 2/3] nvmem: imx-ocotp-ele: Add i.MX94 OCOTP support alice.guo
@ 2025-10-20 10:50 ` alice.guo
2025-10-21 15:51 ` Frank Li
2025-11-10 7:53 ` (subset) [PATCH v2 0/3] Add i.MX94 OCOTP support Srinivas Kandagatla
3 siblings, 1 reply; 6+ messages in thread
From: alice.guo @ 2025-10-20 10:50 UTC (permalink / raw)
To: Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Alice Guo
From: Alice Guo <alice.guo@nxp.com>
Add OCOTP node to the i.MX94 device tree. This enables support for
accessing eFuse on i.MX94 SoCs via the NVMEM subsystem.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
---
arch/arm64/boot/dts/freescale/imx94.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx94.dtsi b/arch/arm64/boot/dts/freescale/imx94.dtsi
index d4a880496b0e..8728b3aa15a7 100644
--- a/arch/arm64/boot/dts/freescale/imx94.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx94.dtsi
@@ -1173,6 +1173,13 @@ a55_irqsteer: interrupt-controller@446a0000 {
};
};
+ ocotp: efuse@47510000 {
+ compatible = "fsl,imx94-ocotp", "syscon";
+ reg = <0x0 0x47510000 0x0 0x10000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
aips4: bus@49000000 {
compatible = "fsl,aips-bus", "simple-bus";
reg = <0x0 0x49000000 0x0 0x800000>;
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node
2025-10-20 10:50 ` [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node alice.guo
@ 2025-10-21 15:51 ` Frank Li
0 siblings, 0 replies; 6+ messages in thread
From: Frank Li @ 2025-10-21 15:51 UTC (permalink / raw)
To: alice.guo
Cc: Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, devicetree, imx, linux-arm-kernel, linux-kernel,
Alice Guo
On Mon, Oct 20, 2025 at 06:50:44PM +0800, alice.guo@oss.nxp.com wrote:
> From: Alice Guo <alice.guo@nxp.com>
>
> Add OCOTP node to the i.MX94 device tree. This enables support for
> accessing eFuse on i.MX94 SoCs via the NVMEM subsystem.
>
> Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
> ---
> arch/arm64/boot/dts/freescale/imx94.dtsi | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx94.dtsi b/arch/arm64/boot/dts/freescale/imx94.dtsi
> index d4a880496b0e..8728b3aa15a7 100644
> --- a/arch/arm64/boot/dts/freescale/imx94.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx94.dtsi
> @@ -1173,6 +1173,13 @@ a55_irqsteer: interrupt-controller@446a0000 {
> };
> };
>
> + ocotp: efuse@47510000 {
> + compatible = "fsl,imx94-ocotp", "syscon";
> + reg = <0x0 0x47510000 0x0 0x10000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + };
> +
> aips4: bus@49000000 {
> compatible = "fsl,aips-bus", "simple-bus";
> reg = <0x0 0x49000000 0x0 0x800000>;
>
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: (subset) [PATCH v2 0/3] Add i.MX94 OCOTP support
2025-10-20 10:50 [PATCH v2 0/3] Add i.MX94 OCOTP support alice.guo
` (2 preceding siblings ...)
2025-10-20 10:50 ` [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node alice.guo
@ 2025-11-10 7:53 ` Srinivas Kandagatla
3 siblings, 0 replies; 6+ messages in thread
From: Srinivas Kandagatla @ 2025-11-10 7:53 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, alice.guo
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Alice Guo,
Conor Dooley, Peng Fan, Frank Li
On Mon, 20 Oct 2025 18:50:41 +0800, alice.guo@oss.nxp.com wrote:
> This patch series adds support for the OCOTP controller on the i.MX94
> SoC. The OCOTP controller provides access to eFuse regions.
>
> Tested on an i.MX943 EVK board with successful NVMEM read access via
> sysfs.
>
> Changes for v2:
> - improved commit messages for each patch
> - added Acked-by and Reviewed-by tags from reviewers
> - updated the efuse@47510000 node
>
> [...]
Applied, thanks!
[1/3] dt-bindings: nvmem: imx-ocotp: Add support for i.MX94
commit: 294e0add7bb8eca991f7e8d064c71acfffd10462
[2/3] nvmem: imx-ocotp-ele: Add i.MX94 OCOTP support
commit: 9e8d7c3115f4eceaae2d5282518be78bcb7ca188
Best regards,
--
Srinivas Kandagatla <srini@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread