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