Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/clock/nvidia,tegra20-car.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: NVIDIA Tegra Clock and Reset Controller
0008 
0009 maintainers:
0010   - Jon Hunter <jonathanh@nvidia.com>
0011   - Thierry Reding <thierry.reding@gmail.com>
0012 
0013 description: |
0014   The Clock and Reset (CAR) is the HW module responsible for muxing and gating
0015   Tegra's clocks, and setting their rates. It comprises CLKGEN and RSTGEN units.
0016 
0017   CLKGEN provides the registers to program the PLLs. It controls most of
0018   the clock source programming and most of the clock dividers.
0019 
0020   CLKGEN input signals include the external clock for the reference frequency
0021   (12 MHz, 26 MHz) and the external clock for the Real Time Clock (32.768 KHz).
0022 
0023   Outputs from CLKGEN are inputs clock of the h/w blocks in the Tegra system.
0024 
0025   RSTGEN provides the registers needed to control resetting of each block in
0026   the Tegra system.
0027 
0028 properties:
0029   compatible:
0030     enum:
0031       - nvidia,tegra20-car
0032       - nvidia,tegra30-car
0033       - nvidia,tegra114-car
0034       - nvidia,tegra210-car
0035 
0036   reg:
0037     maxItems: 1
0038 
0039   '#clock-cells':
0040     const: 1
0041 
0042   "#reset-cells":
0043     const: 1
0044 
0045 patternProperties:
0046   "^(sclk)|(pll-[cem])$":
0047     type: object
0048     properties:
0049       compatible:
0050         enum:
0051           - nvidia,tegra20-sclk
0052           - nvidia,tegra30-sclk
0053           - nvidia,tegra30-pllc
0054           - nvidia,tegra30-plle
0055           - nvidia,tegra30-pllm
0056 
0057       operating-points-v2: true
0058 
0059       clocks:
0060         items:
0061           - description: node's clock
0062 
0063       power-domains:
0064         maxItems: 1
0065         description: phandle to the core SoC power domain
0066 
0067     required:
0068       - compatible
0069       - operating-points-v2
0070       - clocks
0071       - power-domains
0072 
0073     additionalProperties: false
0074 
0075 required:
0076   - compatible
0077   - reg
0078   - '#clock-cells'
0079   - "#reset-cells"
0080 
0081 additionalProperties: false
0082 
0083 examples:
0084   - |
0085     #include <dt-bindings/clock/tegra20-car.h>
0086 
0087     car: clock-controller@60006000 {
0088         compatible = "nvidia,tegra20-car";
0089         reg = <0x60006000 0x1000>;
0090         #clock-cells = <1>;
0091         #reset-cells = <1>;
0092 
0093         sclk {
0094             compatible = "nvidia,tegra20-sclk";
0095             operating-points-v2 = <&opp_table>;
0096             clocks = <&tegra_car TEGRA20_CLK_SCLK>;
0097             power-domains = <&domain>;
0098         };
0099     };