# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/nvidia,tegra20-car.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVIDIA Tegra Clock and Reset Controller

maintainers:
  - Jon Hunter <jonathanh@nvidia.com>
  - Thierry Reding <thierry.reding@gmail.com>

description: |
  The Clock and Reset (CAR) is the HW module responsible for muxing and gating
  Tegra's clocks, and setting their rates. It comprises CLKGEN and RSTGEN units.

  CLKGEN provides the registers to program the PLLs. It controls most of
  the clock source programming and most of the clock dividers.

  CLKGEN input signals include the external clock for the reference frequency
  (12 MHz, 26 MHz) and the external clock for the Real Time Clock (32.768 KHz).

  Outputs from CLKGEN are inputs clock of the h/w blocks in the Tegra system.

  RSTGEN provides the registers needed to control resetting of each block in
  the Tegra system.

properties:
  compatible:
    enum:
      - nvidia,tegra20-car
      - nvidia,tegra30-car
      - nvidia,tegra114-car
      - nvidia,tegra210-car

  reg:
    maxItems: 1

  '#clock-cells':
    const: 1

  "#reset-cells":
    const: 1

patternProperties:
  "^(sclk)|(pll-[cem])$":
    type: object
    properties:
      compatible:
        enum:
          - nvidia,tegra20-sclk
          - nvidia,tegra30-sclk
          - nvidia,tegra30-pllc
          - nvidia,tegra30-plle
          - nvidia,tegra30-pllm

      operating-points-v2: true

      clocks:
        items:
          - description: node's clock

      power-domains:
        maxItems: 1
        description: phandle to the core SoC power domain

    required:
      - compatible
      - operating-points-v2
      - clocks
      - power-domains

    additionalProperties: false

required:
  - compatible
  - reg
  - '#clock-cells'
  - "#reset-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/tegra20-car.h>

    car: clock-controller@60006000 {
        compatible = "nvidia,tegra20-car";
        reg = <0x60006000 0x1000>;
        #clock-cells = <1>;
        #reset-cells = <1>;

        sclk {
            compatible = "nvidia,tegra20-sclk";
            operating-points-v2 = <&opp_table>;
            clocks = <&tegra_car TEGRA20_CLK_SCLK>;
            power-domains = <&domain>;
        };
    };
