1 Device Tree Clock bindings for the Zynq 7000 EPP
3 The Zynq EPP has several different clk providers, each with there own bindings.
4 The purpose of this document is to document their usage.
6 See clock_bindings.txt for more information on the generic clock bindings.
7 See Chapter 25 of Zynq TRM for more information about Zynq clocks.
10 The clock controller is a logical abstraction of Zynq's clock tree. It reads
11 required input clock frequencies from the devicetree and acts as clock provider
12 for all clock consumers of PS clocks.
15 - #clock-cells : Must be 1
16 - compatible : "xlnx,ps7-clkc"
17 - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ
18 (usually 33 MHz oscillators are used for Zynq platforms)
19 - clock-output-names : List of strings used to name the clock outputs. Shall be
20 a list of the outputs given below.
23 - clocks : as described in the clock bindings
24 - clock-names : as described in the clock bindings
27 The following strings are optional parameters to the 'clock-names' property in
28 order to provide an optional (E)MIO clock source.
32 - mio_clk_XX # with XX = 00..53
88 compatible = "xlnx,ps7-clkc";
89 ps-clk-frequency = <33333333>;
90 clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x",
91 "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x",
92 "dci", "lqspi", "smc", "pcap", "gem0", "gem1",
93 "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1",
94 "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1",
95 "dma", "usb0_aper", "usb1_aper", "gem0_aper",
96 "gem1_aper", "sdio0_aper", "sdio1_aper",
97 "spi0_aper", "spi1_aper", "can0_aper", "can1_aper",
98 "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper",
99 "gpio_aper", "lqspi_aper", "smc_aper", "swdt",
100 "dbg_trc", "dbg_apb";
102 clocks = <&clkc 16>, <&clk_foo>;
103 clock-names = "gem1_emio_clk", "can_mio_clk_23";
108 Used to describe the ARM_PLL, DDR_PLL, and IO_PLL.
111 - #clock-cells : shall be 0 (only one clock is output from this node)
112 - compatible : "xlnx,zynq-pll"
113 - reg : pair of u32 values, which are the address offsets within the SLCR
114 of the relevant PLL_CTRL register and PLL_CFG register respectively
115 - clocks : phandle for parent clock. should be the phandle for ps_clk
118 - clock-output-names : name of the output clock
123 compatible = "xlnx,zynq-pll";
126 clock-output-names = "armpll";
129 == Peripheral clocks ==
131 Describes clock node for the SDIO, SMC, SPI, QSPI, and UART clocks.
134 - #clock-cells : shall be 1
135 - compatible : "xlnx,zynq-periph-clock"
136 - reg : a single u32 value, describing the offset within the SLCR where
137 the CLK_CTRL register is found for this peripheral
138 - clocks : phandle for parent clocks. should hold phandles for
139 the IO_PLL, ARM_PLL, and DDR_PLL in order
140 - clock-output-names : names of the output clock(s). For peripherals that have
141 two output clocks (for example, the UART), two clocks
147 compatible = "xlnx,zynq-periph-clock";
148 clocks = <&iopll &armpll &ddrpll>;
150 clock-output-names = "uart0_ref_clk",