14d92239bSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
24d92239bSGeert Uytterhoeven%YAML 1.2
34d92239bSGeert Uytterhoeven---
44d92239bSGeert Uytterhoeven$id: http://devicetree.org/schemas/power/renesas,sysc-rmobile.yaml#
54d92239bSGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
64d92239bSGeert Uytterhoeven
74d92239bSGeert Uytterhoeventitle: Renesas R-Mobile System Controller
84d92239bSGeert Uytterhoeven
94d92239bSGeert Uytterhoevenmaintainers:
104d92239bSGeert Uytterhoeven  - Geert Uytterhoeven <geert+renesas@glider.be>
114d92239bSGeert Uytterhoeven  - Magnus Damm <magnus.damm@gmail.com>
124d92239bSGeert Uytterhoeven
134d92239bSGeert Uytterhoevendescription: |
144d92239bSGeert Uytterhoeven  The R-Mobile System Controller provides the following functions:
154d92239bSGeert Uytterhoeven    - Boot mode management,
164d92239bSGeert Uytterhoeven    - Reset generation,
174d92239bSGeert Uytterhoeven    - Power management.
184d92239bSGeert Uytterhoeven
194d92239bSGeert Uytterhoevenproperties:
204d92239bSGeert Uytterhoeven  compatible:
214d92239bSGeert Uytterhoeven    items:
224d92239bSGeert Uytterhoeven      - enum:
234d92239bSGeert Uytterhoeven          - renesas,sysc-r8a73a4    # R-Mobile APE6
244d92239bSGeert Uytterhoeven          - renesas,sysc-r8a7740    # R-Mobile A1
254d92239bSGeert Uytterhoeven          - renesas,sysc-sh73a0     # SH-Mobile AG5
264d92239bSGeert Uytterhoeven      - const: renesas,sysc-rmobile # Generic SH/R-Mobile
274d92239bSGeert Uytterhoeven
284d92239bSGeert Uytterhoeven  reg:
294d92239bSGeert Uytterhoeven    items:
304d92239bSGeert Uytterhoeven      - description: Normally accessible register block
314d92239bSGeert Uytterhoeven      - description: Register block protected by the HPB semaphore
324d92239bSGeert Uytterhoeven
334d92239bSGeert Uytterhoeven  pm-domains:
344d92239bSGeert Uytterhoeven    type: object
354d92239bSGeert Uytterhoeven    description: |
364d92239bSGeert Uytterhoeven      This node contains a hierarchy of PM domain nodes, which should match the
374d92239bSGeert Uytterhoeven      Power Area Hierarchy in the Power Domain Specifications section of the
384d92239bSGeert Uytterhoeven      device's datasheet.
394d92239bSGeert Uytterhoeven
404d92239bSGeert Uytterhoeven    properties:
414d92239bSGeert Uytterhoeven      '#address-cells':
424d92239bSGeert Uytterhoeven        const: 1
434d92239bSGeert Uytterhoeven
444d92239bSGeert Uytterhoeven      '#size-cells':
454d92239bSGeert Uytterhoeven        const: 0
464d92239bSGeert Uytterhoeven
474d92239bSGeert Uytterhoeven    additionalProperties:
484d92239bSGeert Uytterhoeven      $ref: "#/$defs/pd-node"
494d92239bSGeert Uytterhoeven
504d92239bSGeert Uytterhoevenrequired:
514d92239bSGeert Uytterhoeven  - compatible
524d92239bSGeert Uytterhoeven  - reg
534d92239bSGeert Uytterhoeven  - pm-domains
544d92239bSGeert Uytterhoeven
554d92239bSGeert UytterhoevenadditionalProperties: false
564d92239bSGeert Uytterhoeven
574d92239bSGeert Uytterhoeven$defs:
584d92239bSGeert Uytterhoeven  pd-node:
594d92239bSGeert Uytterhoeven    type: object
604d92239bSGeert Uytterhoeven    description:
61*47aab533SBjorn Helgaas      PM domain node representing a PM domain.  This node should be named by
624d92239bSGeert Uytterhoeven      the real power area name, and thus its name should be unique.
634d92239bSGeert Uytterhoeven
644d92239bSGeert Uytterhoeven    properties:
654d92239bSGeert Uytterhoeven      reg:
664d92239bSGeert Uytterhoeven        maxItems: 1
674d92239bSGeert Uytterhoeven        description:
684d92239bSGeert Uytterhoeven          If the PM domain is not always-on, this property must contain the
694d92239bSGeert Uytterhoeven          bit index number for the corresponding power area in the various
704d92239bSGeert Uytterhoeven          Power Control and Status Registers.
714d92239bSGeert Uytterhoeven          If the PM domain is always-on, this property must be omitted.
724d92239bSGeert Uytterhoeven
734d92239bSGeert Uytterhoeven      '#address-cells':
744d92239bSGeert Uytterhoeven        const: 1
754d92239bSGeert Uytterhoeven
764d92239bSGeert Uytterhoeven      '#size-cells':
774d92239bSGeert Uytterhoeven        const: 0
784d92239bSGeert Uytterhoeven
794d92239bSGeert Uytterhoeven      '#power-domain-cells':
804d92239bSGeert Uytterhoeven        const: 0
814d92239bSGeert Uytterhoeven
824d92239bSGeert Uytterhoeven    required:
834d92239bSGeert Uytterhoeven      - '#power-domain-cells'
844d92239bSGeert Uytterhoeven
854d92239bSGeert Uytterhoeven    additionalProperties:
864d92239bSGeert Uytterhoeven      $ref: "#/$defs/pd-node"
874d92239bSGeert Uytterhoeven
884d92239bSGeert Uytterhoevenexamples:
894d92239bSGeert Uytterhoeven  - |
904d92239bSGeert Uytterhoeven    // This shows a subset of the r8a7740 PM domain hierarchy, containing the
914d92239bSGeert Uytterhoeven    // C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP
924d92239bSGeert Uytterhoeven    // domain, which is a subdomain of A4S.
934d92239bSGeert Uytterhoeven    sysc: system-controller@e6180000 {
944d92239bSGeert Uytterhoeven            compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
954d92239bSGeert Uytterhoeven            reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
964d92239bSGeert Uytterhoeven
974d92239bSGeert Uytterhoeven            pm-domains {
984d92239bSGeert Uytterhoeven                    pd_c5: c5 {
994d92239bSGeert Uytterhoeven                            #address-cells = <1>;
1004d92239bSGeert Uytterhoeven                            #size-cells = <0>;
1014d92239bSGeert Uytterhoeven                            #power-domain-cells = <0>;
1024d92239bSGeert Uytterhoeven
1034d92239bSGeert Uytterhoeven                            pd_a4s: a4s@10 {
1044d92239bSGeert Uytterhoeven                                    reg = <10>;
1054d92239bSGeert Uytterhoeven                                    #address-cells = <1>;
1064d92239bSGeert Uytterhoeven                                    #size-cells = <0>;
1074d92239bSGeert Uytterhoeven                                    #power-domain-cells = <0>;
1084d92239bSGeert Uytterhoeven
1094d92239bSGeert Uytterhoeven                                    pd_a3sp: a3sp@11 {
1104d92239bSGeert Uytterhoeven                                            reg = <11>;
1114d92239bSGeert Uytterhoeven                                            #power-domain-cells = <0>;
1124d92239bSGeert Uytterhoeven                                    };
1134d92239bSGeert Uytterhoeven                            };
1144d92239bSGeert Uytterhoeven
1154d92239bSGeert Uytterhoeven                            pd_a4su: a4su@20 {
1164d92239bSGeert Uytterhoeven                                    reg = <20>;
1174d92239bSGeert Uytterhoeven                                    #power-domain-cells = <0>;
1184d92239bSGeert Uytterhoeven                            };
1194d92239bSGeert Uytterhoeven                    };
1204d92239bSGeert Uytterhoeven            };
1214d92239bSGeert Uytterhoeven    };
122