blob: 1b2709af2a42bbb0fafd3996982d4590ea256573 [file] [log] [blame]
Girish K Se88d5ae2013-02-04 16:15:56 -08001/*
2 * Samsung's Exynos5250 based Arndale board device tree source
3 *
4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
Andreas Faerberc71335e2014-09-24 00:00:46 +090010 */
Girish K Se88d5ae2013-02-04 16:15:56 -080011
12/dts-v1/;
Andreas Faerberc71335e2014-09-24 00:00:46 +090013#include <dt-bindings/gpio/gpio.h>
Mark Brownd40f3142013-07-24 10:55:16 +090014#include <dt-bindings/interrupt-controller/irq.h>
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090015#include <dt-bindings/input/input.h>
Andreas Faerberc71335e2014-09-24 00:00:46 +090016#include "exynos5250.dtsi"
Marek Szyprowski8b9ac7e2016-05-24 15:31:29 +020017#include "exynos-mfc-reserved-memory.dtsi"
Girish K Se88d5ae2013-02-04 16:15:56 -080018
19/ {
20 model = "Insignal Arndale evaluation board based on EXYNOS5250";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090021 compatible = "insignal,arndale", "samsung,exynos5250", "samsung,exynos5";
Girish K Se88d5ae2013-02-04 16:15:56 -080022
Javier Martinez Canillasa0eb1092016-09-01 11:06:56 +020023 memory@40000000 {
Javier Martinez Canillas12676ee2016-09-01 11:06:53 +020024 device_type = "memory";
Girish K Se88d5ae2013-02-04 16:15:56 -080025 reg = <0x40000000 0x80000000>;
26 };
27
28 chosen {
29 bootargs = "console=ttySAC2,115200";
30 };
31
Tushar Behera89fec222013-04-04 14:24:47 +090032 gpio_keys {
33 compatible = "gpio-keys";
34
35 menu {
36 label = "SW-TACT2";
Andreas Faerberc71335e2014-09-24 00:00:46 +090037 gpios = <&gpx1 4 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090038 linux,code = <KEY_MENU>;
Sudeep Holla36a02822016-01-28 15:59:58 +000039 wakeup-source;
Tushar Behera89fec222013-04-04 14:24:47 +090040 };
41
42 home {
43 label = "SW-TACT3";
Andreas Faerberc71335e2014-09-24 00:00:46 +090044 gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090045 linux,code = <KEY_HOME>;
Sudeep Holla36a02822016-01-28 15:59:58 +000046 wakeup-source;
Tushar Behera89fec222013-04-04 14:24:47 +090047 };
48
49 up {
50 label = "SW-TACT4";
Andreas Faerberc71335e2014-09-24 00:00:46 +090051 gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090052 linux,code = <KEY_UP>;
Sudeep Holla36a02822016-01-28 15:59:58 +000053 wakeup-source;
Tushar Behera89fec222013-04-04 14:24:47 +090054 };
55
56 down {
57 label = "SW-TACT5";
Andreas Faerberc71335e2014-09-24 00:00:46 +090058 gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090059 linux,code = <KEY_DOWN>;
Sudeep Holla36a02822016-01-28 15:59:58 +000060 wakeup-source;
Tushar Behera89fec222013-04-04 14:24:47 +090061 };
62
63 back {
64 label = "SW-TACT6";
Andreas Faerberc71335e2014-09-24 00:00:46 +090065 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090066 linux,code = <KEY_BACK>;
Sudeep Holla36a02822016-01-28 15:59:58 +000067 wakeup-source;
Tushar Behera89fec222013-04-04 14:24:47 +090068 };
69
70 wakeup {
71 label = "SW-TACT7";
Andreas Faerberc71335e2014-09-24 00:00:46 +090072 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
Sachin Kamat2d7a5bd2014-05-28 00:56:16 +090073 linux,code = <KEY_WAKEUP>;
Sudeep Holla36a02822016-01-28 15:59:58 +000074 wakeup-source;
Tushar Behera89fec222013-04-04 14:24:47 +090075 };
76 };
77
Mark Brownaa3edb62013-07-24 10:55:16 +090078 regulators {
79 compatible = "simple-bus";
80 #address-cells = <1>;
81 #size-cells = <0>;
Sachin Kamat29881032013-04-04 14:24:55 +090082
Sachin Kamat8365f762013-10-06 09:21:10 +090083 main_dc_reg: regulator@0 {
Mark Brownc1f2d532013-07-24 10:55:16 +090084 compatible = "regulator-fixed";
Sachin Kamat8365f762013-10-06 09:21:10 +090085 reg = <0>;
Mark Brownc1f2d532013-07-24 10:55:16 +090086 regulator-name = "MAIN_DC";
87 };
88
Sachin Kamat8365f762013-10-06 09:21:10 +090089 mmc_reg: regulator@1 {
Mark Brownaa3edb62013-07-24 10:55:16 +090090 compatible = "regulator-fixed";
Sachin Kamat8365f762013-10-06 09:21:10 +090091 reg = <1>;
Mark Brownaa3edb62013-07-24 10:55:16 +090092 regulator-name = "VDD_33ON_2.8V";
93 regulator-min-microvolt = <2800000>;
94 regulator-max-microvolt = <2800000>;
Andreas Faerberc71335e2014-09-24 00:00:46 +090095 gpio = <&gpx1 1 GPIO_ACTIVE_LOW>;
Mark Brownaa3edb62013-07-24 10:55:16 +090096 enable-active-high;
97 };
98
Sachin Kamat8365f762013-10-06 09:21:10 +090099 reg_hdmi_en: regulator@2 {
Mark Brownaa3edb62013-07-24 10:55:16 +0900100 compatible = "regulator-fixed";
Sachin Kamat8365f762013-10-06 09:21:10 +0900101 reg = <2>;
Mark Brownaa3edb62013-07-24 10:55:16 +0900102 regulator-name = "hdmi-en";
103 };
Sachin Kamat2d2ff612013-04-04 14:25:06 +0900104 };
105
Thomas Abraham8b6076d2013-03-09 17:19:22 +0900106 fixed-rate-clocks {
107 xxti {
108 compatible = "samsung,clock-xxti";
109 clock-frequency = <24000000>;
110 };
111 };
Vikas Sajjana3093e62013-06-10 17:04:36 +0900112
Andreas Faerberceb5b5d2014-09-24 00:01:50 +0900113 // SMSC USB3503 connected in hardware only mode as a PHY
114 usb_hub: usb-hub {
115 compatible = "smsc,usb3503a";
Mark Brown7c1b0ec2013-08-19 04:33:22 +0900116
Andreas Faerberceb5b5d2014-09-24 00:01:50 +0900117 reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
118 connect-gpios = <&gpd1 7 GPIO_ACTIVE_LOW>;
Mark Brown7c1b0ec2013-08-19 04:33:22 +0900119 };
Girish K Se88d5ae2013-02-04 16:15:56 -0800120};
Andreas Faerberc71335e2014-09-24 00:00:46 +0900121
Thomas Abraham846c5302015-07-01 15:10:36 +0200122&cpu0 {
123 cpu0-supply = <&buck2_reg>;
124};
125
Andreas Faerberc71335e2014-09-24 00:00:46 +0900126&dp {
127 status = "okay";
128 samsung,color-space = <0>;
Andreas Faerberc71335e2014-09-24 00:00:46 +0900129 samsung,color-depth = <1>;
130 samsung,link-rate = <0x0a>;
131 samsung,lane-count = <4>;
Andreas Faerberc71335e2014-09-24 00:00:46 +0900132
133 display-timings {
134 native-mode = <&timing0>;
135
Krzysztof Kozlowski5c9cbad2016-04-06 11:00:45 +0900136 timing0: timing {
Andreas Faerberc71335e2014-09-24 00:00:46 +0900137 /* 2560x1600 DP panel */
138 clock-frequency = <50000>;
139 hactive = <2560>;
140 vactive = <1600>;
141 hfront-porch = <48>;
142 hback-porch = <80>;
143 hsync-len = <32>;
144 vback-porch = <16>;
145 vfront-porch = <8>;
146 vsync-len = <6>;
147 };
148 };
149};
150
Sean Paulc5185062015-09-17 14:48:39 +0200151&fimd {
152 status = "okay";
153};
154
Andreas Faerberc71335e2014-09-24 00:00:46 +0900155&hdmi {
Milo Kim05b01dd2016-08-24 22:07:16 +0900156 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_LOW>;
Andreas Faerberc71335e2014-09-24 00:00:46 +0900157 vdd_osc-supply = <&ldo10_reg>;
158 vdd_pll-supply = <&ldo8_reg>;
159 vdd-supply = <&ldo8_reg>;
160};
161
162&i2c_0 {
163 status = "okay";
164 samsung,i2c-sda-delay = <100>;
165 samsung,i2c-max-bus-freq = <20000>;
166 samsung,i2c-slave-addr = <0x66>;
167
168 s5m8767_pmic@66 {
169 compatible = "samsung,s5m8767-pmic";
170 reg = <0x66>;
171 interrupt-parent = <&gpx3>;
172 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
Marek Szyprowski9d394b02018-09-06 17:41:35 +0200173 pinctrl-names = "default";
174 pinctrl-0 = <&s5m8767_irq>;
Andreas Faerberc71335e2014-09-24 00:00:46 +0900175
176 vinb1-supply = <&main_dc_reg>;
177 vinb2-supply = <&main_dc_reg>;
178 vinb3-supply = <&main_dc_reg>;
179 vinb4-supply = <&main_dc_reg>;
180 vinb5-supply = <&main_dc_reg>;
181 vinb6-supply = <&main_dc_reg>;
182 vinb7-supply = <&main_dc_reg>;
183 vinb8-supply = <&main_dc_reg>;
184 vinb9-supply = <&main_dc_reg>;
185
186 vinl1-supply = <&buck7_reg>;
187 vinl2-supply = <&buck7_reg>;
188 vinl3-supply = <&buck7_reg>;
189 vinl4-supply = <&main_dc_reg>;
190 vinl5-supply = <&main_dc_reg>;
191 vinl6-supply = <&main_dc_reg>;
192 vinl7-supply = <&main_dc_reg>;
193 vinl8-supply = <&buck8_reg>;
194 vinl9-supply = <&buck8_reg>;
195
196 s5m8767,pmic-buck2-dvs-voltage = <1300000>;
197 s5m8767,pmic-buck3-dvs-voltage = <1100000>;
198 s5m8767,pmic-buck4-dvs-voltage = <1200000>;
199 s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>,
200 <&gpd1 1 GPIO_ACTIVE_HIGH>,
201 <&gpd1 2 GPIO_ACTIVE_HIGH>;
202 s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
203 <&gpx2 4 GPIO_ACTIVE_HIGH>,
204 <&gpx2 5 GPIO_ACTIVE_HIGH>;
205
206 regulators {
207 ldo1_reg: LDO1 {
208 regulator-name = "VDD_ALIVE_1.0V";
209 regulator-min-microvolt = <1100000>;
210 regulator-max-microvolt = <1100000>;
211 regulator-always-on;
212 regulator-boot-on;
213 op_mode = <1>;
214 };
215
216 ldo2_reg: LDO2 {
217 regulator-name = "VDD_28IO_DP_1.35V";
218 regulator-min-microvolt = <1200000>;
219 regulator-max-microvolt = <1200000>;
220 regulator-always-on;
221 regulator-boot-on;
222 op_mode = <1>;
223 };
224
225 ldo3_reg: LDO3 {
226 regulator-name = "VDD_COMMON1_1.8V";
227 regulator-min-microvolt = <1800000>;
228 regulator-max-microvolt = <1800000>;
229 regulator-always-on;
230 regulator-boot-on;
231 op_mode = <1>;
232 };
233
234 ldo4_reg: LDO4 {
235 regulator-name = "VDD_IOPERI_1.8V";
236 regulator-min-microvolt = <1800000>;
237 regulator-max-microvolt = <1800000>;
238 regulator-always-on;
239 op_mode = <1>;
240 };
241
242 ldo5_reg: LDO5 {
243 regulator-name = "VDD_EXT_1.8V";
244 regulator-min-microvolt = <1800000>;
245 regulator-max-microvolt = <1800000>;
246 regulator-always-on;
247 regulator-boot-on;
248 op_mode = <1>;
249 };
250
251 ldo6_reg: LDO6 {
252 regulator-name = "VDD_MPLL_1.1V";
253 regulator-min-microvolt = <1100000>;
254 regulator-max-microvolt = <1100000>;
255 regulator-always-on;
256 regulator-boot-on;
257 op_mode = <1>;
258 };
259
260 ldo7_reg: LDO7 {
261 regulator-name = "VDD_XPLL_1.1V";
262 regulator-min-microvolt = <1100000>;
263 regulator-max-microvolt = <1100000>;
264 regulator-always-on;
265 regulator-boot-on;
266 op_mode = <1>;
267 };
268
269 ldo8_reg: LDO8 {
270 regulator-name = "VDD_COMMON2_1.0V";
271 regulator-min-microvolt = <1000000>;
272 regulator-max-microvolt = <1000000>;
273 regulator-always-on;
274 regulator-boot-on;
275 op_mode = <1>;
276 };
277
278 ldo9_reg: LDO9 {
279 regulator-name = "VDD_33ON_3.0V";
280 regulator-min-microvolt = <3000000>;
281 regulator-max-microvolt = <3000000>;
282 op_mode = <1>;
283 };
284
285 ldo10_reg: LDO10 {
286 regulator-name = "VDD_COMMON3_1.8V";
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <1800000>;
289 regulator-always-on;
290 regulator-boot-on;
291 op_mode = <1>;
292 };
293
294 ldo11_reg: LDO11 {
295 regulator-name = "VDD_ABB2_1.8V";
296 regulator-min-microvolt = <1800000>;
297 regulator-max-microvolt = <1800000>;
298 regulator-always-on;
299 regulator-boot-on;
300 op_mode = <1>;
301 };
302
303 ldo12_reg: LDO12 {
304 regulator-name = "VDD_USB_3.0V";
305 regulator-min-microvolt = <3000000>;
306 regulator-max-microvolt = <3000000>;
307 regulator-always-on;
308 regulator-boot-on;
309 op_mode = <1>;
310 };
311
312 ldo13_reg: LDO13 {
313 regulator-name = "VDDQ_C2C_W_1.8V";
314 regulator-min-microvolt = <1800000>;
315 regulator-max-microvolt = <1800000>;
316 regulator-always-on;
317 regulator-boot-on;
318 op_mode = <1>;
319 };
320
321 ldo14_reg: LDO14 {
322 regulator-name = "VDD18_ABB0_3_1.8V";
323 regulator-min-microvolt = <1800000>;
324 regulator-max-microvolt = <1800000>;
325 regulator-always-on;
326 regulator-boot-on;
327 op_mode = <1>;
328 };
329
330 ldo15_reg: LDO15 {
331 regulator-name = "VDD10_COMMON4_1.0V";
332 regulator-min-microvolt = <1000000>;
333 regulator-max-microvolt = <1000000>;
334 regulator-always-on;
335 regulator-boot-on;
336 op_mode = <1>;
337 };
338
339 ldo16_reg: LDO16 {
340 regulator-name = "VDD18_HSIC_1.8V";
341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <1800000>;
343 regulator-always-on;
344 regulator-boot-on;
345 op_mode = <1>;
346 };
347
348 ldo17_reg: LDO17 {
349 regulator-name = "VDDQ_MMC2_3_2.8V";
350 regulator-min-microvolt = <2800000>;
351 regulator-max-microvolt = <2800000>;
352 regulator-always-on;
353 regulator-boot-on;
354 op_mode = <1>;
355 };
356
357 ldo18_reg: LDO18 {
358 regulator-name = "VDD_33ON_2.8V";
359 regulator-min-microvolt = <2800000>;
360 regulator-max-microvolt = <2800000>;
361 op_mode = <1>;
362 };
363
364 ldo22_reg: LDO22 {
365 regulator-name = "EXT_33_OFF";
366 regulator-min-microvolt = <3300000>;
367 regulator-max-microvolt = <3300000>;
368 op_mode = <1>;
369 };
370
371 ldo23_reg: LDO23 {
372 regulator-name = "EXT_28_OFF";
373 regulator-min-microvolt = <2800000>;
374 regulator-max-microvolt = <2800000>;
375 op_mode = <1>;
376 };
377
378 ldo25_reg: LDO25 {
379 regulator-name = "PVDD_LDO25";
380 regulator-min-microvolt = <1200000>;
381 regulator-max-microvolt = <1200000>;
382 op_mode = <1>;
383 };
384
385 ldo26_reg: LDO26 {
386 regulator-name = "EXT_18_OFF";
387 regulator-min-microvolt = <1800000>;
388 regulator-max-microvolt = <1800000>;
389 op_mode = <1>;
390 };
391
392 buck1_reg: BUCK1 {
393 regulator-name = "vdd_mif";
394 regulator-min-microvolt = <950000>;
395 regulator-max-microvolt = <1200000>;
396 regulator-always-on;
397 regulator-boot-on;
398 op_mode = <1>;
399 };
400
401 buck2_reg: BUCK2 {
402 regulator-name = "vdd_arm";
403 regulator-min-microvolt = <912500>;
404 regulator-max-microvolt = <1300000>;
405 regulator-always-on;
406 regulator-boot-on;
407 op_mode = <1>;
408 };
409
410 buck3_reg: BUCK3 {
411 regulator-name = "vdd_int";
412 regulator-min-microvolt = <900000>;
413 regulator-max-microvolt = <1200000>;
414 regulator-always-on;
415 regulator-boot-on;
416 op_mode = <1>;
417 };
418
419 buck4_reg: BUCK4 {
420 regulator-name = "vdd_g3d";
421 regulator-min-microvolt = <1000000>;
422 regulator-max-microvolt = <1000000>;
423 regulator-always-on;
424 regulator-boot-on;
425 op_mode = <1>;
426 };
427
428 buck5_reg: BUCK5 {
429 regulator-name = "VDD_MEM_1.35V";
430 regulator-min-microvolt = <750000>;
431 regulator-max-microvolt = <1355000>;
432 regulator-always-on;
433 regulator-boot-on;
434 op_mode = <1>;
435 };
436
437 buck7_reg: BUCK7 {
438 regulator-name = "PVDD_BUCK7";
439 regulator-always-on;
440 op_mode = <1>;
441 };
442
443 buck8_reg: BUCK8 {
444 regulator-name = "PVDD_BUCK8";
445 regulator-always-on;
446 op_mode = <1>;
447 };
448
449 buck9_reg: BUCK9 {
450 regulator-name = "VDD_33_OFF_EXT1";
451 regulator-min-microvolt = <750000>;
452 regulator-max-microvolt = <3000000>;
453 op_mode = <1>;
454 };
455 };
456 };
457};
458
459&i2c_2 {
460 status = "okay";
461
462 samsung,i2c-sda-delay = <100>;
463 samsung,i2c-max-bus-freq = <66000>;
464 samsung,i2c-slave-addr = <0x50>;
465
466 hdmiddc@50 {
467 compatible = "samsung,exynos4210-hdmiddc";
468 reg = <0x50>;
469 };
470};
471
472&i2c_3 {
473 status = "okay";
474
475 wm1811a@1a {
476 compatible = "wlf,wm1811";
477 reg = <0x1a>;
478
479 AVDD2-supply = <&main_dc_reg>;
480 CPVDD-supply = <&main_dc_reg>;
481 DBVDD1-supply = <&main_dc_reg>;
482 DBVDD2-supply = <&main_dc_reg>;
483 DBVDD3-supply = <&main_dc_reg>;
484 LDO1VDD-supply = <&main_dc_reg>;
485 SPKVDD1-supply = <&main_dc_reg>;
486 SPKVDD2-supply = <&main_dc_reg>;
487
488 wlf,ldo1ena = <&gpb0 0 GPIO_ACTIVE_HIGH>;
489 wlf,ldo2ena = <&gpb0 1 GPIO_ACTIVE_HIGH>;
490 };
491};
492
493&i2c_8 {
494 status = "okay";
495
496 samsung,i2c-sda-delay = <100>;
497 samsung,i2c-max-bus-freq = <66000>;
498 samsung,i2c-slave-addr = <0x38>;
499
500 hdmiphy@38 {
501 compatible = "samsung,exynos4212-hdmiphy";
502 reg = <0x38>;
503 };
504};
505
506&i2c_9 {
507 status = "okay";
508 samsung,i2c-sda-delay = <100>;
509 samsung,i2c-max-bus-freq = <40000>;
510 samsung,i2c-slave-addr = <0x38>;
511
512 sata_phy_i2c:sata-phy@38 {
513 compatible = "samsung,exynos-sataphy-i2c";
514 reg = <0x38>;
515 };
516};
517
518&i2s0 {
519 status = "okay";
520};
521
Andreas Faerberc71335e2014-09-24 00:00:46 +0900522&mmc_0 {
523 status = "okay";
524 num-slots = <1>;
525 broken-cd;
526 card-detect-delay = <200>;
527 samsung,dw-mshc-ciu-div = <3>;
528 samsung,dw-mshc-sdr-timing = <2 3>;
529 samsung,dw-mshc-ddr-timing = <1 2>;
530 vmmc-supply = <&mmc_reg>;
531 pinctrl-names = "default";
532 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
533 bus-width = <8>;
534 cap-mmc-highspeed;
535};
536
537&mmc_2 {
538 status = "okay";
539 num-slots = <1>;
540 card-detect-delay = <200>;
541 samsung,dw-mshc-ciu-div = <3>;
542 samsung,dw-mshc-sdr-timing = <2 3>;
543 samsung,dw-mshc-ddr-timing = <1 2>;
544 vmmc-supply = <&mmc_reg>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
547 bus-width = <4>;
548 disable-wp;
549 cap-sd-highspeed;
550};
551
Marek Szyprowski9d394b02018-09-06 17:41:35 +0200552&pinctrl_0 {
553 s5m8767_irq: s5m8767-irq {
554 samsung,pins = "gpx3-2";
555 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
556 };
557};
558
Andreas Faerberc71335e2014-09-24 00:00:46 +0900559&rtc {
560 status = "okay";
561};
562
563&sata {
564 status = "okay";
565};
566
567&sata_phy {
568 status = "okay";
569 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
570};