-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
clk: Add support for fundamental zynq clks
Provide simplified models for the necessary clocks on the zynq-7000 platform. Currently, the PLLs, the CPU clock network, and the basic peripheral clock networks (for SDIO, SMC, SPI, QSPI, UART) are modelled. OF bindings are also provided and documented. Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Acked-by: Mike Turquette <mturquette@linaro.org> Acked-by: Michal Simek <michal.simek@xilinx.com>
- Loading branch information
Josh Cartwright
authored and
Michal Simek
committed
Nov 14, 2012
1 parent
e06f1a9
commit 45aa2c2
Showing
3 changed files
with
462 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
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"; | ||
}; |
Oops, something went wrong.