162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Clock specification for Xilinx ZynqMP 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * (C) Copyright 2017 - 2022, Xilinx, Inc. 662306a36Sopenharmony_ci * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Michal Simek <michal.simek@amd.com> 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <dt-bindings/clock/xlnx-zynqmp-clk.h> 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci pss_ref_clk: pss_ref_clk { 1462306a36Sopenharmony_ci bootph-all; 1562306a36Sopenharmony_ci compatible = "fixed-clock"; 1662306a36Sopenharmony_ci #clock-cells = <0>; 1762306a36Sopenharmony_ci clock-frequency = <33333333>; 1862306a36Sopenharmony_ci }; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci video_clk: video_clk { 2162306a36Sopenharmony_ci bootph-all; 2262306a36Sopenharmony_ci compatible = "fixed-clock"; 2362306a36Sopenharmony_ci #clock-cells = <0>; 2462306a36Sopenharmony_ci clock-frequency = <27000000>; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci pss_alt_ref_clk: pss_alt_ref_clk { 2862306a36Sopenharmony_ci bootph-all; 2962306a36Sopenharmony_ci compatible = "fixed-clock"; 3062306a36Sopenharmony_ci #clock-cells = <0>; 3162306a36Sopenharmony_ci clock-frequency = <0>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci gt_crx_ref_clk: gt_crx_ref_clk { 3562306a36Sopenharmony_ci bootph-all; 3662306a36Sopenharmony_ci compatible = "fixed-clock"; 3762306a36Sopenharmony_ci #clock-cells = <0>; 3862306a36Sopenharmony_ci clock-frequency = <108000000>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci aux_ref_clk: aux_ref_clk { 4262306a36Sopenharmony_ci bootph-all; 4362306a36Sopenharmony_ci compatible = "fixed-clock"; 4462306a36Sopenharmony_ci #clock-cells = <0>; 4562306a36Sopenharmony_ci clock-frequency = <27000000>; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci&zynqmp_firmware { 5062306a36Sopenharmony_ci zynqmp_clk: clock-controller { 5162306a36Sopenharmony_ci bootph-all; 5262306a36Sopenharmony_ci #clock-cells = <1>; 5362306a36Sopenharmony_ci compatible = "xlnx,zynqmp-clk"; 5462306a36Sopenharmony_ci clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, 5562306a36Sopenharmony_ci <&aux_ref_clk>, <>_crx_ref_clk>; 5662306a36Sopenharmony_ci clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk", 5762306a36Sopenharmony_ci "aux_ref_clk", "gt_crx_ref_clk"; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci}; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci&can0 { 6262306a36Sopenharmony_ci clocks = <&zynqmp_clk CAN0_REF>, <&zynqmp_clk LPD_LSBUS>; 6362306a36Sopenharmony_ci}; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci&can1 { 6662306a36Sopenharmony_ci clocks = <&zynqmp_clk CAN1_REF>, <&zynqmp_clk LPD_LSBUS>; 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci&cpu0 { 7062306a36Sopenharmony_ci clocks = <&zynqmp_clk ACPU>; 7162306a36Sopenharmony_ci}; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci&fpd_dma_chan1 { 7462306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 7562306a36Sopenharmony_ci}; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci&fpd_dma_chan2 { 7862306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 7962306a36Sopenharmony_ci}; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci&fpd_dma_chan3 { 8262306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 8362306a36Sopenharmony_ci}; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci&fpd_dma_chan4 { 8662306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 8762306a36Sopenharmony_ci}; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci&fpd_dma_chan5 { 9062306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 9162306a36Sopenharmony_ci}; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci&fpd_dma_chan6 { 9462306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 9562306a36Sopenharmony_ci}; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci&fpd_dma_chan7 { 9862306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 9962306a36Sopenharmony_ci}; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci&fpd_dma_chan8 { 10262306a36Sopenharmony_ci clocks = <&zynqmp_clk GDMA_REF>, <&zynqmp_clk LPD_LSBUS>; 10362306a36Sopenharmony_ci}; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci&gpu { 10662306a36Sopenharmony_ci clocks = <&zynqmp_clk GPU_REF>, <&zynqmp_clk GPU_PP0_REF>; 10762306a36Sopenharmony_ci}; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci&lpd_dma_chan1 { 11062306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 11162306a36Sopenharmony_ci}; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci&lpd_dma_chan2 { 11462306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 11562306a36Sopenharmony_ci}; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci&lpd_dma_chan3 { 11862306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 11962306a36Sopenharmony_ci}; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci&lpd_dma_chan4 { 12262306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 12362306a36Sopenharmony_ci}; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci&lpd_dma_chan5 { 12662306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci&lpd_dma_chan6 { 13062306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 13162306a36Sopenharmony_ci}; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci&lpd_dma_chan7 { 13462306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 13562306a36Sopenharmony_ci}; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci&lpd_dma_chan8 { 13862306a36Sopenharmony_ci clocks = <&zynqmp_clk ADMA_REF>, <&zynqmp_clk LPD_LSBUS>; 13962306a36Sopenharmony_ci}; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci&nand0 { 14262306a36Sopenharmony_ci clocks = <&zynqmp_clk NAND_REF>, <&zynqmp_clk LPD_LSBUS>; 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci&gem0 { 14662306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM0_REF>, 14762306a36Sopenharmony_ci <&zynqmp_clk GEM0_TX>, <&zynqmp_clk GEM0_RX>, 14862306a36Sopenharmony_ci <&zynqmp_clk GEM_TSU>; 14962306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk GEM_TSU>; 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci&gem1 { 15362306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM1_REF>, 15462306a36Sopenharmony_ci <&zynqmp_clk GEM1_TX>, <&zynqmp_clk GEM1_RX>, 15562306a36Sopenharmony_ci <&zynqmp_clk GEM_TSU>; 15662306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk GEM_TSU>; 15762306a36Sopenharmony_ci}; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci&gem2 { 16062306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM2_REF>, 16162306a36Sopenharmony_ci <&zynqmp_clk GEM2_TX>, <&zynqmp_clk GEM2_RX>, 16262306a36Sopenharmony_ci <&zynqmp_clk GEM_TSU>; 16362306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk GEM_TSU>; 16462306a36Sopenharmony_ci}; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci&gem3 { 16762306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>, <&zynqmp_clk GEM3_REF>, 16862306a36Sopenharmony_ci <&zynqmp_clk GEM3_TX>, <&zynqmp_clk GEM3_RX>, 16962306a36Sopenharmony_ci <&zynqmp_clk GEM_TSU>; 17062306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk GEM_TSU>; 17162306a36Sopenharmony_ci}; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci&gpio { 17462306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>; 17562306a36Sopenharmony_ci}; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci&i2c0 { 17862306a36Sopenharmony_ci clocks = <&zynqmp_clk I2C0_REF>; 17962306a36Sopenharmony_ci}; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci&i2c1 { 18262306a36Sopenharmony_ci clocks = <&zynqmp_clk I2C1_REF>; 18362306a36Sopenharmony_ci}; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci&pcie { 18662306a36Sopenharmony_ci clocks = <&zynqmp_clk PCIE_REF>; 18762306a36Sopenharmony_ci}; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci&qspi { 19062306a36Sopenharmony_ci clocks = <&zynqmp_clk QSPI_REF>, <&zynqmp_clk LPD_LSBUS>; 19162306a36Sopenharmony_ci}; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci&sata { 19462306a36Sopenharmony_ci clocks = <&zynqmp_clk SATA_REF>; 19562306a36Sopenharmony_ci}; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci&sdhci0 { 19862306a36Sopenharmony_ci clocks = <&zynqmp_clk SDIO0_REF>, <&zynqmp_clk LPD_LSBUS>; 19962306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk SDIO0_REF>; 20062306a36Sopenharmony_ci}; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci&sdhci1 { 20362306a36Sopenharmony_ci clocks = <&zynqmp_clk SDIO1_REF>, <&zynqmp_clk LPD_LSBUS>; 20462306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk SDIO1_REF>; 20562306a36Sopenharmony_ci}; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci&spi0 { 20862306a36Sopenharmony_ci clocks = <&zynqmp_clk SPI0_REF>, <&zynqmp_clk LPD_LSBUS>; 20962306a36Sopenharmony_ci}; 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci&spi1 { 21262306a36Sopenharmony_ci clocks = <&zynqmp_clk SPI1_REF>, <&zynqmp_clk LPD_LSBUS>; 21362306a36Sopenharmony_ci}; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci&ttc0 { 21662306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>; 21762306a36Sopenharmony_ci}; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci&ttc1 { 22062306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>; 22162306a36Sopenharmony_ci}; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci&ttc2 { 22462306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>; 22562306a36Sopenharmony_ci}; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci&ttc3 { 22862306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_LSBUS>; 22962306a36Sopenharmony_ci}; 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci&uart0 { 23262306a36Sopenharmony_ci clocks = <&zynqmp_clk UART0_REF>, <&zynqmp_clk LPD_LSBUS>; 23362306a36Sopenharmony_ci}; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci&uart1 { 23662306a36Sopenharmony_ci clocks = <&zynqmp_clk UART1_REF>, <&zynqmp_clk LPD_LSBUS>; 23762306a36Sopenharmony_ci}; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci&dwc3_0 { 24062306a36Sopenharmony_ci clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>; 24162306a36Sopenharmony_ci}; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci&dwc3_1 { 24462306a36Sopenharmony_ci clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>; 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci&watchdog0 { 24862306a36Sopenharmony_ci clocks = <&zynqmp_clk WDT>; 24962306a36Sopenharmony_ci}; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci&lpd_watchdog { 25262306a36Sopenharmony_ci clocks = <&zynqmp_clk LPD_WDT>; 25362306a36Sopenharmony_ci}; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci&xilinx_ams { 25662306a36Sopenharmony_ci clocks = <&zynqmp_clk AMS_REF>; 25762306a36Sopenharmony_ci}; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci&zynqmp_dpdma { 26062306a36Sopenharmony_ci clocks = <&zynqmp_clk DPDMA_REF>; 26162306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk DPDMA_REF>; /* apll */ 26262306a36Sopenharmony_ci}; 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci&zynqmp_dpsub { 26562306a36Sopenharmony_ci clocks = <&zynqmp_clk TOPSW_LSBUS>, 26662306a36Sopenharmony_ci <&zynqmp_clk DP_AUDIO_REF>, 26762306a36Sopenharmony_ci <&zynqmp_clk DP_VIDEO_REF>; 26862306a36Sopenharmony_ci assigned-clocks = <&zynqmp_clk DP_STC_REF>, 26962306a36Sopenharmony_ci <&zynqmp_clk DP_AUDIO_REF>, 27062306a36Sopenharmony_ci <&zynqmp_clk DP_VIDEO_REF>; /* rpll, rpll, vpll */ 27162306a36Sopenharmony_ci}; 272