Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | 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>; }; |