Merge branch 'acpica-fixes'
[cascardo/linux.git] / arch / arm / boot / dts / exynos3250-artik5.dtsi
1 /*
2  * Samsung's Exynos3250 based ARTIK5 module device tree source
3  *
4  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * Device tree source file for Samsung's ARTIK5 module which is based on
8  * Samsung Exynos3250 SoC.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2 as
12  * published by the Free Software Foundation.
13  */
14
15 #include "exynos3250.dtsi"
16 #include <dt-bindings/clock/samsung,s2mps11.h>
17 #include <dt-bindings/gpio/gpio.h>
18 #include <dt-bindings/interrupt-controller/irq.h>
19
20 / {
21         compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
22
23         chosen {
24                 stdout-path = &serial_2;
25         };
26
27         memory {
28                 reg = <0x40000000 0x1ff00000>;
29         };
30
31         firmware@0205f000 {
32                 compatible = "samsung,secure-firmware";
33                 reg = <0x0205f000 0x1000>;
34         };
35
36         thermal-zones {
37                 cpu_thermal: cpu-thermal {
38                         cooling-maps {
39                                 map0 {
40                                         /* Corresponds to 500MHz */
41                                         cooling-device = <&cpu0 5 5>;
42                                 };
43                                 map1 {
44                                         /* Corresponds to 200MHz */
45                                         cooling-device = <&cpu0 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                 reg = <0x66>;
75
76                 s2mps14_osc: clocks {
77                         compatible = "samsung,s2mps14-clk";
78                         #clock-cells = <1>;
79                         clock-output-names = "s2mps14_ap", "unused",
80                                 "s2mps14_bt";
81                 };
82
83                 regulators {
84                         ldo1_reg: LDO1 {
85                                 /* VDD_ALIVE15x */
86                                 regulator-name = "VLDO1_1.0V";
87                                 regulator-min-microvolt = <1000000>;
88                                 regulator-max-microvolt = <1000000>;
89                                 regulator-always-on;
90                         };
91
92                         ldo2_reg: LDO2 {
93                                 /* VDDQM176 ~ VDDQM185 */
94                                 regulator-name = "VLDO2_1.2V";
95                                 regulator-min-microvolt = <1200000>;
96                                 regulator-max-microvolt = <1200000>;
97                                 regulator-always-on;
98                         };
99
100                         ldo3_reg: LDO3 {
101                                 /*
102                                  * VDD1_E106 ~ VDD1_E111
103                                  * DVDD_RTC_AP, DVDD_MMC2_AP
104                                  */
105                                 regulator-name = "VLDO3_1.8V";
106                                 regulator-min-microvolt = <1800000>;
107                                 regulator-max-microvolt = <1800000>;
108                                 regulator-always-on;
109                         };
110
111                         ldo4_reg: LDO4 {
112                                 /*  AVDD_PLL1120 ~ AVDD_PLL11201 */
113                                 regulator-name = "VLDO4_1.8V";
114                                 regulator-min-microvolt = <1800000>;
115                                 regulator-max-microvolt = <1800000>;
116                                 regulator-always-on;
117                         };
118
119                         ldo5_reg: LDO5 {
120                                 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
121                                 regulator-name = "VLDO5_1.0V";
122                                 regulator-min-microvolt = <1000000>;
123                                 regulator-max-microvolt = <1000000>;
124                                 regulator-always-on;
125                         };
126
127                         ldo6_reg: LDO6 {
128                                 /* VDD_USB, VDD10_HSIC */
129                                 regulator-name = "VLDO6_1.0V";
130                                 regulator-min-microvolt = <1000000>;
131                                 regulator-max-microvolt = <1000000>;
132                                 regulator-always-on;
133                         };
134
135                         ldo7_reg: LDO7 {
136                                 /*
137                                  * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
138                                  * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
139                                  */
140                                 regulator-name = "VLDO7_1.8V";
141                                 regulator-min-microvolt = <1800000>;
142                                 regulator-max-microvolt = <1800000>;
143                                 regulator-always-on;
144                         };
145
146                         ldo8_reg: LDO8 {
147                                 /* AVDD33_UOTG */
148                                 regulator-name = "VLDO8_3.0V";
149                                 regulator-min-microvolt = <3000000>;
150                                 regulator-max-microvolt = <3000000>;
151                                 regulator-always-on;
152                         };
153
154                         ldo9_reg: LDO9 {
155                                 /* VDDQ_E86 ~ VDDQ_E105*/
156                                 regulator-name = "VLDO9_1.2V";
157                                 regulator-min-microvolt = <1200000>;
158                                 regulator-max-microvolt = <1200000>;
159                                 regulator-always-on;
160                         };
161
162                         ldo10_reg: LDO10 {
163                                 regulator-name = "VLDO10_1.0V";
164                                 regulator-min-microvolt = <1000000>;
165                                 regulator-max-microvolt = <1000000>;
166                         };
167
168                         ldo11_reg: LDO11 {
169                                 /* VDD74 ~ VDD75 */
170                                 regulator-name = "VLDO11_1.8V";
171                                 regulator-min-microvolt = <1800000>;
172                                 regulator-max-microvolt = <1800000>;
173                                 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
174                         };
175
176                         ldo12_reg: LDO12 {
177                                 /* VDD72 ~ VDD73 */
178                                 regulator-name = "VLDO12_2.8V";
179                                 regulator-min-microvolt = <2800000>;
180                                 regulator-max-microvolt = <2800000>;
181                                 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
182                         };
183
184                         ldo13_reg: LDO13 {
185                                 regulator-name = "VLDO13_2.8V";
186                                 regulator-min-microvolt = <2800000>;
187                                 regulator-max-microvolt = <2800000>;
188                         };
189
190                         ldo14_reg: LDO14 {
191                                 regulator-name = "VLDO14_2.7V";
192                                 regulator-min-microvolt = <2700000>;
193                                 regulator-max-microvolt = <2700000>;
194                         };
195
196                         ldo15_reg: LDO15 {
197                                 regulator-name = "VLDO_3.3V";
198                                 regulator-min-microvolt = <3300000>;
199                                 regulator-max-microvolt = <3300000>;
200                         };
201
202                         ldo16_reg: LDO16 {
203                                 regulator-name = "VLDO16_3.3V";
204                                 regulator-min-microvolt = <3300000>;
205                                 regulator-max-microvolt = <3300000>;
206                         };
207
208                         ldo17_reg: LDO17 {
209                                 regulator-name = "VLDO17_3.0V";
210                                 regulator-min-microvolt = <3000000>;
211                                 regulator-max-microvolt = <3000000>;
212                         };
213
214                         ldo18_reg: LDO18 {
215                                 /* DVDD_MMC2_AP */
216                                 regulator-name = "VLDO18_2.8V";
217                                 regulator-min-microvolt = <2800000>;
218                                 regulator-max-microvolt = <2800000>;
219                         };
220
221                         ldo19_reg: LDO19 {
222                                 regulator-name = "VLDO19_1.8V";
223                                 regulator-min-microvolt = <1800000>;
224                                 regulator-max-microvolt = <1800000>;
225                         };
226
227                         ldo20_reg: LDO20 {
228                                 regulator-name = "VLDO20_1.8V";
229                                 regulator-min-microvolt = <1800000>;
230                                 regulator-max-microvolt = <1800000>;
231                         };
232
233                         ldo21_reg: LDO21 {
234                                 regulator-name = "VLDO21_1.25V";
235                                 regulator-min-microvolt = <1250000>;
236                                 regulator-max-microvolt = <1250000>;
237                         };
238
239                         ldo22_reg: LDO22 {
240                                 regulator-name = "VLDO22_1.2V";
241                                 regulator-min-microvolt = <1200000>;
242                                 regulator-max-microvolt = <1200000>;
243                         };
244
245                         ldo23_reg: LDO23 {
246                                 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
247                                 regulator-name = "VLDO23_1.8V";
248                                 regulator-min-microvolt = <1800000>;
249                                 regulator-max-microvolt = <1800000>;
250                         };
251
252                         ldo24_reg: LDO24 {
253                                 regulator-name = "VLDO24_3.0V";
254                                 regulator-min-microvolt = <3000000>;
255                                 regulator-max-microvolt = <3000000>;
256                         };
257
258                         ldo25_reg: LDO25 {
259                                 regulator-name = "VLDO25_3.0V";
260                                 regulator-min-microvolt = <3000000>;
261                                 regulator-max-microvolt = <3000000>;
262                         };
263
264                         buck1_reg: BUCK1 {
265                                 /* VDD_MIF */
266                                 regulator-name = "VBUCK1_1.0V";
267                                 regulator-min-microvolt = <800000>;
268                                 regulator-max-microvolt = <1000000>;
269                                 regulator-always-on;
270                         };
271
272                         buck2_reg: BUCK2 {
273                                 /* VDD_CPU */
274                                 regulator-name = "VBUCK2_1.2V";
275                                 regulator-min-microvolt = <850000>;
276                                 regulator-max-microvolt = <1200000>;
277                                 regulator-always-on;
278                         };
279
280                         buck3_reg: BUCK3 {
281                                 /* VDD_G3D */
282                                 regulator-name = "VBUCK3_1.0V";
283                                 regulator-min-microvolt = <850000>;
284                                 regulator-max-microvolt = <1000000>;
285                                 regulator-always-on;
286                         };
287
288                         buck4_reg: BUCK4 {
289                                 regulator-name = "VBUCK4_1.95V";
290                                 regulator-min-microvolt = <1950000>;
291                                 regulator-max-microvolt = <1950000>;
292                                 regulator-always-on;
293                         };
294
295                         buck5_reg: BUCK5 {
296                                 regulator-name = "VBUCK5_1.35V";
297                                 regulator-min-microvolt = <1350000>;
298                                 regulator-max-microvolt = <1350000>;
299                                 regulator-always-on;
300                         };
301                 };
302         };
303 };
304
305 &mshc_0 {
306         num-slots = <1>;
307         non-removable;
308         cap-mmc-highspeed;
309         card-detect-delay = <200>;
310         vmmc-supply = <&ldo12_reg>;
311         clock-frequency = <100000000>;
312         clock-freq-min-max = <400000 100000000>;
313         samsung,dw-mshc-ciu-div = <1>;
314         samsung,dw-mshc-sdr-timing = <0 1>;
315         samsung,dw-mshc-ddr-timing = <1 2>;
316         pinctrl-names = "default";
317         pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
318         bus-width = <8>;
319         status = "okay";
320 };
321
322 &rtc {
323         clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
324         clock-names = "rtc", "rtc_src";
325         status = "okay";
326 };
327
328 &tmu {
329         status = "okay";
330 };
331
332 &xusbxti {
333         clock-frequency = <24000000>;
334 };