diff options
author | Chanwoo Choi <cw00.choi@samsung.com> | 2015-02-02 18:47:11 -0500 |
---|---|---|
committer | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2015-02-04 07:05:24 -0500 |
commit | 1a21dfed63515faeb2cda334fbf00787b92d7771 (patch) | |
tree | 6165aded0883409da45bfa9535388d10b4c8ce7c /Documentation | |
parent | e64fb42da4c6c713cfc7cad607e97e0773fa41ff (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.txt | 305 |
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 | |||
3 | The Exynos5433 clock controller generates and supplies clock to various | ||
4 | controllers within the Exynos5433 SoC. | ||
5 | |||
6 | Required 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 | |||
108 | Each clock is assigned an identifier and client nodes can use this identifier | ||
109 | to specify the clock which they consume. | ||
110 | |||
111 | All available clocks are defined as preprocessor macros in | ||
112 | dt-bindings/clock/exynos5433.h header and can be used in device | ||
113 | tree sources. | ||
114 | |||
115 | Example 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 | |||
123 | Example 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 | |||
292 | Example 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 | }; | ||