1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 2*5956d97fSEmmanuel Vadot%YAML 1.2 3*5956d97fSEmmanuel Vadot--- 4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/nvidia,tegra20-car.yaml# 5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5956d97fSEmmanuel Vadot 7*5956d97fSEmmanuel Vadottitle: NVIDIA Tegra Clock and Reset Controller 8*5956d97fSEmmanuel Vadot 9*5956d97fSEmmanuel Vadotmaintainers: 10*5956d97fSEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 11*5956d97fSEmmanuel Vadot - Thierry Reding <thierry.reding@gmail.com> 12*5956d97fSEmmanuel Vadot 13*5956d97fSEmmanuel Vadotdescription: | 14*5956d97fSEmmanuel Vadot The Clock and Reset (CAR) is the HW module responsible for muxing and gating 15*5956d97fSEmmanuel Vadot Tegra's clocks, and setting their rates. It comprises CLKGEN and RSTGEN units. 16*5956d97fSEmmanuel Vadot 17*5956d97fSEmmanuel Vadot CLKGEN provides the registers to program the PLLs. It controls most of 18*5956d97fSEmmanuel Vadot the clock source programming and most of the clock dividers. 19*5956d97fSEmmanuel Vadot 20*5956d97fSEmmanuel Vadot CLKGEN input signals include the external clock for the reference frequency 21*5956d97fSEmmanuel Vadot (12 MHz, 26 MHz) and the external clock for the Real Time Clock (32.768 KHz). 22*5956d97fSEmmanuel Vadot 23*5956d97fSEmmanuel Vadot Outputs from CLKGEN are inputs clock of the h/w blocks in the Tegra system. 24*5956d97fSEmmanuel Vadot 25*5956d97fSEmmanuel Vadot RSTGEN provides the registers needed to control resetting of each block in 26*5956d97fSEmmanuel Vadot the Tegra system. 27*5956d97fSEmmanuel Vadot 28*5956d97fSEmmanuel Vadotproperties: 29*5956d97fSEmmanuel Vadot compatible: 30*5956d97fSEmmanuel Vadot enum: 31*5956d97fSEmmanuel Vadot - nvidia,tegra20-car 32*5956d97fSEmmanuel Vadot - nvidia,tegra30-car 33*5956d97fSEmmanuel Vadot - nvidia,tegra114-car 34*5956d97fSEmmanuel Vadot - nvidia,tegra210-car 35*5956d97fSEmmanuel Vadot 36*5956d97fSEmmanuel Vadot reg: 37*5956d97fSEmmanuel Vadot maxItems: 1 38*5956d97fSEmmanuel Vadot 39*5956d97fSEmmanuel Vadot '#clock-cells': 40*5956d97fSEmmanuel Vadot const: 1 41*5956d97fSEmmanuel Vadot 42*5956d97fSEmmanuel Vadot "#reset-cells": 43*5956d97fSEmmanuel Vadot const: 1 44*5956d97fSEmmanuel Vadot 45*5956d97fSEmmanuel Vadotrequired: 46*5956d97fSEmmanuel Vadot - compatible 47*5956d97fSEmmanuel Vadot - reg 48*5956d97fSEmmanuel Vadot - '#clock-cells' 49*5956d97fSEmmanuel Vadot - "#reset-cells" 50*5956d97fSEmmanuel Vadot 51*5956d97fSEmmanuel VadotadditionalProperties: false 52*5956d97fSEmmanuel Vadot 53*5956d97fSEmmanuel Vadotexamples: 54*5956d97fSEmmanuel Vadot - | 55*5956d97fSEmmanuel Vadot #include <dt-bindings/clock/tegra20-car.h> 56*5956d97fSEmmanuel Vadot 57*5956d97fSEmmanuel Vadot car: clock-controller@60006000 { 58*5956d97fSEmmanuel Vadot compatible = "nvidia,tegra20-car"; 59*5956d97fSEmmanuel Vadot reg = <0x60006000 0x1000>; 60*5956d97fSEmmanuel Vadot #clock-cells = <1>; 61*5956d97fSEmmanuel Vadot #reset-cells = <1>; 62*5956d97fSEmmanuel Vadot }; 63*5956d97fSEmmanuel Vadot 64*5956d97fSEmmanuel Vadot usb-controller@c5004000 { 65*5956d97fSEmmanuel Vadot compatible = "nvidia,tegra20-ehci"; 66*5956d97fSEmmanuel Vadot reg = <0xc5004000 0x4000>; 67*5956d97fSEmmanuel Vadot clocks = <&car TEGRA20_CLK_USB2>; 68*5956d97fSEmmanuel Vadot resets = <&car TEGRA20_CLK_USB2>; 69*5956d97fSEmmanuel Vadot }; 70