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