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

Rob Herring (Arm) robh at kernel.org
Thu Jan 30 15:38:04 PST 2025


On Thu, 30 Jan 2025 14:00:57 +0100, Alexander Stein wrote:
> 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 at 0/gpu at 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@nxp.com/
> 
> 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
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/freescale/' for 20250130130101.1040824-1-alexander.stein at ew.tq-group.com:

arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: dsi at 32e10000: access-controllers: [[20, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: dsi at 32e10000: access-controllers: [[20, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: dsi at 32e10000: access-controllers: [[16, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: dsi at 32e10000: access-controllers: [[16, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: dsi at 32e10000: access-controllers: [[19, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-evk.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr3l-evk.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-rve-gateway.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: dsi at 32e10000: access-controllers: [[16, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: dsi at 32e10000: access-controllers: [[16, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-dimonoff-gateway-evk.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: dsi at 32e10000: access-controllers: [[20, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: dsi at 32e10000: access-controllers: [[17, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: easrc at 300c0000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: efuse at 30350000: Unevaluated properties are not allowed ('#access-controller-cells' was unexpected)
	from schema $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: ethernet at 30be0000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: dsi at 32e10000: access-controllers: [[17, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: dsi at 32e10000: access-controllers: [[17, 5]] is not of type 'object'
	from schema $id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: mipi-csi at 32e30000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/media/nxp,imx-mipi-csi2.yaml#
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: usb at 32e40000: Unevaluated properties are not allowed ('access-controllers' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb: gpu at 38000000: 'access-controllers' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#








More information about the linux-arm-kernel mailing list