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