# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/vexpress-config.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Versatile Express configuration bus

maintainers:
  - Andre Przywara <andre.przywara@arm.com>

description:
  This is a system control register block, acting as a bridge to the
  platform's configuration bus via "system control" interface, addressing
  devices with site number, position in the board stack, config controller,
  function and device numbers - see motherboard's TRM for more details.

properties:
  compatible:
    const: arm,vexpress,config-bus

  arm,vexpress,config-bridge:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Phandle to the sysreg node.

  muxfpga:
    type: object
    properties:
      compatible:
        const: arm,vexpress-muxfpga

      arm,vexpress-sysreg,func:
        description: FPGA specifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 7
          - description: device number

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  shutdown:
    type: object
    properties:
      compatible:
        const: arm,vexpress-shutdown

      arm,vexpress-sysreg,func:
        description: shutdown identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 8
          - description: device number

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  reboot:
    type: object
    properties:
      compatible:
        const: arm,vexpress-reboot

      arm,vexpress-sysreg,func:
        description: reboot identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 9
          - description: device number

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  dvimode:
    type: object
    properties:
      compatible:
        const: arm,vexpress-dvimode

      arm,vexpress-sysreg,func:
        description: DVI mode identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 11
          - description: device number

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

additionalProperties: false

required:
  - compatible
  - arm,vexpress,config-bridge

patternProperties:
  'clk[0-9]*$':
    type: object
    description:
      clocks

    properties:
      compatible:
        const: arm,vexpress-osc

      arm,vexpress-sysreg,func:
        description: clock specifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 1
          - description: clock number

      freq-range:
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - description: minimal clock frequency
          - description: maximum clock frequency

      "#clock-cells":
        const: 0

      clock-output-names:
        maxItems: 1

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func
      - "#clock-cells"

  "^volt-.+$":
    $ref: /schemas/regulator/regulator.yaml#
    properties:
      compatible:
        const: arm,vexpress-volt

      arm,vexpress-sysreg,func:
        description: regulator specifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 2
          - description: device number

      label:
        maxItems: 1

    unevaluatedProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  "^amp-.+$":
    type: object
    properties:
      compatible:
        const: arm,vexpress-amp

      arm,vexpress-sysreg,func:
        description: current sensor identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 3
          - description: device number

      label:
        maxItems: 1

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  "^temp-.+$":
    type: object
    properties:
      compatible:
        const: arm,vexpress-temp

      arm,vexpress-sysreg,func:
        description: temperature sensor identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 4
          - description: device number

      label:
        maxItems: 1

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  "^reset[0-9]*$":
    type: object
    properties:
      compatible:
        const: arm,vexpress-reset

      arm,vexpress-sysreg,func:
        description: reset specifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 5
          - description: reset device number

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  "^power-.+$":
    type: object
    properties:
      compatible:
        const: arm,vexpress-power

      arm,vexpress-sysreg,func:
        description: power sensor identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          - const: 12
          - description: device number

      label:
        maxItems: 1

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

  "^energy(-.+)?$":
    type: object
    properties:
      compatible:
        const: arm,vexpress-energy

      arm,vexpress-sysreg,func:
        description: energy sensor identifier
        $ref: /schemas/types.yaml#/definitions/uint32-array
        oneOf:
          - items:
              - const: 13
              - description: device number
          - items:
              - const: 13
              - description: device number
              - const: 13
              - description: second device number

      label:
        maxItems: 1

    additionalProperties: false
    required:
      - compatible
      - arm,vexpress-sysreg,func

examples:
  - |
    mcc {
        compatible = "arm,vexpress,config-bus";
        arm,vexpress,config-bridge = <&v2m_sysreg>;

        clk0 {
            compatible = "arm,vexpress-osc";
            arm,vexpress-sysreg,func = <1 0>;
            #clock-cells = <0>;
        };

        energy {
            compatible = "arm,vexpress-energy";
            arm,vexpress-sysreg,func = <13 0>, <13 1>;
        };
    };
