diff options
author | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2013-09-25 21:18:13 -0400 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2013-10-07 21:16:21 -0400 |
commit | b9e0d40c0d83805bc6feb86d602e73f2cdcb17f9 (patch) | |
tree | bab61165c96cd1b762250d7de593b88580fd43a4 /Documentation | |
parent | 938cc3a14ca0d921165c741fb10d8defba203dde (diff) |
clk: keystone: add Keystone PLL clock driver
Add the driver for the PLL IPs found on Keystone 2 devices. The PLL
IP typically has a multiplier, a divider and a post-divider. The PLL IPs like
ARMPLL, DDRPLL and PAPLL are controlled by the memory mapped register where
as the Main PLL is controlled by a PLL controller and memory map registers.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/clock/keystone-pll.txt | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/clock/keystone-pll.txt b/Documentation/devicetree/bindings/clock/keystone-pll.txt new file mode 100644 index 000000000000..12bd72605a31 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/keystone-pll.txt | |||
@@ -0,0 +1,84 @@ | |||
1 | Status: Unstable - ABI compatibility may be broken in the future | ||
2 | |||
3 | Binding for keystone PLLs. The main PLL IP typically has a multiplier, | ||
4 | a divider and a post divider. The additional PLL IPs like ARMPLL, DDRPLL | ||
5 | and PAPLL are controlled by the memory mapped register where as the Main | ||
6 | PLL is controlled by a PLL controller registers along with memory mapped | ||
7 | registers. | ||
8 | |||
9 | This binding uses the common clock binding[1]. | ||
10 | |||
11 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
12 | |||
13 | Required properties: | ||
14 | - #clock-cells : from common clock binding; shall be set to 0. | ||
15 | - compatible : shall be "ti,keystone,main-pll-clock" or "ti,keystone,pll-clock" | ||
16 | - clocks : parent clock phandle | ||
17 | - reg - pll control0 and pll multipler registers | ||
18 | - reg-names : control and multiplier. The multiplier is applicable only for | ||
19 | main pll clock | ||
20 | - fixed-postdiv : fixed post divider value | ||
21 | |||
22 | Example: | ||
23 | mainpllclk: mainpllclk@2310110 { | ||
24 | #clock-cells = <0>; | ||
25 | compatible = "ti,keystone,main-pll-clock"; | ||
26 | clocks = <&refclkmain>; | ||
27 | reg = <0x02620350 4>, <0x02310110 4>; | ||
28 | reg-names = "control", "multiplier"; | ||
29 | fixed-postdiv = <2>; | ||
30 | }; | ||
31 | |||
32 | papllclk: papllclk@2620358 { | ||
33 | #clock-cells = <0>; | ||
34 | compatible = "ti,keystone,pll-clock"; | ||
35 | clocks = <&refclkmain>; | ||
36 | clock-output-names = "pa-pll-clk"; | ||
37 | reg = <0x02620358 4>; | ||
38 | reg-names = "control"; | ||
39 | fixed-postdiv = <6>; | ||
40 | }; | ||
41 | |||
42 | Required properties: | ||
43 | - #clock-cells : from common clock binding; shall be set to 0. | ||
44 | - compatible : shall be "ti,keystone,pll-mux-clock" | ||
45 | - clocks : link phandles of parent clocks | ||
46 | - reg - pll mux register | ||
47 | - bit-shift : number of bits to shift the bit-mask | ||
48 | - bit-mask : arbitrary bitmask for programming the mux | ||
49 | |||
50 | Optional properties: | ||
51 | - clock-output-names : From common clock binding. | ||
52 | |||
53 | Example: | ||
54 | mainmuxclk: mainmuxclk@2310108 { | ||
55 | #clock-cells = <0>; | ||
56 | compatible = "ti,keystone,pll-mux-clock"; | ||
57 | clocks = <&mainpllclk>, <&refclkmain>; | ||
58 | reg = <0x02310108 4>; | ||
59 | bit-shift = <23>; | ||
60 | bit-mask = <1>; | ||
61 | clock-output-names = "mainmuxclk"; | ||
62 | }; | ||
63 | |||
64 | Required properties: | ||
65 | - #clock-cells : from common clock binding; shall be set to 0. | ||
66 | - compatible : shall be "ti,keystone,pll-divider-clock" | ||
67 | - clocks : parent clock phandle | ||
68 | - reg - pll mux register | ||
69 | - bit-shift : number of bits to shift the bit-mask | ||
70 | - bit-mask : arbitrary bitmask for programming the divider | ||
71 | |||
72 | Optional properties: | ||
73 | - clock-output-names : From common clock binding. | ||
74 | |||
75 | Example: | ||
76 | gemtraceclk: gemtraceclk@2310120 { | ||
77 | #clock-cells = <0>; | ||
78 | compatible = "ti,keystone,pll-divider-clock"; | ||
79 | clocks = <&mainmuxclk>; | ||
80 | reg = <0x02310120 4>; | ||
81 | bit-shift = <0>; | ||
82 | bit-mask = <8>; | ||
83 | clock-output-names = "gemtraceclk"; | ||
84 | }; | ||