CLK: TI: Add DPLL clock support
[cascardo/linux.git] / Documentation / devicetree / bindings / clock / ti / dpll.txt
diff --git a/Documentation/devicetree/bindings/clock/ti/dpll.txt b/Documentation/devicetree/bindings/clock/ti/dpll.txt
new file mode 100644 (file)
index 0000000..30bfdb7
--- /dev/null
@@ -0,0 +1,75 @@
+Binding for Texas Instruments DPLL clock.
+
+Binding status: Unstable - ABI compatibility may be broken in the future
+
+This binding uses the common clock binding[1].  It assumes a
+register-mapped DPLL with usually two selectable input clocks
+(reference clock and bypass clock), with digital phase locked
+loop logic for multiplying the input clock to a desired output
+clock. This clock also typically supports different operation
+modes (locked, low power stop etc.) This binding has several
+sub-types, which effectively result in slightly different setup
+for the actual DPLL clock.
+
+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
+
+Required properties:
+- compatible : shall be one of:
+               "ti,omap3-dpll-clock",
+               "ti,omap3-dpll-core-clock",
+               "ti,omap3-dpll-per-clock",
+               "ti,omap3-dpll-per-j-type-clock",
+               "ti,omap4-dpll-clock",
+               "ti,omap4-dpll-x2-clock",
+               "ti,omap4-dpll-core-clock",
+               "ti,omap4-dpll-m4xen-clock",
+               "ti,omap4-dpll-j-type-clock",
+               "ti,am3-dpll-no-gate-clock",
+               "ti,am3-dpll-j-type-clock",
+               "ti,am3-dpll-no-gate-j-type-clock",
+               "ti,am3-dpll-clock",
+               "ti,am3-dpll-core-clock",
+               "ti,am3-dpll-x2-clock",
+
+- #clock-cells : from common clock binding; shall be set to 0.
+- clocks : link phandles of parent clocks, first entry lists reference clock
+  and second entry bypass clock
+- reg : offsets for the register set for controlling the DPLL.
+  Registers are listed in following order:
+       "control" - contains the control register base address
+       "idlest" - contains the idle status register base address
+       "mult-div1" - contains the multiplier / divider register base address
+       "autoidle" - contains the autoidle register base address (optional)
+  ti,am3-* dpll types do not have autoidle register
+
+Optional properties:
+- DPLL mode setting - defining any one or more of the following overrides
+  default setting.
+       - ti,low-power-stop : DPLL supports low power stop mode, gating output
+       - ti,low-power-bypass : DPLL output matches rate of parent bypass clock
+       - ti,lock : DPLL locks in programmed rate
+
+Examples:
+       dpll_core_ck: dpll_core_ck@44e00490 {
+               #clock-cells = <0>;
+               compatible = "ti,omap4-dpll-core-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x490>, <0x45c>, <0x488>, <0x468>;
+       };
+
+       dpll2_ck: dpll2_ck@48004004 {
+               #clock-cells = <0>;
+               compatible = "ti,omap3-dpll-clock";
+               clocks = <&sys_ck>, <&dpll2_fck>;
+               ti,low-power-stop;
+               ti,low-power-bypass;
+               ti,lock;
+               reg = <0x4>, <0x24>, <0x34>, <0x40>;
+       };
+
+       dpll_core_ck: dpll_core_ck@44e00490 {
+               #clock-cells = <0>;
+               compatible = "ti,am3-dpll-core-clock";
+               clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
+               reg = <0x90>, <0x5c>, <0x68>;
+       };