1*c66ec88fSEmmanuel VadotBinding for a Clockgen hardware block found on 2*c66ec88fSEmmanuel Vadotcertain STMicroelectronics consumer electronics SoC devices. 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotA Clockgen node can contain pll, diviser or multiplexer nodes. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotWe will find only the base address of the Clockgen, this base 7*c66ec88fSEmmanuel Vadotaddress is common of all subnode. 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadot clockgen_node { 10*c66ec88fSEmmanuel Vadot reg = <>; 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel Vadot pll_node { 13*c66ec88fSEmmanuel Vadot ... 14*c66ec88fSEmmanuel Vadot }; 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel Vadot quadfs_node { 17*c66ec88fSEmmanuel Vadot ... 18*c66ec88fSEmmanuel Vadot }; 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadot mux_node { 21*c66ec88fSEmmanuel Vadot ... 22*c66ec88fSEmmanuel Vadot }; 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot flexgen_node { 25*c66ec88fSEmmanuel Vadot ... 26*c66ec88fSEmmanuel Vadot }; 27*c66ec88fSEmmanuel Vadot ... 28*c66ec88fSEmmanuel Vadot }; 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel VadotThis binding uses the common clock binding[1]. 31*c66ec88fSEmmanuel VadotEach subnode should use the binding described in [2]..[7] 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 34*c66ec88fSEmmanuel Vadot[3] Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt 35*c66ec88fSEmmanuel Vadot[4] Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt 36*c66ec88fSEmmanuel Vadot[7] Documentation/devicetree/bindings/clock/st/st,quadfs.txt 37*c66ec88fSEmmanuel Vadot[8] Documentation/devicetree/bindings/clock/st/st,flexgen.txt 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel VadotRequired properties: 41*c66ec88fSEmmanuel Vadot- reg : A Base address and length of the register set. 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel VadotExample: 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel Vadot clockgen-a@90ff000 { 46*c66ec88fSEmmanuel Vadot compatible = "st,clkgen-c32"; 47*c66ec88fSEmmanuel Vadot reg = <0x90ff000 0x1000>; 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot clk_s_a0_pll: clk-s-a0-pll { 50*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 51*c66ec88fSEmmanuel Vadot compatible = "st,clkgen-pll0"; 52*c66ec88fSEmmanuel Vadot 53*c66ec88fSEmmanuel Vadot clocks = <&clk_sysin>; 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot clock-output-names = "clk-s-a0-pll-ofd-0"; 56*c66ec88fSEmmanuel Vadot }; 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel Vadot clk_s_a0_flexgen: clk-s-a0-flexgen { 59*c66ec88fSEmmanuel Vadot compatible = "st,flexgen"; 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 62*c66ec88fSEmmanuel Vadot 63*c66ec88fSEmmanuel Vadot clocks = <&clk_s_a0_pll 0>, 64*c66ec88fSEmmanuel Vadot <&clk_sysin>; 65*c66ec88fSEmmanuel Vadot 66*c66ec88fSEmmanuel Vadot clock-output-names = "clk-ic-lmi0"; 67*c66ec88fSEmmanuel Vadot }; 68*c66ec88fSEmmanuel Vadot }; 69