[PATCH 0/4] Make i.MX8M Nano OCOTP work as accessing controller

From: Alexander Stein
Date: Thu Jan 30 2025 - 08:01:24 EST


Hi,

inspired by [1] this adds the accessing controller feature to i.MX8M Nano.
The OCOTP eFuse has bits which can disable particular peripherals, such as
GPU, MIPI-DSI oder USB.

In OCOTP driver, the nodes under "/" will be iterated, and checked
if property "#access-controllers" exsits. If not allow access, detach
the node.

I successfully used this on a i.MX8M Nano DualLite which has GPU disabled.
Without this patchset the default DT completly freezes the SoC if GPU
is accessed.
Using this patchset the GPU is disabled without any DT modification from
bootloader:
> imx_ocotp 30350000.efuse: /soc@0/gpu@38000000: disabled by fuse, device driver will not be probed

Adding the other i.MX8M SoCs is straight forward.

Best regards,
Alexander

[1] https://lore.kernel.org/all/20250121-imx-ocotp-v6-0-76dab40e13db@xxxxxxx/

Alexander Stein (4):
dt-bindings: nvmem: imx-ocotp: Add i.MX8M Nano access controller
definitions
nvmem: imx-ocotp: Sort header alphabetically
nvmem: imx-ocotp: Support accessing controller for i.MX8M Nano
arm64: dts: imx8mn: Add access-controller references

arch/arm64/boot/dts/freescale/imx8mn.dtsi | 8 ++
drivers/nvmem/Kconfig | 3 +
drivers/nvmem/imx-ocotp.c | 107 ++++++++++++++++++-
include/dt-bindings/nvmem/fsl,imx8mn-ocotp.h | 16 +++
4 files changed, 132 insertions(+), 2 deletions(-)
create mode 100644 include/dt-bindings/nvmem/fsl,imx8mn-ocotp.h

--
2.34.1