184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 284943d6fSEmmanuel Vadot%YAML 1.2 384943d6fSEmmanuel Vadot--- 484943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/tegra/nvidia,tegra20-pmc.yaml# 584943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 684943d6fSEmmanuel Vadot 784943d6fSEmmanuel Vadottitle: Tegra Power Management Controller (PMC) 884943d6fSEmmanuel Vadot 984943d6fSEmmanuel Vadotmaintainers: 1084943d6fSEmmanuel Vadot - Thierry Reding <thierry.reding@gmail.com> 1184943d6fSEmmanuel Vadot - Jonathan Hunter <jonathanh@nvidia.com> 1284943d6fSEmmanuel Vadot 1384943d6fSEmmanuel Vadotproperties: 1484943d6fSEmmanuel Vadot compatible: 1584943d6fSEmmanuel Vadot enum: 1684943d6fSEmmanuel Vadot - nvidia,tegra20-pmc 1784943d6fSEmmanuel Vadot - nvidia,tegra30-pmc 1884943d6fSEmmanuel Vadot - nvidia,tegra114-pmc 1984943d6fSEmmanuel Vadot - nvidia,tegra124-pmc 2084943d6fSEmmanuel Vadot - nvidia,tegra210-pmc 2184943d6fSEmmanuel Vadot 2284943d6fSEmmanuel Vadot reg: 2384943d6fSEmmanuel Vadot maxItems: 1 2484943d6fSEmmanuel Vadot 2584943d6fSEmmanuel Vadot clock-names: 2684943d6fSEmmanuel Vadot items: 2784943d6fSEmmanuel Vadot # Tegra clock of the same name 2884943d6fSEmmanuel Vadot - const: pclk 2984943d6fSEmmanuel Vadot # 32 KHz clock input 3084943d6fSEmmanuel Vadot - const: clk32k_in 3184943d6fSEmmanuel Vadot 3284943d6fSEmmanuel Vadot clocks: 3384943d6fSEmmanuel Vadot maxItems: 2 3484943d6fSEmmanuel Vadot 3584943d6fSEmmanuel Vadot '#clock-cells': 3684943d6fSEmmanuel Vadot const: 1 3784943d6fSEmmanuel Vadot description: | 3884943d6fSEmmanuel Vadot Tegra PMC has clk_out_1, clk_out_2, and clk_out_3. PMC also has blink 3984943d6fSEmmanuel Vadot control which allows 32Khz clock output to Tegra blink pad. 4084943d6fSEmmanuel Vadot 4184943d6fSEmmanuel Vadot Consumer of PMC clock should specify the desired clock by having the 4284943d6fSEmmanuel Vadot clock ID in its "clocks" phandle cell with PMC clock provider. See 4384943d6fSEmmanuel Vadot include/dt-bindings/soc/tegra-pmc.h for the list of Tegra PMC clock IDs. 4484943d6fSEmmanuel Vadot 4584943d6fSEmmanuel Vadot '#interrupt-cells': 4684943d6fSEmmanuel Vadot const: 2 4784943d6fSEmmanuel Vadot description: Specifies number of cells needed to encode an interrupt 4884943d6fSEmmanuel Vadot source. 4984943d6fSEmmanuel Vadot 5084943d6fSEmmanuel Vadot interrupt-controller: true 5184943d6fSEmmanuel Vadot 5284943d6fSEmmanuel Vadot nvidia,invert-interrupt: 5384943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 5484943d6fSEmmanuel Vadot description: Inverts the PMU interrupt signal. The PMU is an external Power 5584943d6fSEmmanuel Vadot Management Unit, whose interrupt output signal is fed into the PMC. This 5684943d6fSEmmanuel Vadot signal is optionally inverted, and then fed into the ARM GIC. The PMC is 5784943d6fSEmmanuel Vadot not involved in the detection or handling of this interrupt signal, 5884943d6fSEmmanuel Vadot merely its inversion. 5984943d6fSEmmanuel Vadot 6084943d6fSEmmanuel Vadot nvidia,core-power-req-active-high: 6184943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 6284943d6fSEmmanuel Vadot description: core power request active-high 6384943d6fSEmmanuel Vadot 6484943d6fSEmmanuel Vadot nvidia,sys-clock-req-active-high: 6584943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 6684943d6fSEmmanuel Vadot description: system clock request active-high 6784943d6fSEmmanuel Vadot 6884943d6fSEmmanuel Vadot nvidia,combined-power-req: 6984943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 7084943d6fSEmmanuel Vadot description: combined power request for CPU and core 7184943d6fSEmmanuel Vadot 7284943d6fSEmmanuel Vadot nvidia,cpu-pwr-good-en: 7384943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 7484943d6fSEmmanuel Vadot description: CPU power good signal from external PMIC to PMC is enabled 7584943d6fSEmmanuel Vadot 7684943d6fSEmmanuel Vadot nvidia,suspend-mode: 7784943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 7884943d6fSEmmanuel Vadot description: the suspend mode that the platform should use 7984943d6fSEmmanuel Vadot oneOf: 8084943d6fSEmmanuel Vadot - description: LP0, CPU + Core voltage off and DRAM in self-refresh 8184943d6fSEmmanuel Vadot const: 0 8284943d6fSEmmanuel Vadot - description: LP1, CPU voltage off and DRAM in self-refresh 8384943d6fSEmmanuel Vadot const: 1 8484943d6fSEmmanuel Vadot - description: LP2, CPU voltage off 8584943d6fSEmmanuel Vadot const: 2 8684943d6fSEmmanuel Vadot 8784943d6fSEmmanuel Vadot nvidia,cpu-pwr-good-time: 8884943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 8984943d6fSEmmanuel Vadot description: CPU power good time in microseconds 9084943d6fSEmmanuel Vadot 9184943d6fSEmmanuel Vadot nvidia,cpu-pwr-off-time: 9284943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 9384943d6fSEmmanuel Vadot description: CPU power off time in microseconds 9484943d6fSEmmanuel Vadot 9584943d6fSEmmanuel Vadot nvidia,core-pwr-good-time: 9684943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 9784943d6fSEmmanuel Vadot description: core power good time in microseconds 9884943d6fSEmmanuel Vadot items: 9984943d6fSEmmanuel Vadot - description: oscillator stable time 10084943d6fSEmmanuel Vadot - description: power stable time 10184943d6fSEmmanuel Vadot 10284943d6fSEmmanuel Vadot nvidia,core-pwr-off-time: 10384943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 10484943d6fSEmmanuel Vadot description: core power off time in microseconds 10584943d6fSEmmanuel Vadot 10684943d6fSEmmanuel Vadot nvidia,lp0-vec: 10784943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 10884943d6fSEmmanuel Vadot description: | 10984943d6fSEmmanuel Vadot Starting address and length of LP0 vector. The LP0 vector contains the 11084943d6fSEmmanuel Vadot warm boot code that is executed by AVP when resuming from the LP0 state. 11184943d6fSEmmanuel Vadot The AVP (Audio-Video Processor) is an ARM7 processor and always being 11284943d6fSEmmanuel Vadot the first boot processor when chip is power on or resume from deep sleep 11384943d6fSEmmanuel Vadot mode. When the system is resumed from the deep sleep mode, the warm boot 11484943d6fSEmmanuel Vadot code will restore some PLLs, clocks and then brings up CPU0 for resuming 11584943d6fSEmmanuel Vadot the system. 11684943d6fSEmmanuel Vadot items: 11784943d6fSEmmanuel Vadot - description: starting address of LP0 vector 11884943d6fSEmmanuel Vadot - description: length of LP0 vector 11984943d6fSEmmanuel Vadot 12084943d6fSEmmanuel Vadot core-supply: 12184943d6fSEmmanuel Vadot description: phandle to voltage regulator connected to the SoC core power 12284943d6fSEmmanuel Vadot rail 12384943d6fSEmmanuel Vadot 12484943d6fSEmmanuel Vadot core-domain: 12584943d6fSEmmanuel Vadot type: object 12684943d6fSEmmanuel Vadot description: The vast majority of hardware blocks of Tegra SoC belong to a 12784943d6fSEmmanuel Vadot core power domain, which has a dedicated voltage rail that powers the 12884943d6fSEmmanuel Vadot blocks. 12984943d6fSEmmanuel Vadot additionalProperties: false 13084943d6fSEmmanuel Vadot properties: 13184943d6fSEmmanuel Vadot operating-points-v2: 13284943d6fSEmmanuel Vadot description: Should contain level, voltages and opp-supported-hw 13384943d6fSEmmanuel Vadot property. The supported-hw is a bitfield indicating SoC speedo or 13484943d6fSEmmanuel Vadot process ID mask. 13584943d6fSEmmanuel Vadot 13684943d6fSEmmanuel Vadot "#power-domain-cells": 13784943d6fSEmmanuel Vadot const: 0 13884943d6fSEmmanuel Vadot 13984943d6fSEmmanuel Vadot required: 14084943d6fSEmmanuel Vadot - operating-points-v2 14184943d6fSEmmanuel Vadot - "#power-domain-cells" 14284943d6fSEmmanuel Vadot 14384943d6fSEmmanuel Vadot i2c-thermtrip: 14484943d6fSEmmanuel Vadot type: object 14584943d6fSEmmanuel Vadot description: On Tegra30, Tegra114 and Tegra124 if i2c-thermtrip subnode 14684943d6fSEmmanuel Vadot exists, hardware-triggered thermal reset will be enabled. 14784943d6fSEmmanuel Vadot additionalProperties: false 14884943d6fSEmmanuel Vadot properties: 14984943d6fSEmmanuel Vadot nvidia,i2c-controller-id: 15084943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 15184943d6fSEmmanuel Vadot description: ID of I2C controller to send poweroff command to PMU. 15284943d6fSEmmanuel Vadot Valid values are described in section 9.2.148 "APBDEV_PMC_SCRATCH53_0" 15384943d6fSEmmanuel Vadot of the Tegra K1 Technical Reference Manual. 15484943d6fSEmmanuel Vadot 15584943d6fSEmmanuel Vadot nvidia,bus-addr: 15684943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 15784943d6fSEmmanuel Vadot description: bus address of the PMU on the I2C bus 15884943d6fSEmmanuel Vadot 15984943d6fSEmmanuel Vadot nvidia,reg-addr: 16084943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 16184943d6fSEmmanuel Vadot description: PMU I2C register address to issue poweroff command 16284943d6fSEmmanuel Vadot 16384943d6fSEmmanuel Vadot nvidia,reg-data: 16484943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 16584943d6fSEmmanuel Vadot description: power-off command to write to PMU 16684943d6fSEmmanuel Vadot 16784943d6fSEmmanuel Vadot nvidia,pinmux-id: 16884943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 16984943d6fSEmmanuel Vadot description: Pinmux used by the hardware when issuing power-off command. 17084943d6fSEmmanuel Vadot Defaults to 0. Valid values are described in section 12.5.2 "Pinmux 17184943d6fSEmmanuel Vadot Support" of the Tegra4 Technical Reference Manual. 17284943d6fSEmmanuel Vadot 17384943d6fSEmmanuel Vadot required: 17484943d6fSEmmanuel Vadot - nvidia,i2c-controller-id 17584943d6fSEmmanuel Vadot - nvidia,bus-addr 17684943d6fSEmmanuel Vadot - nvidia,reg-addr 17784943d6fSEmmanuel Vadot - nvidia,reg-data 17884943d6fSEmmanuel Vadot 17984943d6fSEmmanuel Vadot powergates: 18084943d6fSEmmanuel Vadot type: object 18184943d6fSEmmanuel Vadot additionalProperties: false 18284943d6fSEmmanuel Vadot description: | 18384943d6fSEmmanuel Vadot This node contains a hierarchy of power domain nodes, which should match 18484943d6fSEmmanuel Vadot the powergates on the Tegra SoC. Each powergate node represents a power- 18584943d6fSEmmanuel Vadot domain on the Tegra SoC that can be power-gated by the Tegra PMC. 18684943d6fSEmmanuel Vadot 18784943d6fSEmmanuel Vadot Hardware blocks belonging to a power domain should contain "power-domains" 18884943d6fSEmmanuel Vadot property that is a phandle pointing to corresponding powergate node. 18984943d6fSEmmanuel Vadot 19084943d6fSEmmanuel Vadot The name of the powergate node should be one of the below. Note that not 19184943d6fSEmmanuel Vadot every powergate is applicable to all Tegra devices and the following list 19284943d6fSEmmanuel Vadot shows which powergates are applicable to which devices. 19384943d6fSEmmanuel Vadot 19484943d6fSEmmanuel Vadot Please refer to Tegra TRM for mode details on the powergate nodes to use 19584943d6fSEmmanuel Vadot for each power-gate block inside Tegra. 19684943d6fSEmmanuel Vadot 19784943d6fSEmmanuel Vadot Name Description Devices Applicable 19884943d6fSEmmanuel Vadot -------------------------------------------------------------- 19984943d6fSEmmanuel Vadot 3d 3D Graphics Tegra20/114/124/210 20084943d6fSEmmanuel Vadot 3d0 3D Graphics 0 Tegra30 20184943d6fSEmmanuel Vadot 3d1 3D Graphics 1 Tegra30 20284943d6fSEmmanuel Vadot aud Audio Tegra210 20384943d6fSEmmanuel Vadot dfd Debug Tegra210 20484943d6fSEmmanuel Vadot dis Display A Tegra114/124/210 20584943d6fSEmmanuel Vadot disb Display B Tegra114/124/210 20684943d6fSEmmanuel Vadot heg 2D Graphics Tegra30/114/124/210 20784943d6fSEmmanuel Vadot iram Internal RAM Tegra124/210 20884943d6fSEmmanuel Vadot mpe MPEG Encode All 20984943d6fSEmmanuel Vadot nvdec NVIDIA Video Decode Engine Tegra210 21084943d6fSEmmanuel Vadot nvjpg NVIDIA JPEG Engine Tegra210 21184943d6fSEmmanuel Vadot pcie PCIE Tegra20/30/124/210 21284943d6fSEmmanuel Vadot sata SATA Tegra30/124/210 21384943d6fSEmmanuel Vadot sor Display interfaces Tegra124/210 21484943d6fSEmmanuel Vadot ve2 Video Encode Engine 2 Tegra210 21584943d6fSEmmanuel Vadot venc Video Encode Engine All 21684943d6fSEmmanuel Vadot vdec Video Decode Engine Tegra20/30/114/124 21784943d6fSEmmanuel Vadot vic Video Imaging Compositor Tegra124/210 21884943d6fSEmmanuel Vadot xusba USB Partition A Tegra114/124/210 21984943d6fSEmmanuel Vadot xusbb USB Partition B Tegra114/124/210 22084943d6fSEmmanuel Vadot xusbc USB Partition C Tegra114/124/210 22184943d6fSEmmanuel Vadot 22284943d6fSEmmanuel Vadot patternProperties: 22384943d6fSEmmanuel Vadot "^[a-z0-9]+$": 22484943d6fSEmmanuel Vadot type: object 22584943d6fSEmmanuel Vadot additionalProperties: false 22684943d6fSEmmanuel Vadot properties: 22784943d6fSEmmanuel Vadot clocks: 22884943d6fSEmmanuel Vadot minItems: 1 22984943d6fSEmmanuel Vadot maxItems: 10 23084943d6fSEmmanuel Vadot 23184943d6fSEmmanuel Vadot resets: 23284943d6fSEmmanuel Vadot minItems: 1 23384943d6fSEmmanuel Vadot maxItems: 8 23484943d6fSEmmanuel Vadot 23584943d6fSEmmanuel Vadot power-domains: 23684943d6fSEmmanuel Vadot maxItems: 1 23784943d6fSEmmanuel Vadot 23884943d6fSEmmanuel Vadot '#power-domain-cells': 23984943d6fSEmmanuel Vadot const: 0 24084943d6fSEmmanuel Vadot description: Must be 0. 24184943d6fSEmmanuel Vadot 24284943d6fSEmmanuel Vadot required: 24384943d6fSEmmanuel Vadot - clocks 24484943d6fSEmmanuel Vadot - resets 24584943d6fSEmmanuel Vadot - '#power-domain-cells' 24684943d6fSEmmanuel Vadot 24784943d6fSEmmanuel Vadot pinmux: 24884943d6fSEmmanuel Vadot type: object 24984943d6fSEmmanuel Vadot additionalProperties: 25084943d6fSEmmanuel Vadot type: object 25184943d6fSEmmanuel Vadot description: | 25284943d6fSEmmanuel Vadot This is a pad configuration node. On Tegra SoCs a pad is a set of pins 25384943d6fSEmmanuel Vadot which are configured as a group. The pin grouping is a fixed attribute 25484943d6fSEmmanuel Vadot of the hardware. The PMC can be used to set pad power state and 25584943d6fSEmmanuel Vadot signaling voltage. A pad can be either in active or power down mode. 25684943d6fSEmmanuel Vadot The support for power state and signaling voltage configuration varies 25784943d6fSEmmanuel Vadot depending on the pad in question. 3.3V and 1.8V signaling voltages are 25884943d6fSEmmanuel Vadot supported on pins where software controllable signaling voltage 25984943d6fSEmmanuel Vadot switching is available. 26084943d6fSEmmanuel Vadot 26184943d6fSEmmanuel Vadot The pad configuration state nodes are placed under the pmc node and 26284943d6fSEmmanuel Vadot they are referred to by the pinctrl client properties. For more 26384943d6fSEmmanuel Vadot information see: 26484943d6fSEmmanuel Vadot 26584943d6fSEmmanuel Vadot Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 26684943d6fSEmmanuel Vadot 26784943d6fSEmmanuel Vadot The pad name should be used as the value of the pins property in pin 26884943d6fSEmmanuel Vadot configuration nodes. 26984943d6fSEmmanuel Vadot 27084943d6fSEmmanuel Vadot The following pads are present on Tegra124 and Tegra132: 27184943d6fSEmmanuel Vadot 27284943d6fSEmmanuel Vadot audio, bb, cam, comp, csia, csb, cse, dsi, dsib, dsic, dsid, hdmi, 27384943d6fSEmmanuel Vadot hsic, hv, lvds, mipi-bias, nand, pex-bias, pex-clk1, pex-clk2, 27484943d6fSEmmanuel Vadot pex-cntrl, sdmmc1, sdmmc3, sdmmc4, sys_ddc, uart, usb0, usb1, usb2, 27584943d6fSEmmanuel Vadot usb_bias 27684943d6fSEmmanuel Vadot 27784943d6fSEmmanuel Vadot The following pads are present on Tegra210: 27884943d6fSEmmanuel Vadot 27984943d6fSEmmanuel Vadot audio, audio-hv, cam, csia, csib, csic, csid, csie, csif, dbg, 28084943d6fSEmmanuel Vadot debug-nonao, dmic, dp, dsi, dsib, dsic, dsid, emmc, emmc2, gpio, 28184943d6fSEmmanuel Vadot hdmi, hsic, lvds, mipi-bias, pex-bias, pex-clk1, pex-clk2, pex-cntrl, 28284943d6fSEmmanuel Vadot sdmmc1, sdmmc3, spi, spi-hv, uart, usb0, usb1, usb2, usb3, usb-bias 28384943d6fSEmmanuel Vadot additionalProperties: false 28484943d6fSEmmanuel Vadot properties: 28584943d6fSEmmanuel Vadot pins: 28684943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string-array 28784943d6fSEmmanuel Vadot description: Must contain name of the pad(s) to be configured. 28884943d6fSEmmanuel Vadot 28984943d6fSEmmanuel Vadot low-power-enable: 29084943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 29184943d6fSEmmanuel Vadot description: Configure the pad into power down mode. 29284943d6fSEmmanuel Vadot 29384943d6fSEmmanuel Vadot low-power-disable: 29484943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 29584943d6fSEmmanuel Vadot description: Configure the pad into active mode. 29684943d6fSEmmanuel Vadot 29784943d6fSEmmanuel Vadot power-source: 29884943d6fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 29984943d6fSEmmanuel Vadot description: | 30084943d6fSEmmanuel Vadot Must contain either TEGRA_IO_PAD_VOLTAGE_1V8 or 30184943d6fSEmmanuel Vadot TEGRA_IO_PAD_VOLTAGE_3V3 to select between signaling voltages. The 30284943d6fSEmmanuel Vadot values are defined in: 30384943d6fSEmmanuel Vadot 30484943d6fSEmmanuel Vadot include/dt-bindings/pinctrl/pinctrl-tegra-io-pad.h 30584943d6fSEmmanuel Vadot 30684943d6fSEmmanuel Vadot Power state can be configured on all Tegra124 and Tegra132 pads. 30784943d6fSEmmanuel Vadot None of the Tegra124 or Tegra132 pads support signaling voltage 30884943d6fSEmmanuel Vadot switching. All of the listed Tegra210 pads except pex-cntrl support 30984943d6fSEmmanuel Vadot power state configuration. Signaling voltage switching is supported 31084943d6fSEmmanuel Vadot on the following Tegra210 pads: 31184943d6fSEmmanuel Vadot 31284943d6fSEmmanuel Vadot audio, audio-hv, cam, dbg, dmic, gpio, pex-cntrl, sdmmc1, sdmmc3, 31384943d6fSEmmanuel Vadot spi, spi-hv, uart 31484943d6fSEmmanuel Vadot 31584943d6fSEmmanuel Vadot required: 31684943d6fSEmmanuel Vadot - pins 31784943d6fSEmmanuel Vadot 31884943d6fSEmmanuel Vadotrequired: 31984943d6fSEmmanuel Vadot - compatible 32084943d6fSEmmanuel Vadot - reg 32184943d6fSEmmanuel Vadot - clock-names 32284943d6fSEmmanuel Vadot - clocks 32384943d6fSEmmanuel Vadot - '#clock-cells' 32484943d6fSEmmanuel Vadot 32584943d6fSEmmanuel VadotallOf: 32684943d6fSEmmanuel Vadot - if: 32784943d6fSEmmanuel Vadot properties: 32884943d6fSEmmanuel Vadot compatible: 32984943d6fSEmmanuel Vadot contains: 33084943d6fSEmmanuel Vadot const: nvidia,tegra124-pmc 33184943d6fSEmmanuel Vadot then: 33284943d6fSEmmanuel Vadot properties: 33384943d6fSEmmanuel Vadot pinmux: 33484943d6fSEmmanuel Vadot additionalProperties: 33584943d6fSEmmanuel Vadot type: object 33684943d6fSEmmanuel Vadot properties: 33784943d6fSEmmanuel Vadot pins: 33884943d6fSEmmanuel Vadot items: 33984943d6fSEmmanuel Vadot enum: [ audio, bb, cam, comp, csia, csb, cse, dsi, dsib, 34084943d6fSEmmanuel Vadot dsic, dsid, hdmi, hsic, hv, lvds, mipi-bias, nand, 34184943d6fSEmmanuel Vadot pex-bias, pex-clk1, pex-clk2, pex-cntrl, sdmmc1, 34284943d6fSEmmanuel Vadot sdmmc3, sdmmc4, sys_ddc, uart, usb0, usb1, usb2, 34384943d6fSEmmanuel Vadot usb_bias ] 34484943d6fSEmmanuel Vadot 34584943d6fSEmmanuel Vadot - if: 34684943d6fSEmmanuel Vadot properties: 34784943d6fSEmmanuel Vadot compatible: 34884943d6fSEmmanuel Vadot contains: 34984943d6fSEmmanuel Vadot const: nvidia,tegra210-pmc 35084943d6fSEmmanuel Vadot then: 35184943d6fSEmmanuel Vadot properties: 35284943d6fSEmmanuel Vadot pinmux: 35384943d6fSEmmanuel Vadot additionalProperties: 35484943d6fSEmmanuel Vadot type: object 35584943d6fSEmmanuel Vadot properties: 35684943d6fSEmmanuel Vadot pins: 35784943d6fSEmmanuel Vadot items: 35884943d6fSEmmanuel Vadot enum: [ audio, audio-hv, cam, csia, csib, csic, csid, csie, 35984943d6fSEmmanuel Vadot csif, dbg, debug-nonao, dmic, dp, dsi, dsib, dsic, 36084943d6fSEmmanuel Vadot dsid, emmc, emmc2, gpio, hdmi, hsic, lvds, mipi-bias, 36184943d6fSEmmanuel Vadot pex-bias, pex-clk1, pex-clk2, pex-cntrl, sdmmc1, 36284943d6fSEmmanuel Vadot sdmmc3, spi, spi-hv, uart, usb0, usb1, usb2, usb3, 36384943d6fSEmmanuel Vadot usb-bias ] 36484943d6fSEmmanuel Vadot 36584943d6fSEmmanuel VadotadditionalProperties: false 36684943d6fSEmmanuel Vadot 36784943d6fSEmmanuel Vadotdependencies: 368*7d0873ebSEmmanuel Vadot nvidia,suspend-mode: ["nvidia,core-pwr-off-time", "nvidia,cpu-pwr-off-time"] 369*7d0873ebSEmmanuel Vadot nvidia,core-pwr-off-time: ["nvidia,core-pwr-good-time"] 370*7d0873ebSEmmanuel Vadot nvidia,cpu-pwr-off-time: ["nvidia,cpu-pwr-good-time"] 37184943d6fSEmmanuel Vadot 37284943d6fSEmmanuel Vadotexamples: 37384943d6fSEmmanuel Vadot - | 37484943d6fSEmmanuel Vadot #include <dt-bindings/clock/tegra210-car.h> 37584943d6fSEmmanuel Vadot #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 37684943d6fSEmmanuel Vadot #include <dt-bindings/soc/tegra-pmc.h> 37784943d6fSEmmanuel Vadot 37884943d6fSEmmanuel Vadot pmc@7000e400 { 37984943d6fSEmmanuel Vadot compatible = "nvidia,tegra210-pmc"; 38084943d6fSEmmanuel Vadot reg = <0x7000e400 0x400>; 38184943d6fSEmmanuel Vadot core-supply = <®ulator>; 38284943d6fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; 38384943d6fSEmmanuel Vadot clock-names = "pclk", "clk32k_in"; 38484943d6fSEmmanuel Vadot #clock-cells = <1>; 38584943d6fSEmmanuel Vadot 38684943d6fSEmmanuel Vadot nvidia,invert-interrupt; 38784943d6fSEmmanuel Vadot nvidia,suspend-mode = <0>; 38884943d6fSEmmanuel Vadot nvidia,cpu-pwr-good-time = <0>; 38984943d6fSEmmanuel Vadot nvidia,cpu-pwr-off-time = <0>; 39084943d6fSEmmanuel Vadot nvidia,core-pwr-good-time = <4587 3876>; 39184943d6fSEmmanuel Vadot nvidia,core-pwr-off-time = <39065>; 39284943d6fSEmmanuel Vadot nvidia,core-power-req-active-high; 39384943d6fSEmmanuel Vadot nvidia,sys-clock-req-active-high; 39484943d6fSEmmanuel Vadot 39584943d6fSEmmanuel Vadot pd_core: core-domain { 39684943d6fSEmmanuel Vadot operating-points-v2 = <&core_opp_table>; 39784943d6fSEmmanuel Vadot #power-domain-cells = <0>; 39884943d6fSEmmanuel Vadot }; 39984943d6fSEmmanuel Vadot 40084943d6fSEmmanuel Vadot powergates { 40184943d6fSEmmanuel Vadot pd_audio: aud { 40284943d6fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_APE>, 40384943d6fSEmmanuel Vadot <&tegra_car TEGRA210_CLK_APB2APE>; 40484943d6fSEmmanuel Vadot resets = <&tegra_car 198>; 40584943d6fSEmmanuel Vadot power-domains = <&pd_core>; 40684943d6fSEmmanuel Vadot #power-domain-cells = <0>; 40784943d6fSEmmanuel Vadot }; 40884943d6fSEmmanuel Vadot 40984943d6fSEmmanuel Vadot pd_xusbss: xusba { 41084943d6fSEmmanuel Vadot clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>; 41184943d6fSEmmanuel Vadot resets = <&tegra_car TEGRA210_CLK_XUSB_SS>; 41284943d6fSEmmanuel Vadot power-domains = <&pd_core>; 41384943d6fSEmmanuel Vadot #power-domain-cells = <0>; 41484943d6fSEmmanuel Vadot }; 41584943d6fSEmmanuel Vadot }; 41684943d6fSEmmanuel Vadot }; 417