aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoc Ho <lho@apm.com>2013-06-26 13:56:11 -0400
committerMike Turquette <mturquette@linaro.org>2013-10-07 14:22:16 -0400
commit938cc3a14ca0d921165c741fb10d8defba203dde (patch)
tree1b77fe9fc31c757fc738454bf6a2cd2bace01b19
parent3eb15d84e355f4ea1acf0eaba11ca173de342107 (diff)
Documentation: Add documentation for APM X-Gene clock binding
Documentation: Add documentation for APM X-Gene clock binding with PLL and device clocks. Signed-off-by: Loc Ho <lho@apm.com> Signed-off-by: Kumar Sankaran <ksankaran@apm.com> Signed-off-by: Vinayak Kale <vkale@apm.com> Signed-off-by: Feng Kan <fkan@apm.com> Signed-off-by: Mike Turquette <mturquette@linaro.org>
-rw-r--r--Documentation/devicetree/bindings/clock/xgene.txt111
1 files changed, 111 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/clock/xgene.txt b/Documentation/devicetree/bindings/clock/xgene.txt
new file mode 100644
index 000000000000..1c4ef773feea
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/xgene.txt
@@ -0,0 +1,111 @@
1Device Tree Clock bindings for APM X-Gene
2
3This binding uses the common clock binding[1].
4
5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6
7Required properties:
8- compatible : shall be one of the following:
9 "apm,xgene-socpll-clock" - for a X-Gene SoC PLL clock
10 "apm,xgene-pcppll-clock" - for a X-Gene PCP PLL clock
11 "apm,xgene-device-clock" - for a X-Gene device clock
12
13Required properties for SoC or PCP PLL clocks:
14- reg : shall be the physical PLL register address for the pll clock.
15- clocks : shall be the input parent clock phandle for the clock. This should
16 be the reference clock.
17- #clock-cells : shall be set to 1.
18- clock-output-names : shall be the name of the PLL referenced by derive
19 clock.
20Optional properties for PLL clocks:
21- clock-names : shall be the name of the PLL. If missing, use the device name.
22
23Required properties for device clocks:
24- reg : shall be a list of address and length pairs describing the CSR
25 reset and/or the divider. Either may be omitted, but at least
26 one must be present.
27 - reg-names : shall be a string list describing the reg resource. This
28 may include "csr-reg" and/or "div-reg". If this property
29 is not present, the reg property is assumed to describe
30 only "csr-reg".
31- clocks : shall be the input parent clock phandle for the clock.
32- #clock-cells : shall be set to 1.
33- clock-output-names : shall be the name of the device referenced.
34Optional properties for device clocks:
35- clock-names : shall be the name of the device clock. If missing, use the
36 device name.
37- csr-offset : Offset to the CSR reset register from the reset address base.
38 Default is 0.
39- csr-mask : CSR reset mask bit. Default is 0xF.
40- enable-offset : Offset to the enable register from the reset address base.
41 Default is 0x8.
42- enable-mask : CSR enable mask bit. Default is 0xF.
43- divider-offset : Offset to the divider CSR register from the divider base.
44 Default is 0x0.
45- divider-width : Width of the divider register. Default is 0.
46- divider-shift : Bit shift of the divider register. Default is 0.
47
48For example:
49
50 pcppll: pcppll@17000100 {
51 compatible = "apm,xgene-pcppll-clock";
52 #clock-cells = <1>;
53 clocks = <&refclk 0>;
54 clock-names = "pcppll";
55 reg = <0x0 0x17000100 0x0 0x1000>;
56 clock-output-names = "pcppll";
57 type = <0>;
58 };
59
60 socpll: socpll@17000120 {
61 compatible = "apm,xgene-socpll-clock";
62 #clock-cells = <1>;
63 clocks = <&refclk 0>;
64 clock-names = "socpll";
65 reg = <0x0 0x17000120 0x0 0x1000>;
66 clock-output-names = "socpll";
67 type = <1>;
68 };
69
70 qmlclk: qmlclk {
71 compatible = "apm,xgene-device-clock";
72 #clock-cells = <1>;
73 clocks = <&socplldiv2 0>;
74 clock-names = "qmlclk";
75 reg = <0x0 0x1703C000 0x0 0x1000>;
76 reg-name = "csr-reg";
77 clock-output-names = "qmlclk";
78 };
79
80 ethclk: ethclk {
81 compatible = "apm,xgene-device-clock";
82 #clock-cells = <1>;
83 clocks = <&socplldiv2 0>;
84 clock-names = "ethclk";
85 reg = <0x0 0x17000000 0x0 0x1000>;
86 reg-names = "div-reg";
87 divider-offset = <0x238>;
88 divider-width = <0x9>;
89 divider-shift = <0x0>;
90 clock-output-names = "ethclk";
91 };
92
93 apbclk: apbclk {
94 compatible = "apm,xgene-device-clock";
95 #clock-cells = <1>;
96 clocks = <&ahbclk 0>;
97 clock-names = "apbclk";
98 reg = <0x0 0x1F2AC000 0x0 0x1000
99 0x0 0x1F2AC000 0x0 0x1000>;
100 reg-names = "csr-reg", "div-reg";
101 csr-offset = <0x0>;
102 csr-mask = <0x200>;
103 enable-offset = <0x8>;
104 enable-mask = <0x200>;
105 divider-offset = <0x10>;
106 divider-width = <0x2>;
107 divider-shift = <0x0>;
108 flags = <0x8>;
109 clock-output-names = "apbclk";
110 };
111