# 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 <lee@kernel.org>

# 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,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,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>;
    };
...
