* [PATCH v2 0/3] Add i.MX94 OCOTP support
@ 2025-10-20 10:50 alice.guo
2025-10-20 10:50 ` [PATCH v2 1/3] dt-bindings: nvmem: imx-ocotp: Add support for i.MX94 alice.guo
` (2 more replies)
0 siblings, 3 replies; 5+ 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, Peng Fan, Frank Li
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
Signed-off-by: Alice Guo <alice.guo@nxp.com>
---
Alice Guo (3):
dt-bindings: nvmem: imx-ocotp: Add support for i.MX94
nvmem: imx-ocotp-ele: Add i.MX94 OCOTP support
arm64: dts: imx94: Add OCOTP node
.../devicetree/bindings/nvmem/imx-ocotp.yaml | 4 +++-
arch/arm64/boot/dts/freescale/imx94.dtsi | 7 +++++++
drivers/nvmem/imx-ocotp-ele.c | 20 ++++++++++++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
---
base-commit: 211ddde0823f1442e4ad052a2f30f050145ccada
change-id: 20251020-imx94-80cfea8aa71b
Best regards,
--
Alice Guo <alice.guo@nxp.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [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
2025-10-20 10:50 ` [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node alice.guo
2 siblings, 0 replies; 5+ 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] 5+ 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
2 siblings, 0 replies; 5+ 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] 5+ 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
2 siblings, 1 reply; 5+ 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] 5+ 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; 5+ 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] 5+ messages in thread
end of thread, other threads:[~2025-10-21 15:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH v2 3/3] arm64: dts: imx94: Add OCOTP node alice.guo
2025-10-21 15:51 ` Frank Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).