Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[sfrench/cifs-2.6.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@203f000 {
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         broken-cd;
470         card-detect-delay = <200>;
471         samsung,dw-mshc-ciu-div = <3>;
472         samsung,dw-mshc-sdr-timing = <2 3>;
473         samsung,dw-mshc-ddr-timing = <1 2>;
474         bus-width = <8>;
475         cap-mmc-highspeed;
476 };
477
478 &pinctrl_1 {
479         hsic_reset: hsic-reset {
480                 samsung,pins = "gpm2-4";
481                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
482                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
483                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
484         };
485 };
486
487 &rtc {
488         status = "okay";
489         clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
490         clock-names = "rtc", "rtc_src";
491 };
492
493 &tmu {
494         vtmu-supply = <&ldo16_reg>;
495         status = "okay";
496 };