blob: 60d1b1acf9a0307d118bb70562cfa10c1800a5ea [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Clock specification for Xilinx ZynqMP
4 *
5 * (C) Copyright 2017 - 2022, Xilinx, Inc.
6 * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
7 *
8 * Michal Simek <michal.simek@amd.com>
9 */
10
11#include <dt-bindings/clock/xlnx-zynqmp-clk.h>
12/ {
13 pss_ref_clk: pss_ref_clk {
14 bootph-all;
15 compatible = "fixed-clock";
16 #clock-cells = <0>;
17 clock-frequency = <33333333>;
18 };
19
20 video_clk: video_clk {
21 bootph-all;
22 compatible = "fixed-clock";
23 #clock-cells = <0>;
24 clock-frequency = <27000000>;
25 };
26
27 pss_alt_ref_clk: pss_alt_ref_clk {
28 bootph-all;
29 compatible = "fixed-clock";
30 #clock-cells = <0>;
31 clock-frequency = <0>;
32 };
33
34 gt_crx_ref_clk: gt_crx_ref_clk {
35 bootph-all;
36 compatible = "fixed-clock";
37 #clock-cells = <0>;
38 clock-frequency = <108000000>;
39 };
40
41 aux_ref_clk: aux_ref_clk {
42 bootph-all;
43 compatible = "fixed-clock";
44 #clock-cells = <0>;
45 clock-frequency = <27000000>;
46 };
47};
48
49&zynqmp_firmware {
50 zynqmp_clk: clock-controller {
51 bootph-all;
52 #clock-cells = <1>;
53 compatible = "xlnx,zynqmp-clk";
54 clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>,
55 <&aux_ref_clk>, <&gt_crx_ref_clk>;
56 clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk",
57 "aux_ref_clk", "gt_crx_ref_clk";
58 };
59};
60
61&can0 {
62 clocks = <&zynqmp_clk CAN0_REF>, <&zynqmp_clk LPD_LSBUS>;
63};
64
65&can1 {
66 clocks = <&zynqmp_clk CAN1_REF>, <&zynqmp_clk LPD_LSBUS>;
67};
68
69&cpu0 {
70 clocks = <&zynqmp_clk ACPU>;
71};
72
Tom Rini6b642ac2024-10-01 12:20:28 -060073&cpu0_debug {
74 clocks = <&zynqmp_clk DBF_FPD>;
75};
76
77&cpu1_debug {
78 clocks = <&zynqmp_clk DBF_FPD>;
79};
80
81&cpu2_debug {
82 clocks = <&zynqmp_clk DBF_FPD>;
83};
84
85&cpu3_debug {
86 clocks = <&zynqmp_clk DBF_FPD>;
87};
88
Tom Rini53633a82024-02-29 12:33:36 -050089&fpd_dma_chan1 {
90 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
91};
92
93&fpd_dma_chan2 {
94 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
95};
96
97&fpd_dma_chan3 {
98 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
99};
100
101&fpd_dma_chan4 {
102 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
103};
104
105&fpd_dma_chan5 {
106 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
107};
108
109&fpd_dma_chan6 {
110 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
111};
112
113&fpd_dma_chan7 {
114 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
115};
116
117&fpd_dma_chan8 {
118 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
119};
120
121&gpu {
122 clocks = <&zynqmp_clk GPU_REF>, <&zynqmp_clk GPU_PP0_REF>;
123};
124
125&lpd_dma_chan1 {
126 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
127};
128
129&lpd_dma_chan2 {
130 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
131};
132
133&lpd_dma_chan3 {
134 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
135};
136
137&lpd_dma_chan4 {
138 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
139};
140
141&lpd_dma_chan5 {
142 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
143};
144
145&lpd_dma_chan6 {
146 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
147};
148
149&lpd_dma_chan7 {
150 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
151};
152
153&lpd_dma_chan8 {
154 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
155};
156
157&nand0 {
158 clocks = <&zynqmp_clk NAND_REF>, <&zynqmp_clk LPD_LSBUS>;
159};
160
161&gem0 {
162 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM0_REF>,
163 <&zynqmp_clk GEM0_TX>, <&zynqmp_clk GEM0_RX>,
164 <&zynqmp_clk GEM_TSU>;
165 assigned-clocks = <&zynqmp_clk GEM_TSU>;
166};
167
168&gem1 {
169 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>,
170 <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>,
171 <&zynqmp_clk GEM_TSU>;
172 assigned-clocks = <&zynqmp_clk GEM_TSU>;
173};
174
175&gem2 {
176 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM2_REF>,
177 <&zynqmp_clk GEM2_TX>, <&zynqmp_clk GEM2_RX>,
178 <&zynqmp_clk GEM_TSU>;
179 assigned-clocks = <&zynqmp_clk GEM_TSU>;
180};
181
182&gem3 {
183 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM3_REF>,
184 <&zynqmp_clk GEM3_TX>, <&zynqmp_clk GEM3_RX>,
185 <&zynqmp_clk GEM_TSU>;
186 assigned-clocks = <&zynqmp_clk GEM_TSU>;
187};
188
189&gpio {
190 clocks = <&zynqmp_clk LPD_LSBUS>;
191};
192
193&i2c0 {
194 clocks = <&zynqmp_clk I2C0_REF>;
195};
196
197&i2c1 {
198 clocks = <&zynqmp_clk I2C1_REF>;
199};
200
201&pcie {
202 clocks = <&zynqmp_clk PCIE_REF>;
203};
204
205&qspi {
206 clocks = <&zynqmp_clk QSPI_REF>, <&zynqmp_clk LPD_LSBUS>;
207};
208
209&sata {
210 clocks = <&zynqmp_clk SATA_REF>;
211};
212
213&sdhci0 {
214 clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>;
215 assigned-clocks = <&zynqmp_clk SDIO0_REF>;
216};
217
218&sdhci1 {
219 clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>;
220 assigned-clocks = <&zynqmp_clk SDIO1_REF>;
221};
222
223&spi0 {
224 clocks = <&zynqmp_clk SPI0_REF>, <&zynqmp_clk LPD_LSBUS>;
225};
226
227&spi1 {
228 clocks = <&zynqmp_clk SPI1_REF>, <&zynqmp_clk LPD_LSBUS>;
229};
230
231&ttc0 {
232 clocks = <&zynqmp_clk LPD_LSBUS>;
233};
234
235&ttc1 {
236 clocks = <&zynqmp_clk LPD_LSBUS>;
237};
238
239&ttc2 {
240 clocks = <&zynqmp_clk LPD_LSBUS>;
241};
242
243&ttc3 {
244 clocks = <&zynqmp_clk LPD_LSBUS>;
245};
246
247&uart0 {
248 clocks = <&zynqmp_clk UART0_REF>, <&zynqmp_clk LPD_LSBUS>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600249 assigned-clocks = <&zynqmp_clk UART0_REF>;
Tom Rini53633a82024-02-29 12:33:36 -0500250};
251
252&uart1 {
253 clocks = <&zynqmp_clk UART1_REF>, <&zynqmp_clk LPD_LSBUS>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600254 assigned-clocks = <&zynqmp_clk UART1_REF>;
Tom Rini53633a82024-02-29 12:33:36 -0500255};
256
Tom Rini6bb92fc2024-05-20 09:54:58 -0600257&usb0 {
Tom Rini53633a82024-02-29 12:33:36 -0500258 clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600259 assigned-clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Tom Rini53633a82024-02-29 12:33:36 -0500260};
261
Tom Rini6bb92fc2024-05-20 09:54:58 -0600262&dwc3_0 {
263 clocks = <&zynqmp_clk USB3_DUAL_REF>;
264};
265
266&usb1 {
Tom Rini53633a82024-02-29 12:33:36 -0500267 clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Tom Rini6bb92fc2024-05-20 09:54:58 -0600268 assigned-clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
269};
270
271&dwc3_1 {
272 clocks = <&zynqmp_clk USB3_DUAL_REF>;
Tom Rini53633a82024-02-29 12:33:36 -0500273};
274
275&watchdog0 {
276 clocks = <&zynqmp_clk WDT>;
277};
278
279&lpd_watchdog {
280 clocks = <&zynqmp_clk LPD_WDT>;
281};
282
283&xilinx_ams {
284 clocks = <&zynqmp_clk AMS_REF>;
285};
286
287&zynqmp_dpdma {
288 clocks = <&zynqmp_clk DPDMA_REF>;
289 assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */
290};
291
292&zynqmp_dpsub {
293 clocks = <&zynqmp_clk TOPSW_LSBUS>,
294 <&zynqmp_clk DP_AUDIO_REF>,
295 <&zynqmp_clk DP_VIDEO_REF>;
296 assigned-clocks = <&zynqmp_clk DP_STC_REF>,
297 <&zynqmp_clk DP_AUDIO_REF>,
298 <&zynqmp_clk DP_VIDEO_REF>; /* rpll, rpll, vpll */
299};