| Binding for Texas Instruments DPLL clock. |
| |
| Binding status: Unstable - ABI compatibility may be broken in the future |
| |
| This binding uses the common clock binding[1]. It assumes a |
| register-mapped DPLL with usually two selectable input clocks |
| (reference clock and bypass clock), with digital phase locked |
| loop logic for multiplying the input clock to a desired output |
| clock. This clock also typically supports different operation |
| modes (locked, low power stop etc.) This binding has several |
| sub-types, which effectively result in slightly different setup |
| for the actual DPLL clock. |
| |
| [1] Documentation/devicetree/bindings/clock/clock-bindings.txt |
| |
| Required properties: |
| - compatible : shall be one of: |
| "ti,omap3-dpll-clock", |
| "ti,omap3-dpll-core-clock", |
| "ti,omap3-dpll-per-clock", |
| "ti,omap3-dpll-per-j-type-clock", |
| "ti,omap4-dpll-clock", |
| "ti,omap4-dpll-x2-clock", |
| "ti,omap4-dpll-core-clock", |
| "ti,omap4-dpll-m4xen-clock", |
| "ti,omap4-dpll-j-type-clock", |
| "ti,omap5-mpu-dpll-clock", |
| "ti,am3-dpll-no-gate-clock", |
| "ti,am3-dpll-j-type-clock", |
| "ti,am3-dpll-no-gate-j-type-clock", |
| "ti,am3-dpll-clock", |
| "ti,am3-dpll-core-clock", |
| "ti,am3-dpll-x2-clock", |
| "ti,omap2-dpll-core-clock", |
| |
| - #clock-cells : from common clock binding; shall be set to 0. |
| - clocks : link phandles of parent clocks, first entry lists reference clock |
| and second entry bypass clock |
| - reg : offsets for the register set for controlling the DPLL. |
| Registers are listed in following order: |
| "control" - contains the control register base address |
| "idlest" - contains the idle status register base address |
| "mult-div1" - contains the multiplier / divider register base address |
| "autoidle" - contains the autoidle register base address (optional) |
| "ssc-deltam" - DPLL supports spread spectrum clocking (SSC), contains |
| the frequency spreading register base address (optional) |
| "ssc-modfreq" - DPLL supports spread spectrum clocking (SSC), contains |
| the modulation frequency register base address |
| (optional) |
| ti,am3-* dpll types do not have autoidle register |
| ti,omap2-* dpll type does not support idlest / autoidle registers |
| |
| Optional properties: |
| - DPLL mode setting - defining any one or more of the following overrides |
| default setting. |
| - ti,low-power-stop : DPLL supports low power stop mode, gating output |
| - ti,low-power-bypass : DPLL output matches rate of parent bypass clock |
| - ti,lock : DPLL locks in programmed rate |
| - ti,min-div : the minimum divisor to start from to round the DPLL |
| target rate |
| - ti,ssc-deltam : DPLL supports spread spectrum clocking, frequency |
| spreading in permille (10th of a percent) |
| - ti,ssc-modfreq-hz : DPLL supports spread spectrum clocking, spread |
| spectrum modulation frequency |
| - ti,ssc-downspread : DPLL supports spread spectrum clocking, boolean |
| to enable the downspread feature |
| |
| Examples: |
| dpll_core_ck: dpll_core_ck@44e00490 { |
| #clock-cells = <0>; |
| compatible = "ti,omap4-dpll-core-clock"; |
| clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; |
| reg = <0x490>, <0x45c>, <0x488>, <0x468>; |
| }; |
| |
| dpll2_ck: dpll2_ck@48004004 { |
| #clock-cells = <0>; |
| compatible = "ti,omap3-dpll-clock"; |
| clocks = <&sys_ck>, <&dpll2_fck>; |
| ti,low-power-stop; |
| ti,low-power-bypass; |
| ti,lock; |
| reg = <0x4>, <0x24>, <0x34>, <0x40>; |
| }; |
| |
| dpll_core_ck: dpll_core_ck@44e00490 { |
| #clock-cells = <0>; |
| compatible = "ti,am3-dpll-core-clock"; |
| clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; |
| reg = <0x90>, <0x5c>, <0x68>; |
| }; |
| |
| dpll_ck: dpll_ck { |
| #clock-cells = <0>; |
| compatible = "ti,omap2-dpll-core-clock"; |
| clocks = <&sys_ck>, <&sys_ck>; |
| reg = <0x0500>, <0x0540>; |
| }; |
| |
| dpll_disp_ck: dpll_disp_ck { |
| #clock-cells = <0>; |
| compatible = "ti,am3-dpll-no-gate-clock"; |
| clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; |
| reg = <0x0498>, <0x0448>, <0x0454>, <0x044c>, <0x0450>; |
| }; |