xref: /freebsd-src/sys/contrib/device-tree/src/arm64/xilinx/zynqmp-clk-ccf.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Clock specification for Xilinx ZynqMP
4c66ec88fSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * (C) Copyright 2017 - 2022, Xilinx, Inc.
6f126890aSEmmanuel Vadot * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
7c66ec88fSEmmanuel Vadot *
8f126890aSEmmanuel Vadot * Michal Simek <michal.simek@amd.com>
9c66ec88fSEmmanuel Vadot */
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/xlnx-zynqmp-clk.h>
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	pss_ref_clk: pss_ref_clk {
14f126890aSEmmanuel Vadot		bootph-all;
15c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
16c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
17c66ec88fSEmmanuel Vadot		clock-frequency = <33333333>;
18c66ec88fSEmmanuel Vadot	};
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot	video_clk: video_clk {
21f126890aSEmmanuel Vadot		bootph-all;
22c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
23c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
24c66ec88fSEmmanuel Vadot		clock-frequency = <27000000>;
25c66ec88fSEmmanuel Vadot	};
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot	pss_alt_ref_clk: pss_alt_ref_clk {
28f126890aSEmmanuel Vadot		bootph-all;
29c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
30c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
31c66ec88fSEmmanuel Vadot		clock-frequency = <0>;
32c66ec88fSEmmanuel Vadot	};
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot	gt_crx_ref_clk: gt_crx_ref_clk {
35f126890aSEmmanuel Vadot		bootph-all;
36c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
37c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
38c66ec88fSEmmanuel Vadot		clock-frequency = <108000000>;
39c66ec88fSEmmanuel Vadot	};
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot	aux_ref_clk: aux_ref_clk {
42f126890aSEmmanuel Vadot		bootph-all;
43c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
44c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
45c66ec88fSEmmanuel Vadot		clock-frequency = <27000000>;
46c66ec88fSEmmanuel Vadot	};
47c66ec88fSEmmanuel Vadot};
48c66ec88fSEmmanuel Vadot
498cc087a1SEmmanuel Vadot&zynqmp_firmware {
508cc087a1SEmmanuel Vadot	zynqmp_clk: clock-controller {
51f126890aSEmmanuel Vadot		bootph-all;
528cc087a1SEmmanuel Vadot		#clock-cells = <1>;
538cc087a1SEmmanuel Vadot		compatible = "xlnx,zynqmp-clk";
548cc087a1SEmmanuel Vadot		clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>,
558cc087a1SEmmanuel Vadot			 <&aux_ref_clk>, <&gt_crx_ref_clk>;
568cc087a1SEmmanuel Vadot		clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk",
578cc087a1SEmmanuel Vadot			      "aux_ref_clk", "gt_crx_ref_clk";
588cc087a1SEmmanuel Vadot	};
598cc087a1SEmmanuel Vadot};
608cc087a1SEmmanuel Vadot
61c66ec88fSEmmanuel Vadot&can0 {
62c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk CAN0_REF>, <&zynqmp_clk LPD_LSBUS>;
63c66ec88fSEmmanuel Vadot};
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot&can1 {
66c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk CAN1_REF>, <&zynqmp_clk LPD_LSBUS>;
67c66ec88fSEmmanuel Vadot};
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot&cpu0 {
70c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ACPU>;
71c66ec88fSEmmanuel Vadot};
72c66ec88fSEmmanuel Vadot
73*0e8011faSEmmanuel Vadot&cpu0_debug {
74*0e8011faSEmmanuel Vadot	clocks = <&zynqmp_clk DBF_FPD>;
75*0e8011faSEmmanuel Vadot};
76*0e8011faSEmmanuel Vadot
77*0e8011faSEmmanuel Vadot&cpu1_debug {
78*0e8011faSEmmanuel Vadot	clocks = <&zynqmp_clk DBF_FPD>;
79*0e8011faSEmmanuel Vadot};
80*0e8011faSEmmanuel Vadot
81*0e8011faSEmmanuel Vadot&cpu2_debug {
82*0e8011faSEmmanuel Vadot	clocks = <&zynqmp_clk DBF_FPD>;
83*0e8011faSEmmanuel Vadot};
84*0e8011faSEmmanuel Vadot
85*0e8011faSEmmanuel Vadot&cpu3_debug {
86*0e8011faSEmmanuel Vadot	clocks = <&zynqmp_clk DBF_FPD>;
87*0e8011faSEmmanuel Vadot};
88*0e8011faSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot&fpd_dma_chan1 {
90c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
91c66ec88fSEmmanuel Vadot};
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot&fpd_dma_chan2 {
94c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
95c66ec88fSEmmanuel Vadot};
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot&fpd_dma_chan3 {
98c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
99c66ec88fSEmmanuel Vadot};
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot&fpd_dma_chan4 {
102c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
103c66ec88fSEmmanuel Vadot};
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot&fpd_dma_chan5 {
106c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
107c66ec88fSEmmanuel Vadot};
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot&fpd_dma_chan6 {
110c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
111c66ec88fSEmmanuel Vadot};
112c66ec88fSEmmanuel Vadot
113c66ec88fSEmmanuel Vadot&fpd_dma_chan7 {
114c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
115c66ec88fSEmmanuel Vadot};
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot&fpd_dma_chan8 {
118c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>;
119c66ec88fSEmmanuel Vadot};
120c66ec88fSEmmanuel Vadot
121f126890aSEmmanuel Vadot&gpu {
122f126890aSEmmanuel Vadot	clocks = <&zynqmp_clk GPU_REF>, <&zynqmp_clk GPU_PP0_REF>;
123f126890aSEmmanuel Vadot};
124f126890aSEmmanuel Vadot
125c66ec88fSEmmanuel Vadot&lpd_dma_chan1 {
126c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
127c66ec88fSEmmanuel Vadot};
128c66ec88fSEmmanuel Vadot
129c66ec88fSEmmanuel Vadot&lpd_dma_chan2 {
130c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
131c66ec88fSEmmanuel Vadot};
132c66ec88fSEmmanuel Vadot
133c66ec88fSEmmanuel Vadot&lpd_dma_chan3 {
134c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
135c66ec88fSEmmanuel Vadot};
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot&lpd_dma_chan4 {
138c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
139c66ec88fSEmmanuel Vadot};
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot&lpd_dma_chan5 {
142c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
143c66ec88fSEmmanuel Vadot};
144c66ec88fSEmmanuel Vadot
145c66ec88fSEmmanuel Vadot&lpd_dma_chan6 {
146c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
147c66ec88fSEmmanuel Vadot};
148c66ec88fSEmmanuel Vadot
149c66ec88fSEmmanuel Vadot&lpd_dma_chan7 {
150c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
151c66ec88fSEmmanuel Vadot};
152c66ec88fSEmmanuel Vadot
153c66ec88fSEmmanuel Vadot&lpd_dma_chan8 {
154c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>;
155c66ec88fSEmmanuel Vadot};
156c66ec88fSEmmanuel Vadot
1575def4c47SEmmanuel Vadot&nand0 {
1585def4c47SEmmanuel Vadot	clocks = <&zynqmp_clk NAND_REF>, <&zynqmp_clk LPD_LSBUS>;
1595def4c47SEmmanuel Vadot};
1605def4c47SEmmanuel Vadot
161c66ec88fSEmmanuel Vadot&gem0 {
162c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM0_REF>,
163c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM0_TX>, <&zynqmp_clk GEM0_RX>,
164c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM_TSU>;
165aa1a8ff2SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk GEM_TSU>;
166c66ec88fSEmmanuel Vadot};
167c66ec88fSEmmanuel Vadot
168c66ec88fSEmmanuel Vadot&gem1 {
169c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>,
170c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>,
171c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM_TSU>;
172aa1a8ff2SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk GEM_TSU>;
173c66ec88fSEmmanuel Vadot};
174c66ec88fSEmmanuel Vadot
175c66ec88fSEmmanuel Vadot&gem2 {
176c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM2_REF>,
177c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM2_TX>, <&zynqmp_clk GEM2_RX>,
178c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM_TSU>;
179aa1a8ff2SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk GEM_TSU>;
180c66ec88fSEmmanuel Vadot};
181c66ec88fSEmmanuel Vadot
182c66ec88fSEmmanuel Vadot&gem3 {
183c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM3_REF>,
184c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM3_TX>, <&zynqmp_clk GEM3_RX>,
185c66ec88fSEmmanuel Vadot		 <&zynqmp_clk GEM_TSU>;
186aa1a8ff2SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk GEM_TSU>;
187c66ec88fSEmmanuel Vadot};
188c66ec88fSEmmanuel Vadot
189c66ec88fSEmmanuel Vadot&gpio {
190c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>;
191c66ec88fSEmmanuel Vadot};
192c66ec88fSEmmanuel Vadot
193c66ec88fSEmmanuel Vadot&i2c0 {
194c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk I2C0_REF>;
195c66ec88fSEmmanuel Vadot};
196c66ec88fSEmmanuel Vadot
197c66ec88fSEmmanuel Vadot&i2c1 {
198c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk I2C1_REF>;
199c66ec88fSEmmanuel Vadot};
200c66ec88fSEmmanuel Vadot
201c66ec88fSEmmanuel Vadot&pcie {
202c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk PCIE_REF>;
203c66ec88fSEmmanuel Vadot};
204c66ec88fSEmmanuel Vadot
2055def4c47SEmmanuel Vadot&qspi {
2065def4c47SEmmanuel Vadot	clocks = <&zynqmp_clk QSPI_REF>, <&zynqmp_clk LPD_LSBUS>;
2075def4c47SEmmanuel Vadot};
2085def4c47SEmmanuel Vadot
209c66ec88fSEmmanuel Vadot&sata {
210c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk SATA_REF>;
211c66ec88fSEmmanuel Vadot};
212c66ec88fSEmmanuel Vadot
213c66ec88fSEmmanuel Vadot&sdhci0 {
214c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>;
215f126890aSEmmanuel Vadot	assigned-clocks = <&zynqmp_clk SDIO0_REF>;
216c66ec88fSEmmanuel Vadot};
217c66ec88fSEmmanuel Vadot
218c66ec88fSEmmanuel Vadot&sdhci1 {
219c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>;
220f126890aSEmmanuel Vadot	assigned-clocks = <&zynqmp_clk SDIO1_REF>;
221c66ec88fSEmmanuel Vadot};
222c66ec88fSEmmanuel Vadot
223c66ec88fSEmmanuel Vadot&spi0 {
224c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk SPI0_REF>, <&zynqmp_clk LPD_LSBUS>;
225c66ec88fSEmmanuel Vadot};
226c66ec88fSEmmanuel Vadot
227c66ec88fSEmmanuel Vadot&spi1 {
228c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk SPI1_REF>, <&zynqmp_clk LPD_LSBUS>;
229c66ec88fSEmmanuel Vadot};
230c66ec88fSEmmanuel Vadot
231c66ec88fSEmmanuel Vadot&ttc0 {
232c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>;
233c66ec88fSEmmanuel Vadot};
234c66ec88fSEmmanuel Vadot
235c66ec88fSEmmanuel Vadot&ttc1 {
236c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>;
237c66ec88fSEmmanuel Vadot};
238c66ec88fSEmmanuel Vadot
239c66ec88fSEmmanuel Vadot&ttc2 {
240c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>;
241c66ec88fSEmmanuel Vadot};
242c66ec88fSEmmanuel Vadot
243c66ec88fSEmmanuel Vadot&ttc3 {
244c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk LPD_LSBUS>;
245c66ec88fSEmmanuel Vadot};
246c66ec88fSEmmanuel Vadot
247c66ec88fSEmmanuel Vadot&uart0 {
248c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk UART0_REF>, <&zynqmp_clk LPD_LSBUS>;
24901950c46SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk UART0_REF>;
250c66ec88fSEmmanuel Vadot};
251c66ec88fSEmmanuel Vadot
252c66ec88fSEmmanuel Vadot&uart1 {
253c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk UART1_REF>, <&zynqmp_clk LPD_LSBUS>;
25401950c46SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk UART1_REF>;
25501950c46SEmmanuel Vadot};
25601950c46SEmmanuel Vadot
25701950c46SEmmanuel Vadot&usb0 {
25801950c46SEmmanuel Vadot	clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
25901950c46SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
260c66ec88fSEmmanuel Vadot};
261c66ec88fSEmmanuel Vadot
262c9ccf3a3SEmmanuel Vadot&dwc3_0 {
26301950c46SEmmanuel Vadot	clocks = <&zynqmp_clk USB3_DUAL_REF>;
26401950c46SEmmanuel Vadot};
26501950c46SEmmanuel Vadot
26601950c46SEmmanuel Vadot&usb1 {
26701950c46SEmmanuel Vadot	clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
26801950c46SEmmanuel Vadot	assigned-clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
269c66ec88fSEmmanuel Vadot};
270c66ec88fSEmmanuel Vadot
271c9ccf3a3SEmmanuel Vadot&dwc3_1 {
27201950c46SEmmanuel Vadot	clocks = <&zynqmp_clk USB3_DUAL_REF>;
273c66ec88fSEmmanuel Vadot};
274c66ec88fSEmmanuel Vadot
275c66ec88fSEmmanuel Vadot&watchdog0 {
276c66ec88fSEmmanuel Vadot	clocks = <&zynqmp_clk WDT>;
277c66ec88fSEmmanuel Vadot};
2785def4c47SEmmanuel Vadot
2795def4c47SEmmanuel Vadot&lpd_watchdog {
2805def4c47SEmmanuel Vadot	clocks = <&zynqmp_clk LPD_WDT>;
2815def4c47SEmmanuel Vadot};
2825def4c47SEmmanuel Vadot
283b97ee269SEmmanuel Vadot&xilinx_ams {
284b97ee269SEmmanuel Vadot	clocks = <&zynqmp_clk AMS_REF>;
285b97ee269SEmmanuel Vadot};
286b97ee269SEmmanuel Vadot
2875def4c47SEmmanuel Vadot&zynqmp_dpdma {
2885def4c47SEmmanuel Vadot	clocks = <&zynqmp_clk DPDMA_REF>;
289f126890aSEmmanuel Vadot	assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */
2905def4c47SEmmanuel Vadot};
2915def4c47SEmmanuel Vadot
2925def4c47SEmmanuel Vadot&zynqmp_dpsub {
2935def4c47SEmmanuel Vadot	clocks = <&zynqmp_clk TOPSW_LSBUS>,
2945def4c47SEmmanuel Vadot		 <&zynqmp_clk DP_AUDIO_REF>,
2955def4c47SEmmanuel Vadot		 <&zynqmp_clk DP_VIDEO_REF>;
296f126890aSEmmanuel Vadot	assigned-clocks = <&zynqmp_clk DP_STC_REF>,
297f126890aSEmmanuel Vadot			  <&zynqmp_clk DP_AUDIO_REF>,
298f126890aSEmmanuel Vadot			  <&zynqmp_clk DP_VIDEO_REF>;  /* rpll, rpll, vpll */
2995def4c47SEmmanuel Vadot};
300