xref: /linux/Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml (revision 39118392d19aebd8e89ba0d73c0da2a5b1f3d1a2)
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:
2003d4a100SShubhrajyoti Datta      - enum:
2103d4a100SShubhrajyoti Datta          - xlnx,versal-clk
2203d4a100SShubhrajyoti 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*39118392SShubhrajyoti Datta    minItems: 2
3503d4a100SShubhrajyoti Datta    maxItems: 8
3603d4a100SShubhrajyoti Datta
3703d4a100SShubhrajyoti Datta  clock-names:
38*39118392SShubhrajyoti Datta    minItems: 2
3903d4a100SShubhrajyoti Datta    maxItems: 8
4003d4a100SShubhrajyoti Datta
4103d4a100SShubhrajyoti Dattarequired:
4203d4a100SShubhrajyoti Datta  - compatible
4303d4a100SShubhrajyoti Datta  - "#clock-cells"
4403d4a100SShubhrajyoti Datta  - clocks
4503d4a100SShubhrajyoti Datta  - clock-names
4603d4a100SShubhrajyoti Datta
4703d4a100SShubhrajyoti DattaadditionalProperties: false
4803d4a100SShubhrajyoti Datta
4903d4a100SShubhrajyoti DattaallOf:
5003d4a100SShubhrajyoti Datta  - if:
5103d4a100SShubhrajyoti Datta      properties:
5203d4a100SShubhrajyoti Datta        compatible:
5303d4a100SShubhrajyoti Datta          contains:
5403d4a100SShubhrajyoti Datta            enum:
5503d4a100SShubhrajyoti Datta              - xlnx,versal-clk
5603d4a100SShubhrajyoti Datta
5703d4a100SShubhrajyoti Datta    then:
5803d4a100SShubhrajyoti Datta      properties:
5903d4a100SShubhrajyoti Datta        clocks:
6035254680SRajan Vaja          items:
6135254680SRajan Vaja            - description: reference clock
6235254680SRajan Vaja            - description: alternate reference clock for programmable logic
6335254680SRajan Vaja
6435254680SRajan Vaja        clock-names:
6535254680SRajan Vaja          items:
6635254680SRajan Vaja            - const: ref
6735254680SRajan Vaja            - const: pl_alt_ref
6835254680SRajan Vaja
6903d4a100SShubhrajyoti Datta  - if:
7003d4a100SShubhrajyoti Datta      properties:
7103d4a100SShubhrajyoti Datta        compatible:
7203d4a100SShubhrajyoti Datta          contains:
7303d4a100SShubhrajyoti Datta            enum:
74*39118392SShubhrajyoti Datta              - xlnx,versal-net-clk
75*39118392SShubhrajyoti Datta
76*39118392SShubhrajyoti Datta    then:
77*39118392SShubhrajyoti Datta      properties:
78*39118392SShubhrajyoti Datta        clocks:
79*39118392SShubhrajyoti Datta          items:
80*39118392SShubhrajyoti Datta            - description: reference clock
81*39118392SShubhrajyoti Datta            - description: alternate reference clock for programmable logic
82*39118392SShubhrajyoti Datta            - description: alternate reference clock
83*39118392SShubhrajyoti Datta
84*39118392SShubhrajyoti Datta        clock-names:
85*39118392SShubhrajyoti Datta          items:
86*39118392SShubhrajyoti Datta            - const: ref
87*39118392SShubhrajyoti Datta            - const: pl_alt_ref
88*39118392SShubhrajyoti Datta            - const: alt_ref
89*39118392SShubhrajyoti Datta
90*39118392SShubhrajyoti Datta  - if:
91*39118392SShubhrajyoti Datta      properties:
92*39118392SShubhrajyoti Datta        compatible:
93*39118392SShubhrajyoti Datta          contains:
94*39118392SShubhrajyoti Datta            enum:
9503d4a100SShubhrajyoti Datta              - xlnx,zynqmp-clk
9635254680SRajan Vaja
9703d4a100SShubhrajyoti Datta    then:
9803d4a100SShubhrajyoti Datta      properties:
9903d4a100SShubhrajyoti Datta        clocks:
10003d4a100SShubhrajyoti Datta          minItems: 5
10103d4a100SShubhrajyoti Datta          items:
10203d4a100SShubhrajyoti Datta            - description: PS reference clock
10303d4a100SShubhrajyoti Datta            - description: reference clock for video system
10403d4a100SShubhrajyoti Datta            - description: alternative PS reference clock
10503d4a100SShubhrajyoti Datta            - description: auxiliary reference clock
10603d4a100SShubhrajyoti Datta            - description: transceiver reference clock
10703d4a100SShubhrajyoti Datta            - description: (E)MIO clock source  (Optional clock)
10803d4a100SShubhrajyoti Datta            - description: GEM emio clock  (Optional clock)
10903d4a100SShubhrajyoti Datta            - description: Watchdog external clock (Optional clock)
11003d4a100SShubhrajyoti Datta
11103d4a100SShubhrajyoti Datta        clock-names:
11203d4a100SShubhrajyoti Datta          minItems: 5
11303d4a100SShubhrajyoti Datta          items:
11403d4a100SShubhrajyoti Datta            - const: pss_ref_clk
11503d4a100SShubhrajyoti Datta            - const: video_clk
11603d4a100SShubhrajyoti Datta            - const: pss_alt_ref_clk
11703d4a100SShubhrajyoti Datta            - const: aux_ref_clk
11803d4a100SShubhrajyoti Datta            - const: gt_crx_ref_clk
11903d4a100SShubhrajyoti Datta            - pattern: "^mio_clk[00-77]+.*$"
12003d4a100SShubhrajyoti Datta            - pattern: "gem[0-3]+_emio_clk.*$"
12103d4a100SShubhrajyoti Datta            - pattern: "swdt[0-1]+_ext_clk.*$"
12235254680SRajan Vaja
12335254680SRajan Vajaexamples:
12435254680SRajan Vaja  - |
12535254680SRajan Vaja    firmware {
12635254680SRajan Vaja      zynqmp_firmware: zynqmp-firmware {
12735254680SRajan Vaja        compatible = "xlnx,zynqmp-firmware";
12835254680SRajan Vaja        method = "smc";
12935254680SRajan Vaja        versal_clk: clock-controller {
13035254680SRajan Vaja          #clock-cells = <1>;
13135254680SRajan Vaja          compatible = "xlnx,versal-clk";
132*39118392SShubhrajyoti Datta          clocks = <&ref>,  <&pl_alt_ref>;
133*39118392SShubhrajyoti Datta          clock-names = "ref", "pl_alt_ref";
13435254680SRajan Vaja        };
13535254680SRajan Vaja      };
13635254680SRajan Vaja    };
13703d4a100SShubhrajyoti Datta
13803d4a100SShubhrajyoti Datta    clock-controller {
13903d4a100SShubhrajyoti Datta        #clock-cells = <1>;
14003d4a100SShubhrajyoti Datta        compatible = "xlnx,zynqmp-clk";
14103d4a100SShubhrajyoti Datta        clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>,
14203d4a100SShubhrajyoti Datta                 <&aux_ref_clk>, <&gt_crx_ref_clk>;
14303d4a100SShubhrajyoti Datta        clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk",
14403d4a100SShubhrajyoti Datta                      "aux_ref_clk", "gt_crx_ref_clk";
14503d4a100SShubhrajyoti Datta    };
14635254680SRajan Vaja...
147