|
1 | 1 | NVIDIA Tegra Power Management Controller (PMC) |
2 | 2 |
|
| 3 | +== Power Management Controller Node == |
| 4 | + |
3 | 5 | The PMC block interacts with an external Power Management Unit. The PMC |
4 | 6 | mostly controls the entry and exit of the system from different sleep |
5 | 7 | 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' |
70 | 72 | Defaults to 0. Valid values are described in section 12.5.2 |
71 | 73 | "Pinmux Support" of the Tegra4 Technical Reference Manual. |
72 | 74 |
|
| 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 | + |
73 | 80 | Example: |
74 | 81 |
|
75 | 82 | / SoC dts including file |
@@ -115,3 +122,76 @@ pmc@7000f400 { |
115 | 122 | }; |
116 | 123 | ... |
117 | 124 | }; |
| 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