123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- Binding for a type of flexgen structure found on certain
- STMicroelectronics consumer electronics SoC devices
- This structure includes:
- - a clock cross bar (represented by a mux element)
- - a pre and final dividers (represented by a divider and gate elements)
- Flexgen structure is a part of Clockgen[1].
- Please find an example below:
- Clockgen block diagram
- -------------------------------------------------------------------
- | Flexgen structure |
- | --------------------------------------------- |
- | | ------- -------- -------- | |
- clk_sysin | | | | | | | | |
- ---|-----------------|-->| | | | | | | |
- | | | | | | | | | | |
- | | ------- | | | |Pre | |Final | | |
- | | |PLL0 | | | | |Dividers| |Dividers| | |
- | |->| | | | | | x32 | | x32 | | |
- | | | odf_0|----|-->| | | | | | | |
- | | | | | | | | | | | | |
- | | | | | | | | | | | | |
- | | | | | | | | | | | | |
- | | | | | | | | | | | | |
- | | ------- | | | | | | | | |
- | | | | | | | | | | |
- | | ------- | | Clock | | | | | | |
- | | |PLL1 | | | | | | | | | |
- | |->| | | | Cross | | | | | | |
- | | | odf_0|----|-->| | | | | | CLK_DIV[31:0]
- | | | | | | Bar |====>| |====>| |===|=========>
- | | | | | | | | | | | | |
- | | | | | | | | | | | | |
- | | | | | | | | | | | | |
- | | ------- | | | | | | | | |
- | | | | | | | | | | |
- | | ------- | | | | | | | | |
- | | |QUADFS | | | | | | | | | |
- | |->| ch0|----|-->| | | | | | | |
- | | | | | | | | | | | |
- | | ch1|----|-->| | | | | | | |
- | | | | | | | | | | | |
- | | ch2|----|-->| | | DIV | | DIV | | |
- | | | | | | | 1 to | | 1 to | | |
- | | ch3|----|-->| | | 1024 | | 64 | | |
- | ------- | | | | | | | | |
- | | ------- -------- -------- | |
- | -------------------------------------------- |
- | |
- -------------------------------------------------------------------
- This binding uses the common clock binding[2].
- [1] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
- [2] Documentation/devicetree/bindings/clock/clock-bindings.txt
- Required properties:
- - compatible : shall be:
- "st,flexgen"
- - #clock-cells : from common clock binding; shall be set to 1 (multiple clock
- outputs).
- - clocks : must be set to the parent's phandle. it's could be output clocks of
- a quadsfs or/and a pll or/and clk_sysin (up to 7 clocks)
- - clock-output-names : List of strings used to name the clock outputs.
- Example:
- clk_s_c0_flexgen: clk-s-c0-flexgen {
- #clock-cells = <1>;
- compatible = "st,flexgen";
- clocks = <&clk_s_c0_pll0 0>,
- <&clk_s_c0_pll1 0>,
- <&clk_s_c0_quadfs 0>,
- <&clk_s_c0_quadfs 1>,
- <&clk_s_c0_quadfs 2>,
- <&clk_s_c0_quadfs 3>,
- <&clk_sysin>;
- clock-output-names = "clk-icn-gpu",
- "clk-fdma",
- "clk-nand",
- "clk-hva",
- "clk-proc-stfe",
- "clk-proc-tp",
- "clk-rx-icn-dmu",
- "clk-rx-icn-hva",
- "clk-icn-cpu",
- "clk-tx-icn-dmu",
- "clk-mmc-0",
- "clk-mmc-1",
- "clk-jpegdec",
- "clk-ext2fa9",
- "clk-ic-bdisp-0",
- "clk-ic-bdisp-1",
- "clk-pp-dmu",
- "clk-vid-dmu",
- "clk-dss-lpc",
- "clk-st231-aud-0",
- "clk-st231-gp-1",
- "clk-st231-dmu",
- "clk-icn-lmi",
- "clk-tx-icn-disp-1",
- "clk-icn-sbc",
- "clk-stfe-frc2",
- "clk-eth-phy",
- "clk-eth-ref-phyclk",
- "clk-flash-promip",
- "clk-main-disp",
- "clk-aux-disp",
- "clk-compo-dvp";
- };
|