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 Device Tree Bindings 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.jones@linaro.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 - brcm,cru-clkset 133 - altr,sdr-ctl !! 42 - freecom,fsg-cs2-system-controller 134 - amd,pensando-elba-syscon !! 43 - hisilicon,dsa-subctrl 135 - amlogic,meson-mx-assist !! 44 - hisilicon,hi6220-sramctrl 136 - amlogic,meson-mx-bootrom !! 45 - hisilicon,pcie-sas-subctrl 137 - amlogic,meson8-analog-top !! 46 - hisilicon,peri-subctrl 138 - amlogic,meson8b-analog-top !! 47 - intel,lgm-syscon 139 - amlogic,meson8-pmu !! 48 - marvell,armada-3700-usb2-host-misc 140 - amlogic,meson8b-pmu !! 49 - mediatek,mt8135-pctl-a-syscfg 141 - apm,merlin-poweroff-mailbox !! 50 - mediatek,mt8135-pctl-b-syscfg 142 - apm,mustang-poweroff-mailbox !! 51 - microchip,lan966x-cpu-syscon 143 - apm,xgene-csw !! 52 - microchip,sparx5-cpu-syscon 144 - apm,xgene-efuse !! 53 - mstar,msc313-pmsleep 145 - apm,xgene-mcb !! 54 - rockchip,px30-qos 146 - apm,xgene-rb !! 55 - rockchip,rk3036-qos 147 - apm,xgene-scu !! 56 - rockchip,rk3066-qos 148 - atmel,sama5d2-sfrbu !! 57 - rockchip,rk3228-qos 149 - atmel,sama5d3-nfc-io !! 58 - rockchip,rk3288-qos 150 - atmel,sama5d3-sfrbu !! 59 - rockchip,rk3368-qos 151 - atmel,sama5d4-sfrbu !! 60 - rockchip,rk3399-qos 152 - axis,artpec6-syscon !! 61 - rockchip,rk3568-qos 153 - brcm,cru-clkset !! 62 - samsung,exynos3-sysreg 154 - brcm,sr-cdru !! 63 - samsung,exynos4-sysreg 155 - brcm,sr-mhb !! 64 - samsung,exynos5-sysreg 156 - cirrus,ep7209-syscon1 !! 65 - samsung,exynos5433-sysreg 157 - cirrus,ep7209-syscon2 !! 66 - samsung,exynos850-sysreg 158 - cirrus,ep7209-syscon3 !! 67 - samsung,exynosautov9-sysreg 159 - cnxt,cx92755-uc !! 68 160 - freecom,fsg-cs2-system-controller !! 69 - const: syscon 161 - fsl,imx93-aonmix-ns-syscfg !! 70 162 - fsl,imx93-wakeupmix-syscfg !! 71 - contains: 163 - fsl,ls1088a-reset !! 72 const: syscon 164 - fsl,vf610-anatop !! 73 minItems: 2 165 - fsl,vf610-mscm-cpucfg !! 74 maxItems: 4 # Should be enough 166 - hisilicon,dsa-subctrl << 167 - hisilicon,hi6220-sramctrl << 168 - hisilicon,hip04-ppe << 169 - hisilicon,pcie-sas-subctrl << 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 75 218 reg: 76 reg: 219 maxItems: 1 77 maxItems: 1 220 78 221 resets: !! 79 reg-io-width: >> 80 description: | >> 81 The size (in bytes) of the IO accesses that should be performed >> 82 on the device. >> 83 $ref: /schemas/types.yaml#/definitions/uint32 >> 84 enum: [1, 2, 4, 8] >> 85 >> 86 hwlocks: 222 maxItems: 1 87 maxItems: 1 >> 88 description: >> 89 Reference to a phandle of a hardware spinlock provider node. 223 90 224 required: 91 required: 225 - compatible 92 - compatible 226 - reg 93 - reg 227 94 228 allOf: !! 95 additionalProperties: true 229 - $ref: syscon-common.yaml# << 230 << 231 unevaluatedProperties: false << 232 96 233 examples: 97 examples: 234 - | 98 - | 235 syscon: syscon@1c00000 { 99 syscon: syscon@1c00000 { 236 compatible = "allwinner,sun8i-h3-syste 100 compatible = "allwinner,sun8i-h3-system-controller", "syscon"; 237 reg = <0x01c00000 0x1000>; 101 reg = <0x01c00000 0x1000>; 238 }; 102 }; >> 103 >> 104 - | >> 105 gpr: iomuxc-gpr@20e0000 { >> 106 compatible = "fsl,imx6q-iomuxc-gpr", "syscon"; >> 107 reg = <0x020e0000 0x38>; >> 108 hwlocks = <&hwlock1 1>; >> 109 }; >> 110 239 ... 111 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.