162306a36Sopenharmony_ciBinding for Texas Instruments DPLL 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 DPLL with usually two selectable input clocks 762306a36Sopenharmony_ci(reference clock and bypass clock), with digital 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.) This binding has several 1162306a36Sopenharmony_cisub-types, which effectively result in slightly different setup 1262306a36Sopenharmony_cifor the actual DPLL clock. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciRequired properties: 1762306a36Sopenharmony_ci- compatible : shall be one of: 1862306a36Sopenharmony_ci "ti,omap3-dpll-clock", 1962306a36Sopenharmony_ci "ti,omap3-dpll-core-clock", 2062306a36Sopenharmony_ci "ti,omap3-dpll-per-clock", 2162306a36Sopenharmony_ci "ti,omap3-dpll-per-j-type-clock", 2262306a36Sopenharmony_ci "ti,omap4-dpll-clock", 2362306a36Sopenharmony_ci "ti,omap4-dpll-x2-clock", 2462306a36Sopenharmony_ci "ti,omap4-dpll-core-clock", 2562306a36Sopenharmony_ci "ti,omap4-dpll-m4xen-clock", 2662306a36Sopenharmony_ci "ti,omap4-dpll-j-type-clock", 2762306a36Sopenharmony_ci "ti,omap5-mpu-dpll-clock", 2862306a36Sopenharmony_ci "ti,am3-dpll-no-gate-clock", 2962306a36Sopenharmony_ci "ti,am3-dpll-j-type-clock", 3062306a36Sopenharmony_ci "ti,am3-dpll-no-gate-j-type-clock", 3162306a36Sopenharmony_ci "ti,am3-dpll-clock", 3262306a36Sopenharmony_ci "ti,am3-dpll-core-clock", 3362306a36Sopenharmony_ci "ti,am3-dpll-x2-clock", 3462306a36Sopenharmony_ci "ti,omap2-dpll-core-clock", 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci- #clock-cells : from common clock binding; shall be set to 0. 3762306a36Sopenharmony_ci- clocks : link phandles of parent clocks, first entry lists reference clock 3862306a36Sopenharmony_ci and second entry bypass clock 3962306a36Sopenharmony_ci- reg : offsets for the register set for controlling the DPLL. 4062306a36Sopenharmony_ci Registers are listed in following order: 4162306a36Sopenharmony_ci "control" - contains the control register base address 4262306a36Sopenharmony_ci "idlest" - contains the idle status register base address 4362306a36Sopenharmony_ci "mult-div1" - contains the multiplier / divider register base address 4462306a36Sopenharmony_ci "autoidle" - contains the autoidle register base address (optional) 4562306a36Sopenharmony_ci "ssc-deltam" - DPLL supports spread spectrum clocking (SSC), contains 4662306a36Sopenharmony_ci the frequency spreading register base address (optional) 4762306a36Sopenharmony_ci "ssc-modfreq" - DPLL supports spread spectrum clocking (SSC), contains 4862306a36Sopenharmony_ci the modulation frequency register base address 4962306a36Sopenharmony_ci (optional) 5062306a36Sopenharmony_ci ti,am3-* dpll types do not have autoidle register 5162306a36Sopenharmony_ci ti,omap2-* dpll type does not support idlest / autoidle registers 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciOptional properties: 5462306a36Sopenharmony_ci- DPLL mode setting - defining any one or more of the following overrides 5562306a36Sopenharmony_ci default setting. 5662306a36Sopenharmony_ci - ti,low-power-stop : DPLL supports low power stop mode, gating output 5762306a36Sopenharmony_ci - ti,low-power-bypass : DPLL output matches rate of parent bypass clock 5862306a36Sopenharmony_ci - ti,lock : DPLL locks in programmed rate 5962306a36Sopenharmony_ci - ti,min-div : the minimum divisor to start from to round the DPLL 6062306a36Sopenharmony_ci target rate 6162306a36Sopenharmony_ci - ti,ssc-deltam : DPLL supports spread spectrum clocking, frequency 6262306a36Sopenharmony_ci spreading in permille (10th of a percent) 6362306a36Sopenharmony_ci - ti,ssc-modfreq-hz : DPLL supports spread spectrum clocking, spread 6462306a36Sopenharmony_ci spectrum modulation frequency 6562306a36Sopenharmony_ci - ti,ssc-downspread : DPLL supports spread spectrum clocking, boolean 6662306a36Sopenharmony_ci to enable the downspread feature 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciExamples: 6962306a36Sopenharmony_ci dpll_core_ck: dpll_core_ck@44e00490 { 7062306a36Sopenharmony_ci #clock-cells = <0>; 7162306a36Sopenharmony_ci compatible = "ti,omap4-dpll-core-clock"; 7262306a36Sopenharmony_ci clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 7362306a36Sopenharmony_ci reg = <0x490>, <0x45c>, <0x488>, <0x468>; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci dpll2_ck: dpll2_ck@48004004 { 7762306a36Sopenharmony_ci #clock-cells = <0>; 7862306a36Sopenharmony_ci compatible = "ti,omap3-dpll-clock"; 7962306a36Sopenharmony_ci clocks = <&sys_ck>, <&dpll2_fck>; 8062306a36Sopenharmony_ci ti,low-power-stop; 8162306a36Sopenharmony_ci ti,low-power-bypass; 8262306a36Sopenharmony_ci ti,lock; 8362306a36Sopenharmony_ci reg = <0x4>, <0x24>, <0x34>, <0x40>; 8462306a36Sopenharmony_ci }; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci dpll_core_ck: dpll_core_ck@44e00490 { 8762306a36Sopenharmony_ci #clock-cells = <0>; 8862306a36Sopenharmony_ci compatible = "ti,am3-dpll-core-clock"; 8962306a36Sopenharmony_ci clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 9062306a36Sopenharmony_ci reg = <0x90>, <0x5c>, <0x68>; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci dpll_ck: dpll_ck { 9462306a36Sopenharmony_ci #clock-cells = <0>; 9562306a36Sopenharmony_ci compatible = "ti,omap2-dpll-core-clock"; 9662306a36Sopenharmony_ci clocks = <&sys_ck>, <&sys_ck>; 9762306a36Sopenharmony_ci reg = <0x0500>, <0x0540>; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci dpll_disp_ck: dpll_disp_ck { 10162306a36Sopenharmony_ci #clock-cells = <0>; 10262306a36Sopenharmony_ci compatible = "ti,am3-dpll-no-gate-clock"; 10362306a36Sopenharmony_ci clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 10462306a36Sopenharmony_ci reg = <0x0498>, <0x0448>, <0x0454>, <0x044c>, <0x0450>; 10562306a36Sopenharmony_ci }; 106