| # 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>; | |
| }; | |
| }; |