18c2ecf20Sopenharmony_ci* Samsung Exynos7 Clock Controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciExynos7 clock controller has various blocks which are instantiated 48c2ecf20Sopenharmony_ciindependently from the device-tree. These clock controllers 58c2ecf20Sopenharmony_cigenerate and supply clocks to various hardware blocks within 68c2ecf20Sopenharmony_cithe SoC. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciEach clock is assigned an identifier and client nodes can use 98c2ecf20Sopenharmony_cithis identifier to specify the clock which they consume. All 108c2ecf20Sopenharmony_ciavailable clocks are defined as preprocessor macros in 118c2ecf20Sopenharmony_cidt-bindings/clock/exynos7-clk.h header and can be used in 128c2ecf20Sopenharmony_cidevice tree sources. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciExternal clocks: 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciThere are several clocks that are generated outside the SoC. It 178c2ecf20Sopenharmony_ciis expected that they are defined using standard clock bindings 188c2ecf20Sopenharmony_ciwith following clock-output-names: 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci - "fin_pll" - PLL input clock from XXTI 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciRequired Properties for Clock Controller: 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci - compatible: clock controllers will use one of the following 258c2ecf20Sopenharmony_ci compatible strings to indicate the clock controller 268c2ecf20Sopenharmony_ci functionality. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-topc" 298c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-top0" 308c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-top1" 318c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-ccore" 328c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-peric0" 338c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-peric1" 348c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-peris" 358c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-fsys0" 368c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-fsys1" 378c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-mscl" 388c2ecf20Sopenharmony_ci - "samsung,exynos7-clock-aud" 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci - reg: physical base address of the controller and the length of 418c2ecf20Sopenharmony_ci memory mapped region. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci - #clock-cells: should be 1. 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci - clocks: list of clock identifiers which are fed as the input to 468c2ecf20Sopenharmony_ci the given clock controller. Please refer the next section to 478c2ecf20Sopenharmony_ci find the input clocks for a given controller. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci- clock-names: list of names of clocks which are fed as the input 508c2ecf20Sopenharmony_ci to the given clock controller. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciInput clocks for top0 clock controller: 538c2ecf20Sopenharmony_ci - fin_pll 548c2ecf20Sopenharmony_ci - dout_sclk_bus0_pll 558c2ecf20Sopenharmony_ci - dout_sclk_bus1_pll 568c2ecf20Sopenharmony_ci - dout_sclk_cc_pll 578c2ecf20Sopenharmony_ci - dout_sclk_mfc_pll 588c2ecf20Sopenharmony_ci - dout_sclk_aud_pll 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciInput clocks for top1 clock controller: 618c2ecf20Sopenharmony_ci - fin_pll 628c2ecf20Sopenharmony_ci - dout_sclk_bus0_pll 638c2ecf20Sopenharmony_ci - dout_sclk_bus1_pll 648c2ecf20Sopenharmony_ci - dout_sclk_cc_pll 658c2ecf20Sopenharmony_ci - dout_sclk_mfc_pll 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciInput clocks for ccore clock controller: 688c2ecf20Sopenharmony_ci - fin_pll 698c2ecf20Sopenharmony_ci - dout_aclk_ccore_133 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciInput clocks for peric0 clock controller: 728c2ecf20Sopenharmony_ci - fin_pll 738c2ecf20Sopenharmony_ci - dout_aclk_peric0_66 748c2ecf20Sopenharmony_ci - sclk_uart0 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciInput clocks for peric1 clock controller: 778c2ecf20Sopenharmony_ci - fin_pll 788c2ecf20Sopenharmony_ci - dout_aclk_peric1_66 798c2ecf20Sopenharmony_ci - sclk_uart1 808c2ecf20Sopenharmony_ci - sclk_uart2 818c2ecf20Sopenharmony_ci - sclk_uart3 828c2ecf20Sopenharmony_ci - sclk_spi0 838c2ecf20Sopenharmony_ci - sclk_spi1 848c2ecf20Sopenharmony_ci - sclk_spi2 858c2ecf20Sopenharmony_ci - sclk_spi3 868c2ecf20Sopenharmony_ci - sclk_spi4 878c2ecf20Sopenharmony_ci - sclk_i2s1 888c2ecf20Sopenharmony_ci - sclk_pcm1 898c2ecf20Sopenharmony_ci - sclk_spdif 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ciInput clocks for peris clock controller: 928c2ecf20Sopenharmony_ci - fin_pll 938c2ecf20Sopenharmony_ci - dout_aclk_peris_66 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciInput clocks for fsys0 clock controller: 968c2ecf20Sopenharmony_ci - fin_pll 978c2ecf20Sopenharmony_ci - dout_aclk_fsys0_200 988c2ecf20Sopenharmony_ci - dout_sclk_mmc2 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ciInput clocks for fsys1 clock controller: 1018c2ecf20Sopenharmony_ci - fin_pll 1028c2ecf20Sopenharmony_ci - dout_aclk_fsys1_200 1038c2ecf20Sopenharmony_ci - dout_sclk_mmc0 1048c2ecf20Sopenharmony_ci - dout_sclk_mmc1 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ciInput clocks for aud clock controller: 1078c2ecf20Sopenharmony_ci - fin_pll 1088c2ecf20Sopenharmony_ci - fout_aud_pll 109