18c2ecf20Sopenharmony_ciBinding for TI DaVinci PLL Controllers
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe PLL provides clocks to most of the components on the SoC. In addition
48c2ecf20Sopenharmony_cito the PLL itself, this controller also contains bypasses, gates, dividers,
58c2ecf20Sopenharmony_cian multiplexers for various clock signals.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired properties:
88c2ecf20Sopenharmony_ci- compatible: shall be one of:
98c2ecf20Sopenharmony_ci	- "ti,da850-pll0" for PLL0 on DA850/OMAP-L138/AM18XX
108c2ecf20Sopenharmony_ci	- "ti,da850-pll1" for PLL1 on DA850/OMAP-L138/AM18XX
118c2ecf20Sopenharmony_ci- reg: physical base address and size of the controller's register area.
128c2ecf20Sopenharmony_ci- clocks: phandles corresponding to the clock names
138c2ecf20Sopenharmony_ci- clock-names: names of the clock sources - depends on compatible string
148c2ecf20Sopenharmony_ci	- for "ti,da850-pll0", shall be "clksrc", "extclksrc"
158c2ecf20Sopenharmony_ci	- for "ti,da850-pll1", shall be "clksrc"
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciOptional properties:
188c2ecf20Sopenharmony_ci- ti,clkmode-square-wave: Indicates that the the board is supplying a square
198c2ecf20Sopenharmony_ci	wave input on the OSCIN pin instead of using a crystal oscillator.
208c2ecf20Sopenharmony_ci	This property is only valid when compatible = "ti,da850-pll0".
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciOptional child nodes:
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_cipllout
268c2ecf20Sopenharmony_ci	Describes the main PLL clock output (before POSTDIV). The node name must
278c2ecf20Sopenharmony_ci	be "pllout".
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	Required properties:
308c2ecf20Sopenharmony_ci	- #clock-cells: shall be 0
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_cisysclk
338c2ecf20Sopenharmony_ci	Describes the PLLDIVn divider clocks that provide the SYSCLKn clock
348c2ecf20Sopenharmony_ci	domains. The node name must be "sysclk". Consumers of this node should
358c2ecf20Sopenharmony_ci	use "n" in "SYSCLKn" as the index parameter for the clock cell.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	Required properties:
388c2ecf20Sopenharmony_ci	- #clock-cells: shall be 1
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciauxclk
418c2ecf20Sopenharmony_ci	Describes the AUXCLK output of the PLL. The node name must be "auxclk".
428c2ecf20Sopenharmony_ci	This child node is only valid when compatible = "ti,da850-pll0".
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	Required properties:
458c2ecf20Sopenharmony_ci	- #clock-cells: shall be 0
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciobsclk
488c2ecf20Sopenharmony_ci	Describes the OBSCLK output of the PLL. The node name must be "obsclk".
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	Required properties:
518c2ecf20Sopenharmony_ci	- #clock-cells: shall be 0
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciExamples:
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	pll0: clock-controller@11000 {
578c2ecf20Sopenharmony_ci		compatible = "ti,da850-pll0";
588c2ecf20Sopenharmony_ci		reg = <0x11000 0x1000>;
598c2ecf20Sopenharmony_ci		clocks = <&ref_clk>, <&pll1_sysclk 3>;
608c2ecf20Sopenharmony_ci		clock-names = "clksrc", "extclksrc";
618c2ecf20Sopenharmony_ci		ti,clkmode-square-wave;
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci		pll0_pllout: pllout {
648c2ecf20Sopenharmony_ci			#clock-cells = <0>;
658c2ecf20Sopenharmony_ci		};
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci		pll0_sysclk: sysclk {
688c2ecf20Sopenharmony_ci			#clock-cells = <1>;
698c2ecf20Sopenharmony_ci		};
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci		pll0_auxclk: auxclk {
728c2ecf20Sopenharmony_ci			#clock-cells = <0>;
738c2ecf20Sopenharmony_ci		};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci		pll0_obsclk: obsclk {
768c2ecf20Sopenharmony_ci			#clock-cells = <0>;
778c2ecf20Sopenharmony_ci		};
788c2ecf20Sopenharmony_ci	};
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	pll1: clock-controller@21a000 {
818c2ecf20Sopenharmony_ci		compatible = "ti,da850-pll1";
828c2ecf20Sopenharmony_ci		reg = <0x21a000 0x1000>;
838c2ecf20Sopenharmony_ci		clocks = <&ref_clk>;
848c2ecf20Sopenharmony_ci		clock-names = "clksrc";
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci		pll0_sysclk: sysclk {
878c2ecf20Sopenharmony_ci			#clock-cells = <1>;
888c2ecf20Sopenharmony_ci		};
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci		pll0_obsclk: obsclk {
918c2ecf20Sopenharmony_ci			#clock-cells = <0>;
928c2ecf20Sopenharmony_ci		};
938c2ecf20Sopenharmony_ci	};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciAlso see:
968c2ecf20Sopenharmony_ci- Documentation/devicetree/bindings/clock/clock-bindings.txt
97