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