162306a36Sopenharmony_ciBinding for Texas Instruments APLL clock.
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciBinding status: Unstable - ABI compatibility may be broken in the future
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciThis binding uses the common clock binding[1].  It assumes a
662306a36Sopenharmony_ciregister-mapped APLL with usually two selectable input clocks
762306a36Sopenharmony_ci(reference clock and bypass clock), with analog phase locked
862306a36Sopenharmony_ciloop logic for multiplying the input clock to a desired output
962306a36Sopenharmony_ciclock. This clock also typically supports different operation
1062306a36Sopenharmony_cimodes (locked, low power stop etc.) APLL mostly behaves like
1162306a36Sopenharmony_cia subtype of a DPLL [2], although a simplified one at that.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
1462306a36Sopenharmony_ci[2] Documentation/devicetree/bindings/clock/ti/dpll.txt
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciRequired properties:
1762306a36Sopenharmony_ci- compatible : shall be "ti,dra7-apll-clock" or "ti,omap2-apll-clock"
1862306a36Sopenharmony_ci- #clock-cells : from common clock binding; shall be set to 0.
1962306a36Sopenharmony_ci- clocks : link phandles of parent clocks (clk-ref and clk-bypass)
2062306a36Sopenharmony_ci- reg : address and length of the register set for controlling the APLL.
2162306a36Sopenharmony_ci  It contains the information of registers in the following order:
2262306a36Sopenharmony_ci	"control" - contains the control register offset
2362306a36Sopenharmony_ci	"idlest" - contains the idlest register offset
2462306a36Sopenharmony_ci	"autoidle" - contains the autoidle register offset (OMAP2 only)
2562306a36Sopenharmony_ci- ti,clock-frequency : static clock frequency for the clock (OMAP2 only)
2662306a36Sopenharmony_ci- ti,idlest-shift : bit-shift for the idlest field (OMAP2 only)
2762306a36Sopenharmony_ci- ti,bit-shift : bit-shift for enable and autoidle fields (OMAP2 only)
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciExamples:
3062306a36Sopenharmony_ci	apll_pcie_ck: apll_pcie_ck {
3162306a36Sopenharmony_ci		#clock-cells = <0>;
3262306a36Sopenharmony_ci		clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
3362306a36Sopenharmony_ci		reg = <0x021c>, <0x0220>;
3462306a36Sopenharmony_ci		compatible = "ti,dra7-apll-clock";
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	apll96_ck: apll96_ck {
3862306a36Sopenharmony_ci		#clock-cells = <0>;
3962306a36Sopenharmony_ci		compatible = "ti,omap2-apll-clock";
4062306a36Sopenharmony_ci		clocks = <&sys_ck>;
4162306a36Sopenharmony_ci		ti,bit-shift = <2>;
4262306a36Sopenharmony_ci		ti,idlest-shift = <8>;
4362306a36Sopenharmony_ci		ti,clock-frequency = <96000000>;
4462306a36Sopenharmony_ci		reg = <0x0500>, <0x0530>, <0x0520>;
4562306a36Sopenharmony_ci	};
46