13cf467a9SJ KeerthyBinding for Texas Instruments APLL clock.
23cf467a9SJ Keerthy
33cf467a9SJ KeerthyBinding status: Unstable - ABI compatibility may be broken in the future
43cf467a9SJ Keerthy
53cf467a9SJ KeerthyThis binding uses the common clock binding[1].  It assumes a
63cf467a9SJ Keerthyregister-mapped APLL with usually two selectable input clocks
73cf467a9SJ Keerthy(reference clock and bypass clock), with analog phase locked
83cf467a9SJ Keerthyloop logic for multiplying the input clock to a desired output
93cf467a9SJ Keerthyclock. This clock also typically supports different operation
103cf467a9SJ Keerthymodes (locked, low power stop etc.) APLL mostly behaves like
113cf467a9SJ Keerthya subtype of a DPLL [2], although a simplified one at that.
123cf467a9SJ Keerthy
133cf467a9SJ Keerthy[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
143cf467a9SJ Keerthy[2] Documentation/devicetree/bindings/clock/ti/dpll.txt
153cf467a9SJ Keerthy
163cf467a9SJ KeerthyRequired properties:
174d008589STero Kristo- compatible : shall be "ti,dra7-apll-clock" or "ti,omap2-apll-clock"
183cf467a9SJ Keerthy- #clock-cells : from common clock binding; shall be set to 0.
193cf467a9SJ Keerthy- clocks : link phandles of parent clocks (clk-ref and clk-bypass)
203cf467a9SJ Keerthy- reg : address and length of the register set for controlling the APLL.
213cf467a9SJ Keerthy  It contains the information of registers in the following order:
224d008589STero Kristo	"control" - contains the control register offset
234d008589STero Kristo	"idlest" - contains the idlest register offset
244d008589STero Kristo	"autoidle" - contains the autoidle register offset (OMAP2 only)
254d008589STero Kristo- ti,clock-frequency : static clock frequency for the clock (OMAP2 only)
264d008589STero Kristo- ti,idlest-shift : bit-shift for the idlest field (OMAP2 only)
274d008589STero Kristo- ti,bit-shift : bit-shift for enable and autoidle fields (OMAP2 only)
283cf467a9SJ Keerthy
293cf467a9SJ KeerthyExamples:
304d008589STero Kristo	apll_pcie_ck: apll_pcie_ck {
313cf467a9SJ Keerthy		#clock-cells = <0>;
323cf467a9SJ Keerthy		clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
334d008589STero Kristo		reg = <0x021c>, <0x0220>;
343cf467a9SJ Keerthy		compatible = "ti,dra7-apll-clock";
353cf467a9SJ Keerthy	};
364d008589STero Kristo
374d008589STero Kristo	apll96_ck: apll96_ck {
384d008589STero Kristo		#clock-cells = <0>;
394d008589STero Kristo		compatible = "ti,omap2-apll-clock";
404d008589STero Kristo		clocks = <&sys_ck>;
414d008589STero Kristo		ti,bit-shift = <2>;
424d008589STero Kristo		ti,idlest-shift = <8>;
434d008589STero Kristo		ti,clock-frequency = <96000000>;
444d008589STero Kristo		reg = <0x0500>, <0x0530>, <0x0520>;
454d008589STero Kristo	};
46