1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/mfd/syscon. 4 $id: http://devicetree.org/schemas/mfd/syscon.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: System Controller Devices !! 7 title: System Controller Registers R/W 8 8 9 description: | 9 description: | 10 System controller node represents a register 10 System controller node represents a register region containing a set 11 of miscellaneous registers. The registers ar 11 of miscellaneous registers. The registers are not cohesive enough to 12 represent as any specific type of device. Th 12 represent as any specific type of device. The typical use-case is 13 for some other node's driver, or platform-sp 13 for some other node's driver, or platform-specific code, to acquire 14 a reference to the syscon node (e.g. by phan 14 a reference to the syscon node (e.g. by phandle, node path, or 15 search using a specific compatible value), i 15 search using a specific compatible value), interrogate the node (or 16 associated OS driver) to determine the locat 16 associated OS driver) to determine the location of the registers, 17 and access the registers directly. 17 and access the registers directly. 18 18 19 maintainers: 19 maintainers: 20 - Lee Jones <lee@kernel.org> 20 - Lee Jones <lee@kernel.org> 21 21 22 # Need a select with all compatibles listed fo << 23 # dtschema (<2024.02), so this will not be sel << 24 # syscon fallback. << 25 select: 22 select: 26 properties: 23 properties: 27 compatible: 24 compatible: 28 contains: 25 contains: 29 enum: 26 enum: 30 - al,alpine-sysfabric-servic !! 27 - syscon 31 - allwinner,sun8i-a83t-system-contro !! 28 32 - allwinner,sun8i-h3-system-controll << 33 - allwinner,sun8i-v3s-system-control << 34 - allwinner,sun50i-a64-system-contro << 35 - altr,l3regs << 36 - altr,sdr-ctl << 37 - amd,pensando-elba-syscon << 38 - amlogic,meson-mx-assist << 39 - amlogic,meson-mx-bootrom << 40 - amlogic,meson8-analog-top << 41 - amlogic,meson8b-analog-top << 42 - amlogic,meson8-pmu << 43 - amlogic,meson8b-pmu << 44 - apm,merlin-poweroff-mailbox << 45 - apm,mustang-poweroff-mailbox << 46 - apm,xgene-csw << 47 - apm,xgene-efuse << 48 - apm,xgene-mcb << 49 - apm,xgene-rb << 50 - apm,xgene-scu << 51 - atmel,sama5d2-sfrbu << 52 - atmel,sama5d3-nfc-io << 53 - atmel,sama5d3-sfrbu << 54 - atmel,sama5d4-sfrbu << 55 - axis,artpec6-syscon << 56 - brcm,cru-clkset << 57 - brcm,sr-cdru << 58 - brcm,sr-mhb << 59 - cirrus,ep7209-syscon1 << 60 - cirrus,ep7209-syscon2 << 61 - cirrus,ep7209-syscon3 << 62 - cnxt,cx92755-uc << 63 - freecom,fsg-cs2-system-controller << 64 - fsl,imx93-aonmix-ns-syscfg << 65 - fsl,imx93-wakeupmix-syscfg << 66 - fsl,ls1088a-reset << 67 - fsl,vf610-anatop << 68 - fsl,vf610-mscm-cpucfg << 69 - hisilicon,dsa-subctrl << 70 - hisilicon,hi6220-sramctrl << 71 - hisilicon,hip04-ppe << 72 - hisilicon,pcie-sas-subctrl << 73 - hisilicon,peri-subctrl << 74 - hpe,gxp-sysreg << 75 - loongson,ls1b-syscon << 76 - loongson,ls1c-syscon << 77 - lsi,axxia-syscon << 78 - marvell,armada-3700-cpu-misc << 79 - marvell,armada-3700-nb-pm << 80 - marvell,armada-3700-avs << 81 - marvell,armada-3700-usb2-host-misc << 82 - marvell,dove-global-config << 83 - mediatek,mt2701-pctl-a-syscfg << 84 - mediatek,mt2712-pctl-a-syscfg << 85 - mediatek,mt6397-pctl-pmic-syscfg << 86 - mediatek,mt8135-pctl-a-syscfg << 87 - mediatek,mt8135-pctl-b-syscfg << 88 - mediatek,mt8173-pctl-a-syscfg << 89 - mediatek,mt8365-syscfg << 90 - microchip,lan966x-cpu-syscon << 91 - microchip,sam9x60-sfr << 92 - microchip,sama7g5-ddr3phy << 93 - mscc,ocelot-cpu-syscon << 94 - mstar,msc313-pmsleep << 95 - nuvoton,ma35d1-sys << 96 - nuvoton,wpcm450-shm << 97 - rockchip,px30-qos << 98 - rockchip,rk3036-qos << 99 - rockchip,rk3066-qos << 100 - rockchip,rk3128-qos << 101 - rockchip,rk3228-qos << 102 - rockchip,rk3288-qos << 103 - rockchip,rk3368-qos << 104 - rockchip,rk3399-qos << 105 - rockchip,rk3568-qos << 106 - rockchip,rk3576-qos << 107 - rockchip,rk3588-qos << 108 - rockchip,rv1126-qos << 109 - st,spear1340-misc << 110 - stericsson,nomadik-pmu << 111 - starfive,jh7100-sysmain << 112 - ti,am62-opp-efuse-table << 113 - ti,am62-usb-phy-ctrl << 114 - ti,am625-dss-oldi-io-ctrl << 115 - ti,am62p-cpsw-mac-efuse << 116 - ti,am654-dss-oldi-io-ctrl << 117 - ti,j784s4-acspcie-proxy-ctrl << 118 - ti,j784s4-pcie-ctrl << 119 - ti,keystone-pllctrl << 120 required: 29 required: 121 - compatible 30 - compatible 122 31 123 properties: 32 properties: 124 compatible: 33 compatible: 125 items: !! 34 anyOf: 126 - enum: !! 35 - items: 127 - al,alpine-sysfabric-service !! 36 - enum: 128 - allwinner,sun8i-a83t-system-contro !! 37 - allwinner,sun8i-a83t-system-controller 129 - allwinner,sun8i-h3-system-controll !! 38 - allwinner,sun8i-h3-system-controller 130 - allwinner,sun8i-v3s-system-control !! 39 - allwinner,sun8i-v3s-system-controller 131 - allwinner,sun50i-a64-system-contro !! 40 - allwinner,sun50i-a64-system-controller 132 - altr,l3regs !! 41 - amd,pensando-elba-syscon 133 - altr,sdr-ctl !! 42 - brcm,cru-clkset 134 - amd,pensando-elba-syscon !! 43 - freecom,fsg-cs2-system-controller 135 - amlogic,meson-mx-assist !! 44 - fsl,imx93-aonmix-ns-syscfg 136 - amlogic,meson-mx-bootrom !! 45 - fsl,imx93-wakeupmix-syscfg 137 - amlogic,meson8-analog-top !! 46 - hisilicon,dsa-subctrl 138 - amlogic,meson8b-analog-top !! 47 - hisilicon,hi6220-sramctrl 139 - amlogic,meson8-pmu !! 48 - hisilicon,pcie-sas-subctrl 140 - amlogic,meson8b-pmu !! 49 - hisilicon,peri-subctrl 141 - apm,merlin-poweroff-mailbox !! 50 - hpe,gxp-sysreg 142 - apm,mustang-poweroff-mailbox !! 51 - intel,lgm-syscon 143 - apm,xgene-csw !! 52 - marvell,armada-3700-usb2-host-misc 144 - apm,xgene-efuse !! 53 - mediatek,mt8135-pctl-a-syscfg 145 - apm,xgene-mcb !! 54 - mediatek,mt8135-pctl-b-syscfg 146 - apm,xgene-rb !! 55 - mediatek,mt8365-syscfg 147 - apm,xgene-scu !! 56 - microchip,lan966x-cpu-syscon 148 - atmel,sama5d2-sfrbu !! 57 - microchip,sparx5-cpu-syscon 149 - atmel,sama5d3-nfc-io !! 58 - mstar,msc313-pmsleep 150 - atmel,sama5d3-sfrbu !! 59 - nuvoton,ma35d1-sys 151 - atmel,sama5d4-sfrbu !! 60 - nuvoton,wpcm450-shm 152 - axis,artpec6-syscon !! 61 - rockchip,px30-qos 153 - brcm,cru-clkset !! 62 - rockchip,rk3036-qos 154 - brcm,sr-cdru !! 63 - rockchip,rk3066-qos 155 - brcm,sr-mhb !! 64 - rockchip,rk3228-qos 156 - cirrus,ep7209-syscon1 !! 65 - rockchip,rk3288-qos 157 - cirrus,ep7209-syscon2 !! 66 - rockchip,rk3368-qos 158 - cirrus,ep7209-syscon3 !! 67 - rockchip,rk3399-qos 159 - cnxt,cx92755-uc !! 68 - rockchip,rk3568-qos 160 - freecom,fsg-cs2-system-controller !! 69 - rockchip,rk3588-qos 161 - fsl,imx93-aonmix-ns-syscfg !! 70 - rockchip,rv1126-qos 162 - fsl,imx93-wakeupmix-syscfg !! 71 - starfive,jh7100-sysmain 163 - fsl,ls1088a-reset !! 72 164 - fsl,vf610-anatop !! 73 - const: syscon 165 - fsl,vf610-mscm-cpucfg !! 74 166 - hisilicon,dsa-subctrl !! 75 - contains: 167 - hisilicon,hi6220-sramctrl !! 76 const: syscon 168 - hisilicon,hip04-ppe !! 77 minItems: 2 169 - hisilicon,pcie-sas-subctrl !! 78 maxItems: 5 # Should be enough 170 - hisilicon,peri-subctrl << 171 - hpe,gxp-sysreg << 172 - loongson,ls1b-syscon << 173 - loongson,ls1c-syscon << 174 - lsi,axxia-syscon << 175 - marvell,armada-3700-cpu-misc << 176 - marvell,armada-3700-nb-pm << 177 - marvell,armada-3700-avs << 178 - marvell,armada-3700-usb2-host-misc << 179 - marvell,dove-global-config << 180 - mediatek,mt2701-pctl-a-syscfg << 181 - mediatek,mt2712-pctl-a-syscfg << 182 - mediatek,mt6397-pctl-pmic-syscfg << 183 - mediatek,mt8135-pctl-a-syscfg << 184 - mediatek,mt8135-pctl-b-syscfg << 185 - mediatek,mt8173-pctl-a-syscfg << 186 - mediatek,mt8365-syscfg << 187 - microchip,lan966x-cpu-syscon << 188 - microchip,sam9x60-sfr << 189 - microchip,sama7g5-ddr3phy << 190 - mscc,ocelot-cpu-syscon << 191 - mstar,msc313-pmsleep << 192 - nuvoton,ma35d1-sys << 193 - nuvoton,wpcm450-shm << 194 - rockchip,px30-qos << 195 - rockchip,rk3036-qos << 196 - rockchip,rk3066-qos << 197 - rockchip,rk3128-qos << 198 - rockchip,rk3228-qos << 199 - rockchip,rk3288-qos << 200 - rockchip,rk3368-qos << 201 - rockchip,rk3399-qos << 202 - rockchip,rk3568-qos << 203 - rockchip,rk3576-qos << 204 - rockchip,rk3588-qos << 205 - rockchip,rv1126-qos << 206 - st,spear1340-misc << 207 - stericsson,nomadik-pmu << 208 - starfive,jh7100-sysmain << 209 - ti,am62-opp-efuse-table << 210 - ti,am62-usb-phy-ctrl << 211 - ti,am625-dss-oldi-io-ctrl << 212 - ti,am62p-cpsw-mac-efuse << 213 - ti,am654-dss-oldi-io-ctrl << 214 - ti,j784s4-pcie-ctrl << 215 - ti,keystone-pllctrl << 216 - const: syscon << 217 79 218 reg: 80 reg: 219 maxItems: 1 81 maxItems: 1 220 82 >> 83 reg-io-width: >> 84 description: | >> 85 The size (in bytes) of the IO accesses that should be performed >> 86 on the device. >> 87 enum: [1, 2, 4, 8] >> 88 221 resets: 89 resets: 222 maxItems: 1 90 maxItems: 1 223 91 >> 92 hwlocks: >> 93 maxItems: 1 >> 94 description: >> 95 Reference to a phandle of a hardware spinlock provider node. >> 96 224 required: 97 required: 225 - compatible 98 - compatible 226 - reg 99 - reg 227 100 228 allOf: 101 allOf: 229 - $ref: syscon-common.yaml# !! 102 - if: >> 103 properties: >> 104 compatible: >> 105 contains: >> 106 const: simple-mfd >> 107 then: >> 108 properties: >> 109 compatible: >> 110 minItems: 3 >> 111 maxItems: 5 230 112 231 unevaluatedProperties: false !! 113 additionalProperties: true 232 114 233 examples: 115 examples: 234 - | 116 - | 235 syscon: syscon@1c00000 { 117 syscon: syscon@1c00000 { 236 compatible = "allwinner,sun8i-h3-syste 118 compatible = "allwinner,sun8i-h3-system-controller", "syscon"; 237 reg = <0x01c00000 0x1000>; 119 reg = <0x01c00000 0x1000>; 238 }; 120 }; 239 ... 121 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.