| Device Tree Clock bindings for the Zynq 7000 EPP |
| |
| The Zynq EPP has several different clk providers, each with there own bindings. |
| The purpose of this document is to document their usage. |
| |
| See clock_bindings.txt for more information on the generic clock bindings. |
| See Chapter 25 of Zynq TRM for more information about Zynq clocks. |
| |
| == PLLs == |
| |
| Used to describe the ARM_PLL, DDR_PLL, and IO_PLL. |
| |
| Required properties: |
| - #clock-cells : shall be 0 (only one clock is output from this node) |
| - compatible : "xlnx,zynq-pll" |
| - reg : pair of u32 values, which are the address offsets within the SLCR |
| of the relevant PLL_CTRL register and PLL_CFG register respectively |
| - clocks : phandle for parent clock. should be the phandle for ps_clk |
| |
| Optional properties: |
| - clock-output-names : name of the output clock |
| |
| Example: |
| armpll: armpll { |
| #clock-cells = <0>; |
| compatible = "xlnx,zynq-pll"; |
| clocks = <&ps_clk>; |
| reg = <0x100 0x110>; |
| clock-output-names = "armpll"; |
| }; |
| |
| == Peripheral clocks == |
| |
| Describes clock node for the SDIO, SMC, SPI, QSPI, and UART clocks. |
| |
| Required properties: |
| - #clock-cells : shall be 1 |
| - compatible : "xlnx,zynq-periph-clock" |
| - reg : a single u32 value, describing the offset within the SLCR where |
| the CLK_CTRL register is found for this peripheral |
| - clocks : phandle for parent clocks. should hold phandles for |
| the IO_PLL, ARM_PLL, and DDR_PLL in order |
| - clock-output-names : names of the output clock(s). For peripherals that have |
| two output clocks (for example, the UART), two clocks |
| should be listed. |
| |
| Example: |
| uart_clk: uart_clk { |
| #clock-cells = <1>; |
| compatible = "xlnx,zynq-periph-clock"; |
| clocks = <&iopll &armpll &ddrpll>; |
| reg = <0x154>; |
| clock-output-names = "uart0_ref_clk", |
| "uart1_ref_clk"; |
| }; |