aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Hunter <jonathanh@nvidia.com>2016-03-30 05:15:14 -0400
committerThierry Reding <treding@nvidia.com>2016-04-19 10:55:04 -0400
commitb5c46cef6c119aeeab0238dc4722ceea585edf33 (patch)
treeed3c4724810f5274ead6c95373ecf02c96af30f2
parent62b40def198c38c1326dd9d86b9f7064289c25d4 (diff)
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>
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt80
1 files changed, 80 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
index 53aa5496c5cf..a74b37b07e5c 100644
--- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
@@ -1,5 +1,7 @@
1NVIDIA Tegra Power Management Controller (PMC) 1NVIDIA Tegra Power Management Controller (PMC)
2 2
3== Power Management Controller Node ==
4
3The PMC block interacts with an external Power Management Unit. The PMC 5The PMC block interacts with an external Power Management Unit. The PMC
4mostly controls the entry and exit of the system from different sleep 6mostly controls the entry and exit of the system from different sleep
5modes. It provides power-gating controllers for SoC and CPU power-islands. 7modes. 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'
70 Defaults to 0. Valid values are described in section 12.5.2 72 Defaults to 0. Valid values are described in section 12.5.2
71 "Pinmux Support" of the Tegra4 Technical Reference Manual. 73 "Pinmux Support" of the Tegra4 Technical Reference Manual.
72 74
75Optional 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
73Example: 80Example:
74 81
75/ SoC dts including file 82/ SoC dts including file
@@ -115,3 +122,76 @@ pmc@7000f400 {
115 }; 122 };
116 ... 123 ...
117}; 124};
125
126
127== Powergate Nodes ==
128
129Each of the powergate nodes represents a power-domain on the Tegra SoC
130that can be power-gated by the Tegra PMC. The name of the powergate node
131should be one of the below. Note that not every powergate is applicable
132to all Tegra devices and the following list shows which powergates are
133applicable to which devices. Please refer to the Tegra TRM for more
134details 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
160Required 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
167Example:
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
188Hardware blocks belonging to a power domain should contain a "power-domains"
189property that is a phandle pointing to the corresponding powergate node.
190
191Example:
192
193 adma: adma@702e2000 {
194 ...
195 power-domains = <&pd_audio>;
196 ...
197 };