18c2ecf20Sopenharmony_ciBinding for a Clockgen hardware block found on 28c2ecf20Sopenharmony_cicertain STMicroelectronics consumer electronics SoC devices. 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciA Clockgen node can contain pll, diviser or multiplexer nodes. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciWe will find only the base address of the Clockgen, this base 78c2ecf20Sopenharmony_ciaddress is common of all subnode. 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci clockgen_node { 108c2ecf20Sopenharmony_ci reg = <>; 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci pll_node { 138c2ecf20Sopenharmony_ci ... 148c2ecf20Sopenharmony_ci }; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci quadfs_node { 178c2ecf20Sopenharmony_ci ... 188c2ecf20Sopenharmony_ci }; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci mux_node { 218c2ecf20Sopenharmony_ci ... 228c2ecf20Sopenharmony_ci }; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci flexgen_node { 258c2ecf20Sopenharmony_ci ... 268c2ecf20Sopenharmony_ci }; 278c2ecf20Sopenharmony_ci ... 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciThis binding uses the common clock binding[1]. 318c2ecf20Sopenharmony_ciEach subnode should use the binding described in [2]..[7] 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 348c2ecf20Sopenharmony_ci[3] Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt 358c2ecf20Sopenharmony_ci[4] Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt 368c2ecf20Sopenharmony_ci[7] Documentation/devicetree/bindings/clock/st/st,quadfs.txt 378c2ecf20Sopenharmony_ci[8] Documentation/devicetree/bindings/clock/st/st,flexgen.txt 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciRequired properties: 418c2ecf20Sopenharmony_ci- reg : A Base address and length of the register set. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciExample: 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci clockgen-a@90ff000 { 468c2ecf20Sopenharmony_ci compatible = "st,clkgen-c32"; 478c2ecf20Sopenharmony_ci reg = <0x90ff000 0x1000>; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci clk_s_a0_pll: clk-s-a0-pll { 508c2ecf20Sopenharmony_ci #clock-cells = <1>; 518c2ecf20Sopenharmony_ci compatible = "st,clkgen-pll0"; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci clocks = <&clk_sysin>; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci clock-output-names = "clk-s-a0-pll-ofd-0"; 568c2ecf20Sopenharmony_ci }; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci clk_s_a0_flexgen: clk-s-a0-flexgen { 598c2ecf20Sopenharmony_ci compatible = "st,flexgen"; 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci #clock-cells = <1>; 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci clocks = <&clk_s_a0_pll 0>, 648c2ecf20Sopenharmony_ci <&clk_sysin>; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci clock-output-names = "clk-ic-lmi0"; 678c2ecf20Sopenharmony_ci }; 688c2ecf20Sopenharmony_ci }; 69