106 lines
3.7 KiB
Plaintext
106 lines
3.7 KiB
Plaintext
|
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>;
|
||
|
};
|