aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-15 22:02:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-15 22:02:20 -0400
commitdd1845af24a47b70cf84c29126698884f740ff9c (patch)
treefa12809d854d18ba36a568c21d57ceff43617af1 /Documentation
parentb55b39020289f225bf2455349ce1a67372a0baa9 (diff)
parentb640a6037c9ecd1f0ad23a8e9b4ca5f5b4112508 (diff)
Merge tag 'clk-for-linus-3.16-part2' of git://git.linaro.org/people/mike.turquette/linux
Pull more clock framework updates from Mike Turquette: "This contains the second half the of the clk changes for 3.16. They are simply fixes and code refactoring for the OMAP clock drivers. The sunxi clock driver changes include splitting out the one mega-driver into several smaller pieces and adding support for the A31 SoC clocks" * tag 'clk-for-linus-3.16-part2' of git://git.linaro.org/people/mike.turquette/linux: (25 commits) clk: sunxi: document PRCM clock compatible strings clk: sunxi: add PRCM (Power/Reset/Clock Management) clks support clk: sun6i: Protect SDRAM gating bit clk: sun6i: Protect CPU clock clk: sunxi: Rework clock protection code clk: sunxi: Move the GMAC clock to a file of its own clk: sunxi: Move the 24M oscillator to a file of its own clk: sunxi: Remove calls to clk_put clk: sunxi: document new A31 USB clock compatible clk: sunxi: Implement A31 USB clock ARM: dts: OMAP5/DRA7: use omap5-mpu-dpll-clock capable of dealing with higher frequencies CLK: TI: dpll: support OMAP5 MPU DPLL that need special handling for higher frequencies ARM: OMAP5+: dpll: support Duty Cycle Correction(DCC) CLK: TI: clk-54xx: Set the rate for dpll_abe_m2x2_ck CLK: TI: Driver for DRA7 ATL (Audio Tracking Logic) dt:/bindings: DRA7 ATL (Audio Tracking Logic) clock bindings ARM: dts: dra7xx-clocks: Correct name for atl clkin3 clock CLK: TI: gate: add composite interface clock to OMAP2 only build ARM: OMAP2: clock: add DT boot support for cpufreq_ck CLK: TI: OMAP2: add clock init support ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi.txt4
-rw-r--r--Documentation/devicetree/bindings/clock/ti/apll.txt24
-rw-r--r--Documentation/devicetree/bindings/clock/ti/dpll.txt10
-rw-r--r--Documentation/devicetree/bindings/clock/ti/dra7-atl.txt96
-rw-r--r--Documentation/devicetree/bindings/clock/ti/gate.txt29
-rw-r--r--Documentation/devicetree/bindings/clock/ti/interface.txt2
6 files changed, 156 insertions, 9 deletions
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index a5160d8cbb5f..b9ec668bfe62 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -20,12 +20,15 @@ Required properties:
20 "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13 20 "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13
21 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s 21 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
22 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20 22 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20
23 "allwinner,sun6i-a31-ar100-clk" - for the AR100 on A31
23 "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31 24 "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31
24 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31 25 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31
25 "allwinner,sun4i-a10-apb0-clk" - for the APB0 clock 26 "allwinner,sun4i-a10-apb0-clk" - for the APB0 clock
27 "allwinner,sun6i-a31-apb0-clk" - for the APB0 clock on A31
26 "allwinner,sun4i-a10-apb0-gates-clk" - for the APB0 gates on A10 28 "allwinner,sun4i-a10-apb0-gates-clk" - for the APB0 gates on A10
27 "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 29 "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13
28 "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s 30 "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s
31 "allwinner,sun6i-a31-apb0-gates-clk" - for the APB0 gates on A31
29 "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20 32 "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20
30 "allwinner,sun4i-a10-apb1-clk" - for the APB1 clock 33 "allwinner,sun4i-a10-apb1-clk" - for the APB1 clock
31 "allwinner,sun4i-a10-apb1-mux-clk" - for the APB1 clock muxing 34 "allwinner,sun4i-a10-apb1-mux-clk" - for the APB1 clock muxing
@@ -41,6 +44,7 @@ Required properties:
41 "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31 44 "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31
42 "allwinner,sun4i-a10-usb-clk" - for usb gates + resets on A10 / A20 45 "allwinner,sun4i-a10-usb-clk" - for usb gates + resets on A10 / A20
43 "allwinner,sun5i-a13-usb-clk" - for usb gates + resets on A13 46 "allwinner,sun5i-a13-usb-clk" - for usb gates + resets on A13
47 "allwinner,sun6i-a31-usb-clk" - for usb gates + resets on A31
44 48
45Required properties for all clocks: 49Required properties for all clocks:
46- reg : shall be the control register address for the clock. 50- reg : shall be the control register address for the clock.
diff --git a/Documentation/devicetree/bindings/clock/ti/apll.txt b/Documentation/devicetree/bindings/clock/ti/apll.txt
index 7faf5a68b3be..ade4dd4c30f0 100644
--- a/Documentation/devicetree/bindings/clock/ti/apll.txt
+++ b/Documentation/devicetree/bindings/clock/ti/apll.txt
@@ -14,18 +14,32 @@ a subtype of a DPLL [2], although a simplified one at that.
14[2] Documentation/devicetree/bindings/clock/ti/dpll.txt 14[2] Documentation/devicetree/bindings/clock/ti/dpll.txt
15 15
16Required properties: 16Required properties:
17- compatible : shall be "ti,dra7-apll-clock" 17- compatible : shall be "ti,dra7-apll-clock" or "ti,omap2-apll-clock"
18- #clock-cells : from common clock binding; shall be set to 0. 18- #clock-cells : from common clock binding; shall be set to 0.
19- clocks : link phandles of parent clocks (clk-ref and clk-bypass) 19- clocks : link phandles of parent clocks (clk-ref and clk-bypass)
20- reg : address and length of the register set for controlling the APLL. 20- reg : address and length of the register set for controlling the APLL.
21 It contains the information of registers in the following order: 21 It contains the information of registers in the following order:
22 "control" - contains the control register base address 22 "control" - contains the control register offset
23 "idlest" - contains the idlest register base address 23 "idlest" - contains the idlest register offset
24 "autoidle" - contains the autoidle register offset (OMAP2 only)
25- ti,clock-frequency : static clock frequency for the clock (OMAP2 only)
26- ti,idlest-shift : bit-shift for the idlest field (OMAP2 only)
27- ti,bit-shift : bit-shift for enable and autoidle fields (OMAP2 only)
24 28
25Examples: 29Examples:
26 apll_pcie_ck: apll_pcie_ck@4a008200 { 30 apll_pcie_ck: apll_pcie_ck {
27 #clock-cells = <0>; 31 #clock-cells = <0>;
28 clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>; 32 clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
29 reg = <0x4a00821c 0x4>, <0x4a008220 0x4>; 33 reg = <0x021c>, <0x0220>;
30 compatible = "ti,dra7-apll-clock"; 34 compatible = "ti,dra7-apll-clock";
31 }; 35 };
36
37 apll96_ck: apll96_ck {
38 #clock-cells = <0>;
39 compatible = "ti,omap2-apll-clock";
40 clocks = <&sys_ck>;
41 ti,bit-shift = <2>;
42 ti,idlest-shift = <8>;
43 ti,clock-frequency = <96000000>;
44 reg = <0x0500>, <0x0530>, <0x0520>;
45 };
diff --git a/Documentation/devicetree/bindings/clock/ti/dpll.txt b/Documentation/devicetree/bindings/clock/ti/dpll.txt
index 30bfdb7c9f18..df57009ff8e7 100644
--- a/Documentation/devicetree/bindings/clock/ti/dpll.txt
+++ b/Documentation/devicetree/bindings/clock/ti/dpll.txt
@@ -24,12 +24,14 @@ Required properties:
24 "ti,omap4-dpll-core-clock", 24 "ti,omap4-dpll-core-clock",
25 "ti,omap4-dpll-m4xen-clock", 25 "ti,omap4-dpll-m4xen-clock",
26 "ti,omap4-dpll-j-type-clock", 26 "ti,omap4-dpll-j-type-clock",
27 "ti,omap5-mpu-dpll-clock",
27 "ti,am3-dpll-no-gate-clock", 28 "ti,am3-dpll-no-gate-clock",
28 "ti,am3-dpll-j-type-clock", 29 "ti,am3-dpll-j-type-clock",
29 "ti,am3-dpll-no-gate-j-type-clock", 30 "ti,am3-dpll-no-gate-j-type-clock",
30 "ti,am3-dpll-clock", 31 "ti,am3-dpll-clock",
31 "ti,am3-dpll-core-clock", 32 "ti,am3-dpll-core-clock",
32 "ti,am3-dpll-x2-clock", 33 "ti,am3-dpll-x2-clock",
34 "ti,omap2-dpll-core-clock",
33 35
34- #clock-cells : from common clock binding; shall be set to 0. 36- #clock-cells : from common clock binding; shall be set to 0.
35- clocks : link phandles of parent clocks, first entry lists reference clock 37- clocks : link phandles of parent clocks, first entry lists reference clock
@@ -41,6 +43,7 @@ Required properties:
41 "mult-div1" - contains the multiplier / divider register base address 43 "mult-div1" - contains the multiplier / divider register base address
42 "autoidle" - contains the autoidle register base address (optional) 44 "autoidle" - contains the autoidle register base address (optional)
43 ti,am3-* dpll types do not have autoidle register 45 ti,am3-* dpll types do not have autoidle register
46 ti,omap2-* dpll type does not support idlest / autoidle registers
44 47
45Optional properties: 48Optional properties:
46- DPLL mode setting - defining any one or more of the following overrides 49- DPLL mode setting - defining any one or more of the following overrides
@@ -73,3 +76,10 @@ Examples:
73 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 76 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
74 reg = <0x90>, <0x5c>, <0x68>; 77 reg = <0x90>, <0x5c>, <0x68>;
75 }; 78 };
79
80 dpll_ck: dpll_ck {
81 #clock-cells = <0>;
82 compatible = "ti,omap2-dpll-core-clock";
83 clocks = <&sys_ck>, <&sys_ck>;
84 reg = <0x0500>, <0x0540>;
85 };
diff --git a/Documentation/devicetree/bindings/clock/ti/dra7-atl.txt b/Documentation/devicetree/bindings/clock/ti/dra7-atl.txt
new file mode 100644
index 000000000000..585e8c191f50
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/ti/dra7-atl.txt
@@ -0,0 +1,96 @@
1Device Tree Clock bindings for ATL (Audio Tracking Logic) of DRA7 SoC.
2
3The ATL IP is used to generate clock to be used to synchronize baseband and
4audio codec. A single ATL IP provides four ATL clock instances sharing the same
5functional clock but can be configured to provide different clocks.
6ATL can maintain a clock averages to some desired frequency based on the bws/aws
7signals - can compensate the drift between the two ws signal.
8
9In order to provide the support for ATL and it's output clocks (which can be used
10internally within the SoC or external components) two sets of bindings is needed:
11
12Clock tree binding:
13This binding uses the common clock binding[1].
14To be able to integrate the ATL clocks with DT clock tree.
15Provides ccf level representation of the ATL clocks to be used by drivers.
16Since the clock instances are part of a single IP this binding is used as a node
17for the DT clock tree, the IP driver is needed to handle the actual configuration
18of the IP.
19
20[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
21
22Required properties:
23- compatible : shall be "ti,dra7-atl-clock"
24- #clock-cells : from common clock binding; shall be set to 0.
25- clocks : link phandles to functional clock of ATL
26
27Binding for the IP driver:
28This binding is used to configure the IP driver which is going to handle the
29configuration of the IP for the ATL clock instances.
30
31Required properties:
32- compatible : shall be "ti,dra7-atl"
33- reg : base address for the ATL IP
34- ti,provided-clocks : List of phandles to the clocks associated with the ATL
35- clocks : link phandles to functional clock of ATL
36- clock-names : Shall be set to "fck"
37- ti,hwmods : Shall be set to "atl"
38
39Optional properties:
40Configuration of ATL instances:
41- atl{0/1/2/3} {
42 - bws : Baseband word select signal selection
43 - aws : Audio word select signal selection
44};
45
46For valid word select signals, see the dt-bindings/clk/ti-dra7-atl.h include
47file.
48
49Examples:
50/* clock bindings for atl provided clocks */
51atl_clkin0_ck: atl_clkin0_ck {
52 #clock-cells = <0>;
53 compatible = "ti,dra7-atl-clock";
54 clocks = <&atl_gfclk_mux>;
55};
56
57atl_clkin1_ck: atl_clkin1_ck {
58 #clock-cells = <0>;
59 compatible = "ti,dra7-atl-clock";
60 clocks = <&atl_gfclk_mux>;
61};
62
63atl_clkin2_ck: atl_clkin2_ck {
64 #clock-cells = <0>;
65 compatible = "ti,dra7-atl-clock";
66 clocks = <&atl_gfclk_mux>;
67};
68
69atl_clkin3_ck: atl_clkin3_ck {
70 #clock-cells = <0>;
71 compatible = "ti,dra7-atl-clock";
72 clocks = <&atl_gfclk_mux>;
73};
74
75/* binding for the IP */
76atl: atl@4843c000 {
77 compatible = "ti,dra7-atl";
78 reg = <0x4843c000 0x3ff>;
79 ti,hwmods = "atl";
80 ti,provided-clocks = <&atl_clkin0_ck>, <&atl_clkin1_ck>,
81 <&atl_clkin2_ck>, <&atl_clkin3_ck>;
82 clocks = <&atl_gfclk_mux>;
83 clock-names = "fck";
84 status = "disabled";
85};
86
87#include <dt-bindings/clk/ti-dra7-atl.h>
88
89&atl {
90 status = "okay";
91
92 atl2 {
93 bws = <DRA7_ATL_WS_MCASP2_FSX>;
94 aws = <DRA7_ATL_WS_MCASP3_FSX>;
95 };
96};
diff --git a/Documentation/devicetree/bindings/clock/ti/gate.txt b/Documentation/devicetree/bindings/clock/ti/gate.txt
index 125281aaa4ca..03f8fdee62a7 100644
--- a/Documentation/devicetree/bindings/clock/ti/gate.txt
+++ b/Documentation/devicetree/bindings/clock/ti/gate.txt
@@ -25,6 +25,11 @@ Required properties:
25 to map clockdomains properly 25 to map clockdomains properly
26 "ti,hsdiv-gate-clock" - gate clock with OMAP36xx specific hardware handling, 26 "ti,hsdiv-gate-clock" - gate clock with OMAP36xx specific hardware handling,
27 required for a hardware errata 27 required for a hardware errata
28 "ti,composite-gate-clock" - composite gate clock, to be part of composite
29 clock
30 "ti,composite-no-wait-gate-clock" - composite gate clock that does not wait
31 for clock to be active before returning
32 from clk_enable()
28- #clock-cells : from common clock binding; shall be set to 0 33- #clock-cells : from common clock binding; shall be set to 0
29- clocks : link to phandle of parent clock 34- clocks : link to phandle of parent clock
30- reg : offset for register controlling adjustable gate, not needed for 35- reg : offset for register controlling adjustable gate, not needed for
@@ -41,7 +46,7 @@ Examples:
41 #clock-cells = <0>; 46 #clock-cells = <0>;
42 compatible = "ti,gate-clock"; 47 compatible = "ti,gate-clock";
43 clocks = <&core_96m_fck>; 48 clocks = <&core_96m_fck>;
44 reg = <0x48004a00 0x4>; 49 reg = <0x0a00>;
45 ti,bit-shift = <25>; 50 ti,bit-shift = <25>;
46 }; 51 };
47 52
@@ -57,7 +62,7 @@ Examples:
57 #clock-cells = <0>; 62 #clock-cells = <0>;
58 compatible = "ti,dss-gate-clock"; 63 compatible = "ti,dss-gate-clock";
59 clocks = <&dpll4_m4x2_ck>; 64 clocks = <&dpll4_m4x2_ck>;
60 reg = <0x48004e00 0x4>; 65 reg = <0x0e00>;
61 ti,bit-shift = <0>; 66 ti,bit-shift = <0>;
62 }; 67 };
63 68
@@ -65,7 +70,7 @@ Examples:
65 #clock-cells = <0>; 70 #clock-cells = <0>;
66 compatible = "ti,am35xx-gate-clock"; 71 compatible = "ti,am35xx-gate-clock";
67 clocks = <&ipss_ick>; 72 clocks = <&ipss_ick>;
68 reg = <0x4800259c 0x4>; 73 reg = <0x059c>;
69 ti,bit-shift = <1>; 74 ti,bit-shift = <1>;
70 }; 75 };
71 76
@@ -80,6 +85,22 @@ Examples:
80 compatible = "ti,hsdiv-gate-clock"; 85 compatible = "ti,hsdiv-gate-clock";
81 clocks = <&dpll4_m2x2_mul_ck>; 86 clocks = <&dpll4_m2x2_mul_ck>;
82 ti,bit-shift = <0x1b>; 87 ti,bit-shift = <0x1b>;
83 reg = <0x48004d00 0x4>; 88 reg = <0x0d00>;
84 ti,set-bit-to-disable; 89 ti,set-bit-to-disable;
85 }; 90 };
91
92 vlynq_gate_fck: vlynq_gate_fck {
93 #clock-cells = <0>;
94 compatible = "ti,composite-gate-clock";
95 clocks = <&core_ck>;
96 ti,bit-shift = <3>;
97 reg = <0x0200>;
98 };
99
100 sys_clkout2_src_gate: sys_clkout2_src_gate {
101 #clock-cells = <0>;
102 compatible = "ti,composite-no-wait-gate-clock";
103 clocks = <&core_ck>;
104 ti,bit-shift = <15>;
105 reg = <0x0070>;
106 };
diff --git a/Documentation/devicetree/bindings/clock/ti/interface.txt b/Documentation/devicetree/bindings/clock/ti/interface.txt
index 064e8caccac3..3111a409fea6 100644
--- a/Documentation/devicetree/bindings/clock/ti/interface.txt
+++ b/Documentation/devicetree/bindings/clock/ti/interface.txt
@@ -21,6 +21,8 @@ Required properties:
21 "ti,omap3-dss-interface-clock" - interface clock with DSS specific HW handling 21 "ti,omap3-dss-interface-clock" - interface clock with DSS specific HW handling
22 "ti,omap3-ssi-interface-clock" - interface clock with SSI specific HW handling 22 "ti,omap3-ssi-interface-clock" - interface clock with SSI specific HW handling
23 "ti,am35xx-interface-clock" - interface clock with AM35xx specific HW handling 23 "ti,am35xx-interface-clock" - interface clock with AM35xx specific HW handling
24 "ti,omap2430-interface-clock" - interface clock with OMAP2430 specific HW
25 handling
24- #clock-cells : from common clock binding; shall be set to 0 26- #clock-cells : from common clock binding; shall be set to 0
25- clocks : link to phandle of parent clock 27- clocks : link to phandle of parent clock
26- reg : base address for the control register 28- reg : base address for the control register