135254680SRajan Vaja# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
235254680SRajan Vaja%YAML 1.2
335254680SRajan Vaja---
404dbd865SRob Herring$id: http://devicetree.org/schemas/clock/xlnx,versal-clk.yaml#
535254680SRajan Vaja$schema: http://devicetree.org/meta-schemas/core.yaml#
635254680SRajan Vaja
735254680SRajan Vajatitle: Xilinx Versal clock controller
835254680SRajan Vaja
935254680SRajan Vajamaintainers:
10d5c421d2SMichal Simek  - Michal Simek <michal.simek@amd.com>
1135254680SRajan Vaja
1235254680SRajan Vajadescription: |
1335254680SRajan Vaja  The clock controller is a hardware block of Xilinx versal clock tree. It
1435254680SRajan Vaja  reads required input clock frequencies from the devicetree and acts as clock
1535254680SRajan Vaja  provider for all clock consumers of PS clocks.
1635254680SRajan Vaja
1735254680SRajan Vajaproperties:
1835254680SRajan Vaja  compatible:
1964446fe0SShubhrajyoti Datta    oneOf:
20*03d4a100SShubhrajyoti Datta      - enum:
21*03d4a100SShubhrajyoti Datta          - xlnx,versal-clk
22*03d4a100SShubhrajyoti Datta          - xlnx,zynqmp-clk
2364446fe0SShubhrajyoti Datta      - items:
2464446fe0SShubhrajyoti Datta          - enum:
2564446fe0SShubhrajyoti Datta              - xlnx,versal-net-clk
2664446fe0SShubhrajyoti Datta          - const: xlnx,versal-clk
2735254680SRajan Vaja
2835254680SRajan Vaja  "#clock-cells":
2935254680SRajan Vaja    const: 1
3035254680SRajan Vaja
3135254680SRajan Vaja  clocks:
3235254680SRajan Vaja    description: List of clock specifiers which are external input
3335254680SRajan Vaja      clocks to the given clock controller.
34*03d4a100SShubhrajyoti Datta    minItems: 3
35*03d4a100SShubhrajyoti Datta    maxItems: 8
36*03d4a100SShubhrajyoti Datta
37*03d4a100SShubhrajyoti Datta  clock-names:
38*03d4a100SShubhrajyoti Datta    minItems: 3
39*03d4a100SShubhrajyoti Datta    maxItems: 8
40*03d4a100SShubhrajyoti Datta
41*03d4a100SShubhrajyoti Dattarequired:
42*03d4a100SShubhrajyoti Datta  - compatible
43*03d4a100SShubhrajyoti Datta  - "#clock-cells"
44*03d4a100SShubhrajyoti Datta  - clocks
45*03d4a100SShubhrajyoti Datta  - clock-names
46*03d4a100SShubhrajyoti Datta
47*03d4a100SShubhrajyoti DattaadditionalProperties: false
48*03d4a100SShubhrajyoti Datta
49*03d4a100SShubhrajyoti DattaallOf:
50*03d4a100SShubhrajyoti Datta  - if:
51*03d4a100SShubhrajyoti Datta      properties:
52*03d4a100SShubhrajyoti Datta        compatible:
53*03d4a100SShubhrajyoti Datta          contains:
54*03d4a100SShubhrajyoti Datta            enum:
55*03d4a100SShubhrajyoti Datta              - xlnx,versal-clk
56*03d4a100SShubhrajyoti Datta
57*03d4a100SShubhrajyoti Datta    then:
58*03d4a100SShubhrajyoti Datta      properties:
59*03d4a100SShubhrajyoti Datta        clocks:
6035254680SRajan Vaja          items:
6135254680SRajan Vaja            - description: reference clock
6235254680SRajan Vaja            - description: alternate reference clock
6335254680SRajan Vaja            - description: alternate reference clock for programmable logic
6435254680SRajan Vaja
6535254680SRajan Vaja        clock-names:
6635254680SRajan Vaja          items:
6735254680SRajan Vaja            - const: ref
6835254680SRajan Vaja            - const: alt_ref
6935254680SRajan Vaja            - const: pl_alt_ref
7035254680SRajan Vaja
71*03d4a100SShubhrajyoti Datta  - if:
72*03d4a100SShubhrajyoti Datta      properties:
73*03d4a100SShubhrajyoti Datta        compatible:
74*03d4a100SShubhrajyoti Datta          contains:
75*03d4a100SShubhrajyoti Datta            enum:
76*03d4a100SShubhrajyoti Datta              - xlnx,zynqmp-clk
7735254680SRajan Vaja
78*03d4a100SShubhrajyoti Datta    then:
79*03d4a100SShubhrajyoti Datta      properties:
80*03d4a100SShubhrajyoti Datta        clocks:
81*03d4a100SShubhrajyoti Datta          minItems: 5
82*03d4a100SShubhrajyoti Datta          items:
83*03d4a100SShubhrajyoti Datta            - description: PS reference clock
84*03d4a100SShubhrajyoti Datta            - description: reference clock for video system
85*03d4a100SShubhrajyoti Datta            - description: alternative PS reference clock
86*03d4a100SShubhrajyoti Datta            - description: auxiliary reference clock
87*03d4a100SShubhrajyoti Datta            - description: transceiver reference clock
88*03d4a100SShubhrajyoti Datta            - description: (E)MIO clock source  (Optional clock)
89*03d4a100SShubhrajyoti Datta            - description: GEM emio clock  (Optional clock)
90*03d4a100SShubhrajyoti Datta            - description: Watchdog external clock (Optional clock)
91*03d4a100SShubhrajyoti Datta
92*03d4a100SShubhrajyoti Datta        clock-names:
93*03d4a100SShubhrajyoti Datta          minItems: 5
94*03d4a100SShubhrajyoti Datta          items:
95*03d4a100SShubhrajyoti Datta            - const: pss_ref_clk
96*03d4a100SShubhrajyoti Datta            - const: video_clk
97*03d4a100SShubhrajyoti Datta            - const: pss_alt_ref_clk
98*03d4a100SShubhrajyoti Datta            - const: aux_ref_clk
99*03d4a100SShubhrajyoti Datta            - const: gt_crx_ref_clk
100*03d4a100SShubhrajyoti Datta            - pattern: "^mio_clk[00-77]+.*$"
101*03d4a100SShubhrajyoti Datta            - pattern: "gem[0-3]+_emio_clk.*$"
102*03d4a100SShubhrajyoti Datta            - pattern: "swdt[0-1]+_ext_clk.*$"
10335254680SRajan Vaja
10435254680SRajan Vajaexamples:
10535254680SRajan Vaja  - |
10635254680SRajan Vaja    firmware {
10735254680SRajan Vaja      zynqmp_firmware: zynqmp-firmware {
10835254680SRajan Vaja        compatible = "xlnx,zynqmp-firmware";
10935254680SRajan Vaja        method = "smc";
11035254680SRajan Vaja        versal_clk: clock-controller {
11135254680SRajan Vaja          #clock-cells = <1>;
11235254680SRajan Vaja          compatible = "xlnx,versal-clk";
11335254680SRajan Vaja          clocks = <&ref>, <&alt_ref>, <&pl_alt_ref>;
11435254680SRajan Vaja          clock-names = "ref", "alt_ref", "pl_alt_ref";
11535254680SRajan Vaja        };
11635254680SRajan Vaja      };
11735254680SRajan Vaja    };
118*03d4a100SShubhrajyoti Datta
119*03d4a100SShubhrajyoti Datta    clock-controller {
120*03d4a100SShubhrajyoti Datta        #clock-cells = <1>;
121*03d4a100SShubhrajyoti Datta        compatible = "xlnx,zynqmp-clk";
122*03d4a100SShubhrajyoti Datta        clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>,
123*03d4a100SShubhrajyoti Datta                 <&aux_ref_clk>, <&gt_crx_ref_clk>;
124*03d4a100SShubhrajyoti Datta        clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk",
125*03d4a100SShubhrajyoti Datta                      "aux_ref_clk", "gt_crx_ref_clk";
126*03d4a100SShubhrajyoti Datta    };
12735254680SRajan Vaja...
128