162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/arm/tegra/nvidia,tegra20-pmc.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Tegra Power Management Controller (PMC)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
1162306a36Sopenharmony_ci  - Jonathan Hunter <jonathanh@nvidia.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciproperties:
1462306a36Sopenharmony_ci  compatible:
1562306a36Sopenharmony_ci    enum:
1662306a36Sopenharmony_ci      - nvidia,tegra20-pmc
1762306a36Sopenharmony_ci      - nvidia,tegra30-pmc
1862306a36Sopenharmony_ci      - nvidia,tegra114-pmc
1962306a36Sopenharmony_ci      - nvidia,tegra124-pmc
2062306a36Sopenharmony_ci      - nvidia,tegra210-pmc
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  reg:
2362306a36Sopenharmony_ci    maxItems: 1
2462306a36Sopenharmony_ci    description:
2562306a36Sopenharmony_ci      Offset and length of the register set for the device.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  clock-names:
2862306a36Sopenharmony_ci    items:
2962306a36Sopenharmony_ci      - const: pclk
3062306a36Sopenharmony_ci      - const: clk32k_in
3162306a36Sopenharmony_ci    description:
3262306a36Sopenharmony_ci      Must includes entries pclk and clk32k_in.
3362306a36Sopenharmony_ci      pclk is the Tegra clock of that name and clk32k_in is 32KHz clock
3462306a36Sopenharmony_ci      input to Tegra.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  clocks:
3762306a36Sopenharmony_ci    maxItems: 2
3862306a36Sopenharmony_ci    description:
3962306a36Sopenharmony_ci      Must contain an entry for each entry in clock-names.
4062306a36Sopenharmony_ci      See ../clocks/clocks-bindings.txt for details.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  '#clock-cells':
4362306a36Sopenharmony_ci    const: 1
4462306a36Sopenharmony_ci    description:
4562306a36Sopenharmony_ci      Tegra PMC has clk_out_1, clk_out_2, and clk_out_3.
4662306a36Sopenharmony_ci      PMC also has blink control which allows 32Khz clock output to
4762306a36Sopenharmony_ci      Tegra blink pad.
4862306a36Sopenharmony_ci      Consumer of PMC clock should specify the desired clock by having
4962306a36Sopenharmony_ci      the clock ID in its "clocks" phandle cell with pmc clock provider.
5062306a36Sopenharmony_ci      See include/dt-bindings/soc/tegra-pmc.h for the list of Tegra PMC
5162306a36Sopenharmony_ci      clock IDs.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  '#interrupt-cells':
5462306a36Sopenharmony_ci    const: 2
5562306a36Sopenharmony_ci    description:
5662306a36Sopenharmony_ci      Specifies number of cells needed to encode an interrupt source.
5762306a36Sopenharmony_ci      The value must be 2.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  interrupt-controller: true
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci  nvidia,invert-interrupt:
6262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
6362306a36Sopenharmony_ci    description: Inverts the PMU interrupt signal.
6462306a36Sopenharmony_ci      The PMU is an external Power Management Unit, whose interrupt output
6562306a36Sopenharmony_ci      signal is fed into the PMC. This signal is optionally inverted, and
6662306a36Sopenharmony_ci      then fed into the ARM GIC. The PMC is not involved in the detection
6762306a36Sopenharmony_ci      or handling of this interrupt signal, merely its inversion.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci  nvidia,core-power-req-active-high:
7062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
7162306a36Sopenharmony_ci    description: Core power request active-high.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci  nvidia,sys-clock-req-active-high:
7462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
7562306a36Sopenharmony_ci    description: System clock request active-high.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci  nvidia,combined-power-req:
7862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
7962306a36Sopenharmony_ci    description: combined power request for CPU and Core.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci  nvidia,cpu-pwr-good-en:
8262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
8362306a36Sopenharmony_ci    description:
8462306a36Sopenharmony_ci      CPU power good signal from external PMIC to PMC is enabled.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci  nvidia,suspend-mode:
8762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
8862306a36Sopenharmony_ci    enum: [0, 1, 2]
8962306a36Sopenharmony_ci    description:
9062306a36Sopenharmony_ci      The suspend mode that the platform should use.
9162306a36Sopenharmony_ci      Mode 0 is for LP0, CPU + Core voltage off and DRAM in self-refresh
9262306a36Sopenharmony_ci      Mode 1 is for LP1, CPU voltage off and DRAM in self-refresh
9362306a36Sopenharmony_ci      Mode 2 is for LP2, CPU voltage off
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci  nvidia,cpu-pwr-good-time:
9662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
9762306a36Sopenharmony_ci    description: CPU power good time in uSec.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci  nvidia,cpu-pwr-off-time:
10062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
10162306a36Sopenharmony_ci    description: CPU power off time in uSec.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci  nvidia,core-pwr-good-time:
10462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
10562306a36Sopenharmony_ci    description:
10662306a36Sopenharmony_ci      <Oscillator-stable-time Power-stable-time>
10762306a36Sopenharmony_ci      Core power good time in uSec.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci  nvidia,core-pwr-off-time:
11062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
11162306a36Sopenharmony_ci    description: Core power off time in uSec.
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci  nvidia,lp0-vec:
11462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
11562306a36Sopenharmony_ci    description:
11662306a36Sopenharmony_ci      <start length> Starting address and length of LP0 vector.
11762306a36Sopenharmony_ci      The LP0 vector contains the warm boot code that is executed
11862306a36Sopenharmony_ci      by AVP when resuming from the LP0 state.
11962306a36Sopenharmony_ci      The AVP (Audio-Video Processor) is an ARM7 processor and
12062306a36Sopenharmony_ci      always being the first boot processor when chip is power on
12162306a36Sopenharmony_ci      or resume from deep sleep mode. When the system is resumed
12262306a36Sopenharmony_ci      from the deep sleep mode, the warm boot code will restore
12362306a36Sopenharmony_ci      some PLLs, clocks and then brings up CPU0 for resuming the
12462306a36Sopenharmony_ci      system.
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci  core-supply:
12762306a36Sopenharmony_ci    description:
12862306a36Sopenharmony_ci      Phandle to voltage regulator connected to the SoC Core power rail.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci  core-domain:
13162306a36Sopenharmony_ci    type: object
13262306a36Sopenharmony_ci    description: |
13362306a36Sopenharmony_ci      The vast majority of hardware blocks of Tegra SoC belong to a
13462306a36Sopenharmony_ci      Core power domain, which has a dedicated voltage rail that powers
13562306a36Sopenharmony_ci      the blocks.
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci    properties:
13862306a36Sopenharmony_ci      operating-points-v2:
13962306a36Sopenharmony_ci        description:
14062306a36Sopenharmony_ci          Should contain level, voltages and opp-supported-hw property.
14162306a36Sopenharmony_ci          The supported-hw is a bitfield indicating SoC speedo or process
14262306a36Sopenharmony_ci          ID mask.
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci      "#power-domain-cells":
14562306a36Sopenharmony_ci        const: 0
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci    required:
14862306a36Sopenharmony_ci      - operating-points-v2
14962306a36Sopenharmony_ci      - "#power-domain-cells"
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci    additionalProperties: false
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci  i2c-thermtrip:
15462306a36Sopenharmony_ci    type: object
15562306a36Sopenharmony_ci    description:
15662306a36Sopenharmony_ci      On Tegra30, Tegra114 and Tegra124 if i2c-thermtrip subnode exists,
15762306a36Sopenharmony_ci      hardware-triggered thermal reset will be enabled.
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci    properties:
16062306a36Sopenharmony_ci      nvidia,i2c-controller-id:
16162306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
16262306a36Sopenharmony_ci        description:
16362306a36Sopenharmony_ci          ID of I2C controller to send poweroff command to PMU.
16462306a36Sopenharmony_ci          Valid values are described in section 9.2.148
16562306a36Sopenharmony_ci          "APBDEV_PMC_SCRATCH53_0" of the Tegra K1 Technical Reference
16662306a36Sopenharmony_ci          Manual.
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci      nvidia,bus-addr:
16962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
17062306a36Sopenharmony_ci        description: Bus address of the PMU on the I2C bus.
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci      nvidia,reg-addr:
17362306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
17462306a36Sopenharmony_ci        description: PMU I2C register address to issue poweroff command.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci      nvidia,reg-data:
17762306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
17862306a36Sopenharmony_ci        description: Poweroff command to write to PMU.
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci      nvidia,pinmux-id:
18162306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
18262306a36Sopenharmony_ci        description:
18362306a36Sopenharmony_ci          Pinmux used by the hardware when issuing Poweroff command.
18462306a36Sopenharmony_ci          Defaults to 0. Valid values are described in section 12.5.2
18562306a36Sopenharmony_ci          "Pinmux Support" of the Tegra4 Technical Reference Manual.
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci    required:
18862306a36Sopenharmony_ci      - nvidia,i2c-controller-id
18962306a36Sopenharmony_ci      - nvidia,bus-addr
19062306a36Sopenharmony_ci      - nvidia,reg-addr
19162306a36Sopenharmony_ci      - nvidia,reg-data
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci    additionalProperties: false
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci  powergates:
19662306a36Sopenharmony_ci    type: object
19762306a36Sopenharmony_ci    description: |
19862306a36Sopenharmony_ci      This node contains a hierarchy of power domain nodes, which should
19962306a36Sopenharmony_ci      match the powergates on the Tegra SoC. Each powergate node
20062306a36Sopenharmony_ci      represents a power-domain on the Tegra SoC that can be power-gated
20162306a36Sopenharmony_ci      by the Tegra PMC.
20262306a36Sopenharmony_ci      Hardware blocks belonging to a power domain should contain
20362306a36Sopenharmony_ci      "power-domains" property that is a phandle pointing to corresponding
20462306a36Sopenharmony_ci      powergate node.
20562306a36Sopenharmony_ci      The name of the powergate node should be one of the below. Note that
20662306a36Sopenharmony_ci      not every powergate is applicable to all Tegra devices and the following
20762306a36Sopenharmony_ci      list shows which powergates are applicable to which devices.
20862306a36Sopenharmony_ci      Please refer to Tegra TRM for mode details on the powergate nodes to
20962306a36Sopenharmony_ci      use for each power-gate block inside Tegra.
21062306a36Sopenharmony_ci      Name		Description			            Devices Applicable
21162306a36Sopenharmony_ci      3d		  3D Graphics			            Tegra20/114/124/210
21262306a36Sopenharmony_ci      3d0		  3D Graphics 0		            Tegra30
21362306a36Sopenharmony_ci      3d1		  3D Graphics 1		            Tegra30
21462306a36Sopenharmony_ci      aud		  Audio				                Tegra210
21562306a36Sopenharmony_ci      dfd		  Debug				                Tegra210
21662306a36Sopenharmony_ci      dis		  Display A			              Tegra114/124/210
21762306a36Sopenharmony_ci      disb		Display B			              Tegra114/124/210
21862306a36Sopenharmony_ci      heg		  2D Graphics		            	Tegra30/114/124/210
21962306a36Sopenharmony_ci      iram		Internal RAM		            Tegra124/210
22062306a36Sopenharmony_ci      mpe		  MPEG Encode			            All
22162306a36Sopenharmony_ci      nvdec		NVIDIA Video Decode Engine	Tegra210
22262306a36Sopenharmony_ci      nvjpg		NVIDIA JPEG Engine		      Tegra210
22362306a36Sopenharmony_ci      pcie		PCIE				                Tegra20/30/124/210
22462306a36Sopenharmony_ci      sata		SATA				                Tegra30/124/210
22562306a36Sopenharmony_ci      sor		  Display interfaces       		Tegra124/210
22662306a36Sopenharmony_ci      ve2		  Video Encode Engine 2		    Tegra210
22762306a36Sopenharmony_ci      venc		Video Encode Engine		      All
22862306a36Sopenharmony_ci      vdec		Video Decode Engine		      Tegra20/30/114/124
22962306a36Sopenharmony_ci      vic		  Video Imaging Compositor	  Tegra124/210
23062306a36Sopenharmony_ci      xusba		USB Partition A			        Tegra114/124/210
23162306a36Sopenharmony_ci      xusbb		USB Partition B 		        Tegra114/124/210
23262306a36Sopenharmony_ci      xusbc		USB Partition C			        Tegra114/124/210
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci    patternProperties:
23562306a36Sopenharmony_ci      "^[a-z0-9]+$":
23662306a36Sopenharmony_ci        type: object
23762306a36Sopenharmony_ci        additionalProperties: false
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci        properties:
24062306a36Sopenharmony_ci          clocks:
24162306a36Sopenharmony_ci            minItems: 1
24262306a36Sopenharmony_ci            maxItems: 8
24362306a36Sopenharmony_ci            description:
24462306a36Sopenharmony_ci              Must contain an entry for each clock required by the PMC
24562306a36Sopenharmony_ci              for controlling a power-gate.
24662306a36Sopenharmony_ci              See ../clocks/clock-bindings.txt document for more details.
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci          resets:
24962306a36Sopenharmony_ci            minItems: 1
25062306a36Sopenharmony_ci            maxItems: 8
25162306a36Sopenharmony_ci            description:
25262306a36Sopenharmony_ci              Must contain an entry for each reset required by the PMC
25362306a36Sopenharmony_ci              for controlling a power-gate.
25462306a36Sopenharmony_ci              See ../reset/reset.txt for more details.
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci          power-domains:
25762306a36Sopenharmony_ci            maxItems: 1
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci          '#power-domain-cells':
26062306a36Sopenharmony_ci            const: 0
26162306a36Sopenharmony_ci            description: Must be 0.
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci        required:
26462306a36Sopenharmony_ci          - clocks
26562306a36Sopenharmony_ci          - resets
26662306a36Sopenharmony_ci          - '#power-domain-cells'
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci    additionalProperties: false
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_cipatternProperties:
27162306a36Sopenharmony_ci  "^[a-f0-9]+-[a-f0-9]+$":
27262306a36Sopenharmony_ci    type: object
27362306a36Sopenharmony_ci    description:
27462306a36Sopenharmony_ci      This is a Pad configuration node. On Tegra SOCs a pad is a set of
27562306a36Sopenharmony_ci      pins which are configured as a group. The pin grouping is a fixed
27662306a36Sopenharmony_ci      attribute of the hardware. The PMC can be used to set pad power state
27762306a36Sopenharmony_ci      and signaling voltage. A pad can be either in active or power down mode.
27862306a36Sopenharmony_ci      The support for power state and signaling voltage configuration varies
27962306a36Sopenharmony_ci      depending on the pad in question. 3.3V and 1.8V signaling voltages
28062306a36Sopenharmony_ci      are supported on pins where software controllable signaling voltage
28162306a36Sopenharmony_ci      switching is available.
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci      The pad configuration state nodes are placed under the pmc node and they
28462306a36Sopenharmony_ci      are referred to by the pinctrl client properties. For more information
28562306a36Sopenharmony_ci      see Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt.
28662306a36Sopenharmony_ci      The pad name should be used as the value of the pins property in pin
28762306a36Sopenharmony_ci      configuration nodes.
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci      The following pads are present on Tegra124 and Tegra132
29062306a36Sopenharmony_ci      audio, bb, cam, comp, csia, csb, cse, dsi, dsib, dsic, dsid, hdmi, hsic,
29162306a36Sopenharmony_ci      hv, lvds, mipi-bias, nand, pex-bias, pex-clk1, pex-clk2, pex-cntrl,
29262306a36Sopenharmony_ci      sdmmc1, sdmmc3, sdmmc4, sys_ddc, uart, usb0, usb1, usb2, usb_bias.
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci      The following pads are present on Tegra210
29562306a36Sopenharmony_ci      audio, audio-hv, cam, csia, csib, csic, csid, csie, csif, dbg,
29662306a36Sopenharmony_ci      debug-nonao, dmic, dp, dsi, dsib, dsic, dsid, emmc, emmc2, gpio, hdmi,
29762306a36Sopenharmony_ci      hsic, lvds, mipi-bias, pex-bias, pex-clk1, pex-clk2, pex-cntrl, sdmmc1,
29862306a36Sopenharmony_ci      sdmmc3, spi, spi-hv, uart, usb0, usb1, usb2, usb3, usb-bias.
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci    properties:
30162306a36Sopenharmony_ci      pins:
30262306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/string
30362306a36Sopenharmony_ci        description: Must contain name of the pad(s) to be configured.
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci      low-power-enable:
30662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/flag
30762306a36Sopenharmony_ci        description: Configure the pad into power down mode.
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci      low-power-disable:
31062306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/flag
31162306a36Sopenharmony_ci        description: Configure the pad into active mode.
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci      power-source:
31462306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
31562306a36Sopenharmony_ci        description:
31662306a36Sopenharmony_ci          Must contain either TEGRA_IO_PAD_VOLTAGE_1V8 or
31762306a36Sopenharmony_ci          TEGRA_IO_PAD_VOLTAGE_3V3 to select between signaling voltages.
31862306a36Sopenharmony_ci          The values are defined in
31962306a36Sopenharmony_ci          include/dt-bindings/pinctrl/pinctrl-tegra-io-pad.h.
32062306a36Sopenharmony_ci          Power state can be configured on all Tegra124 and Tegra132
32162306a36Sopenharmony_ci          pads. None of the Tegra124 or Tegra132 pads support signaling
32262306a36Sopenharmony_ci          voltage switching.
32362306a36Sopenharmony_ci          All of the listed Tegra210 pads except pex-cntrl support power
32462306a36Sopenharmony_ci          state configuration. Signaling voltage switching is supported
32562306a36Sopenharmony_ci          on below Tegra210 pads.
32662306a36Sopenharmony_ci          audio, audio-hv, cam, dbg, dmic, gpio, pex-cntrl, sdmmc1,
32762306a36Sopenharmony_ci          sdmmc3, spi, spi-hv, and uart.
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci    required:
33062306a36Sopenharmony_ci      - pins
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci    additionalProperties: false
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_cirequired:
33562306a36Sopenharmony_ci  - compatible
33662306a36Sopenharmony_ci  - reg
33762306a36Sopenharmony_ci  - clock-names
33862306a36Sopenharmony_ci  - clocks
33962306a36Sopenharmony_ci  - '#clock-cells'
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ciadditionalProperties: false
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_cidependencies:
34462306a36Sopenharmony_ci  "nvidia,suspend-mode": ["nvidia,core-pwr-off-time", "nvidia,cpu-pwr-off-time"]
34562306a36Sopenharmony_ci  "nvidia,core-pwr-off-time": ["nvidia,core-pwr-good-time"]
34662306a36Sopenharmony_ci  "nvidia,cpu-pwr-off-time": ["nvidia,cpu-pwr-good-time"]
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ciexamples:
34962306a36Sopenharmony_ci  - |
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ci    #include <dt-bindings/clock/tegra210-car.h>
35262306a36Sopenharmony_ci    #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
35362306a36Sopenharmony_ci    #include <dt-bindings/soc/tegra-pmc.h>
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci    tegra_pmc: pmc@7000e400 {
35662306a36Sopenharmony_ci              compatible = "nvidia,tegra210-pmc";
35762306a36Sopenharmony_ci              reg = <0x7000e400 0x400>;
35862306a36Sopenharmony_ci              core-supply = <&regulator>;
35962306a36Sopenharmony_ci              clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
36062306a36Sopenharmony_ci              clock-names = "pclk", "clk32k_in";
36162306a36Sopenharmony_ci              #clock-cells = <1>;
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ci              nvidia,invert-interrupt;
36462306a36Sopenharmony_ci              nvidia,suspend-mode = <0>;
36562306a36Sopenharmony_ci              nvidia,cpu-pwr-good-time = <0>;
36662306a36Sopenharmony_ci              nvidia,cpu-pwr-off-time = <0>;
36762306a36Sopenharmony_ci              nvidia,core-pwr-good-time = <4587 3876>;
36862306a36Sopenharmony_ci              nvidia,core-pwr-off-time = <39065>;
36962306a36Sopenharmony_ci              nvidia,core-power-req-active-high;
37062306a36Sopenharmony_ci              nvidia,sys-clock-req-active-high;
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci              pd_core: core-domain {
37362306a36Sopenharmony_ci                      operating-points-v2 = <&core_opp_table>;
37462306a36Sopenharmony_ci                      #power-domain-cells = <0>;
37562306a36Sopenharmony_ci              };
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci              powergates {
37862306a36Sopenharmony_ci                    pd_audio: aud {
37962306a36Sopenharmony_ci                            clocks = <&tegra_car TEGRA210_CLK_APE>,
38062306a36Sopenharmony_ci                                     <&tegra_car TEGRA210_CLK_APB2APE>;
38162306a36Sopenharmony_ci                            resets = <&tegra_car 198>;
38262306a36Sopenharmony_ci                            power-domains = <&pd_core>;
38362306a36Sopenharmony_ci                            #power-domain-cells = <0>;
38462306a36Sopenharmony_ci                    };
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci                    pd_xusbss: xusba {
38762306a36Sopenharmony_ci                            clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
38862306a36Sopenharmony_ci                            resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
38962306a36Sopenharmony_ci                            power-domains = <&pd_core>;
39062306a36Sopenharmony_ci                            #power-domain-cells = <0>;
39162306a36Sopenharmony_ci                    };
39262306a36Sopenharmony_ci              };
39362306a36Sopenharmony_ci    };
394