xref: /freebsd/sys/contrib/device-tree/Bindings/clock/exynos7-clock.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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