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