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>, <>_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