1# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/clock/nvidia,tegra20-car.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NVIDIA Tegra Clock and Reset Controller 8 9maintainers: 10 - Jon Hunter <jonathanh@nvidia.com> 11 - Thierry Reding <thierry.reding@gmail.com> 12 13description: | 14 The Clock and Reset (CAR) is the HW module responsible for muxing and gating 15 Tegra's clocks, and setting their rates. It comprises CLKGEN and RSTGEN units. 16 17 CLKGEN provides the registers to program the PLLs. It controls most of 18 the clock source programming and most of the clock dividers. 19 20 CLKGEN input signals include the external clock for the reference frequency 21 (12 MHz, 26 MHz) and the external clock for the Real Time Clock (32.768 KHz). 22 23 Outputs from CLKGEN are inputs clock of the h/w blocks in the Tegra system. 24 25 RSTGEN provides the registers needed to control resetting of each block in 26 the Tegra system. 27 28properties: 29 compatible: 30 enum: 31 - nvidia,tegra20-car 32 - nvidia,tegra30-car 33 - nvidia,tegra114-car 34 - nvidia,tegra210-car 35 36 reg: 37 maxItems: 1 38 39 '#clock-cells': 40 const: 1 41 42 "#reset-cells": 43 const: 1 44 45patternProperties: 46 "^(sclk)|(pll-[cem])$": 47 type: object 48 properties: 49 compatible: 50 enum: 51 - nvidia,tegra20-sclk 52 - nvidia,tegra30-sclk 53 - nvidia,tegra30-pllc 54 - nvidia,tegra30-plle 55 - nvidia,tegra30-pllm 56 57 operating-points-v2: true 58 59 clocks: 60 items: 61 - description: node's clock 62 63 power-domains: 64 maxItems: 1 65 description: phandle to the core SoC power domain 66 67 required: 68 - compatible 69 - operating-points-v2 70 - clocks 71 - power-domains 72 73 additionalProperties: false 74 75required: 76 - compatible 77 - reg 78 - '#clock-cells' 79 - "#reset-cells" 80 81additionalProperties: false 82 83examples: 84 - | 85 #include <dt-bindings/clock/tegra20-car.h> 86 87 car: clock-controller@60006000 { 88 compatible = "nvidia,tegra20-car"; 89 reg = <0x60006000 0x1000>; 90 #clock-cells = <1>; 91 #reset-cells = <1>; 92 93 sclk { 94 compatible = "nvidia,tegra20-sclk"; 95 operating-points-v2 = <&opp_table>; 96 clocks = <&tegra_car TEGRA20_CLK_SCLK>; 97 power-domains = <&domain>; 98 }; 99 }; 100 101 usb-controller@c5004000 { 102 compatible = "nvidia,tegra20-ehci"; 103 reg = <0xc5004000 0x4000>; 104 clocks = <&car TEGRA20_CLK_USB2>; 105 resets = <&car TEGRA20_CLK_USB2>; 106 }; 107