| 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 { |
| ... |
| }; |
| ... |
| }; |
| |
| This binding uses the common clock binding[1]. |
| Each subnode should use the binding discribe in [2]..[4] |
| |
| [1] Documentation/devicetree/bindings/clock/clock-bindings.txt |
| [2] Documentation/devicetree/bindings/clock/st,quadfs.txt |
| [3] Documentation/devicetree/bindings/clock/st,quadfs.txt |
| [4] Documentation/devicetree/bindings/clock/st,quadfs.txt |
| |
| Required properties: |
| - reg : A Base address and length of the register set. |
| |
| Example: |
| |
| clockgenA@fee62000 { |
| |
| reg = <0xfee62000 0xb48>; |
| |
| CLK_S_A0_PLL: CLK_S_A0_PLL { |
| #clock-cells = <1>; |
| compatible = "st,clkgena-plls-c65"; |
| |
| clocks = <&CLK_SYSIN>; |
| |
| clock-output-names = "CLK_S_A0_PLL0_HS", |
| "CLK_S_A0_PLL0_LS", |
| "CLK_S_A0_PLL1"; |
| }; |
| |
| CLK_S_A0_OSC_PREDIV: CLK_S_A0_OSC_PREDIV { |
| #clock-cells = <0>; |
| compatible = "st,clkgena-prediv-c65", |
| "st,clkgena-prediv"; |
| |
| clocks = <&CLK_SYSIN>; |
| |
| clock-output-names = "CLK_S_A0_OSC_PREDIV"; |
| }; |
| |
| CLK_S_A0_HS: CLK_S_A0_HS { |
| #clock-cells = <1>; |
| compatible = "st,clkgena-divmux-c65-hs", |
| "st,clkgena-divmux"; |
| |
| clocks = <&CLK_S_A0_OSC_PREDIV>, |
| <&CLK_S_A0_PLL 0>, /* PLL0 HS */ |
| <&CLK_S_A0_PLL 2>; /* PLL1 */ |
| |
| clock-output-names = "CLK_S_FDMA_0", |
| "CLK_S_FDMA_1", |
| ""; /* CLK_S_JIT_SENSE */ |
| /* Fourth output unused */ |
| }; |
| }; |
| |