1f38b0dd6STero KristoBinding for Texas Instruments DPLL clock. 2f38b0dd6STero Kristo 3f38b0dd6STero KristoBinding status: Unstable - ABI compatibility may be broken in the future 4f38b0dd6STero Kristo 5f38b0dd6STero KristoThis binding uses the common clock binding[1]. It assumes a 6f38b0dd6STero Kristoregister-mapped DPLL with usually two selectable input clocks 7f38b0dd6STero Kristo(reference clock and bypass clock), with digital phase locked 8f38b0dd6STero Kristoloop logic for multiplying the input clock to a desired output 9f38b0dd6STero Kristoclock. This clock also typically supports different operation 10f38b0dd6STero Kristomodes (locked, low power stop etc.) This binding has several 11f38b0dd6STero Kristosub-types, which effectively result in slightly different setup 12f38b0dd6STero Kristofor the actual DPLL clock. 13f38b0dd6STero Kristo 14f38b0dd6STero Kristo[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 15f38b0dd6STero Kristo 16f38b0dd6STero KristoRequired properties: 17f38b0dd6STero Kristo- compatible : shall be one of: 18f38b0dd6STero Kristo "ti,omap3-dpll-clock", 19f38b0dd6STero Kristo "ti,omap3-dpll-core-clock", 20f38b0dd6STero Kristo "ti,omap3-dpll-per-clock", 21f38b0dd6STero Kristo "ti,omap3-dpll-per-j-type-clock", 22f38b0dd6STero Kristo "ti,omap4-dpll-clock", 23f38b0dd6STero Kristo "ti,omap4-dpll-x2-clock", 24f38b0dd6STero Kristo "ti,omap4-dpll-core-clock", 25f38b0dd6STero Kristo "ti,omap4-dpll-m4xen-clock", 26f38b0dd6STero Kristo "ti,omap4-dpll-j-type-clock", 27b4be0189SNishanth Menon "ti,omap5-mpu-dpll-clock", 28f38b0dd6STero Kristo "ti,am3-dpll-no-gate-clock", 29f38b0dd6STero Kristo "ti,am3-dpll-j-type-clock", 30f38b0dd6STero Kristo "ti,am3-dpll-no-gate-j-type-clock", 31f38b0dd6STero Kristo "ti,am3-dpll-clock", 32f38b0dd6STero Kristo "ti,am3-dpll-core-clock", 33f38b0dd6STero Kristo "ti,am3-dpll-x2-clock", 34aa76fcf4STero Kristo "ti,omap2-dpll-core-clock", 35f38b0dd6STero Kristo 36f38b0dd6STero Kristo- #clock-cells : from common clock binding; shall be set to 0. 37f38b0dd6STero Kristo- clocks : link phandles of parent clocks, first entry lists reference clock 38f38b0dd6STero Kristo and second entry bypass clock 39f38b0dd6STero Kristo- reg : offsets for the register set for controlling the DPLL. 40f38b0dd6STero Kristo Registers are listed in following order: 41f38b0dd6STero Kristo "control" - contains the control register base address 42f38b0dd6STero Kristo "idlest" - contains the idle status register base address 43f38b0dd6STero Kristo "mult-div1" - contains the multiplier / divider register base address 44f38b0dd6STero Kristo "autoidle" - contains the autoidle register base address (optional) 45*4a8bc264SDario Binacchi "ssc-deltam" - DPLL supports spread spectrum clocking (SSC), contains 46*4a8bc264SDario Binacchi the frequency spreading register base address (optional) 47*4a8bc264SDario Binacchi "ssc-modfreq" - DPLL supports spread spectrum clocking (SSC), contains 48*4a8bc264SDario Binacchi the modulation frequency register base address 49*4a8bc264SDario Binacchi (optional) 50f38b0dd6STero Kristo ti,am3-* dpll types do not have autoidle register 51aa76fcf4STero Kristo ti,omap2-* dpll type does not support idlest / autoidle registers 52f38b0dd6STero Kristo 53f38b0dd6STero KristoOptional properties: 54f38b0dd6STero Kristo- DPLL mode setting - defining any one or more of the following overrides 55f38b0dd6STero Kristo default setting. 56f38b0dd6STero Kristo - ti,low-power-stop : DPLL supports low power stop mode, gating output 57f38b0dd6STero Kristo - ti,low-power-bypass : DPLL output matches rate of parent bypass clock 58f38b0dd6STero Kristo - ti,lock : DPLL locks in programmed rate 59*4a8bc264SDario Binacchi - ti,min-div : the minimum divisor to start from to round the DPLL 60*4a8bc264SDario Binacchi target rate 61*4a8bc264SDario Binacchi - ti,ssc-deltam : DPLL supports spread spectrum clocking, frequency 62*4a8bc264SDario Binacchi spreading in permille (10th of a percent) 63*4a8bc264SDario Binacchi - ti,ssc-modfreq-hz : DPLL supports spread spectrum clocking, spread 64*4a8bc264SDario Binacchi spectrum modulation frequency 65*4a8bc264SDario Binacchi - ti,ssc-downspread : DPLL supports spread spectrum clocking, boolean 66*4a8bc264SDario Binacchi to enable the downspread feature 67f38b0dd6STero Kristo 68f38b0dd6STero KristoExamples: 69f38b0dd6STero Kristo dpll_core_ck: dpll_core_ck@44e00490 { 70f38b0dd6STero Kristo #clock-cells = <0>; 71f38b0dd6STero Kristo compatible = "ti,omap4-dpll-core-clock"; 72f38b0dd6STero Kristo clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 73f38b0dd6STero Kristo reg = <0x490>, <0x45c>, <0x488>, <0x468>; 74f38b0dd6STero Kristo }; 75f38b0dd6STero Kristo 76f38b0dd6STero Kristo dpll2_ck: dpll2_ck@48004004 { 77f38b0dd6STero Kristo #clock-cells = <0>; 78f38b0dd6STero Kristo compatible = "ti,omap3-dpll-clock"; 79f38b0dd6STero Kristo clocks = <&sys_ck>, <&dpll2_fck>; 80f38b0dd6STero Kristo ti,low-power-stop; 81f38b0dd6STero Kristo ti,low-power-bypass; 82f38b0dd6STero Kristo ti,lock; 83f38b0dd6STero Kristo reg = <0x4>, <0x24>, <0x34>, <0x40>; 84f38b0dd6STero Kristo }; 85f38b0dd6STero Kristo 86f38b0dd6STero Kristo dpll_core_ck: dpll_core_ck@44e00490 { 87f38b0dd6STero Kristo #clock-cells = <0>; 88f38b0dd6STero Kristo compatible = "ti,am3-dpll-core-clock"; 89f38b0dd6STero Kristo clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 90f38b0dd6STero Kristo reg = <0x90>, <0x5c>, <0x68>; 91f38b0dd6STero Kristo }; 92aa76fcf4STero Kristo 93aa76fcf4STero Kristo dpll_ck: dpll_ck { 94aa76fcf4STero Kristo #clock-cells = <0>; 95aa76fcf4STero Kristo compatible = "ti,omap2-dpll-core-clock"; 96aa76fcf4STero Kristo clocks = <&sys_ck>, <&sys_ck>; 97aa76fcf4STero Kristo reg = <0x0500>, <0x0540>; 98aa76fcf4STero Kristo }; 99*4a8bc264SDario Binacchi 100*4a8bc264SDario Binacchi dpll_disp_ck: dpll_disp_ck { 101*4a8bc264SDario Binacchi #clock-cells = <0>; 102*4a8bc264SDario Binacchi compatible = "ti,am3-dpll-no-gate-clock"; 103*4a8bc264SDario Binacchi clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; 104*4a8bc264SDario Binacchi reg = <0x0498>, <0x0448>, <0x0454>, <0x044c>, <0x0450>; 105*4a8bc264SDario Binacchi }; 106