162306a36Sopenharmony_ciBinding for TI DaVinci PLL Controllers
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciThe PLL provides clocks to most of the components on the SoC. In addition
462306a36Sopenharmony_cito the PLL itself, this controller also contains bypasses, gates, dividers,
562306a36Sopenharmony_cian multiplexers for various clock signals.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciRequired properties:
862306a36Sopenharmony_ci- compatible: shall be one of:
962306a36Sopenharmony_ci	- "ti,da850-pll0" for PLL0 on DA850/OMAP-L138/AM18XX
1062306a36Sopenharmony_ci	- "ti,da850-pll1" for PLL1 on DA850/OMAP-L138/AM18XX
1162306a36Sopenharmony_ci- reg: physical base address and size of the controller's register area.
1262306a36Sopenharmony_ci- clocks: phandles corresponding to the clock names
1362306a36Sopenharmony_ci- clock-names: names of the clock sources - depends on compatible string
1462306a36Sopenharmony_ci	- for "ti,da850-pll0", shall be "clksrc", "extclksrc"
1562306a36Sopenharmony_ci	- for "ti,da850-pll1", shall be "clksrc"
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciOptional properties:
1862306a36Sopenharmony_ci- ti,clkmode-square-wave: Indicates that the board is supplying a square
1962306a36Sopenharmony_ci	wave input on the OSCIN pin instead of using a crystal oscillator.
2062306a36Sopenharmony_ci	This property is only valid when compatible = "ti,da850-pll0".
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciOptional child nodes:
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_cipllout
2662306a36Sopenharmony_ci	Describes the main PLL clock output (before POSTDIV). The node name must
2762306a36Sopenharmony_ci	be "pllout".
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	Required properties:
3062306a36Sopenharmony_ci	- #clock-cells: shall be 0
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_cisysclk
3362306a36Sopenharmony_ci	Describes the PLLDIVn divider clocks that provide the SYSCLKn clock
3462306a36Sopenharmony_ci	domains. The node name must be "sysclk". Consumers of this node should
3562306a36Sopenharmony_ci	use "n" in "SYSCLKn" as the index parameter for the clock cell.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	Required properties:
3862306a36Sopenharmony_ci	- #clock-cells: shall be 1
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciauxclk
4162306a36Sopenharmony_ci	Describes the AUXCLK output of the PLL. The node name must be "auxclk".
4262306a36Sopenharmony_ci	This child node is only valid when compatible = "ti,da850-pll0".
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	Required properties:
4562306a36Sopenharmony_ci	- #clock-cells: shall be 0
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciobsclk
4862306a36Sopenharmony_ci	Describes the OBSCLK output of the PLL. The node name must be "obsclk".
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	Required properties:
5162306a36Sopenharmony_ci	- #clock-cells: shall be 0
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciExamples:
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	pll0: clock-controller@11000 {
5762306a36Sopenharmony_ci		compatible = "ti,da850-pll0";
5862306a36Sopenharmony_ci		reg = <0x11000 0x1000>;
5962306a36Sopenharmony_ci		clocks = <&ref_clk>, <&pll1_sysclk 3>;
6062306a36Sopenharmony_ci		clock-names = "clksrc", "extclksrc";
6162306a36Sopenharmony_ci		ti,clkmode-square-wave;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		pll0_pllout: pllout {
6462306a36Sopenharmony_ci			#clock-cells = <0>;
6562306a36Sopenharmony_ci		};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci		pll0_sysclk: sysclk {
6862306a36Sopenharmony_ci			#clock-cells = <1>;
6962306a36Sopenharmony_ci		};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		pll0_auxclk: auxclk {
7262306a36Sopenharmony_ci			#clock-cells = <0>;
7362306a36Sopenharmony_ci		};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		pll0_obsclk: obsclk {
7662306a36Sopenharmony_ci			#clock-cells = <0>;
7762306a36Sopenharmony_ci		};
7862306a36Sopenharmony_ci	};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	pll1: clock-controller@21a000 {
8162306a36Sopenharmony_ci		compatible = "ti,da850-pll1";
8262306a36Sopenharmony_ci		reg = <0x21a000 0x1000>;
8362306a36Sopenharmony_ci		clocks = <&ref_clk>;
8462306a36Sopenharmony_ci		clock-names = "clksrc";
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		pll0_sysclk: sysclk {
8762306a36Sopenharmony_ci			#clock-cells = <1>;
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci		pll0_obsclk: obsclk {
9162306a36Sopenharmony_ci			#clock-cells = <0>;
9262306a36Sopenharmony_ci		};
9362306a36Sopenharmony_ci	};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciAlso see:
9662306a36Sopenharmony_ci- Documentation/devicetree/bindings/clock/clock-bindings.txt
97