blob: 829c05b2c405f4e43ea43f28e3ed585a1c97ddf4 [file] [log] [blame]
Krzysztof Kozlowskicc4637f2017-12-25 11:40:09 +01001// SPDX-License-Identifier: GPL-2.0
Chanwoo Choib004a342016-03-31 11:48:04 +09002/*
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.
Chanwoo Choib004a342016-03-31 11:48:04 +090010 */
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
Javier Martinez Canillas2458ff02016-09-01 11:06:54 +020024 memory@40000000 {
Javier Martinez Canillas33c3de72016-09-01 11:06:51 +020025 device_type = "memory";
Marek Szyprowski91bf0ee2020-02-25 12:40:17 +010026 reg = <0x40000000 0x1f800000>;
Chanwoo Choib004a342016-03-31 11:48:04 +090027 };
28
Rob Herring8dccafa2017-10-13 12:54:51 -050029 firmware@205f000 {
Chanwoo Choib004a342016-03-31 11:48:04 +090030 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 */
Viresh Kumar670734f2018-11-16 15:31:10 +053039 cooling-device = <&cpu0 5 5>,
40 <&cpu1 5 5>;
Chanwoo Choib004a342016-03-31 11:48:04 +090041 };
42 map1 {
43 /* Corresponds to 200MHz */
Viresh Kumar670734f2018-11-16 15:31:10 +053044 cooling-device = <&cpu0 8 8>,
45 <&cpu1 8 8>;
Chanwoo Choib004a342016-03-31 11:48:04 +090046 };
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
Krzysztof Kozlowskif9e87852020-09-06 16:21:44 +020058&cmu {
59 clocks = <&xusbxti>;
60};
61
Chanwoo Choib004a342016-03-31 11:48:04 +090062&cpu0 {
63 cpu0-supply = <&buck2_reg>;
64};
65
Krzysztof Kozlowski4a7bc072019-06-21 20:02:02 +020066&gpu {
67 mali-supply = <&buck3_reg>;
68 status = "okay";
69};
70
Chanwoo Choib004a342016-03-31 11:48:04 +090071&i2c_0 {
72 #address-cells = <1>;
73 #size-cells = <0>;
74 samsung,i2c-sda-delay = <100>;
75 samsung,i2c-slave-addr = <0x10>;
76 samsung,i2c-max-bus-freq = <100000>;
77 status = "okay";
78
Krzysztof Kozlowski157a5692020-10-27 18:09:36 +010079 pmic@66 {
Chanwoo Choib004a342016-03-31 11:48:04 +090080 compatible = "samsung,s2mps14-pmic";
81 interrupt-parent = <&gpx3>;
Krzysztof Kozlowskicb313342020-12-10 22:28:55 +010082 interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
Marek Szyprowski62623712018-09-07 09:46:59 +020083 pinctrl-names = "default";
84 pinctrl-0 = <&s2mps14_irq>;
Chanwoo Choib004a342016-03-31 11:48:04 +090085 reg = <0x66>;
86
87 s2mps14_osc: clocks {
88 compatible = "samsung,s2mps14-clk";
89 #clock-cells = <1>;
90 clock-output-names = "s2mps14_ap", "unused",
91 "s2mps14_bt";
92 };
93
94 regulators {
95 ldo1_reg: LDO1 {
96 /* VDD_ALIVE15x */
97 regulator-name = "VLDO1_1.0V";
98 regulator-min-microvolt = <1000000>;
99 regulator-max-microvolt = <1000000>;
100 regulator-always-on;
101 };
102
103 ldo2_reg: LDO2 {
104 /* VDDQM176 ~ VDDQM185 */
105 regulator-name = "VLDO2_1.2V";
106 regulator-min-microvolt = <1200000>;
107 regulator-max-microvolt = <1200000>;
108 regulator-always-on;
109 };
110
111 ldo3_reg: LDO3 {
112 /*
113 * VDD1_E106 ~ VDD1_E111
114 * DVDD_RTC_AP, DVDD_MMC2_AP
115 */
116 regulator-name = "VLDO3_1.8V";
117 regulator-min-microvolt = <1800000>;
118 regulator-max-microvolt = <1800000>;
119 regulator-always-on;
120 };
121
122 ldo4_reg: LDO4 {
123 /* AVDD_PLL1120 ~ AVDD_PLL11201 */
124 regulator-name = "VLDO4_1.8V";
125 regulator-min-microvolt = <1800000>;
126 regulator-max-microvolt = <1800000>;
127 regulator-always-on;
128 };
129
130 ldo5_reg: LDO5 {
131 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
132 regulator-name = "VLDO5_1.0V";
133 regulator-min-microvolt = <1000000>;
134 regulator-max-microvolt = <1000000>;
135 regulator-always-on;
136 };
137
138 ldo6_reg: LDO6 {
139 /* VDD_USB, VDD10_HSIC */
140 regulator-name = "VLDO6_1.0V";
141 regulator-min-microvolt = <1000000>;
142 regulator-max-microvolt = <1000000>;
143 regulator-always-on;
144 };
145
146 ldo7_reg: LDO7 {
147 /*
148 * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
149 * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
150 */
151 regulator-name = "VLDO7_1.8V";
152 regulator-min-microvolt = <1800000>;
153 regulator-max-microvolt = <1800000>;
154 regulator-always-on;
155 };
156
157 ldo8_reg: LDO8 {
158 /* AVDD33_UOTG */
159 regulator-name = "VLDO8_3.0V";
160 regulator-min-microvolt = <3000000>;
161 regulator-max-microvolt = <3000000>;
162 regulator-always-on;
163 };
164
165 ldo9_reg: LDO9 {
166 /* VDDQ_E86 ~ VDDQ_E105*/
167 regulator-name = "VLDO9_1.2V";
168 regulator-min-microvolt = <1200000>;
169 regulator-max-microvolt = <1200000>;
170 regulator-always-on;
171 };
172
173 ldo10_reg: LDO10 {
174 regulator-name = "VLDO10_1.0V";
175 regulator-min-microvolt = <1000000>;
176 regulator-max-microvolt = <1000000>;
177 };
178
179 ldo11_reg: LDO11 {
180 /* VDD74 ~ VDD75 */
181 regulator-name = "VLDO11_1.8V";
182 regulator-min-microvolt = <1800000>;
183 regulator-max-microvolt = <1800000>;
184 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
185 };
186
187 ldo12_reg: LDO12 {
188 /* VDD72 ~ VDD73 */
189 regulator-name = "VLDO12_2.8V";
190 regulator-min-microvolt = <2800000>;
191 regulator-max-microvolt = <2800000>;
192 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
193 };
194
195 ldo13_reg: LDO13 {
196 regulator-name = "VLDO13_2.8V";
197 regulator-min-microvolt = <2800000>;
198 regulator-max-microvolt = <2800000>;
199 };
200
201 ldo14_reg: LDO14 {
202 regulator-name = "VLDO14_2.7V";
203 regulator-min-microvolt = <2700000>;
204 regulator-max-microvolt = <2700000>;
205 };
206
207 ldo15_reg: LDO15 {
208 regulator-name = "VLDO_3.3V";
209 regulator-min-microvolt = <3300000>;
210 regulator-max-microvolt = <3300000>;
211 };
212
213 ldo16_reg: LDO16 {
214 regulator-name = "VLDO16_3.3V";
215 regulator-min-microvolt = <3300000>;
216 regulator-max-microvolt = <3300000>;
217 };
218
219 ldo17_reg: LDO17 {
220 regulator-name = "VLDO17_3.0V";
221 regulator-min-microvolt = <3000000>;
222 regulator-max-microvolt = <3000000>;
223 };
224
225 ldo18_reg: LDO18 {
226 /* DVDD_MMC2_AP */
227 regulator-name = "VLDO18_2.8V";
228 regulator-min-microvolt = <2800000>;
229 regulator-max-microvolt = <2800000>;
230 };
231
232 ldo19_reg: LDO19 {
233 regulator-name = "VLDO19_1.8V";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 };
237
238 ldo20_reg: LDO20 {
239 regulator-name = "VLDO20_1.8V";
240 regulator-min-microvolt = <1800000>;
241 regulator-max-microvolt = <1800000>;
242 };
243
244 ldo21_reg: LDO21 {
245 regulator-name = "VLDO21_1.25V";
246 regulator-min-microvolt = <1250000>;
247 regulator-max-microvolt = <1250000>;
248 };
249
250 ldo22_reg: LDO22 {
251 regulator-name = "VLDO22_1.2V";
252 regulator-min-microvolt = <1200000>;
253 regulator-max-microvolt = <1200000>;
254 };
255
256 ldo23_reg: LDO23 {
257 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
258 regulator-name = "VLDO23_1.8V";
259 regulator-min-microvolt = <1800000>;
260 regulator-max-microvolt = <1800000>;
Michael Lylee9594ac2018-02-01 13:16:56 -0800261 regulator-always-on;
Chanwoo Choib004a342016-03-31 11:48:04 +0900262 };
263
264 ldo24_reg: LDO24 {
265 regulator-name = "VLDO24_3.0V";
266 regulator-min-microvolt = <3000000>;
267 regulator-max-microvolt = <3000000>;
268 };
269
270 ldo25_reg: LDO25 {
271 regulator-name = "VLDO25_3.0V";
272 regulator-min-microvolt = <3000000>;
273 regulator-max-microvolt = <3000000>;
274 };
275
276 buck1_reg: BUCK1 {
277 /* VDD_MIF */
278 regulator-name = "VBUCK1_1.0V";
279 regulator-min-microvolt = <800000>;
280 regulator-max-microvolt = <1000000>;
281 regulator-always-on;
282 };
283
284 buck2_reg: BUCK2 {
285 /* VDD_CPU */
286 regulator-name = "VBUCK2_1.2V";
287 regulator-min-microvolt = <850000>;
288 regulator-max-microvolt = <1200000>;
289 regulator-always-on;
290 };
291
292 buck3_reg: BUCK3 {
293 /* VDD_G3D */
294 regulator-name = "VBUCK3_1.0V";
295 regulator-min-microvolt = <850000>;
296 regulator-max-microvolt = <1000000>;
297 regulator-always-on;
298 };
299
300 buck4_reg: BUCK4 {
301 regulator-name = "VBUCK4_1.95V";
302 regulator-min-microvolt = <1950000>;
303 regulator-max-microvolt = <1950000>;
304 regulator-always-on;
305 };
306
307 buck5_reg: BUCK5 {
308 regulator-name = "VBUCK5_1.35V";
309 regulator-min-microvolt = <1350000>;
310 regulator-max-microvolt = <1350000>;
311 regulator-always-on;
312 };
313 };
314 };
315};
316
317&mshc_0 {
Chanwoo Choib004a342016-03-31 11:48:04 +0900318 non-removable;
319 cap-mmc-highspeed;
320 card-detect-delay = <200>;
321 vmmc-supply = <&ldo12_reg>;
322 clock-frequency = <100000000>;
Jaehoon Chung9adce7a2016-11-03 15:21:32 +0900323 max-frequency = <100000000>;
Chanwoo Choib004a342016-03-31 11:48:04 +0900324 samsung,dw-mshc-ciu-div = <1>;
325 samsung,dw-mshc-sdr-timing = <0 1>;
326 samsung,dw-mshc-ddr-timing = <1 2>;
327 pinctrl-names = "default";
328 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
329 bus-width = <8>;
330 status = "okay";
331};
332
Michael Lylee9594ac2018-02-01 13:16:56 -0800333&mshc_1 {
334 cap-sd-highspeed;
335 cap-sdio-irq;
336 disable-wp;
337 non-removable;
338 keep-power-in-suspend;
339 fifo-depth = <0x40>;
340 vqmmc-supply = <&ldo11_reg>;
341 /*
342 * Voltage negotiation is broken for the SDIO periph so we
343 * can't actually set the voltage here.
344 * vmmc-supply = <&ldo23_reg>;
345 */
346 card-detect-delay = <500>;
347 clock-frequency = <100000000>;
348 max-frequency = <100000000>;
349 samsung,dw-mshc-ciu-div = <3>;
350 samsung,dw-mshc-sdr-timing = <0 1>;
351 samsung,dw-mshc-ddr-timing = <1 2>;
352 pinctrl-names = "default";
353 pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
354 bus-width = <4>;
355 status = "okay";
356};
357
358&pinctrl_1 {
Marek Szyprowski3fb7fa492020-06-03 12:46:47 +0200359 bten: bten {
360 samsung,pins ="gpx1-7";
361 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
362 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
363 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
364 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
365 };
366
Michael Lylee9594ac2018-02-01 13:16:56 -0800367 wlanen: wlanen {
368 samsung,pins = "gpx2-3";
369 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
370 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
371 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
372 samsung,pin-val = <1>;
373 };
Marek Szyprowski62623712018-09-07 09:46:59 +0200374
375 s2mps14_irq: s2mps14-irq {
376 samsung,pins = "gpx3-5";
377 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
378 };
Marek Szyprowski3fb7fa492020-06-03 12:46:47 +0200379
380 bthostwake: bthostwake {
381 samsung,pins = "gpx3-6";
382 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
383 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
384 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
385 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
386 };
387
388 btwake: btwake {
389 samsung,pins = "gpx3-7";
390 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
391 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
392 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
393 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
394 };
Michael Lylee9594ac2018-02-01 13:16:56 -0800395};
396
Chanwoo Choib004a342016-03-31 11:48:04 +0900397&rtc {
398 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
399 clock-names = "rtc", "rtc_src";
400 status = "okay";
401};
402
Marek Szyprowski3fb7fa492020-06-03 12:46:47 +0200403&serial_0 {
404 assigned-clocks = <&cmu CLK_SCLK_UART0>;
405 assigned-clock-rates = <100000000>;
406 status = "okay";
407
408 bluetooth {
409 compatible = "brcm,bcm4330-bt";
410 pinctrl-names = "default";
411 pinctrl-0 = <&bten &btwake &bthostwake>;
412 max-speed = <3000000>;
413 shutdown-gpios = <&gpx1 7 GPIO_ACTIVE_HIGH>;
414 device-wakeup-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
415 host-wakeup-gpios = <&gpx3 6 GPIO_ACTIVE_HIGH>;
416 clocks = <&s2mps14_osc S2MPS11_CLK_BT>;
417 };
418};
419
Chanwoo Choib004a342016-03-31 11:48:04 +0900420&tmu {
421 status = "okay";
422};
423
424&xusbxti {
425 clock-frequency = <24000000>;
426};