# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/renesas,sysc-rmobile.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas R-Mobile System Controller

maintainers:
  - Geert Uytterhoeven <geert+renesas@glider.be>
  - Magnus Damm <magnus.damm@gmail.com>

description: |
  The R-Mobile System Controller provides the following functions:
    - Boot mode management,
    - Reset generation,
    - Power management.

properties:
  compatible:
    items:
      - enum:
          - renesas,sysc-r8a73a4    # R-Mobile APE6
          - renesas,sysc-r8a7740    # R-Mobile A1
          - renesas,sysc-sh73a0     # SH-Mobile AG5
      - const: renesas,sysc-rmobile # Generic SH/R-Mobile

  reg:
    items:
      - description: Normally accessible register block
      - description: Register block protected by the HPB semaphore

  pm-domains:
    type: object
    description: |
      This node contains a hierarchy of PM domain nodes, which should match the
      Power Area Hierarchy in the Power Domain Specifications section of the
      device's datasheet.

    properties:
      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

    additionalProperties:
      $ref: "#/$defs/pd-node"

required:
  - compatible
  - reg
  - pm-domains

additionalProperties: false

$defs:
  pd-node:
    type: object
    description:
      PM domain node representing a PM domain.  This node hould be named by
      the real power area name, and thus its name should be unique.

    properties:
      reg:
        maxItems: 1
        description:
          If the PM domain is not always-on, this property must contain the
          bit index number for the corresponding power area in the various
          Power Control and Status Registers.
          If the PM domain is always-on, this property must be omitted.

      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

      '#power-domain-cells':
        const: 0

    required:
      - '#power-domain-cells'

    additionalProperties:
      $ref: "#/$defs/pd-node"

examples:
  - |
    // This shows a subset of the r8a7740 PM domain hierarchy, containing the
    // C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP
    // domain, which is a subdomain of A4S.
    sysc: system-controller@e6180000 {
            compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
            reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;

            pm-domains {
                    pd_c5: c5 {
                            #address-cells = <1>;
                            #size-cells = <0>;
                            #power-domain-cells = <0>;

                            pd_a4s: a4s@10 {
                                    reg = <10>;
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    #power-domain-cells = <0>;

                                    pd_a3sp: a3sp@11 {
                                            reg = <11>;
                                            #power-domain-cells = <0>;
                                    };
                            };

                            pd_a4su: a4su@20 {
                                    reg = <20>;
                                    #power-domain-cells = <0>;
                            };
                    };
            };
    };
