1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/clock/xlnx,versal-clk.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Xilinx Versal clock controller 8 9maintainers: 10 - Michal Simek <michal.simek@amd.com> 11 12description: | 13 The clock controller is a hardware block of Xilinx versal clock tree. It 14 reads required input clock frequencies from the devicetree and acts as clock 15 provider for all clock consumers of PS clocks. 16 17properties: 18 compatible: 19 oneOf: 20 - enum: 21 - xlnx,versal-clk 22 - xlnx,zynqmp-clk 23 - items: 24 - enum: 25 - xlnx,versal-net-clk 26 - const: xlnx,versal-clk 27 28 "#clock-cells": 29 const: 1 30 31 clocks: 32 description: List of clock specifiers which are external input 33 clocks to the given clock controller. 34 minItems: 2 35 maxItems: 8 36 37 clock-names: 38 minItems: 2 39 maxItems: 8 40 41required: 42 - compatible 43 - "#clock-cells" 44 - clocks 45 - clock-names 46 47additionalProperties: false 48 49allOf: 50 - if: 51 properties: 52 compatible: 53 contains: 54 enum: 55 - xlnx,versal-clk 56 57 then: 58 properties: 59 clocks: 60 items: 61 - description: reference clock 62 - description: alternate reference clock for programmable logic 63 64 clock-names: 65 items: 66 - const: ref 67 - const: pl_alt_ref 68 69 - if: 70 properties: 71 compatible: 72 contains: 73 enum: 74 - xlnx,versal-net-clk 75 76 then: 77 properties: 78 clocks: 79 items: 80 - description: reference clock 81 - description: alternate reference clock for programmable logic 82 - description: alternate reference clock 83 84 clock-names: 85 items: 86 - const: ref 87 - const: pl_alt_ref 88 - const: alt_ref 89 90 - if: 91 properties: 92 compatible: 93 contains: 94 enum: 95 - xlnx,zynqmp-clk 96 97 then: 98 properties: 99 clocks: 100 minItems: 5 101 items: 102 - description: PS reference clock 103 - description: reference clock for video system 104 - description: alternative PS reference clock 105 - description: auxiliary reference clock 106 - description: transceiver reference clock 107 - description: (E)MIO clock source (Optional clock) 108 - description: GEM emio clock (Optional clock) 109 - description: Watchdog external clock (Optional clock) 110 111 clock-names: 112 minItems: 5 113 items: 114 - const: pss_ref_clk 115 - const: video_clk 116 - const: pss_alt_ref_clk 117 - const: aux_ref_clk 118 - const: gt_crx_ref_clk 119 - pattern: "^mio_clk[00-77]+.*$" 120 - pattern: "gem[0-3]+_emio_clk.*$" 121 - pattern: "swdt[0-1]+_ext_clk.*$" 122 123examples: 124 - | 125 firmware { 126 zynqmp_firmware: zynqmp-firmware { 127 compatible = "xlnx,zynqmp-firmware"; 128 method = "smc"; 129 versal_clk: clock-controller { 130 #clock-cells = <1>; 131 compatible = "xlnx,versal-clk"; 132 clocks = <&ref>, <&pl_alt_ref>; 133 clock-names = "ref", "pl_alt_ref"; 134 }; 135 }; 136 }; 137 138 clock-controller { 139 #clock-cells = <1>; 140 compatible = "xlnx,zynqmp-clk"; 141 clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, 142 <&aux_ref_clk>, <>_crx_ref_clk>; 143 clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk", 144 "aux_ref_clk", "gt_crx_ref_clk"; 145 }; 146... 147