/*
 * Clock specification for Xilinx ZynqMP
 *
 * (C) Copyright 2015, Xilinx, Inc.
 *
 * Michal Simek <michal.simek@xilinx.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

&amba {
	clk100: clk100 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <100000000>;
		u-boot,dm-pre-reloc;
	};

	clk125: clk125 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <125000000>;
	};

	clk200: clk200 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <200000000>;
	};

	clk250: clk250 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <250000000>;
	};

	clk300: clk300 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <300000000>;
	};

	clk600: clk600 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <600000000>;
	};

	dp_aclk: clock0 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <100000000>;
		clock-accuracy = <100>;
	};

	dp_aud_clk: clock1 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24576000>;
		clock-accuracy = <100>;
	};

	dpdma_clk: dpdma_clk {
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <533000000>;
	};

	drm_clock: drm_clock {
		compatible = "fixed-clock";
		#clock-cells = <0x0>;
		clock-frequency = <262750000>;
		clock-accuracy = <0x64>;
	};
};

&can0 {
	clocks = <&clk100 &clk100>;
};

&can1 {
	clocks = <&clk100 &clk100>;
};

&fpd_dma_chan1 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan2 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan3 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan4 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan5 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan6 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan7 {
	clocks = <&clk600>, <&clk100>;
};

&fpd_dma_chan8 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan1 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan2 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan3 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan4 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan5 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan6 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan7 {
	clocks = <&clk600>, <&clk100>;
};

&lpd_dma_chan8 {
	clocks = <&clk600>, <&clk100>;
};

&nand0 {
	clocks = <&clk100 &clk100>;
};

&gem0 {
	clocks = <&clk125>, <&clk125>, <&clk125>;
};

&gem1 {
	clocks = <&clk125>, <&clk125>, <&clk125>;
};

&gem2 {
	clocks = <&clk125>, <&clk125>, <&clk125>;
};

&gem3 {
	clocks = <&clk125>, <&clk125>, <&clk125>;
};

&gpio {
	clocks = <&clk100>;
};

&i2c0 {
	clocks = <&clk100>;
};

&i2c1 {
	clocks = <&clk100>;
};

&qspi {
	clocks = <&clk300 &clk300>;
};

&sata {
	clocks = <&clk250>;
};

&sdhci0 {
	clocks = <&clk200 &clk200>;
};

&sdhci1 {
	clocks = <&clk200 &clk200>;
};

&spi0 {
	clocks = <&clk200 &clk200>;
};

&spi1 {
	clocks = <&clk200 &clk200>;
};

&uart0 {
	clocks = <&clk100 &clk100>;
};

&uart1 {
	clocks = <&clk100 &clk100>;
};

&usb0 {
	clocks = <&clk250>, <&clk250>;
};

&usb1 {
	clocks = <&clk250>, <&clk250>;
};

&xilinx_drm {
	clocks = <&drm_clock>;
};

&xlnx_dp {
	clocks = <&dp_aclk>, <&dp_aud_clk>;
};

&xlnx_dpdma {
	clocks = <&dpdma_clk>;
};

&xlnx_dp_snd_codec0 {
	clocks = <&dp_aud_clk>;
};
