hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
DT bindings for the Renesas R-Mobile System Controller
 
== System Controller Node ==
 
The R-Mobile System Controller provides the following functions:
  - Boot mode management,
  - Reset generation,
  - Power management.
 
Required properties:
- compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as
         fallback.
         Examples with soctypes are:
       - "renesas,sysc-r8a73a4" (R-Mobile APE6)
       - "renesas,sysc-r8a7740" (R-Mobile A1)
       - "renesas,sysc-sh73a0" (SH-Mobile AG5)
- reg: Two address start and address range blocks for the device:
         - The first block refers to the normally accessible registers,
         - the second block refers to the registers protected by the HPB
      semaphore.
 
Optional nodes:
- pm-domains: 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.
 
 
== PM Domain Nodes ==
 
Each of the PM domain nodes represents a PM domain, as documented by the
generic PM domain bindings in
Documentation/devicetree/bindings/power/power_domain.txt.
 
The nodes should be named by the real power area names, and thus their names
should be unique.
 
Required properties:
  - #power-domain-cells: Must be 0.
 
Optional properties:
- reg: 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. The parent's node must contain the
       following two properties:
    - #address-cells: Must be 1,
    - #size-cells: Must be 0.
       If the PM domain is always-on, this property must be omitted.
 
 
Example:
 
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>;
               };
           };
       };
   };
 
 
== PM Domain Consumers ==
 
Hardware blocks belonging to a PM domain should contain a "power-domains"
property that is a phandle pointing to the corresponding PM domain node.
 
Example:
 
   tpu: pwm@e6600000 {
       compatible = "renesas,tpu-r8a7740", "renesas,tpu";
       reg = <0xe6600000 0x100>;
       clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
       power-domains = <&pd_a3sp>;
       #pwm-cells = <3>;
   };