blob: 60d1b1acf9a0307d118bb70562cfa10c1800a5ea [file] [log] [blame]
Michal Simek090a2d72018-03-27 10:36:39 +02001// SPDX-License-Identifier: GPL-2.0+
Michal Simeka6604b62017-12-08 14:50:42 +01002/*
3 * Clock specification for Xilinx ZynqMP
4 *
Michal Simek3f283ea2023-09-22 12:35:41 +02005 * (C) Copyright 2017 - 2022, Xilinx, Inc.
6 * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
Michal Simeka6604b62017-12-08 14:50:42 +01007 *
Michal Simeka8c94362023-07-10 14:35:49 +02008 * Michal Simek <michal.simek@amd.com>
Michal Simeka6604b62017-12-08 14:50:42 +01009 */
10
Michal Simekebddf492019-10-14 15:42:03 +020011#include <dt-bindings/clock/xlnx-zynqmp-clk.h>
Michal Simeka6604b62017-12-08 14:50:42 +010012/ {
Michal Simeka6604b62017-12-08 14:50:42 +010013 pss_ref_clk: pss_ref_clk {
Simon Glassd3a98cb2023-02-13 08:56:33 -070014 bootph-all;
Michal Simeka6604b62017-12-08 14:50:42 +010015 compatible = "fixed-clock";
16 #clock-cells = <0>;
17 clock-frequency = <33333333>;
18 };
19
20 video_clk: video_clk {
Simon Glassd3a98cb2023-02-13 08:56:33 -070021 bootph-all;
Michal Simeka6604b62017-12-08 14:50:42 +010022 compatible = "fixed-clock";
23 #clock-cells = <0>;
24 clock-frequency = <27000000>;
25 };
26
27 pss_alt_ref_clk: pss_alt_ref_clk {
Simon Glassd3a98cb2023-02-13 08:56:33 -070028 bootph-all;
Michal Simeka6604b62017-12-08 14:50:42 +010029 compatible = "fixed-clock";
30 #clock-cells = <0>;
31 clock-frequency = <0>;
32 };
33
34 gt_crx_ref_clk: gt_crx_ref_clk {
Simon Glassd3a98cb2023-02-13 08:56:33 -070035 bootph-all;
Michal Simeka6604b62017-12-08 14:50:42 +010036 compatible = "fixed-clock";
37 #clock-cells = <0>;
38 clock-frequency = <108000000>;
39 };
40
41 aux_ref_clk: aux_ref_clk {
Simon Glassd3a98cb2023-02-13 08:56:33 -070042 bootph-all;
Michal Simeka6604b62017-12-08 14:50:42 +010043 compatible = "fixed-clock";
44 #clock-cells = <0>;
45 clock-frequency = <27000000>;
46 };
Michal Simeka6604b62017-12-08 14:50:42 +010047};
48
Michal Simekebddf492019-10-14 15:42:03 +020049&zynqmp_firmware {
50 zynqmp_clk: clock-controller {
Simon Glassd3a98cb2023-02-13 08:56:33 -070051 bootph-all;
Michal Simekebddf492019-10-14 15:42:03 +020052 #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
Michal Simeka6604b62017-12-08 14:50:42 +010061&can0 {
Michal Simekebddf492019-10-14 15:42:03 +020062 clocks = <&zynqmp_clk CAN0_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +010063};
64
65&can1 {
Michal Simekebddf492019-10-14 15:42:03 +020066 clocks = <&zynqmp_clk CAN1_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +010067};
68
69&cpu0 {
Michal Simekebddf492019-10-14 15:42:03 +020070 clocks = <&zynqmp_clk ACPU>;
Michal Simeka6604b62017-12-08 14:50:42 +010071};
72
Michal Simek19e355d2024-11-28 15:49:14 +010073&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
Michal Simeka6604b62017-12-08 14:50:42 +010089&fpd_dma_chan1 {
Michal Simekebddf492019-10-14 15:42:03 +020090 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +010091};
92
93&fpd_dma_chan2 {
Michal Simekebddf492019-10-14 15:42:03 +020094 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +010095};
96
97&fpd_dma_chan3 {
Michal Simekebddf492019-10-14 15:42:03 +020098 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +010099};
100
101&fpd_dma_chan4 {
Michal Simekebddf492019-10-14 15:42:03 +0200102 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100103};
104
105&fpd_dma_chan5 {
Michal Simekebddf492019-10-14 15:42:03 +0200106 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100107};
108
109&fpd_dma_chan6 {
Michal Simekebddf492019-10-14 15:42:03 +0200110 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100111};
112
113&fpd_dma_chan7 {
Michal Simekebddf492019-10-14 15:42:03 +0200114 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100115};
116
117&fpd_dma_chan8 {
Michal Simekebddf492019-10-14 15:42:03 +0200118 clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100119};
120
121&gpu {
Parth Gajjara281ad02023-07-10 14:37:29 +0200122 clocks = <&zynqmp_clk GPU_REF>, <&zynqmp_clk GPU_PP0_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100123};
124
125&lpd_dma_chan1 {
Michal Simekebddf492019-10-14 15:42:03 +0200126 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100127};
128
129&lpd_dma_chan2 {
Michal Simekebddf492019-10-14 15:42:03 +0200130 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100131};
132
133&lpd_dma_chan3 {
Michal Simekebddf492019-10-14 15:42:03 +0200134 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100135};
136
137&lpd_dma_chan4 {
Michal Simekebddf492019-10-14 15:42:03 +0200138 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100139};
140
141&lpd_dma_chan5 {
Michal Simekebddf492019-10-14 15:42:03 +0200142 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100143};
144
145&lpd_dma_chan6 {
Michal Simekebddf492019-10-14 15:42:03 +0200146 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100147};
148
149&lpd_dma_chan7 {
Michal Simekebddf492019-10-14 15:42:03 +0200150 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100151};
152
153&lpd_dma_chan8 {
Michal Simekebddf492019-10-14 15:42:03 +0200154 clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100155};
156
157&nand0 {
Michal Simekebddf492019-10-14 15:42:03 +0200158 clocks = <&zynqmp_clk NAND_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100159};
160
161&gem0 {
Michal Simek1092d682020-01-09 14:15:07 +0100162 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM0_REF>,
163 <&zynqmp_clk GEM0_TX>, <&zynqmp_clk GEM0_RX>,
164 <&zynqmp_clk GEM_TSU>;
Harini Katakam14d5fee2023-07-10 14:37:30 +0200165 assigned-clocks = <&zynqmp_clk GEM_TSU>;
Michal Simeka6604b62017-12-08 14:50:42 +0100166};
167
168&gem1 {
Michal Simek1092d682020-01-09 14:15:07 +0100169 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>,
170 <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>,
171 <&zynqmp_clk GEM_TSU>;
Harini Katakam14d5fee2023-07-10 14:37:30 +0200172 assigned-clocks = <&zynqmp_clk GEM_TSU>;
Michal Simeka6604b62017-12-08 14:50:42 +0100173};
174
175&gem2 {
Michal Simek1092d682020-01-09 14:15:07 +0100176 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM2_REF>,
177 <&zynqmp_clk GEM2_TX>, <&zynqmp_clk GEM2_RX>,
178 <&zynqmp_clk GEM_TSU>;
Harini Katakam14d5fee2023-07-10 14:37:30 +0200179 assigned-clocks = <&zynqmp_clk GEM_TSU>;
Michal Simeka6604b62017-12-08 14:50:42 +0100180};
181
182&gem3 {
Michal Simek1092d682020-01-09 14:15:07 +0100183 clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM3_REF>,
184 <&zynqmp_clk GEM3_TX>, <&zynqmp_clk GEM3_RX>,
185 <&zynqmp_clk GEM_TSU>;
Harini Katakam14d5fee2023-07-10 14:37:30 +0200186 assigned-clocks = <&zynqmp_clk GEM_TSU>;
Michal Simeka6604b62017-12-08 14:50:42 +0100187};
188
189&gpio {
Michal Simekebddf492019-10-14 15:42:03 +0200190 clocks = <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100191};
192
193&i2c0 {
Michal Simekebddf492019-10-14 15:42:03 +0200194 clocks = <&zynqmp_clk I2C0_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100195};
196
197&i2c1 {
Michal Simekebddf492019-10-14 15:42:03 +0200198 clocks = <&zynqmp_clk I2C1_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100199};
200
201&pcie {
Michal Simekebddf492019-10-14 15:42:03 +0200202 clocks = <&zynqmp_clk PCIE_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100203};
204
205&qspi {
Michal Simekebddf492019-10-14 15:42:03 +0200206 clocks = <&zynqmp_clk QSPI_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100207};
208
209&sata {
Michal Simekebddf492019-10-14 15:42:03 +0200210 clocks = <&zynqmp_clk SATA_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100211};
212
213&sdhci0 {
Michal Simekebddf492019-10-14 15:42:03 +0200214 clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simekbd8ca912022-02-23 16:17:39 +0100215 assigned-clocks = <&zynqmp_clk SDIO0_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100216};
217
218&sdhci1 {
Michal Simekebddf492019-10-14 15:42:03 +0200219 clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simekbd8ca912022-02-23 16:17:39 +0100220 assigned-clocks = <&zynqmp_clk SDIO1_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100221};
222
223&spi0 {
Michal Simekebddf492019-10-14 15:42:03 +0200224 clocks = <&zynqmp_clk SPI0_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100225};
226
227&spi1 {
Michal Simekebddf492019-10-14 15:42:03 +0200228 clocks = <&zynqmp_clk SPI1_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simeka6604b62017-12-08 14:50:42 +0100229};
230
Rajan Vaja36d68be2018-04-25 05:34:04 -0700231&ttc0 {
Michal Simekebddf492019-10-14 15:42:03 +0200232 clocks = <&zynqmp_clk LPD_LSBUS>;
Rajan Vaja36d68be2018-04-25 05:34:04 -0700233};
234
235&ttc1 {
Michal Simekebddf492019-10-14 15:42:03 +0200236 clocks = <&zynqmp_clk LPD_LSBUS>;
Rajan Vaja36d68be2018-04-25 05:34:04 -0700237};
238
239&ttc2 {
Michal Simekebddf492019-10-14 15:42:03 +0200240 clocks = <&zynqmp_clk LPD_LSBUS>;
Rajan Vaja36d68be2018-04-25 05:34:04 -0700241};
242
243&ttc3 {
Michal Simekebddf492019-10-14 15:42:03 +0200244 clocks = <&zynqmp_clk LPD_LSBUS>;
Rajan Vaja36d68be2018-04-25 05:34:04 -0700245};
246
Michal Simeka6604b62017-12-08 14:50:42 +0100247&uart0 {
Michal Simekebddf492019-10-14 15:42:03 +0200248 clocks = <&zynqmp_clk UART0_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simek10a25f22023-09-18 13:22:04 +0200249 assigned-clocks = <&zynqmp_clk UART0_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100250};
251
252&uart1 {
Michal Simekebddf492019-10-14 15:42:03 +0200253 clocks = <&zynqmp_clk UART1_REF>, <&zynqmp_clk LPD_LSBUS>;
Michal Simek10a25f22023-09-18 13:22:04 +0200254 assigned-clocks = <&zynqmp_clk UART1_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100255};
256
257&usb0 {
Michal Simekebddf492019-10-14 15:42:03 +0200258 clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Michal Simekbd8ca912022-02-23 16:17:39 +0100259 assigned-clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100260};
261
Piyush Mehtac687c652022-08-23 15:03:31 +0200262&dwc3_0 {
263 clocks = <&zynqmp_clk USB3_DUAL_REF>;
264};
265
Michal Simeka6604b62017-12-08 14:50:42 +0100266&usb1 {
Michal Simekebddf492019-10-14 15:42:03 +0200267 clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Michal Simekbd8ca912022-02-23 16:17:39 +0100268 assigned-clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100269};
270
Piyush Mehtac687c652022-08-23 15:03:31 +0200271&dwc3_1 {
272 clocks = <&zynqmp_clk USB3_DUAL_REF>;
273};
274
Michal Simeka6604b62017-12-08 14:50:42 +0100275&watchdog0 {
Michal Simekebddf492019-10-14 15:42:03 +0200276 clocks = <&zynqmp_clk WDT>;
Michal Simeka6604b62017-12-08 14:50:42 +0100277};
278
Michal Simek7b6280e2018-07-18 09:25:43 +0200279&lpd_watchdog {
280 clocks = <&zynqmp_clk LPD_WDT>;
281};
282
Michal Simeka6604b62017-12-08 14:50:42 +0100283&xilinx_ams {
Michal Simekebddf492019-10-14 15:42:03 +0200284 clocks = <&zynqmp_clk AMS_REF>;
Michal Simeka6604b62017-12-08 14:50:42 +0100285};
286
Michal Simek958c0e92020-11-26 14:25:02 +0100287&zynqmp_dpdma {
Michal Simekebddf492019-10-14 15:42:03 +0200288 clocks = <&zynqmp_clk DPDMA_REF>;
Michal Simekeb10f6a2022-02-23 16:17:38 +0100289 assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */
Michal Simeka6604b62017-12-08 14:50:42 +0100290};
291
Michal Simek958c0e92020-11-26 14:25:02 +0100292&zynqmp_dpsub {
293 clocks = <&zynqmp_clk TOPSW_LSBUS>,
294 <&zynqmp_clk DP_AUDIO_REF>,
295 <&zynqmp_clk DP_VIDEO_REF>;
Michal Simekeb10f6a2022-02-23 16:17:38 +0100296 assigned-clocks = <&zynqmp_clk DP_STC_REF>,
297 <&zynqmp_clk DP_AUDIO_REF>,
298 <&zynqmp_clk DP_VIDEO_REF>; /* rpll, rpll, vpll */
Nava kishore Manne042ae5e2019-10-18 18:07:32 +0200299};