# 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 Registers R/W

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>

select:
  properties:
    compatible:
      contains:
        enum:
          - syscon

  required:
    - compatible

properties:
  compatible:
    anyOf:
      - items:
          - enum:
              - allwinner,sun8i-a83t-system-controller
              - allwinner,sun8i-h3-system-controller
              - allwinner,sun8i-v3s-system-controller
              - allwinner,sun50i-a64-system-controller
              - amd,pensando-elba-syscon
              - brcm,cru-clkset
              - freecom,fsg-cs2-system-controller
              - fsl,imx93-aonmix-ns-syscfg
              - fsl,imx93-wakeupmix-syscfg
              - hisilicon,dsa-subctrl
              - hisilicon,hi6220-sramctrl
              - hisilicon,pcie-sas-subctrl
              - hisilicon,peri-subctrl
              - hpe,gxp-sysreg
              - intel,lgm-syscon
              - marvell,armada-3700-usb2-host-misc
              - mediatek,mt8135-pctl-a-syscfg
              - mediatek,mt8135-pctl-b-syscfg
              - mediatek,mt8365-syscfg
              - microchip,lan966x-cpu-syscon
              - microchip,sparx5-cpu-syscon
              - mstar,msc313-pmsleep
              - nuvoton,wpcm450-shm
              - rockchip,px30-qos
              - rockchip,rk3036-qos
              - rockchip,rk3066-qos
              - rockchip,rk3228-qos
              - rockchip,rk3288-qos
              - rockchip,rk3368-qos
              - rockchip,rk3399-qos
              - rockchip,rk3568-qos
              - rockchip,rk3588-qos
              - rockchip,rv1126-qos

          - const: syscon

      - contains:
          const: syscon
        minItems: 2
        maxItems: 5  # Should be enough

  reg:
    maxItems: 1

  reg-io-width:
    description: |
      The size (in bytes) of the IO accesses that should be performed
      on the device.
    enum: [1, 2, 4, 8]

  resets:
    maxItems: 1

  hwlocks:
    maxItems: 1
    description:
      Reference to a phandle of a hardware spinlock provider node.

required:
  - compatible
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: simple-mfd
    then:
      properties:
        compatible:
          minItems: 3
          maxItems: 5

additionalProperties: true

examples:
  - |
    syscon: syscon@1c00000 {
        compatible = "allwinner,sun8i-h3-system-controller", "syscon";
        reg = <0x01c00000 0x1000>;
    };
...
