1*4882a593SmuzhiyunBinding for Texas Instruments DPLL clock. 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunBinding status: Unstable - ABI compatibility may be broken in the future 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThis binding uses the common clock binding[1]. It assumes a 6*4882a593Smuzhiyunregister-mapped DPLL with usually two selectable input clocks 7*4882a593Smuzhiyun(reference clock and bypass clock), with digital phase locked 8*4882a593Smuzhiyunloop logic for multiplying the input clock to a desired output 9*4882a593Smuzhiyunclock. This clock also typically supports different operation 10*4882a593Smuzhiyunmodes (locked, low power stop etc.) This binding has several 11*4882a593Smuzhiyunsub-types, which effectively result in slightly different setup 12*4882a593Smuzhiyunfor the actual DPLL clock. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunRequired properties: 17*4882a593Smuzhiyun- compatible : shall be one of: 18*4882a593Smuzhiyun "ti,omap3-dpll-clock", 19*4882a593Smuzhiyun "ti,omap3-dpll-core-clock", 20*4882a593Smuzhiyun "ti,omap3-dpll-per-clock", 21*4882a593Smuzhiyun "ti,omap3-dpll-per-j-type-clock", 22*4882a593Smuzhiyun "ti,omap4-dpll-clock", 23*4882a593Smuzhiyun "ti,omap4-dpll-x2-clock", 24*4882a593Smuzhiyun "ti,omap4-dpll-core-clock", 25*4882a593Smuzhiyun "ti,omap4-dpll-m4xen-clock", 26*4882a593Smuzhiyun "ti,omap4-dpll-j-type-clock", 27*4882a593Smuzhiyun "ti,omap5-mpu-dpll-clock", 28*4882a593Smuzhiyun "ti,am3-dpll-no-gate-clock", 29*4882a593Smuzhiyun "ti,am3-dpll-j-type-clock", 30*4882a593Smuzhiyun "ti,am3-dpll-no-gate-j-type-clock", 31*4882a593Smuzhiyun "ti,am3-dpll-clock", 32*4882a593Smuzhiyun "ti,am3-dpll-core-clock", 33*4882a593Smuzhiyun "ti,am3-dpll-x2-clock", 34*4882a593Smuzhiyun "ti,omap2-dpll-core-clock", 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun- #clock-cells : from common clock binding; shall be set to 0. 37*4882a593Smuzhiyun- clocks : link phandles of parent clocks, first entry lists reference clock 38*4882a593Smuzhiyun and second entry bypass clock 39*4882a593Smuzhiyun- reg : offsets for the register set for controlling the DPLL. 40*4882a593Smuzhiyun Registers are listed in following order: 41*4882a593Smuzhiyun "control" - contains the control register base address 42*4882a593Smuzhiyun "idlest" - contains the idle status register base address 43*4882a593Smuzhiyun "mult-div1" - contains the multiplier / divider register base address 44*4882a593Smuzhiyun "autoidle" - contains the autoidle register base address (optional) 45*4882a593Smuzhiyun ti,am3-* dpll types do not have autoidle register 46*4882a593Smuzhiyun ti,omap2-* dpll type does not support idlest / autoidle registers 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunOptional properties: 49*4882a593Smuzhiyun- DPLL mode setting - defining any one or more of the following overrides 50*4882a593Smuzhiyun default setting. 51*4882a593Smuzhiyun - ti,low-power-stop : DPLL supports low power stop mode, gating output 52*4882a593Smuzhiyun - ti,low-power-bypass : DPLL output matches rate of parent bypass clock 53*4882a593Smuzhiyun - ti,lock : DPLL locks in programmed rate 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunExamples: 56*4882a593Smuzhiyun dpll_core_ck: dpll_core_ck@44e00490 { 57*4882a593Smuzhiyun #clock-cells = <0>; 58*4882a593Smuzhiyun compatible = "ti,omap4-dpll-core-clock"; 59*4882a593Smuzhiyun clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 60*4882a593Smuzhiyun reg = <0x490>, <0x45c>, <0x488>, <0x468>; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun dpll2_ck: dpll2_ck@48004004 { 64*4882a593Smuzhiyun #clock-cells = <0>; 65*4882a593Smuzhiyun compatible = "ti,omap3-dpll-clock"; 66*4882a593Smuzhiyun clocks = <&sys_ck>, <&dpll2_fck>; 67*4882a593Smuzhiyun ti,low-power-stop; 68*4882a593Smuzhiyun ti,low-power-bypass; 69*4882a593Smuzhiyun ti,lock; 70*4882a593Smuzhiyun reg = <0x4>, <0x24>, <0x34>, <0x40>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun dpll_core_ck: dpll_core_ck@44e00490 { 74*4882a593Smuzhiyun #clock-cells = <0>; 75*4882a593Smuzhiyun compatible = "ti,am3-dpll-core-clock"; 76*4882a593Smuzhiyun clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 77*4882a593Smuzhiyun reg = <0x90>, <0x5c>, <0x68>; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun dpll_ck: dpll_ck { 81*4882a593Smuzhiyun #clock-cells = <0>; 82*4882a593Smuzhiyun compatible = "ti,omap2-dpll-core-clock"; 83*4882a593Smuzhiyun clocks = <&sys_ck>, <&sys_ck>; 84*4882a593Smuzhiyun reg = <0x0500>, <0x0540>; 85*4882a593Smuzhiyun }; 86