2014-02-27 22:24:20 +07:00
|
|
|
Binding for a Clockgen hardware block found on
|
|
|
|
certain STMicroelectronics consumer electronics SoC devices.
|
|
|
|
|
|
|
|
A Clockgen node can contain pll, diviser or multiplexer nodes.
|
|
|
|
|
|
|
|
We will find only the base address of the Clockgen, this base
|
|
|
|
address is common of all subnode.
|
|
|
|
|
|
|
|
clockgen_node {
|
|
|
|
reg = <>;
|
|
|
|
|
|
|
|
pll_node {
|
|
|
|
...
|
|
|
|
};
|
|
|
|
|
|
|
|
prediv_node {
|
|
|
|
...
|
|
|
|
};
|
|
|
|
|
|
|
|
divmux_node {
|
|
|
|
...
|
|
|
|
};
|
|
|
|
|
|
|
|
quadfs_node {
|
|
|
|
...
|
|
|
|
};
|
2014-07-15 22:20:17 +07:00
|
|
|
|
|
|
|
mux_node {
|
|
|
|
...
|
|
|
|
};
|
|
|
|
|
|
|
|
vcc_node {
|
|
|
|
...
|
|
|
|
};
|
2014-07-15 22:20:21 +07:00
|
|
|
|
|
|
|
flexgen_node {
|
|
|
|
...
|
|
|
|
};
|
2014-02-27 22:24:20 +07:00
|
|
|
...
|
|
|
|
};
|
|
|
|
|
|
|
|
This binding uses the common clock binding[1].
|
2014-07-15 22:20:17 +07:00
|
|
|
Each subnode should use the binding discribe in [2]..[7]
|
2014-02-27 22:24:20 +07:00
|
|
|
|
|
|
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
2014-07-15 22:20:17 +07:00
|
|
|
[2] Documentation/devicetree/bindings/clock/st,clkgen-divmux.txt
|
|
|
|
[3] Documentation/devicetree/bindings/clock/st,clkgen-mux.txt
|
|
|
|
[4] Documentation/devicetree/bindings/clock/st,clkgen-pll.txt
|
|
|
|
[5] Documentation/devicetree/bindings/clock/st,clkgen-prediv.txt
|
|
|
|
[6] Documentation/devicetree/bindings/clock/st,vcc.txt
|
|
|
|
[7] Documentation/devicetree/bindings/clock/st,quadfs.txt
|
2014-07-15 22:20:21 +07:00
|
|
|
[8] Documentation/devicetree/bindings/clock/st,flexgen.txt
|
2014-07-15 22:20:17 +07:00
|
|
|
|
2014-02-27 22:24:20 +07:00
|
|
|
|
|
|
|
Required properties:
|
|
|
|
- reg : A Base address and length of the register set.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clockgen-a@fee62000 {
|
2014-02-27 22:24:20 +07:00
|
|
|
|
|
|
|
reg = <0xfee62000 0xb48>;
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clk_s_a0_pll: clk-s-a0-pll {
|
2014-02-27 22:24:20 +07:00
|
|
|
#clock-cells = <1>;
|
|
|
|
compatible = "st,clkgena-plls-c65";
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clocks = <&clk-sysin>;
|
2014-02-27 22:24:20 +07:00
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clock-output-names = "clk-s-a0-pll0-hs",
|
|
|
|
"clk-s-a0-pll0-ls",
|
|
|
|
"clk-s-a0-pll1";
|
2014-02-27 22:24:20 +07:00
|
|
|
};
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clk_s_a0_osc_prediv: clk-s-a0-osc-prediv {
|
2014-02-27 22:24:20 +07:00
|
|
|
#clock-cells = <0>;
|
|
|
|
compatible = "st,clkgena-prediv-c65",
|
|
|
|
"st,clkgena-prediv";
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clocks = <&clk_sysin>;
|
2014-02-27 22:24:20 +07:00
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clock-output-names = "clk-s-a0-osc-prediv";
|
2014-02-27 22:24:20 +07:00
|
|
|
};
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clk_s_a0_hs: clk-s-a0-hs {
|
2014-02-27 22:24:20 +07:00
|
|
|
#clock-cells = <1>;
|
|
|
|
compatible = "st,clkgena-divmux-c65-hs",
|
|
|
|
"st,clkgena-divmux";
|
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clocks = <&clk-s_a0_osc_prediv>,
|
|
|
|
<&clk-s_a0_pll 0>, /* pll0 hs */
|
|
|
|
<&clk-s_a0_pll 2>; /* pll1 */
|
2014-02-27 22:24:20 +07:00
|
|
|
|
2014-07-15 22:20:17 +07:00
|
|
|
clock-output-names = "clk-s-fdma-0",
|
|
|
|
"clk-s-fdma-1",
|
|
|
|
""; /* clk-s-jit-sense */
|
|
|
|
/* fourth output unused */
|
2014-02-27 22:24:20 +07:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|