aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 14:54:50 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 14:54:50 -0400
commit92295f632cefbdf15d46e9ac5f0fc3cfade35259 (patch)
tree5b3820d4ed135ccbef540781d99a46137959bbb6
parent750b2d7b93f2ba19f4f238cc641bda22fe07c155 (diff)
parent45e3ec3784aec0d194740b75b547bfabca448ff3 (diff)
Merge tag 'clk-for-linus-3.11' of git://git.linaro.org/people/mturquette/linux
Pull clock framework updates from Mike Turquette: "The common clock framework changes for 3.11 include new clock drivers across several different platforms and architectures, fixes to existing drivers, a MAINTAINERS file fix and improvements to the basic clock types that allow them to be of use to more platforms than before. Only a few fixes to the core framework are included with most all of the changes landing in the various clock drivers themselves." * tag 'clk-for-linus-3.11' of git://git.linaro.org/people/mturquette/linux: (55 commits) clk: tegra: fix ifdef for tegra_periph_reset_assert inline clk: tegra: provide tegra_periph_reset_assert alternative clk: exynos4: Fix clock aliases for cpufreq related clocks clk: samsung: Add MUX_FA macro to pass flag and alias clk: add support for Rockchip gate clocks clk: vexpress: Make the clock drivers directly available for arm64 clk: vexpress: Use full node name to identify individual clocks clk: tegra: T114: add DFLL DVCO reset control clk: tegra: T114: add DFLL source clocks clk: tegra: T114: add FCPU clock shaper programming, needed by the DFLL clk: gate: add CLK_GATE_HIWORD_MASK clk: divider: add CLK_DIVIDER_HIWORD_MASK flag clk: mux: add CLK_MUX_HIWORD_MASK clk: Always notify whole subtree when reparenting MAINTAINERS: make drivers/clk entry match subdirs clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate clk: use clk_get_rate() for debugfs clk: tegra: Use override bits when needed clk: tegra: override bits for Tegra30 PLLM clk: tegra: override bits for Tegra114 PLLM ...
-rw-r--r--Documentation/devicetree/bindings/clock/nspire-clock.txt24
-rw-r--r--Documentation/devicetree/bindings/clock/rockchip.txt74
-rw-r--r--Documentation/devicetree/bindings/clock/silabs,si5351.txt5
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi.txt117
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt93
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt58
-rw-r--r--Documentation/devicetree/bindings/clock/vt8500.txt2
-rw-r--r--MAINTAINERS5
-rw-r--r--arch/arm/mach-tegra/common.c4
-rw-r--r--arch/arm/mach-ux500/cpu.c6
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype1
-rw-r--r--drivers/clk/Kconfig10
-rw-r--r--drivers/clk/Makefile3
-rw-r--r--drivers/clk/clk-divider.c25
-rw-r--r--drivers/clk/clk-gate.c25
-rw-r--r--drivers/clk/clk-mux.c17
-rw-r--r--drivers/clk/clk-nspire.c153
-rw-r--r--drivers/clk/clk-ppc-corenet.c280
-rw-r--r--drivers/clk/clk-si5351.c79
-rw-r--r--drivers/clk/clk-si5351.h1
-rw-r--r--drivers/clk/clk-twl6040.c4
-rw-r--r--drivers/clk/clk-vt8500.c75
-rw-r--r--drivers/clk/clk-wm831x.c14
-rw-r--r--drivers/clk/clk.c100
-rw-r--r--drivers/clk/rockchip/Makefile5
-rw-r--r--drivers/clk/rockchip/clk-rockchip.c94
-rw-r--r--drivers/clk/samsung/clk-exynos4.c21
-rw-r--r--drivers/clk/samsung/clk.h3
-rw-r--r--drivers/clk/sunxi/clk-sunxi.c35
-rw-r--r--drivers/clk/tegra/clk-pll.c281
-rw-r--r--drivers/clk/tegra/clk-tegra114.c270
-rw-r--r--drivers/clk/tegra/clk-tegra20.c3
-rw-r--r--drivers/clk/tegra/clk-tegra30.c25
-rw-r--r--drivers/clk/tegra/clk.c12
-rw-r--r--drivers/clk/tegra/clk.h62
-rw-r--r--drivers/clk/ux500/abx500-clk.c8
-rw-r--r--drivers/clk/ux500/u8540_clk.c564
-rw-r--r--drivers/clk/ux500/u9540_clk.c4
-rw-r--r--drivers/clk/versatile/clk-vexpress-osc.c4
-rw-r--r--drivers/mfd/db8500-prcmu.c1
-rw-r--r--drivers/mfd/dbx500-prcmu-regs.h1
-rw-r--r--include/linux/clk-provider.h62
-rw-r--r--include/linux/clk/tegra.h6
-rw-r--r--include/linux/mfd/abx500/ab8500-sysctrl.h4
-rw-r--r--include/linux/mfd/dbx500-prcmu.h12
-rw-r--r--include/linux/platform_data/clk-ux500.h6
-rw-r--r--include/linux/platform_data/si5351.h18
47 files changed, 2261 insertions, 415 deletions
diff --git a/Documentation/devicetree/bindings/clock/nspire-clock.txt b/Documentation/devicetree/bindings/clock/nspire-clock.txt
new file mode 100644
index 000000000000..7c3bc8bb5b9f
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/nspire-clock.txt
@@ -0,0 +1,24 @@
1TI-NSPIRE Clocks
2
3Required properties:
4- compatible: Valid compatible properties include:
5 "lsi,nspire-cx-ahb-divider" for the AHB divider in the CX model
6 "lsi,nspire-classic-ahb-divider" for the AHB divider in the older model
7 "lsi,nspire-cx-clock" for the base clock in the CX model
8 "lsi,nspire-classic-clock" for the base clock in the older model
9
10- reg: Physical base address of the controller and length of memory mapped
11 region.
12
13Optional:
14- clocks: For the "nspire-*-ahb-divider" compatible clocks, this is the parent
15 clock where it divides the rate from.
16
17Example:
18
19ahb_clk {
20 #clock-cells = <0>;
21 compatible = "lsi,nspire-cx-clock";
22 reg = <0x900B0000 0x4>;
23 clocks = <&base_clk>;
24};
diff --git a/Documentation/devicetree/bindings/clock/rockchip.txt b/Documentation/devicetree/bindings/clock/rockchip.txt
new file mode 100644
index 000000000000..a891c823ed44
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/rockchip.txt
@@ -0,0 +1,74 @@
1Device Tree Clock bindings for arch-rockchip
2
3This binding uses the common clock binding[1].
4
5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6
7== Gate clocks ==
8
9The gate registers form a continuos block which makes the dt node
10structure a matter of taste, as either all gates can be put into
11one gate clock spanning all registers or they can be divided into
12the 10 individual gates containing 16 clocks each.
13The code supports both approaches.
14
15Required properties:
16- compatible : "rockchip,rk2928-gate-clk"
17- reg : shall be the control register address(es) for the clock.
18- #clock-cells : from common clock binding; shall be set to 1
19- clock-output-names : the corresponding gate names that the clock controls
20- clocks : should contain the parent clock for each individual gate,
21 therefore the number of clocks elements should match the number of
22 clock-output-names
23
24Example using multiple gate clocks:
25
26 clk_gates0: gate-clk@200000d0 {
27 compatible = "rockchip,rk2928-gate-clk";
28 reg = <0x200000d0 0x4>;
29 clocks = <&dummy>, <&dummy>,
30 <&dummy>, <&dummy>,
31 <&dummy>, <&dummy>,
32 <&dummy>, <&dummy>,
33 <&dummy>, <&dummy>,
34 <&dummy>, <&dummy>,
35 <&dummy>, <&dummy>,
36 <&dummy>, <&dummy>;
37
38 clock-output-names =
39 "gate_core_periph", "gate_cpu_gpll",
40 "gate_ddrphy", "gate_aclk_cpu",
41 "gate_hclk_cpu", "gate_pclk_cpu",
42 "gate_atclk_cpu", "gate_i2s0",
43 "gate_i2s0_frac", "gate_i2s1",
44 "gate_i2s1_frac", "gate_i2s2",
45 "gate_i2s2_frac", "gate_spdif",
46 "gate_spdif_frac", "gate_testclk";
47
48 #clock-cells = <1>;
49 };
50
51 clk_gates1: gate-clk@200000d4 {
52 compatible = "rockchip,rk2928-gate-clk";
53 reg = <0x200000d4 0x4>;
54 clocks = <&xin24m>, <&xin24m>,
55 <&xin24m>, <&dummy>,
56 <&dummy>, <&xin24m>,
57 <&xin24m>, <&dummy>,
58 <&xin24m>, <&dummy>,
59 <&xin24m>, <&dummy>,
60 <&xin24m>, <&dummy>,
61 <&xin24m>, <&dummy>;
62
63 clock-output-names =
64 "gate_timer0", "gate_timer1",
65 "gate_timer2", "gate_jtag",
66 "gate_aclk_lcdc1_src", "gate_otgphy0",
67 "gate_otgphy1", "gate_ddr_gpll",
68 "gate_uart0", "gate_frac_uart0",
69 "gate_uart1", "gate_frac_uart1",
70 "gate_uart2", "gate_frac_uart2",
71 "gate_uart3", "gate_frac_uart3";
72
73 #clock-cells = <1>;
74 };
diff --git a/Documentation/devicetree/bindings/clock/silabs,si5351.txt b/Documentation/devicetree/bindings/clock/silabs,si5351.txt
index cc374651662c..66c75b2d6158 100644
--- a/Documentation/devicetree/bindings/clock/silabs,si5351.txt
+++ b/Documentation/devicetree/bindings/clock/silabs,si5351.txt
@@ -44,6 +44,11 @@ Optional child node properties:
44- silabs,multisynth-source: source pll A(0) or B(1) of corresponding multisynth 44- silabs,multisynth-source: source pll A(0) or B(1) of corresponding multisynth
45 divider. 45 divider.
46- silabs,pll-master: boolean, multisynth can change pll frequency. 46- silabs,pll-master: boolean, multisynth can change pll frequency.
47- silabs,disable-state : clock output disable state, shall be
48 0 = clock output is driven LOW when disabled
49 1 = clock output is driven HIGH when disabled
50 2 = clock output is FLOATING (HIGH-Z) when disabled
51 3 = clock output is NEVER disabled
47</