1*c66ec88fSEmmanuel Vadot* Samsung Exynos7 Clock Controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotExynos7 clock controller has various blocks which are instantiated 4*c66ec88fSEmmanuel Vadotindependently from the device-tree. These clock controllers 5*c66ec88fSEmmanuel Vadotgenerate and supply clocks to various hardware blocks within 6*c66ec88fSEmmanuel Vadotthe SoC. 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel VadotEach clock is assigned an identifier and client nodes can use 9*c66ec88fSEmmanuel Vadotthis identifier to specify the clock which they consume. All 10*c66ec88fSEmmanuel Vadotavailable clocks are defined as preprocessor macros in 11*c66ec88fSEmmanuel Vadotdt-bindings/clock/exynos7-clk.h header and can be used in 12*c66ec88fSEmmanuel Vadotdevice tree sources. 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel VadotExternal clocks: 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel VadotThere are several clocks that are generated outside the SoC. It 17*c66ec88fSEmmanuel Vadotis expected that they are defined using standard clock bindings 18*c66ec88fSEmmanuel Vadotwith following clock-output-names: 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadot - "fin_pll" - PLL input clock from XXTI 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotRequired Properties for Clock Controller: 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot - compatible: clock controllers will use one of the following 25*c66ec88fSEmmanuel Vadot compatible strings to indicate the clock controller 26*c66ec88fSEmmanuel Vadot functionality. 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-topc" 29*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-top0" 30*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-top1" 31*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-ccore" 32*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-peric0" 33*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-peric1" 34*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-peris" 35*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-fsys0" 36*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-fsys1" 37*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-mscl" 38*c66ec88fSEmmanuel Vadot - "samsung,exynos7-clock-aud" 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot - reg: physical base address of the controller and the length of 41*c66ec88fSEmmanuel Vadot memory mapped region. 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot - #clock-cells: should be 1. 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel Vadot - clocks: list of clock identifiers which are fed as the input to 46*c66ec88fSEmmanuel Vadot the given clock controller. Please refer the next section to 47*c66ec88fSEmmanuel Vadot find the input clocks for a given controller. 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot- clock-names: list of names of clocks which are fed as the input 50*c66ec88fSEmmanuel Vadot to the given clock controller. 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel VadotInput clocks for top0 clock controller: 53*c66ec88fSEmmanuel Vadot - fin_pll 54*c66ec88fSEmmanuel Vadot - dout_sclk_bus0_pll 55*c66ec88fSEmmanuel Vadot - dout_sclk_bus1_pll 56*c66ec88fSEmmanuel Vadot - dout_sclk_cc_pll 57*c66ec88fSEmmanuel Vadot - dout_sclk_mfc_pll 58*c66ec88fSEmmanuel Vadot - dout_sclk_aud_pll 59*c66ec88fSEmmanuel Vadot 60*c66ec88fSEmmanuel VadotInput clocks for top1 clock controller: 61*c66ec88fSEmmanuel Vadot - fin_pll 62*c66ec88fSEmmanuel Vadot - dout_sclk_bus0_pll 63*c66ec88fSEmmanuel Vadot - dout_sclk_bus1_pll 64*c66ec88fSEmmanuel Vadot - dout_sclk_cc_pll 65*c66ec88fSEmmanuel Vadot - dout_sclk_mfc_pll 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel VadotInput clocks for ccore clock controller: 68*c66ec88fSEmmanuel Vadot - fin_pll 69*c66ec88fSEmmanuel Vadot - dout_aclk_ccore_133 70*c66ec88fSEmmanuel Vadot 71*c66ec88fSEmmanuel VadotInput clocks for peric0 clock controller: 72*c66ec88fSEmmanuel Vadot - fin_pll 73*c66ec88fSEmmanuel Vadot - dout_aclk_peric0_66 74*c66ec88fSEmmanuel Vadot - sclk_uart0 75*c66ec88fSEmmanuel Vadot 76*c66ec88fSEmmanuel VadotInput clocks for peric1 clock controller: 77*c66ec88fSEmmanuel Vadot - fin_pll 78*c66ec88fSEmmanuel Vadot - dout_aclk_peric1_66 79*c66ec88fSEmmanuel Vadot - sclk_uart1 80*c66ec88fSEmmanuel Vadot - sclk_uart2 81*c66ec88fSEmmanuel Vadot - sclk_uart3 82*c66ec88fSEmmanuel Vadot - sclk_spi0 83*c66ec88fSEmmanuel Vadot - sclk_spi1 84*c66ec88fSEmmanuel Vadot - sclk_spi2 85*c66ec88fSEmmanuel Vadot - sclk_spi3 86*c66ec88fSEmmanuel Vadot - sclk_spi4 87*c66ec88fSEmmanuel Vadot - sclk_i2s1 88*c66ec88fSEmmanuel Vadot - sclk_pcm1 89*c66ec88fSEmmanuel Vadot - sclk_spdif 90*c66ec88fSEmmanuel Vadot 91*c66ec88fSEmmanuel VadotInput clocks for peris clock controller: 92*c66ec88fSEmmanuel Vadot - fin_pll 93*c66ec88fSEmmanuel Vadot - dout_aclk_peris_66 94*c66ec88fSEmmanuel Vadot 95*c66ec88fSEmmanuel VadotInput clocks for fsys0 clock controller: 96*c66ec88fSEmmanuel Vadot - fin_pll 97*c66ec88fSEmmanuel Vadot - dout_aclk_fsys0_200 98*c66ec88fSEmmanuel Vadot - dout_sclk_mmc2 99*c66ec88fSEmmanuel Vadot 100*c66ec88fSEmmanuel VadotInput clocks for fsys1 clock controller: 101*c66ec88fSEmmanuel Vadot - fin_pll 102*c66ec88fSEmmanuel Vadot - dout_aclk_fsys1_200 103*c66ec88fSEmmanuel Vadot - dout_sclk_mmc0 104*c66ec88fSEmmanuel Vadot - dout_sclk_mmc1 105*c66ec88fSEmmanuel Vadot 106*c66ec88fSEmmanuel VadotInput clocks for aud clock controller: 107*c66ec88fSEmmanuel Vadot - fin_pll 108*c66ec88fSEmmanuel Vadot - fout_aud_pll 109