]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
Merge tag 'asoc-fix-v4.10-rc3' into asoc-linus
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / exynos4412-itop-scp-core.dtsi
1 /*
2 * TOPEET's Exynos4412 based itop board device tree source
3 *
4 * Copyright (c) 2016 SUMOMO Computer Association
5 * https://www.sumomo.mobi
6 * Randy Li <ayaka@soulik.info>
7 *
8 * Device tree source file for TOPEET iTop Exynos 4412 SCP package core
9 * board which is based on Samsung's Exynos4412 SoC.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */
15
16 #include <dt-bindings/clock/samsung,s2mps11.h>
17 #include <dt-bindings/gpio/gpio.h>
18 #include <dt-bindings/input/input.h>
19 #include "exynos4412.dtsi"
20 #include "exynos4412-ppmu-common.dtsi"
21 #include "exynos-mfc-reserved-memory.dtsi"
22
23 / {
24 memory@40000000 {
25 device_type = "memory";
26 reg = <0x40000000 0x40000000>;
27 };
28
29 firmware@0203F000 {
30 compatible = "samsung,secure-firmware";
31 reg = <0x0203F000 0x1000>;
32 };
33
34 fixed-rate-clocks {
35 xxti {
36 compatible = "samsung,clock-xxti";
37 clock-frequency = <0>;
38 };
39
40 xusbxti {
41 compatible = "samsung,clock-xusbxti";
42 clock-frequency = <24000000>;
43 };
44 };
45
46 thermal-zones {
47 cpu_thermal: cpu-thermal {
48 cooling-maps {
49 map0 {
50 /* Corresponds to 800MHz at freq_table */
51 cooling-device = <&cpu0 7 7>;
52 };
53 map1 {
54 /* Corresponds to 200MHz at freq_table */
55 cooling-device = <&cpu0 13 13>;
56 };
57 };
58 };
59 };
60
61 usb-hub {
62 compatible = "smsc,usb3503a";
63 reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>;
64 connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>;
65 intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
66 pinctrl-names = "default";
67 pinctrl-0 = <&hsic_reset>;
68 };
69 };
70
71 &bus_dmc {
72 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
73 vdd-supply = <&buck1_reg>;
74 status = "okay";
75 };
76
77 &bus_acp {
78 devfreq = <&bus_dmc>;
79 status = "okay";
80 };
81
82 &bus_c2c {
83 devfreq = <&bus_dmc>;
84 status = "okay";
85 };
86
87 &bus_leftbus {
88 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
89 vdd-supply = <&buck3_reg>;
90 status = "okay";
91 };
92
93 &bus_rightbus {
94 devfreq = <&bus_leftbus>;
95 status = "okay";
96 };
97
98 &bus_fsys {
99 devfreq = <&bus_leftbus>;
100 status = "okay";
101 };
102
103 &bus_peri {
104 devfreq = <&bus_leftbus>;
105 status = "okay";
106 };
107
108 &bus_mfc {
109 devfreq = <&bus_leftbus>;
110 status = "okay";
111 };
112
113 &cpu0 {
114 cpu0-supply = <&buck2_reg>;
115 };
116
117 &hsotg {
118 vusb_d-supply = <&ldo15_reg>;
119 vusb_a-supply = <&ldo12_reg>;
120 };
121
122 &i2c_1 {
123 #address-cells = <1>;
124 #size-cells = <0>;
125 samsung,i2c-sda-delay = <100>;
126 samsung,i2c-max-bus-freq = <400000>;
127 pinctrl-0 = <&i2c1_bus>;
128 pinctrl-names = "default";
129 status = "okay";
130
131 s5m8767: s5m8767-pmic@66 {
132 compatible = "samsung,s5m8767-pmic";
133 reg = <0x66>;
134
135 s5m8767,pmic-buck-default-dvs-idx = <3>;
136
137 s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>,
138 <&gpb 6 GPIO_ACTIVE_HIGH>,
139 <&gpb 7 GPIO_ACTIVE_HIGH>;
140
141 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
142 <&gpm3 6 GPIO_ACTIVE_HIGH>,
143 <&gpm3 7 GPIO_ACTIVE_HIGH>;
144
145 /* VDD_ARM */
146 s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>,
147 <1243750>, <1118750>,
148 <1068750>, <1012500>,
149 <956250>, <900000>;
150 /* VDD_INT */
151 s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>,
152 <925000>, <925000>,
153 <887500>, <887500>,
154 <850000>, <850000>;
155 /* VDD_G3D */
156 s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>,
157 <1025000>, <950000>,
158 <918750>, <900000>,
159 <875000>, <831250>;
160
161 regulators {
162 ldo1_reg: LDO1 {
163 regulator-name = "VDD_ALIVE";
164 regulator-min-microvolt = <1100000>;
165 regulator-max-microvolt = <1100000>;
166 regulator-always-on;
167 regulator-boot-on;
168 op_mode = <1>; /* Normal Mode */
169 };
170
171 /* SCP uses 1.5v, POP uses 1.2v */
172 ldo2_reg: LDO2 {
173 regulator-name = "VDDQ_M12";
174 regulator-min-microvolt = <1500000>;
175 regulator-max-microvolt = <1500000>;
176 regulator-always-on;
177 regulator-boot-on;
178 op_mode = <1>; /* Normal Mode */
179 };
180
181 ldo3_reg: LDO3 {
182 regulator-name = "VDDIOAP_18";
183 regulator-min-microvolt = <1800000>;
184 regulator-max-microvolt = <1800000>;
185 regulator-always-on;
186 op_mode = <1>; /* Normal Mode */
187 };
188
189 ldo4_reg: LDO4 {
190 regulator-name = "VDDQ_PRE";
191 regulator-min-microvolt = <1800000>;
192 regulator-max-microvolt = <1800000>;
193 regulator-always-on;
194 op_mode = <1>; /* Normal Mode */
195 };
196
197 ldo5_reg: LDO5 {
198 regulator-name = "VDD_LDO5";
199 op_mode = <0>; /* Always off Mode */
200 };
201
202 ldo6_reg: LDO6 {
203 regulator-name = "VDD10_MPLL";
204 regulator-min-microvolt = <1000000>;
205 regulator-max-microvolt = <1000000>;
206 regulator-always-on;
207 op_mode = <1>; /* Normal Mode */
208 };
209
210 ldo7_reg: LDO7 {
211 regulator-name = "VDD10_XPLL";
212 regulator-min-microvolt = <1000000>;
213 regulator-max-microvolt = <1000000>;
214 regulator-always-on;
215 op_mode = <1>; /* Normal Mode */
216 };
217
218 ldo8_reg: LDO8 {
219 regulator-name = "VDD10_MIPI";
220 regulator-min-microvolt = <1000000>;
221 regulator-max-microvolt = <1000000>;
222 op_mode = <1>; /* Normal Mode */
223 };
224
225 ldo9_reg: LDO9 {
226 regulator-name = "VDD33_LCD";
227 regulator-min-microvolt = <3300000>;
228 regulator-max-microvolt = <3300000>;
229 op_mode = <1>; /* Normal Mode */
230 };
231
232 ldo10_reg: LDO10 {
233 regulator-name = "VDD18_MIPI";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 op_mode = <1>; /* Normal Mode */
237 };
238
239 ldo11_reg: LDO11 {
240 regulator-name = "VDD18_ABB1";
241 regulator-min-microvolt = <1800000>;
242 regulator-max-microvolt = <1800000>;
243 regulator-always-on;
244 op_mode = <1>; /* Normal Mode */
245 };
246
247 ldo12_reg: LDO12 {
248 regulator-name = "VDD33_UOTG";
249 regulator-min-microvolt = <3300000>;
250 regulator-max-microvolt = <3300000>;
251 regulator-always-on;
252 op_mode = <1>; /* Normal Mode */
253 };
254
255 ldo13_reg: LDO13 {
256 regulator-name = "VDDIOPERI_18";
257 regulator-min-microvolt = <1800000>;
258 regulator-max-microvolt = <1800000>;
259 regulator-always-on;
260 op_mode = <1>; /* Normal Mode */
261 };
262
263 ldo14_reg: LDO14 {
264 regulator-name = "VDD18_ABB02";
265 regulator-min-microvolt = <1800000>;
266 regulator-max-microvolt = <1800000>;
267 regulator-always-on;
268 op_mode = <1>; /* Normal Mode */
269 };
270
271 ldo15_reg: LDO15 {
272 regulator-name = "VDD10_USH";
273 regulator-min-microvolt = <1000000>;
274 regulator-max-microvolt = <1000000>;
275 regulator-always-on;
276 op_mode = <1>; /* Normal Mode */
277 };
278
279 ldo16_reg: LDO16 {
280 regulator-name = "VDD18_HSIC";
281 regulator-min-microvolt = <1800000>;
282 regulator-max-microvolt = <1800000>;
283 regulator-always-on;
284 op_mode = <1>; /* Normal Mode */
285 };
286
287 ldo17_reg: LDO17 {
288 regulator-name = "VDDIOAP_MMC012_28";
289 regulator-min-microvolt = <2800000>;
290 regulator-max-microvolt = <2800000>;
291 op_mode = <1>; /* Normal Mode */
292 };
293
294 /* Used by HSIC */
295 ldo18_reg: LDO18 {
296 regulator-name = "VDDIOPERI_28";
297 regulator-min-microvolt = <3300000>;
298 regulator-max-microvolt = <3300000>;
299 regulator-always-on;
300 op_mode = <1>; /* Normal Mode */
301 };
302
303 ldo19_reg: LDO19 {
304 regulator-name = "VDD_LDO19";
305 op_mode = <0>; /* Always off Mode */
306 };
307
308 ldo20_reg: LDO20 {
309 regulator-name = "VDD28_CAM";
310 regulator-min-microvolt = <1800000>;
311 regulator-max-microvolt = <2800000>;
312 op_mode = <1>; /* Normal Mode */
313 };
314
315 ldo21_reg: LDO21 {
316 regulator-name = "VDD28_AF";
317 regulator-min-microvolt = <1800000>;
318 regulator-max-microvolt = <2800000>;
319 op_mode = <1>; /* Normal Mode */
320 };
321
322 ldo22_reg: LDO22 {
323 regulator-name = "VDDA28_2M";
324 regulator-min-microvolt = <2800000>;
325 regulator-max-microvolt = <2800000>;
326 op_mode = <1>; /* Normal Mode */
327 };
328
329 ldo23_reg: LDO23 {
330 regulator-name = "VDD28_TF";
331 regulator-min-microvolt = <2800000>;
332 regulator-max-microvolt = <2800000>;
333 op_mode = <1>; /* Normal Mode */
334 };
335
336 ldo24_reg: LDO24 {
337 regulator-name = "VDD33_A31";
338 regulator-min-microvolt = <3300000>;
339 regulator-max-microvolt = <3300000>;
340 op_mode = <1>; /* Normal Mode */
341 };
342
343 ldo25_reg: LDO25 {
344 regulator-name = "VDD18_CAM";
345 regulator-min-microvolt = <1800000>;
346 regulator-max-microvolt = <1800000>;
347 op_mode = <1>; /* Normal Mode */
348 };
349
350 ldo26_reg: LDO26 {
351 regulator-name = "VDD18_A31";
352 regulator-min-microvolt = <1800000>;
353 regulator-max-microvolt = <1800000>;
354 op_mode = <1>; /* Normal Mode */
355 };
356
357 ldo27_reg: LDO27 {
358 regulator-name = "GPS_1V8";
359 regulator-min-microvolt = <1800000>;
360 regulator-max-microvolt = <1800000>;
361 op_mode = <1>; /* Normal Mode */
362 };
363
364 ldo28_reg: LDO28 {
365 regulator-name = "DVDD12";
366 regulator-min-microvolt = <1200000>;
367 regulator-max-microvolt = <1200000>;
368 op_mode = <1>; /* Normal Mode */
369 };
370
371 buck1_reg: BUCK1 {
372 regulator-name = "vdd_mif";
373 regulator-min-microvolt = <850000>;
374 regulator-max-microvolt = <1100000>;
375 regulator-always-on;
376 regulator-boot-on;
377 op_mode = <1>; /* Normal Mode */
378 };
379
380 buck2_reg: BUCK2 {
381 regulator-name = "vdd_arm";
382 regulator-min-microvolt = <850000>;
383 regulator-max-microvolt = <1456250>;
384 regulator-always-on;
385 regulator-boot-on;
386 op_mode = <1>; /* Normal Mode */
387 };
388
389 buck3_reg: BUCK3 {
390 regulator-name = "vdd_int";
391 regulator-min-microvolt = <875000>;
392 regulator-max-microvolt = <1200000>;
393 regulator-always-on;
394 regulator-boot-on;
395 op_mode = <1>; /* Normal Mode */
396 };
397
398 buck4_reg: BUCK4 {
399 regulator-name = "vdd_g3d";
400 regulator-min-microvolt = <750000>;
401 regulator-max-microvolt = <1500000>;
402 regulator-always-on;
403 regulator-boot-on;
404 op_mode = <1>; /* Normal Mode */
405 };
406
407 buck5_reg: BUCK5 {
408 regulator-name = "vdd_m12";
409 regulator-min-microvolt = <750000>;
410 regulator-max-microvolt = <1500000>;
411 regulator-always-on;
412 regulator-boot-on;
413 op_mode = <1>; /* Normal Mode */
414 };
415
416 buck6_reg: BUCK6 {
417 regulator-name = "vdd12_5m";
418 regulator-min-microvolt = <750000>;
419 regulator-max-microvolt = <1500000>;
420 regulator-always-on;
421 regulator-boot-on;
422 op_mode = <1>; /* Normal Mode */
423 };
424
425 buck7_reg: BUCK7 {
426 regulator-name = "pvdd_buck7";
427 regulator-min-microvolt = <750000>;
428 regulator-max-microvolt = <2000000>;
429 regulator-boot-on;
430 regulator-always-on;
431 op_mode = <1>; /* Normal Mode */
432 };
433
434 buck8_reg: BUCK8 {
435 regulator-name = "pvdd_buck8";
436 regulator-min-microvolt = <750000>;
437 regulator-max-microvolt = <1500000>;
438 regulator-boot-on;
439 regulator-always-on;
440 op_mode = <1>; /* Normal Mode */
441 };
442
443 buck9_reg: BUCK9 {
444 regulator-name = "vddf28_emmc";
445 regulator-min-microvolt = <750000>;
446 regulator-max-microvolt = <3000000>;
447 op_mode = <1>; /* Normal Mode */
448 };
449 };
450
451 s5m8767_osc: clocks {
452 #clock-cells = <1>;
453 clock-output-names = "s5m8767_ap",
454 "s5m8767_cp", "s5m8767_bt";
455 };
456
457 };
458 };
459
460 &mfc {
461 status = "okay";
462 };
463
464 &mshc_0 {
465 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
466 pinctrl-names = "default";
467 status = "okay";
468 vmmc-supply = <&buck9_reg>;
469 num-slots = <1>;
470 broken-cd;
471 card-detect-delay = <200>;
472 samsung,dw-mshc-ciu-div = <3>;
473 samsung,dw-mshc-sdr-timing = <2 3>;
474 samsung,dw-mshc-ddr-timing = <1 2>;
475 bus-width = <8>;
476 cap-mmc-highspeed;
477 };
478
479 &pinctrl_1 {
480 hsic_reset: hsic-reset {
481 samsung,pins = "gpm2-4";
482 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
483 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
484 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
485 };
486 };
487
488 &rtc {
489 status = "okay";
490 clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
491 clock-names = "rtc", "rtc_src";
492 };
493
494 &tmu {
495 vtmu-supply = <&ldo16_reg>;
496 status = "okay";
497 };
498
499 &watchdog {
500 status = "okay";
501 };