Skip to content

Commit b5c46ce

Browse files
jonhunterthierryreding
authored andcommitted
dt-bindings: Add power domain info for NVIDIA PMC
Add power-domain binding documentation for the NVIDIA PMC driver in order to support generic power-domains. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
1 parent 62b40de commit b5c46ce

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
NVIDIA Tegra Power Management Controller (PMC)
22

3+
== Power Management Controller Node ==
4+
35
The PMC block interacts with an external Power Management Unit. The PMC
46
mostly controls the entry and exit of the system from different sleep
57
modes. It provides power-gating controllers for SoC and CPU power-islands.
@@ -70,6 +72,11 @@ Optional properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'
7072
Defaults to 0. Valid values are described in section 12.5.2
7173
"Pinmux Support" of the Tegra4 Technical Reference Manual.
7274

75+
Optional nodes:
76+
- powergates : This node contains a hierarchy of power domain nodes, which
77+
should match the powergates on the Tegra SoC. See "Powergate
78+
Nodes" below.
79+
7380
Example:
7481

7582
/ SoC dts including file
@@ -115,3 +122,76 @@ pmc@7000f400 {
115122
};
116123
...
117124
};
125+
126+
127+
== Powergate Nodes ==
128+
129+
Each of the powergate nodes represents a power-domain on the Tegra SoC
130+
that can be power-gated by the Tegra PMC. The name of the powergate node
131+
should be one of the below. Note that not every powergate is applicable
132+
to all Tegra devices and the following list shows which powergates are
133+
applicable to which devices. Please refer to the Tegra TRM for more
134+
details on the various powergates.
135+
136+
Name Description Devices Applicable
137+
3d 3D Graphics Tegra20/114/124/210
138+
3d0 3D Graphics 0 Tegra30
139+
3d1 3D Graphics 1 Tegra30
140+
aud Audio Tegra210
141+
dfd Debug Tegra210
142+
dis Display A Tegra114/124/210
143+
disb Display B Tegra114/124/210
144+
heg 2D Graphics Tegra30/114/124/210
145+
iram Internal RAM Tegra124/210
146+
mpe MPEG Encode All
147+
nvdec NVIDIA Video Decode Engine Tegra210
148+
nvjpg NVIDIA JPEG Engine Tegra210
149+
pcie PCIE Tegra20/30/124/210
150+
sata SATA Tegra30/124/210
151+
sor Display interfaces Tegra124/210
152+
ve2 Video Encode Engine 2 Tegra210
153+
venc Video Encode Engine All
154+
vdec Video Decode Engine Tegra20/30/114/124
155+
vic Video Imaging Compositor Tegra124/210
156+
xusba USB Partition A Tegra114/124/210
157+
xusbb USB Partition B Tegra114/124/210
158+
xusbc USB Partition C Tegra114/124/210
159+
160+
Required properties:
161+
- clocks: Must contain an entry for each clock required by the PMC for
162+
controlling a power-gate. See ../clocks/clock-bindings.txt for details.
163+
- resets: Must contain an entry for each reset required by the PMC for
164+
controlling a power-gate. See ../reset/reset.txt for details.
165+
- #power-domain-cells: Must be 0.
166+
167+
Example:
168+
169+
pmc: pmc@7000e400 {
170+
compatible = "nvidia,tegra210-pmc";
171+
reg = <0x0 0x7000e400 0x0 0x400>;
172+
clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
173+
clock-names = "pclk", "clk32k_in";
174+
175+
powergates {
176+
pd_audio: aud {
177+
clocks = <&tegra_car TEGRA210_CLK_APE>,
178+
<&tegra_car TEGRA210_CLK_APB2APE>;
179+
resets = <&tegra_car 198>;
180+
#power-domain-cells = <0>;
181+
};
182+
};
183+
};
184+
185+
186+
== Powergate Clients ==
187+
188+
Hardware blocks belonging to a power domain should contain a "power-domains"
189+
property that is a phandle pointing to the corresponding powergate node.
190+
191+
Example:
192+
193+
adma: adma@702e2000 {
194+
...
195+
power-domains = <&pd_audio>;
196+
...
197+
};

0 commit comments

Comments
 (0)