18c2ecf20Sopenharmony_ci-------------------------------------------------------------------------- 28c2ecf20Sopenharmony_ciDevice Tree Clock bindings for the Zynq Ultrascale+ MPSoC controlled using 38c2ecf20Sopenharmony_ciZynq MPSoC firmware interface 48c2ecf20Sopenharmony_ci-------------------------------------------------------------------------- 58c2ecf20Sopenharmony_ciThe clock controller is a h/w block of Zynq Ultrascale+ MPSoC clock 68c2ecf20Sopenharmony_citree. It reads required input clock frequencies from the devicetree and acts 78c2ecf20Sopenharmony_cias clock provider for all clock consumers of PS clocks. 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciSee clock_bindings.txt for more information on the generic clock bindings. 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciRequired properties: 128c2ecf20Sopenharmony_ci - #clock-cells: Must be 1 138c2ecf20Sopenharmony_ci - compatible: Must contain: "xlnx,zynqmp-clk" 148c2ecf20Sopenharmony_ci - clocks: List of clock specifiers which are external input 158c2ecf20Sopenharmony_ci clocks to the given clock controller. Please refer 168c2ecf20Sopenharmony_ci the next section to find the input clocks for a 178c2ecf20Sopenharmony_ci given controller. 188c2ecf20Sopenharmony_ci - clock-names: List of clock names which are exteral input clocks 198c2ecf20Sopenharmony_ci to the given clock controller. Please refer to the 208c2ecf20Sopenharmony_ci clock bindings for more details. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciInput clocks for zynqmp Ultrascale+ clock controller: 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciThe Zynq UltraScale+ MPSoC has one primary and four alternative reference clock 258c2ecf20Sopenharmony_ciinputs. These required clock inputs are: 268c2ecf20Sopenharmony_ci - pss_ref_clk (PS reference clock) 278c2ecf20Sopenharmony_ci - video_clk (reference clock for video system ) 288c2ecf20Sopenharmony_ci - pss_alt_ref_clk (alternative PS reference clock) 298c2ecf20Sopenharmony_ci - aux_ref_clk 308c2ecf20Sopenharmony_ci - gt_crx_ref_clk (transceiver reference clock) 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciThe following strings are optional parameters to the 'clock-names' property in 338c2ecf20Sopenharmony_ciorder to provide an optional (E)MIO clock source: 348c2ecf20Sopenharmony_ci - swdt0_ext_clk 358c2ecf20Sopenharmony_ci - swdt1_ext_clk 368c2ecf20Sopenharmony_ci - gem0_emio_clk 378c2ecf20Sopenharmony_ci - gem1_emio_clk 388c2ecf20Sopenharmony_ci - gem2_emio_clk 398c2ecf20Sopenharmony_ci - gem3_emio_clk 408c2ecf20Sopenharmony_ci - mio_clk_XX # with XX = 00..77 418c2ecf20Sopenharmony_ci - mio_clk_50_or_51 #for the mux clock to gem tsu from 50 or 51 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciOutput clocks are registered based on clock information received 458c2ecf20Sopenharmony_cifrom firmware. Output clocks indexes are mentioned in 468c2ecf20Sopenharmony_ciinclude/dt-bindings/clock/xlnx-zynqmp-clk.h. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci------- 498c2ecf20Sopenharmony_ciExample 508c2ecf20Sopenharmony_ci------- 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_cifirmware { 538c2ecf20Sopenharmony_ci zynqmp_firmware: zynqmp-firmware { 548c2ecf20Sopenharmony_ci compatible = "xlnx,zynqmp-firmware"; 558c2ecf20Sopenharmony_ci method = "smc"; 568c2ecf20Sopenharmony_ci zynqmp_clk: clock-controller { 578c2ecf20Sopenharmony_ci #clock-cells = <1>; 588c2ecf20Sopenharmony_ci compatible = "xlnx,zynqmp-clk"; 598c2ecf20Sopenharmony_ci clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, <&aux_ref_clk>, <>_crx_ref_clk>; 608c2ecf20Sopenharmony_ci clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk","aux_ref_clk", "gt_crx_ref_clk"; 618c2ecf20Sopenharmony_ci }; 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci}; 64