Mark ocotp as a access-controller and add references on peripherals which can be disabled (fused). Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> --- arch/arm64/boot/dts/freescale/imx8mp.dtsi | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 66f7988271493..ee1cdfb660cf3 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -12,6 +12,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/thermal/thermal.h> +#include "imx8mp-ocotp.h" #include "imx8mp-pinfunc.h" / { @@ -670,6 +671,7 @@ ocotp: efuse@30350000 { /* For nvmem subnodes */ #address-cells = <1>; #size-cells = <1>; + #access-controller-cells = <2>; /* * The register address below maps to the MX8M @@ -1137,6 +1139,7 @@ flexcan1: can@308c0000 { assigned-clock-rates = <40000000>; fsl,clk-source = /bits/ 8 <0>; fsl,stop-mode = <&gpr 0x10 4>; + access-controllers = <&ocotp IMX8MP_OCOTP_CAN_DISABLE>; status = "disabled"; }; @@ -1152,6 +1155,7 @@ flexcan2: can@308d0000 { assigned-clock-rates = <40000000>; fsl,clk-source = /bits/ 8 <0>; fsl,stop-mode = <&gpr 0x10 5>; + access-controllers = <&ocotp IMX8MP_OCOTP_CAN_DISABLE>; status = "disabled"; }; }; @@ -1371,6 +1375,7 @@ fec: ethernet@30be0000 { nvmem-cells = <ð_mac1>; nvmem-cell-names = "mac-address"; fsl,stop-mode = <&gpr 0x10 3>; + access-controllers = <&ocotp IMX8MP_OCOTP_ENET1_DISABLE>; status = "disabled"; }; @@ -1395,6 +1400,7 @@ eqos: ethernet@30bf0000 { nvmem-cells = <ð_mac2>; nvmem-cell-names = "mac-address"; intf_mode = <&gpr 0x4>; + access-controllers = <&ocotp IMX8MP_OCOTP_ENET2_DISABLE>; status = "disabled"; }; }; @@ -1526,6 +1532,7 @@ easrc: easrc@30c90000 { firmware-name = "imx/easrc/easrc-imx8mn.bin"; fsl,asrc-rate = <8000>; fsl,asrc-format = <2>; + access-controllers = <&ocotp IMX8MP_OCOTP_ASRC_DISABLE>; status = "disabled"; }; @@ -1582,6 +1589,7 @@ xcvr: xcvr@30cc0000 { dmas = <&sdma2 30 2 0>, <&sdma2 31 2 0>; dma-names = "rx", "tx"; resets = <&audio_blk_ctrl 0>; + status = "disabled"; }; }; @@ -1701,6 +1709,7 @@ isp_0: isp@32e10000 { clock-names = "isp", "aclk", "hclk"; power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISP>; fsl,blk-ctrl = <&media_blk_ctrl 0>; + access-controllers = <&ocotp IMX8MP_OCOTP_IMG_ISP1_DISABLE>; status = "disabled"; ports { @@ -1723,6 +1732,7 @@ isp_1: isp@32e20000 { clock-names = "isp", "aclk", "hclk"; power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISP>; fsl,blk-ctrl = <&media_blk_ctrl 1>; + access-controllers = <&ocotp IMX8MP_OCOTP_IMG_ISP2_DISABLE>; status = "disabled"; ports { @@ -1743,6 +1753,7 @@ dewarp: dwe@32e30000 { <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; clock-names = "axi", "ahb"; power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_DWE>; + access-controllers = <&ocotp IMX8MP_OCOTP_IMG_DEWARP_DISABLE>; }; mipi_csi_0: csi@32e40000 { @@ -1760,6 +1771,7 @@ mipi_csi_0: csi@32e40000 { assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_250M>, <&clk IMX8MP_CLK_24M>; power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_1>; + access-controllers = <&ocotp IMX8MP_OCOTP_MIPI_CSI1_DISABLE>; status = "disabled"; ports { @@ -1795,6 +1807,7 @@ mipi_csi_1: csi@32e50000 { assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_250M>, <&clk IMX8MP_CLK_24M>; power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_2>; + access-controllers = <&ocotp IMX8MP_OCOTP_MIPI_CSI2_DISABLE>; status = "disabled"; ports { @@ -1829,6 +1842,7 @@ mipi_dsi: dsi@32e60000 { samsung,pll-clock-frequency = <24000000>; interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_DSI_1>; + access-controllers = <&ocotp IMX8MP_OCOTP_MIPI_DSI1_DISABLE>; status = "disabled"; ports { @@ -1976,6 +1990,7 @@ ldb_from_lcdif2: endpoint { }; port@1 { + access-controllers = <&ocotp IMX8MP_OCOTP_LVDS1_DISABLE>; reg = <1>; ldb_lvds_ch0: endpoint { @@ -1983,6 +1998,7 @@ ldb_lvds_ch0: endpoint { }; port@2 { + access-controllers = <&ocotp IMX8MP_OCOTP_LVDS2_DISABLE>; reg = <2>; ldb_lvds_ch1: endpoint { @@ -2198,6 +2214,7 @@ pcie: pcie@33800000 { reset-names = "apps", "turnoff"; phys = <&pcie_phy>; phy-names = "pcie-phy"; + access-controllers = <&ocotp IMX8MP_OCOTP_PCIE1_DISABLE>; status = "disabled"; }; @@ -2227,6 +2244,7 @@ pcie_ep: pcie-ep@33800000 { phy-names = "pcie-phy"; num-ib-windows = <4>; num-ob-windows = <4>; + access-controllers = <&ocotp IMX8MP_OCOTP_PCIE1_DISABLE>; status = "disabled"; }; @@ -2245,6 +2263,7 @@ gpu3d: gpu@38000000 { <&clk IMX8MP_SYS_PLL1_800M>; assigned-clock-rates = <800000000>, <800000000>; power-domains = <&pgc_gpu3d>; + access-controllers = <&ocotp IMX8MP_OCOTP_GPU3_DISABLE>; }; gpu2d: gpu@38008000 { @@ -2259,6 +2278,7 @@ gpu2d: gpu@38008000 { assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; assigned-clock-rates = <800000000>; power-domains = <&pgc_gpu2d>; + access-controllers = <&ocotp IMX8MP_OCOTP_GPU2_DISABLE>; }; vpu_g1: video-codec@38300000 { @@ -2270,6 +2290,7 @@ vpu_g1: video-codec@38300000 { assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>; assigned-clock-rates = <600000000>; power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G1>; + access-controllers = <&ocotp IMX8MP_OCOTP_VPU_G1_DISABLE>; }; vpu_g2: video-codec@38310000 { @@ -2281,6 +2302,7 @@ vpu_g2: video-codec@38310000 { assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>; assigned-clock-rates = <500000000>; power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G2>; + access-controllers = <&ocotp IMX8MP_OCOTP_VPU_G2_DISABLE>; }; vpumix_blk_ctrl: blk-ctrl@38330000 { @@ -2313,6 +2335,7 @@ npu: npu@38500000 { <&clk IMX8MP_CLK_ML_AHB>; clock-names = "core", "shader", "bus", "reg"; power-domains = <&pgc_mlmix>; + access-controllers = <&ocotp IMX8MP_OCOTP_NPU_DISABLE>; }; gic: interrupt-controller@38800000 { @@ -2362,6 +2385,7 @@ usb3_0: usb@32f10100 { #size-cells = <1>; dma-ranges = <0x40000000 0x40000000 0xc0000000>; ranges; + access-controllers = <&ocotp IMX8MP_OCOTP_USB1_DISABLE>; status = "disabled"; usb_dwc3_0: usb@38100000 { @@ -2405,6 +2429,7 @@ usb3_1: usb@32f10108 { #size-cells = <1>; dma-ranges = <0x40000000 0x40000000 0xc0000000>; ranges; + access-controllers = <&ocotp IMX8MP_OCOTP_USB2_DISABLE>; status = "disabled"; usb_dwc3_1: usb@38200000 { @@ -2430,6 +2455,7 @@ dsp: dsp@3b6e8000 { mboxes = <&mu2 2 0>, <&mu2 2 1>, <&mu2 3 0>, <&mu2 3 1>; memory-region = <&dsp_reserved>; + access-controllers = <&ocotp IMX8MP_OCOTP_AUDIO_PROCESSOR_DISABLE>; status = "disabled"; }; }; -- 2.34.1