# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/syscon.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: System Controller Devices description: | System controller node represents a register region containing a set of miscellaneous registers. The registers are not cohesive enough to represent as any specific type of device. The typical use-case is for some other node's driver, or platform-specific code, to acquire a reference to the syscon node (e.g. by phandle, node path, or search using a specific compatible value), interrogate the node (or associated OS driver) to determine the location of the registers, and access the registers directly. maintainers: - Lee Jones # Need a select with all compatibles listed for compatibility with older # dtschema (<2024.02), so this will not be selected for other schemas having # syscon fallback. select: properties: compatible: contains: enum: - al,alpine-sysfabric-servic - allwinner,sun8i-a83t-system-controller - allwinner,sun8i-h3-system-controller - allwinner,sun8i-v3s-system-controller - allwinner,sun50i-a64-system-controller - altr,l3regs - altr,sdr-ctl - amd,pensando-elba-syscon - amlogic,meson-mx-assist - amlogic,meson-mx-bootrom - amlogic,meson8-analog-top - amlogic,meson8b-analog-top - amlogic,meson8-pmu - amlogic,meson8b-pmu - apm,merlin-poweroff-mailbox - apm,mustang-poweroff-mailbox - apm,xgene-csw - apm,xgene-efuse - apm,xgene-mcb - apm,xgene-rb - apm,xgene-scu - atmel,sama5d2-sfrbu - atmel,sama5d3-nfc-io - atmel,sama5d3-sfrbu - atmel,sama5d4-sfrbu - axis,artpec6-syscon - brcm,cru-clkset - brcm,sr-cdru - brcm,sr-mhb - cirrus,ep7209-syscon1 - cirrus,ep7209-syscon2 - cirrus,ep7209-syscon3 - cnxt,cx92755-uc - freecom,fsg-cs2-system-controller - fsl,imx93-aonmix-ns-syscfg - fsl,imx93-wakeupmix-syscfg - fsl,ls1088a-reset - fsl,vf610-anatop - fsl,vf610-mscm-cpucfg - hisilicon,dsa-subctrl - hisilicon,hi6220-sramctrl - hisilicon,hip04-ppe - hisilicon,pcie-sas-subctrl - hisilicon,peri-subctrl - hpe,gxp-sysreg - loongson,ls1b-syscon - loongson,ls1c-syscon - lsi,axxia-syscon - marvell,armada-3700-cpu-misc - marvell,armada-3700-nb-pm - marvell,armada-3700-avs - marvell,armada-3700-usb2-host-misc - marvell,dove-global-config - mediatek,mt2701-pctl-a-syscfg - mediatek,mt2712-pctl-a-syscfg - mediatek,mt6397-pctl-pmic-syscfg - mediatek,mt8135-pctl-a-syscfg - mediatek,mt8135-pctl-b-syscfg - mediatek,mt8173-pctl-a-syscfg - mediatek,mt8365-syscfg - microchip,lan966x-cpu-syscon - microchip,mpfs-sysreg-scb - microchip,sam9x60-sfr - microchip,sama7g5-ddr3phy - mscc,ocelot-cpu-syscon - mstar,msc313-pmsleep - nuvoton,ma35d1-sys - nuvoton,wpcm450-shm - rockchip,px30-qos - rockchip,rk3036-qos - rockchip,rk3066-qos - rockchip,rk3128-qos - rockchip,rk3228-qos - rockchip,rk3288-qos - rockchip,rk3368-qos - rockchip,rk3399-qos - rockchip,rk3568-qos - rockchip,rk3576-qos - rockchip,rk3588-qos - rockchip,rv1126-qos - st,spear1340-misc - stericsson,nomadik-pmu - starfive,jh7100-sysmain - ti,am62-opp-efuse-table - ti,am62-usb-phy-ctrl - ti,am625-dss-oldi-io-ctrl - ti,am62p-cpsw-mac-efuse - ti,am654-dss-oldi-io-ctrl - ti,j784s4-acspcie-proxy-ctrl - ti,j784s4-pcie-ctrl - ti,keystone-pllctrl required: - compatible properties: compatible: items: - enum: - al,alpine-sysfabric-service - allwinner,sun8i-a83t-system-controller - allwinner,sun8i-h3-system-controller - allwinner,sun8i-v3s-system-controller - allwinner,sun50i-a64-system-controller - altr,l3regs - altr,sdr-ctl - amd,pensando-elba-syscon - amlogic,meson-mx-assist - amlogic,meson-mx-bootrom - amlogic,meson8-analog-top - amlogic,meson8b-analog-top - amlogic,meson8-pmu - amlogic,meson8b-pmu - apm,merlin-poweroff-mailbox - apm,mustang-poweroff-mailbox - apm,xgene-csw - apm,xgene-efuse - apm,xgene-mcb - apm,xgene-rb - apm,xgene-scu - atmel,sama5d2-sfrbu - atmel,sama5d3-nfc-io - atmel,sama5d3-sfrbu - atmel,sama5d4-sfrbu - axis,artpec6-syscon - brcm,cru-clkset - brcm,sr-cdru - brcm,sr-mhb - cirrus,ep7209-syscon1 - cirrus,ep7209-syscon2 - cirrus,ep7209-syscon3 - cnxt,cx92755-uc - freecom,fsg-cs2-system-controller - fsl,imx93-aonmix-ns-syscfg - fsl,imx93-wakeupmix-syscfg - fsl,ls1088a-reset - fsl,vf610-anatop - fsl,vf610-mscm-cpucfg - hisilicon,dsa-subctrl - hisilicon,hi6220-sramctrl - hisilicon,hip04-ppe - hisilicon,pcie-sas-subctrl - hisilicon,peri-subctrl - hpe,gxp-sysreg - loongson,ls1b-syscon - loongson,ls1c-syscon - lsi,axxia-syscon - marvell,armada-3700-cpu-misc - marvell,armada-3700-nb-pm - marvell,armada-3700-avs - marvell,armada-3700-usb2-host-misc - marvell,dove-global-config - mediatek,mt2701-pctl-a-syscfg - mediatek,mt2712-pctl-a-syscfg - mediatek,mt6397-pctl-pmic-syscfg - mediatek,mt8135-pctl-a-syscfg - mediatek,mt8135-pctl-b-syscfg - mediatek,mt8173-pctl-a-syscfg - mediatek,mt8365-syscfg - microchip,lan966x-cpu-syscon - microchip,mpfs-sysreg-scb - microchip,sam9x60-sfr - microchip,sama7g5-ddr3phy - mscc,ocelot-cpu-syscon - mstar,msc313-pmsleep - nuvoton,ma35d1-sys - nuvoton,wpcm450-shm - rockchip,px30-qos - rockchip,rk3036-qos - rockchip,rk3066-qos - rockchip,rk3128-qos - rockchip,rk3228-qos - rockchip,rk3288-qos - rockchip,rk3368-qos - rockchip,rk3399-qos - rockchip,rk3568-qos - rockchip,rk3576-qos - rockchip,rk3588-qos - rockchip,rv1126-qos - st,spear1340-misc - stericsson,nomadik-pmu - starfive,jh7100-sysmain - ti,am62-opp-efuse-table - ti,am62-usb-phy-ctrl - ti,am625-dss-oldi-io-ctrl - ti,am62p-cpsw-mac-efuse - ti,am654-dss-oldi-io-ctrl - ti,j784s4-pcie-ctrl - ti,keystone-pllctrl - const: syscon reg: maxItems: 1 resets: maxItems: 1 required: - compatible - reg allOf: - $ref: syscon-common.yaml# unevaluatedProperties: false examples: - | syscon: syscon@1c00000 { compatible = "allwinner,sun8i-h3-system-controller", "syscon"; reg = <0x01c00000 0x1000>; }; ...