1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/tegra/nvidia,tegra20-pmc.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Tegra Power Management Controller (PMC) 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Thierry Reding <thierry.reding@gmail.com> 11c66ec88fSEmmanuel Vadot - Jonathan Hunter <jonathanh@nvidia.com> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotproperties: 14c66ec88fSEmmanuel Vadot compatible: 15c66ec88fSEmmanuel Vadot enum: 16c66ec88fSEmmanuel Vadot - nvidia,tegra20-pmc 17c66ec88fSEmmanuel Vadot - nvidia,tegra30-pmc 18c66ec88fSEmmanuel Vadot - nvidia,tegra114-pmc 19c66ec88fSEmmanuel Vadot - nvidia,tegra124-pmc 20c66ec88fSEmmanuel Vadot - nvidia,tegra210-pmc 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot reg: 23c66ec88fSEmmanuel Vadot maxItems: 1 24c66ec88fSEmmanuel Vadot description: 25c66ec88fSEmmanuel Vadot Offset and length of the register set for the device. 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot clock-names: 28c66ec88fSEmmanuel Vadot items: 29c66ec88fSEmmanuel Vadot - const: pclk 30c66ec88fSEmmanuel Vadot - const: clk32k_in 31c66ec88fSEmmanuel Vadot description: 32c66ec88fSEmmanuel Vadot Must includes entries pclk and clk32k_in. 33c66ec88fSEmmanuel Vadot pclk is the Tegra clock of that name and clk32k_in is 32KHz clock 34c66ec88fSEmmanuel Vadot input to Tegra. 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot clocks: 37c66ec88fSEmmanuel Vadot maxItems: 2 38c66ec88fSEmmanuel Vadot description: 39c66ec88fSEmmanuel Vadot Must contain an entry for each entry in clock-names. 40c66ec88fSEmmanuel Vadot See ../clocks/clocks-bindings.txt for details. 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot '#clock-cells': 43c66ec88fSEmmanuel Vadot const: 1 44c66ec88fSEmmanuel Vadot description: 45c66ec88fSEmmanuel Vadot Tegra PMC has clk_out_1, clk_out_2, and clk_out_3. 46c66ec88fSEmmanuel Vadot PMC also has blink control which allows 32Khz clock output to 47c66ec88fSEmmanuel Vadot Tegra blink pad. 48c66ec88fSEmmanuel Vadot Consumer of PMC clock should specify the desired clock by having 49c66ec88fSEmmanuel Vadot the clock ID in its "clocks" phandle cell with pmc clock provider. 50c66ec88fSEmmanuel Vadot See include/dt-bindings/soc/tegra-pmc.h for the list of Tegra PMC 51c66ec88fSEmmanuel Vadot clock IDs. 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot '#interrupt-cells': 54c66ec88fSEmmanuel Vadot const: 2 55c66ec88fSEmmanuel Vadot description: 56c66ec88fSEmmanuel Vadot Specifies number of cells needed to encode an interrupt source. 57c66ec88fSEmmanuel Vadot The value must be 2. 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot interrupt-controller: true 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot nvidia,invert-interrupt: 62c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 63c66ec88fSEmmanuel Vadot description: Inverts the PMU interrupt signal. 64c66ec88fSEmmanuel Vadot The PMU is an external Power Management Unit, whose interrupt output 65c66ec88fSEmmanuel Vadot signal is fed into the PMC. This signal is optionally inverted, and 66c66ec88fSEmmanuel Vadot then fed into the ARM GIC. The PMC is not involved in the detection 67c66ec88fSEmmanuel Vadot or handling of this interrupt signal, merely its inversion. 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot nvidia,core-power-req-active-high: 70c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 71c66ec88fSEmmanuel Vadot description: Core power request active-high. 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot nvidia,sys-clock-req-active-high: 74c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 75c66ec88fSEmmanuel Vadot description: System clock request active-high. 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot nvidia,combined-power-req: 78c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 79c66ec88fSEmmanuel Vadot description: combined power request for CPU and Core. 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot nvidia,cpu-pwr-good-en: 82c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 83c66ec88fSEmmanuel Vadot description: 84c66ec88fSEmmanuel Vadot CPU power good signal from external PMIC to PMC is enabled. 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot nvidia,suspend-mode: 87c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 88c66ec88fSEmmanuel Vadot enum: [0, 1, 2] 89c66ec88fSEmmanuel Vadot description: 90c66ec88fSEmmanuel Vadot The suspend mode that the platform should use. 91c66ec88fSEmmanuel Vadot Mode 0 is for LP0, CPU + Core voltage off and DRAM in self-refresh 92c66ec88fSEmmanuel Vadot Mode 1 is for LP1, CPU voltage off and DRAM in self-refresh 93c66ec88fSEmmanuel Vadot Mode 2 is for LP2, CPU voltage off 94c66ec88fSEmmanuel Vadot 95c66ec88fSEmmanuel Vadot nvidia,cpu-pwr-good-time: 96c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 97c66ec88fSEmmanuel Vadot description: CPU power good time in uSec. 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel Vadot nvidia,cpu-pwr-off-time: 100c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 101c66ec88fSEmmanuel Vadot description: CPU power off time in uSec. 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot nvidia,core-pwr-good-time: 104c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 105c66ec88fSEmmanuel Vadot description: 106c66ec88fSEmmanuel Vadot <Oscillator-stable-time Power-stable-time> 107c66ec88fSEmmanuel Vadot Core power good time in uSec. 108c66ec88fSEmmanuel Vadot 109c66ec88fSEmmanuel Vadot nvidia,core-pwr-off-time: 110c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 111c66ec88fSEmmanuel Vadot description: Core power off time in uSec. 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot nvidia,lp0-vec: 114c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 115c66ec88fSEmmanuel Vadot description: 116c66ec88fSEmmanuel Vadot <start length> Starting address and length of LP0 vector. 117c66ec88fSEmmanuel Vadot The LP0 vector contains the warm boot code that is executed 118c66ec88fSEmmanuel Vadot by AVP when resuming from the LP0 state. 119c66ec88fSEmmanuel Vadot The AVP (Audio-Video Processor) is an ARM7 processor and 120c66ec88fSEmmanuel Vadot always being the first boot processor when chip is power on 121c66ec88fSEmmanuel Vadot or resume from deep sleep mode. When the system is resumed 122c66ec88fSEmmanuel Vadot from the deep sleep mode, the warm boot code will restore 123c66ec88fSEmmanuel Vadot some PLLs, clocks and then brings up CPU0 for resuming the 124c66ec88fSEmmanuel Vadot system. 125c66ec88fSEmmanuel Vadot 1268bab661aSEmmanuel Vadot core-supply: 1278bab661aSEmmanuel Vadot description: 1288bab661aSEmmanuel Vadot Phandle to voltage regulator connected to the SoC Core power rail. 1298bab661aSEmmanuel Vadot 1308bab661aSEmmanuel Vadot core-domain: 1318bab661aSEmmanuel Vadot type: object 1328bab661aSEmmanuel Vadot description: | 1338bab661aSEmmanuel Vadot The vast majority of hardware blocks of Tegra SoC belong to a 1348bab661aSEmmanuel Vadot Core power domain, which has a dedicated voltage rail that powers 1358bab661aSEmmanuel Vadot the blocks. 1368bab661aSEmmanuel Vadot 1378bab661aSEmmanuel Vadot properties: 1388bab661aSEmmanuel Vadot operating-points-v2: 1398bab661aSEmmanuel Vadot description: 1408bab661aSEmmanuel Vadot Should contain level, voltages and opp-supported-hw property. 1418bab661aSEmmanuel Vadot The supported-hw is a bitfield indicating SoC speedo or process 1428bab661aSEmmanuel Vadot ID mask. 1438bab661aSEmmanuel Vadot 1448bab661aSEmmanuel Vadot "#power-domain-cells": 1458bab661aSEmmanuel Vadot const: 0 1468bab661aSEmmanuel Vadot 1478bab661aSEmmanuel Vadot required: 1488bab661aSEmmanuel Vadot - operating-points-v2 1498bab661aSEmmanuel Vadot - "#power-domain-cells" 1508bab661aSEmmanuel Vadot 1518bab661aSEmmanuel Vadot additionalProperties: false 1528bab661aSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot i2c-thermtrip: 154c66ec88fSEmmanuel Vadot type: object 155c66ec88fSEmmanuel Vadot description: 156c66ec88fSEmmanuel Vadot On Tegra30, Tegra114 and Tegra124 if i2c-thermtrip subnode exists, 157c66ec88fSEmmanuel Vadot hardware-triggered thermal reset will be enabled. 158c66ec88fSEmmanuel Vadot 159c66ec88fSEmmanuel Vadot properties: 160c66ec88fSEmmanuel Vadot nvidia,i2c-controller-id: 161c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 162c66ec88fSEmmanuel Vadot description: 163c66ec88fSEmmanuel Vadot ID of I2C controller to send poweroff command to PMU. 164c66ec88fSEmmanuel Vadot Valid values are described in section 9.2.148 165c66ec88fSEmmanuel Vadot "APBDEV_PMC_SCRATCH53_0" of the Tegra K1 Technical Reference 166c66ec88fSEmmanuel Vadot Manual. 167c66ec88fSEmmanuel Vadot 168c66ec88fSEmmanuel Vadot nvidia,bus-addr: 169c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 170c66ec88fSEmmanuel Vadot description: Bus address of the PMU on the I2C bus. 171c66ec88fSEmmanuel Vadot 172c66ec88fSEmmanuel Vadot nvidia,reg-addr: 173c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 174c66ec88fSEmmanuel Vadot description: PMU I2C register address to issue poweroff command. 175c66ec88fSEmmanuel Vadot 176c66ec88fSEmmanuel Vadot nvidia,reg-data: 177c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 178c66ec88fSEmmanuel Vadot description: Poweroff command to write to PMU. 179c66ec88fSEmmanuel Vadot 180c66ec88fSEmmanuel Vadot nvidia,pinmux-id: 181c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 182c66ec88fSEmmanuel Vadot description: 183c66ec88fSEmmanuel Vadot Pinmux used by the hardware when issuing Poweroff command. 184c66ec88fSEmmanuel Vadot Defaults to 0. Valid values are described in section 12.5.2 185c66ec88fSEmmanuel Vadot "Pinmux Support" of the Tegra4 Technical Reference Manual. 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot required: 188c66ec88fSEmmanuel Vadot - nvidia,i2c-controller-id 189c66ec88fSEmmanuel Vadot - nvidia,bus-addr 190c66ec88fSEmmanuel Vadot - nvidia,reg-addr 191c66ec88fSEmmanuel Vadot - nvidia,reg-data 192c66ec88fSEmmanuel Vadot 193c66ec88fSEmmanuel Vadot additionalProperties: false 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot powergates: 196c66ec88fSEmmanuel Vadot type: object 197c66ec88fSEmmanuel Vadot description: | 198c66ec88fSEmmanuel Vadot This node contains a hierarchy of power domain nodes, which should 199c66ec88fSEmmanuel Vadot match the powergates on the Tegra SoC. Each powergate node 200c66ec88fSEmmanuel Vadot represents a power-domain on the Tegra SoC that can be power-gated 201c66ec88fSEmmanuel Vadot by the Tegra PMC. 202c66ec88fSEmmanuel Vadot Hardware blocks belonging to a power domain should contain 203c66ec88fSEmmanuel Vadot "power-domains" property that is a phandle pointing to corresponding 204c66ec88fSEmmanuel Vadot powergate node. 205c66ec88fSEmmanuel Vadot The name of the powergate node should be one of the below. Note that 206c66ec88fSEmmanuel Vadot not every powergate is applicable to all Tegra devices and the following 207c66ec88fSEmmanuel Vadot list shows which powergates are applicable to which devices. 208c66ec88fSEmmanuel Vadot Please refer to Tegra TRM for mode details on the powergate nodes to 209c66ec88fSEmmanuel Vadot use for each power-gate block inside Tegra. 210c66ec88fSEmmanuel Vadot Name Description Devices Applicable 211c66ec88fSEmmanuel Vadot 3d 3D Graphics Tegra20/114/124/210 212c66ec88fSEmmanuel Vadot 3d0 3D Graphics 0 Tegra30 213c66ec88fSEmmanuel Vadot 3d1 3D Graphics 1 Tegra30 214c66ec88fSEmmanuel Vadot aud Audio Tegra210 215c66ec88fSEmmanuel Vadot dfd Debug Tegra210 216c66ec88fSEmmanuel Vadot dis Display A Tegra114/124/210 217c66ec88fSEmmanuel Vadot disb Display B Tegra114/124/210 218c66ec88fSEmmanuel Vadot heg 2D Graphics Tegra30/114/124/210 219c66ec88fSEmmanuel Vadot iram Internal RAM Tegra124/210 220c66ec88fSEmmanuel Vadot mpe MPEG Encode All 221c66ec88fSEmmanuel Vadot nvdec NVIDIA Video Decode Engine Tegra210 222c66ec88fSEmmanuel Vadot nvjpg NVIDIA JPEG Engine Tegra210 223c66ec88fSEmmanuel Vadot pcie PCIE Tegra20/30/124/210 224c66ec88fSEmmanuel Vadot sata SATA Tegra30/124/210 225c66ec88fSEmmanuel Vadot sor Display interfaces Tegra124/210 226c66ec88fSEmmanuel Vadot ve2 Video Encode Engine 2 Tegra210 227c66ec88fSEmmanuel Vadot venc Video Encode Engine All 228c66ec88fSEmmanuel Vadot vdec Video Decode Engine Tegra20/30/114/124 229c66ec88fSEmmanuel Vadot vic Video Imaging Compositor Tegra124/210 230c66ec88fSEmmanuel Vadot xusba USB Partition A Tegra114/124/210 231c66ec88fSEmmanuel Vadot xusbb USB Partition B Tegra114/124/210 232c66ec88fSEmmanuel Vadot xusbc USB Partition C Tegra114/124/210 233c66ec88fSEmmanuel Vadot 234c66ec88fSEmmanuel Vadot patternProperties: 235c66ec88fSEmmanuel Vadot "^[a-z0-9]+$": 236c66ec88fSEmmanuel Vadot type: object 237*fac71e4eSEmmanuel Vadot additionalProperties: false 238c66ec88fSEmmanuel Vadot 239b97ee269SEmmanuel Vadot properties: 240c66ec88fSEmmanuel Vadot clocks: 241c66ec88fSEmmanuel Vadot minItems: 1 242c66ec88fSEmmanuel Vadot maxItems: 8 243c66ec88fSEmmanuel Vadot description: 244c66ec88fSEmmanuel Vadot Must contain an entry for each clock required by the PMC 245c66ec88fSEmmanuel Vadot for controlling a power-gate. 246c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt document for more details. 247c66ec88fSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot resets: 249c66ec88fSEmmanuel Vadot minItems: 1 250c66ec88fSEmmanuel Vadot maxItems: 8 251c66ec88fSEmmanuel Vadot description: 252c66ec88fSEmmanuel Vadot Must contain an entry for each reset required by the PMC 253c66ec88fSEmmanuel Vadot for controlling a power-gate. 254c66ec88fSEmmanuel Vadot See ../reset/reset.txt for more details. 255c66ec88fSEmmanuel Vadot 256*fac71e4eSEmmanuel Vadot power-domains: 257*fac71e4eSEmmanuel Vadot maxItems: 1 258*fac71e4eSEmmanuel Vadot 259c66ec88fSEmmanuel Vadot '#power-domain-cells': 260c66ec88fSEmmanuel Vadot const: 0 261c66ec88fSEmmanuel Vadot description: Must be 0. 262c66ec88fSEmmanuel Vadot 263c66ec88fSEmmanuel Vadot required: 264c66ec88fSEmmanuel Vadot - clocks 265c66ec88fSEmmanuel Vadot - resets 266c66ec88fSEmmanuel Vadot - '#power-domain-cells' 267c66ec88fSEmmanuel Vadot 268c66ec88fSEmmanuel Vadot additionalProperties: false 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel VadotpatternProperties: 271c66ec88fSEmmanuel Vadot "^[a-f0-9]+-[a-f0-9]+$": 272c66ec88fSEmmanuel Vadot type: object 273c66ec88fSEmmanuel Vadot description: 274c66ec88fSEmmanuel Vadot This is a Pad configuration node. On Tegra SOCs a pad is a set of 275c66ec88fSEmmanuel Vadot pins which are configured as a group. The pin grouping is a fixed 276c66ec88fSEmmanuel Vadot attribute of the hardware. The PMC can be used to set pad power state 277c66ec88fSEmmanuel Vadot and signaling voltage. A pad can be either in active or power down mode. 278c66ec88fSEmmanuel Vadot The support for power state and signaling voltage configuration varies 279c66ec88fSEmmanuel Vadot depending on the pad in question. 3.3V and 1.8V signaling voltages 280c66ec88fSEmmanuel Vadot are supported on pins where software controllable signaling voltage 281c66ec88fSEmmanuel Vadot switching is available. 282c66ec88fSEmmanuel Vadot 283c66ec88fSEmmanuel Vadot The pad configuration state nodes are placed under the pmc node and they 284c66ec88fSEmmanuel Vadot are referred to by the pinctrl client properties. For more information 285c66ec88fSEmmanuel Vadot see Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt. 286c66ec88fSEmmanuel Vadot The pad name should be used as the value of the pins property in pin 287c66ec88fSEmmanuel Vadot configuration nodes. 288c66ec88fSEmmanuel Vadot 289c66ec88fSEmmanuel Vadot The following pads are present on Tegra124 and Tegra132 290c66ec88fSEmmanuel Vadot audio, bb, cam, comp, csia, csb, cse, dsi, dsib, dsic, dsid, hdmi, hsic, 291c66ec88fSEmmanuel Vadot hv, lvds, mipi-bias, nand, pex-bias, pex-clk1, pex-clk2, pex-cntrl, 292c66ec88fSEmmanuel Vadot sdmmc1, sdmmc3, sdmmc4, sys_ddc, uart, usb0, usb1, usb2, usb_bias. 293c66ec88fSEmmanuel Vadot 294c66ec88fSEmmanuel Vadot The following pads are present on Tegra210 295c66ec88fSEmmanuel Vadot audio, audio-hv, cam, csia, csib, csic, csid, csie, csif, dbg, 296c66ec88fSEmmanuel Vadot debug-nonao, dmic, dp, dsi, dsib, dsic, dsid, emmc, emmc2, gpio, hdmi, 297c66ec88fSEmmanuel Vadot hsic, lvds, mipi-bias, pex-bias, pex-clk1, pex-clk2, pex-cntrl, sdmmc1, 298c66ec88fSEmmanuel Vadot sdmmc3, spi, spi-hv, uart, usb0, usb1, usb2, usb3, usb-bias. 299c66ec88fSEmmanuel Vadot 300c66ec88fSEmmanuel Vadot properties: 301c66ec88fSEmmanuel Vadot pins: 302c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 303c66ec88fSEmmanuel Vadot description: Must contain name of the pad(s) to be configured. 304c66ec88fSEmmanuel Vadot 305c66ec88fSEmmanuel Vadot low-power-enable: 306c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 307c66ec88fSEmmanuel Vadot description: Configure the pad into power down mode. 308c66ec88fSEmmanuel Vadot 309c66ec88fSEmmanuel Vadot low-power-disable: 310c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 311c66ec88fSEmmanuel Vadot description: Configure the pad into active mode. 312c66ec88fSEmmanuel Vadot 313c66ec88fSEmmanuel Vadot power-source: 314c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 315c66ec88fSEmmanuel Vadot description: 316c66ec88fSEmmanuel Vadot Must contain either TEGRA_IO_PAD_VOLTAGE_1V8 or 317c66ec88fSEmmanuel Vadot TEGRA_IO_PAD_VOLTAGE_3V3 to select between signaling voltages. 318c66ec88fSEmmanuel Vadot The values are defined in 319c66ec88fSEmmanuel Vadot include/dt-bindings/pinctrl/pinctrl-tegra-io-pad.h. 320c66ec88fSEmmanuel Vadot Power state can be configured on all Tegra124 and Tegra132 321c66ec88fSEmmanuel Vadot pads. None of the Tegra124 or Tegra132 pads support signaling 322c66ec88fSEmmanuel Vadot voltage switching. 323c66ec88fSEmmanuel Vadot All of the listed Tegra210 pads except pex-cntrl support power 324c66ec88fSEmmanuel Vadot state configuration. Signaling voltage switching is supported 325c66ec88fSEmmanuel Vadot on below Tegra210 pads. 326c66ec88fSEmmanuel Vadot audio, audio-hv, cam, dbg, dmic, gpio, pex-cntrl, sdmmc1, 327c66ec88fSEmmanuel Vadot sdmmc3, spi, spi-hv, and uart. 328c66ec88fSEmmanuel Vadot 329c66ec88fSEmmanuel Vadot required: 330c66ec88fSEmmanuel Vadot - pins 331c66ec88fSEmmanuel Vadot 332c66ec88fSEmmanuel Vadot additionalProperties: false 333c66ec88fSEmmanuel Vadot 334c66ec88fSEmmanuel Vadotrequired: 335c66ec88fSEmmanuel Vadot - compatible 336c66ec88fSEmmanuel Vadot - reg 337c66ec88fSEmmanuel Vadot - clock-names 338c66ec88fSEmmanuel Vadot - clocks 339c66ec88fSEmmanuel Vadot - '#clock-cells' 340c66ec88fSEmmanuel Vadot 3416be33864SEmmanuel VadotadditionalProperties: false 3426be33864SEmmanuel Vadot 343c66ec88fSEmmanuel Vadotdependencies: 344c66ec88fSEmmanuel Vadot "nvidia,suspend-mode": ["nvidia,core-pwr-off-time", "nvidia,cpu-pwr-off-time"] 345c66ec88fSEmmanuel Vadot "nvidia,core-pwr-off-time": ["nvidia,core-pwr-good-time"] 346c66ec88fSEmmanuel Vadot "nvidia,cpu-pwr-off-time": ["nvidia,cpu-pwr-good-time"] 347c66ec88fSEmmanuel Vadot 348c66ec88fSEmmanuel Vadotexamples: 349c66ec88fSEmmanuel Vadot - | 350c66ec88fSEmmanuel Vadot 351c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/tegra210-car.h> 352c66ec88fSEmmanuel Vadot #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 353c66ec88fSEmmanuel Vadot #include <dt-bindings/soc/tegra-pmc.h> 354c66ec88fSEmmanuel Vadot 355c66ec88fSEmmanuel Vadot tegra_pmc: pmc@7000e400 { 356c66ec88fSEmmanuel Vadot compatible = "nvidia,tegra210-pmc"; 357c66ec88fSEmmanuel Vadot reg = <0x7000e400 0x400>; 3585956d97fSEmmanuel Vadot core-supply = <®ulator>; 359c66ec88fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; 360c66ec88fSEmmanuel Vadot clock-names = "pclk", "clk32k_in"; 361c66ec88fSEmmanuel Vadot #clock-cells = <1>; 362c66ec88fSEmmanuel Vadot 363c66ec88fSEmmanuel Vadot nvidia,invert-interrupt; 364c66ec88fSEmmanuel Vadot nvidia,suspend-mode = <0>; 365c66ec88fSEmmanuel Vadot nvidia,cpu-pwr-good-time = <0>; 366c66ec88fSEmmanuel Vadot nvidia,cpu-pwr-off-time = <0>; 367c66ec88fSEmmanuel Vadot nvidia,core-pwr-good-time = <4587 3876>; 368c66ec88fSEmmanuel Vadot nvidia,core-pwr-off-time = <39065>; 369c66ec88fSEmmanuel Vadot nvidia,core-power-req-active-high; 370c66ec88fSEmmanuel Vadot nvidia,sys-clock-req-active-high; 371c66ec88fSEmmanuel Vadot 3725956d97fSEmmanuel Vadot pd_core: core-domain { 3735956d97fSEmmanuel Vadot operating-points-v2 = <&core_opp_table>; 3745956d97fSEmmanuel Vadot #power-domain-cells = <0>; 3755956d97fSEmmanuel Vadot }; 3765956d97fSEmmanuel Vadot 377c66ec88fSEmmanuel Vadot powergates { 378c66ec88fSEmmanuel Vadot pd_audio: aud { 379c66ec88fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_APE>, 380c66ec88fSEmmanuel Vadot <&tegra_car TEGRA210_CLK_APB2APE>; 381c66ec88fSEmmanuel Vadot resets = <&tegra_car 198>; 3825956d97fSEmmanuel Vadot power-domains = <&pd_core>; 383c66ec88fSEmmanuel Vadot #power-domain-cells = <0>; 384c66ec88fSEmmanuel Vadot }; 385c66ec88fSEmmanuel Vadot 386c66ec88fSEmmanuel Vadot pd_xusbss: xusba { 387c66ec88fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>; 388c66ec88fSEmmanuel Vadot resets = <&tegra_car TEGRA210_CLK_XUSB_SS>; 3895956d97fSEmmanuel Vadot power-domains = <&pd_core>; 390c66ec88fSEmmanuel Vadot #power-domain-cells = <0>; 391c66ec88fSEmmanuel Vadot }; 392c66ec88fSEmmanuel Vadot }; 393c66ec88fSEmmanuel Vadot }; 394