aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2015-02-02 18:47:11 -0500
committerSylwester Nawrocki <s.nawrocki@samsung.com>2015-02-04 07:05:24 -0500
commit1a21dfed63515faeb2cda334fbf00787b92d7771 (patch)
tree6165aded0883409da45bfa9535388d10b4c8ce7c /Documentation
parente64fb42da4c6c713cfc7cad607e97e0773fa41ff (diff)
clk: samsung: exynos5433: Add binding document for Exynos5433 clock domains
This patch adds devicetree binding document for Exynos5433 SoC system clock controller. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5433-clock.txt305
1 files changed, 305 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/clock/exynos5433-clock.txt b/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
new file mode 100644
index 000000000000..9e7ed2d43a15
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
@@ -0,0 +1,305 @@
1* Samsung Exynos5433 CMU (Clock Management Units)
2
3The Exynos5433 clock controller generates and supplies clock to various
4controllers within the Exynos5433 SoC.
5
6Required Properties:
7
8- compatible: should be one of the following.
9 - "samsung,exynos5433-cmu-top" - clock controller compatible for CMU_TOP
10 which generates clocks for IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS
11 domains and bus clocks.
12 - "samsung,exynos5433-cmu-cpif" - clock controller compatible for CMU_CPIF
13 which generates clocks for LLI (Low Latency Interface) IP.
14 - "samsung,exynos5433-cmu-mif" - clock controller compatible for CMU_MIF
15 which generates clocks for DRAM Memory Controller domain.
16 - "samsung,exynos5433-cmu-peric" - clock controller compatible for CMU_PERIC
17 which generates clocks for UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS IPs.
18 - "samsung,exynos5433-cmu-peris" - clock controller compatible for CMU_PERIS
19 which generates clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC IPs.
20 - "samsung,exynos5433-cmu-fsys" - clock controller compatible for CMU_FSYS
21 which generates clocks for USB/UFS/SDMMC/TSI/PDMA IPs.
22 - "samsung,exynos5433-cmu-g2d" - clock controller compatible for CMU_G2D
23 which generates clocks for G2D/MDMA IPs.
24 - "samsung,exynos5433-cmu-disp" - clock controller compatible for CMU_DISP
25 which generates clocks for Display (DECON/HDMI/DSIM/MIXER) IPs.
26 - "samsung,exynos5433-cmu-aud" - clock controller compatible for CMU_AUD
27 which generates clocks for Cortex-A5/BUS/AUDIO clocks.
28 - "samsung,exynos5433-cmu-bus0", "samsung,exynos5433-cmu-bus1"
29 and "samsung,exynos5433-cmu-bus2" - clock controller compatible for CMU_BUS
30 which generates global data buses clock and global peripheral buses clock.
31 - "samsung,exynos5433-cmu-g3d" - clock controller compatible for CMU_G3D
32 which generates clocks for 3D Graphics Engine IP.
33 - "samsung,exynos5433-cmu-gscl" - clock controller compatible for CMU_GSCL
34 which generates clocks for GSCALER IPs.
35
36- reg: physical base address of the controller and length of memory mapped
37 region.
38
39- #clock-cells: should be 1.
40
41- clocks: list of the clock controller input clock identifiers,
42 from common clock bindings. Please refer the next section
43 to find the input clocks for a given controller.
44
45- clock-names: list of the clock controller input clock names,
46 as described in clock-bindings.txt.
47
48 Input clocks for top clock controller:
49 - oscclk
50 - sclk_mphy_pll
51 - sclk_mfc_pll
52 - sclk_bus_pll
53
54 Input clocks for cpif clock controller:
55 - oscclk
56
57 Input clocks for mif clock controller:
58 - oscclk
59 - sclk_mphy_pll
60
61 Input clocks for fsys clock controller:
62 - oscclk
63 - sclk_ufs_mphy
64 - div_aclk_fsys_200
65 - sclk_pcie_100_fsys
66 - sclk_ufsunipro_fsys
67 - sclk_mmc2_fsys
68 - sclk_mmc1_fsys
69 - sclk_mmc0_fsys
70 - sclk_usbhost30_fsys
71 - sclk_usbdrd30_fsys
72
73 Input clocks for g2d clock controller:
74 - oscclk
75 - aclk_g2d_266
76 - aclk_g2d_400
77
78 Input clocks for disp clock controller:
79 - oscclk
80 - sclk_dsim1_disp
81 - sclk_dsim0_disp
82 - sclk_dsd_disp
83 - sclk_decon_tv_eclk_disp
84 - sclk_decon_vclk_disp
85 - sclk_decon_eclk_disp
86 - sclk_decon_tv_vclk_disp
87 - aclk_disp_333
88
89 Input clocks for bus0 clock controller:
90 - aclk_bus0_400
91
92 Input clocks for bus1 clock controller:
93 - aclk_bus1_400
94
95 Input clocks for bus2 clock controller:
96 - oscclk
97 - aclk_bus2_400
98
99 Input clocks for g3d clock controller:
100 - oscclk
101 - aclk_g3d_400
102
103 Input clocks for gscl clock controller:
104 - oscclk
105 - aclk_gscl_111
106 - aclk_gscl_333
107
108Each clock is assigned an identifier and client nodes can use this identifier
109to specify the clock which they consume.
110
111All available clocks are defined as preprocessor macros in
112dt-bindings/clock/exynos5433.h header and can be used in device
113tree sources.
114
115Example 1: Examples of 'oscclk' source clock node are listed below.
116
117 xxti: xxti {
118 compatible = "fixed-clock";
119 clock-output-names = "oscclk";
120 #clock-cells = <0>;
121 };
122
123Example 2: Examples of clock controller nodes are listed below.
124
125 cmu_top: clock-controller@10030000 {
126 compatible = "samsung,exynos5433-cmu-top";
127 reg = <0x10030000 0x0c04>;
128 #clock-cells = <1>;
129
130 clock-names = "oscclk",
131 "sclk_mphy_pll",
132 "sclk_mfc_pll",
133 "sclk_bus_pll";
134 clocks = <&xxti>,
135 <&cmu_cpif CLK_SCLK_MPHY_PLL>,
136 <&cmu_mif CLK_SCLK_MFC_PLL>,
137 <&cmu_mif CLK_SCLK_BUS_PLL>;
138 };
139
140 cmu_cpif: clock-controller@10fc0000 {
141 compatible = "samsung,exynos5433-cmu-cpif";
142 reg = <0x10fc0000 0x0c04>;
143 #clock-cells = <1>;
144
145 clock-names = "oscclk";
146 clocks = <&xxti>;
147 };
148
149 cmu_mif: clock-controller@105b0000 {
150 compatible = "samsung,exynos5433-cmu-mif";
151 reg = <0x105b0000 0x100c>;
152 #clock-cells = <1>;
153
154 clock-names = "oscclk",
155 "sclk_mphy_pll";
156 clocks = <&xxti>,
157 <&cmu_cpif CLK_SCLK_MPHY_PLL>;
158 };
159
160 cmu_peric: clock-controller@14c80000 {
161 compatible = "samsung,exynos5433-cmu-peric";
162 reg = <0x14c80000 0x0b08>;
163 #clock-cells = <1>;
164 };
165
166 cmu_peris: clock-controller@10040000 {
167 compatible = "samsung,exynos5433-cmu-peris";
168 reg = <0x10040000 0x0b20>;
169 #clock-cells = <1>;
170 };
171
172 cmu_fsys: clock-controller@156e0000 {
173 compatible = "samsung,exynos5433-cmu-fsys";
174 reg = <0x156e0000 0x0b04>;
175 #clock-cells = <1>;
176
177 clock-names = "oscclk",
178 "sclk_ufs_mphy",
179 "div_aclk_fsys_200",
180 "sclk_pcie_100_fsys",
181 "sclk_ufsunipro_fsys",
182 "sclk_mmc2_fsys",
183 "sclk_mmc1_fsys",
184 "sclk_mmc0_fsys",
185 "sclk_usbhost30_fsys",
186 "sclk_usbdrd30_fsys";
187 clocks = <&xxti>,
188 <&cmu_cpif CLK_SCLK_UFS_MPHY>,
189 <&cmu_top CLK_DIV_ACLK_FSYS_200>,
190 <&cmu_top CLK_SCLK_PCIE_100_FSYS>,
191 <&cmu_top CLK_SCLK_UFSUNIPRO_FSYS>,
192 <&cmu_top CLK_SCLK_MMC2_FSYS>,
193 <&cmu_top CLK_SCLK_MMC1_FSYS>,
194 <&cmu_top CLK_SCLK_MMC0_FSYS>,
195 <&cmu_top CLK_SCLK_USBHOST30_FSYS>,
196 <&cmu_top CLK_SCLK_USBDRD30_FSYS>;
197 };
198
199 cmu_g2d: clock-controller@12460000 {
200 compatible = "samsung,exynos5433-cmu-g2d";
201 reg = <0x12460000 0x0b08>;
202 #clock-cells = <1>;
203
204 clock-names = "oscclk",
205 "aclk_g2d_266",
206 "aclk_g2d_400";
207 clocks = <&xxti>,
208 <&cmu_top CLK_ACLK_G2D_266>,
209 <&cmu_top CLK_ACLK_G2D_400>;
210 };
211
212 cmu_disp: clock-controller@13b90000 {
213 compatible = "samsung,exynos5433-cmu-disp";
214 reg = <0x13b90000 0x0c04>;
215 #clock-cells = <1>;
216
217 clock-names = "oscclk",
218 "sclk_dsim1_disp",
219 "sclk_dsim0_disp",
220 "sclk_dsd_disp",
221 "sclk_decon_tv_eclk_disp",
222 "sclk_decon_vclk_disp",
223 "sclk_decon_eclk_disp",
224 "sclk_decon_tv_vclk_disp",
225 "aclk_disp_333";
226 clocks = <&xxti>,
227 <&cmu_mif CLK_SCLK_DSIM1_DISP>,
228 <&cmu_mif CLK_SCLK_DSIM0_DISP>,
229 <&cmu_mif CLK_SCLK_DSD_DISP>,
230 <&cmu_mif CLK_SCLK_DECON_TV_ECLK_DISP>,
231 <&cmu_mif CLK_SCLK_DECON_VCLK_DISP>,
232 <&cmu_mif CLK_SCLK_DECON_ECLK_DISP>,
233 <&cmu_mif CLK_SCLK_DECON_TV_VCLK_DISP>,
234 <&cmu_mif CLK_ACLK_DISP_333>;
235 };
236
237 cmu_aud: clock-controller@114c0000 {
238 compatible = "samsung,exynos5433-cmu-aud";
239 reg = <0x114c0000 0x0b04>;
240 #clock-cells = <1>;
241 };
242
243 cmu_bus0: clock-controller@13600000 {
244 compatible = "samsung,exynos5433-cmu-bus0";
245 reg = <0x13600000 0x0b04>;
246 #clock-cells = <1>;
247
248 clock-names = "aclk_bus0_400";
249 clocks = <&cmu_top CLK_ACLK_BUS0_400>;
250 };
251
252 cmu_bus1: clock-controller@14800000 {
253 compatible = "samsung,exynos5433-cmu-bus1";
254 reg = <0x14800000 0x0b04>;
255 #clock-cells = <1>;
256
257 clock-names = "aclk_bus1_400";
258 clocks = <&cmu_top CLK_ACLK_BUS1_400>;
259 };
260
261 cmu_bus2: clock-controller@13400000 {
262 compatible = "samsung,exynos5433-cmu-bus2";
263 reg = <0x13400000 0x0b04>;
264 #clock-cells = <1>;
265
266 clock-names = "oscclk", "aclk_bus2_400";
267 clocks = <&xxti>, <&cmu_mif CLK_ACLK_BUS2_400>;
268 };
269
270 cmu_g3d: clock-controller@14aa0000 {
271 compatible = "samsung,exynos5433-cmu-g3d";
272 reg = <0x14aa0000 0x1000>;
273 #clock-cells = <1>;
274
275 clock-names = "oscclk", "aclk_g3d_400";
276 clocks = <&xxti>, <&cmu_top CLK_ACLK_G3D_400>;
277 };
278
279 cmu_gscl: clock-controller@13cf0000 {
280 compatible = "samsung,exynos5433-cmu-gscl";
281 reg = <0x13cf0000 0x0b10>;
282 #clock-cells = <1>;
283
284 clock-names = "oscclk",
285 "aclk_gscl_111",
286 "aclk_gscl_333";
287 clocks = <&xxti>,
288 <&cmu_top CLK_ACLK_GSCL_111>,
289 <&cmu_top CLK_ACLK_GSCL_333>;
290 };
291
292Example 3: UART controller node that consumes the clock generated by the clock
293 controller.
294
295 serial_0: serial@14C10000 {
296 compatible = "samsung,exynos5433-uart";
297 reg = <0x14C10000 0x100>;
298 interrupts = <0 421 0>;
299 clocks = <&cmu_peric CLK_PCLK_UART0>,
300 <&cmu_peric CLK_SCLK_UART0>;
301 clock-names = "uart", "clk_uart_baud0";
302 pinctrl-names = "default";
303 pinctrl-0 = <&uart0_bus>;
304 status = "disabled";
305 };