aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2014-11-12 13:08:31 -0500
committerMaxime Ripard <maxime.ripard@free-electrons.com>2014-11-23 11:02:56 -0500
commit95e94c1fadcd1959857db45c2e11810a893badd0 (patch)
tree2c62bbbe6df23b6b1ab8bb5660d06dc3384a58fd /Documentation
parent13d52f61065dcdbea13aae2f0aea6af43a3abf65 (diff)
clk: sunxi: Implement A31 PLL6 as a divs clock for 2x output
Some clock modules on the A31 use PLL6x2 as one of their inputs. This patch changes the PLL6 implementation for A31 to a divs clock, i.e. clock with multiple outputs that have different dividers. The first output will be the normal PLL6 output, and the second will be PLL6x2. This patch fixes the PLL6 N factor in the clock driver, and removes any /2 dividers in the PLL6 factors clock part. The N factor counts from 1 to 32, mapping to values 0 to 31, as shown in the A31 manual. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi.txt19
1 files changed, 17 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index d199f9153e04..67b2b99f2b33 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -71,8 +71,9 @@ Required properties for all clocks:
71 multiplexed clocks, the list order must match the hardware 71 multiplexed clocks, the list order must match the hardware
72 programming order. 72 programming order.
73- #clock-cells : from common clock binding; shall be set to 0 except for 73- #clock-cells : from common clock binding; shall be set to 0 except for
74 "allwinner,*-gates-clk", "allwinner,sun4i-pll5-clk" and 74 the following compatibles where it shall be set to 1:
75 "allwinner,sun4i-pll6-clk" where it shall be set to 1 75 "allwinner,*-gates-clk", "allwinner,sun4i-pll5-clk",
76 "allwinner,sun4i-pll6-clk", "allwinner,sun6i-a31-pll6-clk"
76- clock-output-names : shall be the corresponding names of the outputs. 77- clock-output-names : shall be the corresponding names of the outputs.
77 If the clock module only has one output, the name shall be the 78 If the clock module only has one output, the name shall be the
78 module name. 79 module name.
@@ -87,6 +88,12 @@ Clock consumers should specify the desired clocks they use with a
87"clocks" phandle cell. Consumers that are using a gated clock should 88"clocks" phandle cell. Consumers that are using a gated clock should
88provide an additional ID in their clock property. This ID is the 89provide an additional ID in their clock property. This ID is the
89offset of the bit controlling this particular gate in the register. 90offset of the bit controlling this particular gate in the register.
91For the other clocks with "#clock-cells" = 1, the additional ID shall
92refer to the index of the output.
93
94For "allwinner,sun6i-a31-pll6-clk", there are 2 outputs. The first output
95is the normal PLL6 output, or "pll6". The second output is rate doubled
96PLL6, or "pll6x2".
90 97
91For example: 98For example:
92 99
@@ -114,6 +121,14 @@ pll5: clk@01c20020 {
114 clock-output-names = "pll5_ddr", "pll5_other"; 121 clock-output-names = "pll5_ddr", "pll5_other";
115}; 122};
116 123
124pll6: clk@01c20028 {
125 #clock-cells = <1>;
126 compatible = "allwinner,sun6i-a31-pll6-clk";
127 reg = <0x01c20028 0x4>;
128 clocks = <&osc24M>;
129 clock-output-names = "pll6", "pll6x2";
130};
131
117cpu: cpu@01c20054 { 132cpu: cpu@01c20054 {
118 #clock-cells = <0>; 133 #clock-cells = <0>;
119 compatible = "allwinner,sun4i-a10-cpu-clk"; 134 compatible = "allwinner,sun4i-a10-cpu-clk";