Merge tag 'kconfig-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / exynos3250-artik5.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung's Exynos3250 based ARTIK5 module device tree source
4  *
5  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
6  *              http://www.samsung.com
7  *
8  * Device tree source file for Samsung's ARTIK5 module which is based on
9  * Samsung Exynos3250 SoC.
10  */
11
12 #include "exynos3250.dtsi"
13 #include <dt-bindings/clock/samsung,s2mps11.h>
14 #include <dt-bindings/gpio/gpio.h>
15 #include <dt-bindings/interrupt-controller/irq.h>
16
17 / {
18         compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
19
20         chosen {
21                 stdout-path = &serial_2;
22         };
23
24         memory@40000000 {
25                 device_type = "memory";
26                 reg = <0x40000000 0x1ff00000>;
27         };
28
29         firmware@205f000 {
30                 compatible = "samsung,secure-firmware";
31                 reg = <0x0205f000 0x1000>;
32         };
33
34         thermal-zones {
35                 cpu_thermal: cpu-thermal {
36                         cooling-maps {
37                                 map0 {
38                                         /* Corresponds to 500MHz */
39                                         cooling-device = <&cpu0 5 5>,
40                                                          <&cpu1 5 5>;
41                                 };
42                                 map1 {
43                                         /* Corresponds to 200MHz */
44                                         cooling-device = <&cpu0 8 8>,
45                                                          <&cpu1 8 8>;
46                                 };
47                         };
48                 };
49         };
50 };
51
52 &adc {
53         vdd-supply = <&ldo7_reg>;
54         assigned-clocks = <&cmu CLK_SCLK_TSADC>;
55         assigned-clock-rates = <6000000>;
56 };
57
58 &cpu0 {
59         cpu0-supply = <&buck2_reg>;
60 };
61
62 &i2c_0 {
63         #address-cells = <1>;
64         #size-cells = <0>;
65         samsung,i2c-sda-delay = <100>;
66         samsung,i2c-slave-addr = <0x10>;
67         samsung,i2c-max-bus-freq = <100000>;
68         status = "okay";
69
70         s2mps14_pmic@66 {
71                 compatible = "samsung,s2mps14-pmic";
72                 interrupt-parent = <&gpx3>;
73                 interrupts = <5 IRQ_TYPE_NONE>;
74                 pinctrl-names = "default";
75                 pinctrl-0 = <&s2mps14_irq>;
76                 reg = <0x66>;
77
78                 s2mps14_osc: clocks {
79                         compatible = "samsung,s2mps14-clk";
80                         #clock-cells = <1>;
81                         clock-output-names = "s2mps14_ap", "unused",
82                                 "s2mps14_bt";
83                 };
84
85                 regulators {
86                         ldo1_reg: LDO1 {
87                                 /* VDD_ALIVE15x */
88                                 regulator-name = "VLDO1_1.0V";
89                                 regulator-min-microvolt = <1000000>;
90                                 regulator-max-microvolt = <1000000>;
91                                 regulator-always-on;
92                         };
93
94                         ldo2_reg: LDO2 {
95                                 /* VDDQM176 ~ VDDQM185 */
96                                 regulator-name = "VLDO2_1.2V";
97                                 regulator-min-microvolt = <1200000>;
98                                 regulator-max-microvolt = <1200000>;
99                                 regulator-always-on;
100                         };
101
102                         ldo3_reg: LDO3 {
103                                 /*
104                                  * VDD1_E106 ~ VDD1_E111
105                                  * DVDD_RTC_AP, DVDD_MMC2_AP
106                                  */
107                                 regulator-name = "VLDO3_1.8V";
108                                 regulator-min-microvolt = <1800000>;
109                                 regulator-max-microvolt = <1800000>;
110                                 regulator-always-on;
111                         };
112
113                         ldo4_reg: LDO4 {
114                                 /*  AVDD_PLL1120 ~ AVDD_PLL11201 */
115                                 regulator-name = "VLDO4_1.8V";
116                                 regulator-min-microvolt = <1800000>;
117                                 regulator-max-microvolt = <1800000>;
118                                 regulator-always-on;
119                         };
120
121                         ldo5_reg: LDO5 {
122                                 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
123                                 regulator-name = "VLDO5_1.0V";
124                                 regulator-min-microvolt = <1000000>;
125                                 regulator-max-microvolt = <1000000>;
126                                 regulator-always-on;
127                         };
128
129                         ldo6_reg: LDO6 {
130                                 /* VDD_USB, VDD10_HSIC */
131                                 regulator-name = "VLDO6_1.0V";
132                                 regulator-min-microvolt = <1000000>;
133                                 regulator-max-microvolt = <1000000>;
134                                 regulator-always-on;
135                         };
136
137                         ldo7_reg: LDO7 {
138                                 /*
139                                  * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
140                                  * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
141                                  */
142                                 regulator-name = "VLDO7_1.8V";
143                                 regulator-min-microvolt = <1800000>;
144                                 regulator-max-microvolt = <1800000>;
145                                 regulator-always-on;
146                         };
147
148                         ldo8_reg: LDO8 {
149                                 /* AVDD33_UOTG */
150                                 regulator-name = "VLDO8_3.0V";
151                                 regulator-min-microvolt = <3000000>;
152                                 regulator-max-microvolt = <3000000>;
153                                 regulator-always-on;
154                         };
155
156                         ldo9_reg: LDO9 {
157                                 /* VDDQ_E86 ~ VDDQ_E105*/
158                                 regulator-name = "VLDO9_1.2V";
159                                 regulator-min-microvolt = <1200000>;
160                                 regulator-max-microvolt = <1200000>;
161                                 regulator-always-on;
162                         };
163
164                         ldo10_reg: LDO10 {
165                                 regulator-name = "VLDO10_1.0V";
166                                 regulator-min-microvolt = <1000000>;
167                                 regulator-max-microvolt = <1000000>;
168                         };
169
170                         ldo11_reg: LDO11 {
171                                 /* VDD74 ~ VDD75 */
172                                 regulator-name = "VLDO11_1.8V";
173                                 regulator-min-microvolt = <1800000>;
174                                 regulator-max-microvolt = <1800000>;
175                                 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
176                         };
177
178                         ldo12_reg: LDO12 {
179                                 /* VDD72 ~ VDD73 */
180                                 regulator-name = "VLDO12_2.8V";
181                                 regulator-min-microvolt = <2800000>;
182                                 regulator-max-microvolt = <2800000>;
183                                 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
184                         };
185
186                         ldo13_reg: LDO13 {
187                                 regulator-name = "VLDO13_2.8V";
188                                 regulator-min-microvolt = <2800000>;
189                                 regulator-max-microvolt = <2800000>;
190                         };
191
192                         ldo14_reg: LDO14 {
193                                 regulator-name = "VLDO14_2.7V";
194                                 regulator-min-microvolt = <2700000>;
195                                 regulator-max-microvolt = <2700000>;
196                         };
197
198                         ldo15_reg: LDO15 {
199                                 regulator-name = "VLDO_3.3V";
200                                 regulator-min-microvolt = <3300000>;
201                                 regulator-max-microvolt = <3300000>;
202                         };
203
204                         ldo16_reg: LDO16 {
205                                 regulator-name = "VLDO16_3.3V";
206                                 regulator-min-microvolt = <3300000>;
207                                 regulator-max-microvolt = <3300000>;
208                         };
209
210                         ldo17_reg: LDO17 {
211                                 regulator-name = "VLDO17_3.0V";
212                                 regulator-min-microvolt = <3000000>;
213                                 regulator-max-microvolt = <3000000>;
214                         };
215
216                         ldo18_reg: LDO18 {
217                                 /* DVDD_MMC2_AP */
218                                 regulator-name = "VLDO18_2.8V";
219                                 regulator-min-microvolt = <2800000>;
220                                 regulator-max-microvolt = <2800000>;
221                         };
222
223                         ldo19_reg: LDO19 {
224                                 regulator-name = "VLDO19_1.8V";
225                                 regulator-min-microvolt = <1800000>;
226                                 regulator-max-microvolt = <1800000>;
227                         };
228
229                         ldo20_reg: LDO20 {
230                                 regulator-name = "VLDO20_1.8V";
231                                 regulator-min-microvolt = <1800000>;
232                                 regulator-max-microvolt = <1800000>;
233                         };
234
235                         ldo21_reg: LDO21 {
236                                 regulator-name = "VLDO21_1.25V";
237                                 regulator-min-microvolt = <1250000>;
238                                 regulator-max-microvolt = <1250000>;
239                         };
240
241                         ldo22_reg: LDO22 {
242                                 regulator-name = "VLDO22_1.2V";
243                                 regulator-min-microvolt = <1200000>;
244                                 regulator-max-microvolt = <1200000>;
245                         };
246
247                         ldo23_reg: LDO23 {
248                                 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
249                                 regulator-name = "VLDO23_1.8V";
250                                 regulator-min-microvolt = <1800000>;
251                                 regulator-max-microvolt = <1800000>;
252                                 regulator-always-on;
253                         };
254
255                         ldo24_reg: LDO24 {
256                                 regulator-name = "VLDO24_3.0V";
257                                 regulator-min-microvolt = <3000000>;
258                                 regulator-max-microvolt = <3000000>;
259                         };
260
261                         ldo25_reg: LDO25 {
262                                 regulator-name = "VLDO25_3.0V";
263                                 regulator-min-microvolt = <3000000>;
264                                 regulator-max-microvolt = <3000000>;
265                         };
266
267                         buck1_reg: BUCK1 {
268                                 /* VDD_MIF */
269                                 regulator-name = "VBUCK1_1.0V";
270                                 regulator-min-microvolt = <800000>;
271                                 regulator-max-microvolt = <1000000>;
272                                 regulator-always-on;
273                         };
274
275                         buck2_reg: BUCK2 {
276                                 /* VDD_CPU */
277                                 regulator-name = "VBUCK2_1.2V";
278                                 regulator-min-microvolt = <850000>;
279                                 regulator-max-microvolt = <1200000>;
280                                 regulator-always-on;
281                         };
282
283                         buck3_reg: BUCK3 {
284                                 /* VDD_G3D */
285                                 regulator-name = "VBUCK3_1.0V";
286                                 regulator-min-microvolt = <850000>;
287                                 regulator-max-microvolt = <1000000>;
288                                 regulator-always-on;
289                         };
290
291                         buck4_reg: BUCK4 {
292                                 regulator-name = "VBUCK4_1.95V";
293                                 regulator-min-microvolt = <1950000>;
294                                 regulator-max-microvolt = <1950000>;
295                                 regulator-always-on;
296                         };
297
298                         buck5_reg: BUCK5 {
299                                 regulator-name = "VBUCK5_1.35V";
300                                 regulator-min-microvolt = <1350000>;
301                                 regulator-max-microvolt = <1350000>;
302                                 regulator-always-on;
303                         };
304                 };
305         };
306 };
307
308 &mshc_0 {
309         non-removable;
310         cap-mmc-highspeed;
311         card-detect-delay = <200>;
312         vmmc-supply = <&ldo12_reg>;
313         clock-frequency = <100000000>;
314         max-frequency = <100000000>;
315         samsung,dw-mshc-ciu-div = <1>;
316         samsung,dw-mshc-sdr-timing = <0 1>;
317         samsung,dw-mshc-ddr-timing = <1 2>;
318         pinctrl-names = "default";
319         pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
320         bus-width = <8>;
321         status = "okay";
322 };
323
324 &mshc_1 {
325         cap-sd-highspeed;
326         cap-sdio-irq;
327         disable-wp;
328         non-removable;
329         keep-power-in-suspend;
330         fifo-depth = <0x40>;
331         vqmmc-supply = <&ldo11_reg>;
332         /*
333          * Voltage negotiation is broken for the SDIO periph so we
334          * can't actually set the voltage here.
335          * vmmc-supply = <&ldo23_reg>;
336          */
337         card-detect-delay = <500>;
338         clock-frequency = <100000000>;
339         max-frequency = <100000000>;
340         samsung,dw-mshc-ciu-div = <3>;
341         samsung,dw-mshc-sdr-timing = <0 1>;
342         samsung,dw-mshc-ddr-timing = <1 2>;
343         pinctrl-names = "default";
344         pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
345         bus-width = <4>;
346         status = "okay";
347 };
348
349 &pinctrl_1 {
350         wlanen: wlanen {
351                 samsung,pins = "gpx2-3";
352                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
353                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
354                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
355                 samsung,pin-val = <1>;
356         };
357
358         s2mps14_irq: s2mps14-irq {
359                 samsung,pins = "gpx3-5";
360                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
361         };
362 };
363
364 &rtc {
365         clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
366         clock-names = "rtc", "rtc_src";
367         status = "okay";
368 };
369
370 &tmu {
371         status = "okay";
372 };
373
374 &xusbxti {
375         clock-frequency = <24000000>;
376 };