blob: f628d36604938984603947ab434450416203c8ec [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's S5PV210 based Galaxy Aries board device tree source
4 */
5
6/dts-v1/;
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include "s5pv210.dtsi"
10
11/ {
12 compatible = "samsung,aries", "samsung,s5pv210";
13
14 aliases: aliases {
15 i2c4 = &i2c_sound;
16 i2c5 = &i2c_accel;
17 i2c6 = &i2c_pmic;
18 i2c7 = &i2c_musb;
19 i2c9 = &i2c_fuel;
20 i2c10 = &i2c_touchkey;
21 i2c11 = &i2c_prox;
22 i2c12 = &i2c_magnetometer;
23 };
24
25 memory@30000000 {
26 device_type = "memory";
27 reg = <0x30000000 0x05000000>,
28 <0x40000000 0x10000000>,
29 <0x50000000 0x08000000>;
30 };
31
32 reserved-memory {
33 #address-cells = <1>;
34 #size-cells = <1>;
35 ranges;
36
37 mfc_left: region@43000000 {
38 compatible = "shared-dma-pool";
39 no-map;
40 reg = <0x43000000 0x2000000>;
41 };
42
43 mfc_right: region@51000000 {
44 compatible = "shared-dma-pool";
45 no-map;
46 reg = <0x51000000 0x2000000>;
47 };
48 };
49
50 pmic_ap_clk: clock-0 {
51 /* Workaround for missing clock on PMIC */
52 compatible = "fixed-clock";
53 #clock-cells = <0>;
54 clock-frequency = <32768>;
55 };
56
57 bt_codec: bt-sco {
58 compatible = "linux,bt-sco";
59 #sound-dai-cells = <0>;
60 };
61
62 vibrator_pwr: regulator-fixed-0 {
63 compatible = "regulator-fixed";
64 regulator-name = "vibrator-en";
65 enable-active-high;
66 gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;
67
68 pinctrl-names = "default";
69 pinctrl-0 = <&vibrator_ena>;
70 };
71
72 touchkey_vdd: regulator-fixed-1 {
73 compatible = "regulator-fixed";
74 regulator-name = "VTOUCH_3.3V";
75 regulator-min-microvolt = <3300000>;
76 regulator-max-microvolt = <3300000>;
77 enable-active-high;
78 gpio = <&gpj3 2 GPIO_ACTIVE_HIGH>;
79
80 pinctrl-names = "default";
81 pinctrl-0 = <&touchkey_vdd_ena>;
82 };
83
84 gp2a_vled: regulator-fixed-2 {
85 compatible = "regulator-fixed";
86 regulator-name = "VLED";
87 enable-active-high;
88 gpio = <&gpj1 4 GPIO_ACTIVE_HIGH>;
89 regulator-min-microvolt = <2800000>;
90 regulator-max-microvolt = <2800000>;
91
92 pinctrl-names = "default";
93 pinctrl-0 = <&gp2a_power>;
94 };
95
96 wifi_pwrseq: wifi-pwrseq {
97 compatible = "mmc-pwrseq-simple";
98 reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
99 pinctrl-names = "default";
100 pinctrl-0 = <&wlan_gpio_rst>;
101 post-power-on-delay-ms = <500>;
102 power-off-delay-us = <500>;
103 };
104
105 i2c_sound: i2c-gpio-0 {
106 compatible = "i2c-gpio";
107 sda-gpios = <&mp05 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
108 scl-gpios = <&mp05 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
109 i2c-gpio,delay-us = <2>;
110 #address-cells = <1>;
111 #size-cells = <0>;
112
113 pinctrl-names = "default";
114 pinctrl-0 = <&sound_i2c_pins>;
115
116 wm8994: audio-codec@1a {
117 compatible = "wlf,wm8994";
118 reg = <0x1a>;
119
120 #sound-dai-cells = <0>;
121
122 gpio-controller;
123 #gpio-cells = <2>;
124
125 clocks = <&clocks MOUT_CLKOUT>;
126 clock-names = "MCLK1";
127
128 AVDD2-supply = <&buck3_reg>;
129 DBVDD-supply = <&buck3_reg>;
130 CPVDD-supply = <&buck3_reg>;
131 SPKVDD1-supply = <&buck3_reg>;
132 SPKVDD2-supply = <&buck3_reg>;
133
134 wlf,gpio-cfg = <0xa101 0x8100 0x0100 0x0100 0x8100
135 0xa101 0x0100 0x8100 0x0100 0x0100
136 0x0100>;
137
138 wlf,ldo1ena-gpios = <&gpf3 4 GPIO_ACTIVE_HIGH>;
139 wlf,ldo2ena-gpios = <&gpf3 4 GPIO_ACTIVE_HIGH>;
140
141 wlf,lineout1-se;
142 wlf,lineout2-se;
143
144 assigned-clocks = <&clocks MOUT_CLKOUT>;
145 assigned-clock-rates = <0>;
146 assigned-clock-parents = <&xusbxti>;
147
148 pinctrl-names = "default";
149 pinctrl-0 = <&codec_ldo>;
150 };
151 };
152
153 i2c_accel: i2c-gpio-1 {
154 compatible = "i2c-gpio";
155 sda-gpios = <&gpj3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
156 scl-gpios = <&gpj3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
157 i2c-gpio,delay-us = <2>;
158 #address-cells = <1>;
159 #size-cells = <0>;
160
161 pinctrl-names = "default";
162 pinctrl-0 = <&accel_i2c_pins>;
163
164 accelerometer@38 {
165 compatible = "bosch,bma023";
166 reg = <0x38>;
167
168 vdd-supply = <&ldo9_reg>;
169 vddio-supply = <&ldo9_reg>;
170 };
171 };
172
173 i2c_pmic: i2c-gpio-2 {
174 compatible = "i2c-gpio";
175 sda-gpios = <&gpj4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
176 scl-gpios = <&gpj4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
177 i2c-gpio,delay-us = <2>;
178 #address-cells = <1>;
179 #size-cells = <0>;
180
181 pinctrl-names = "default";
182 pinctrl-0 = <&pmic_i2c_pins>;
183
184 pmic@66 {
185 compatible = "maxim,max8998";
186 reg = <0x66>;
187 interrupt-parent = <&gph0>;
188 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
189
190 max8998,pmic-buck1-default-dvs-idx = <1>;
191 max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
192 <&gph0 4 GPIO_ACTIVE_HIGH>;
193 max8998,pmic-buck1-dvs-voltage = <1275000>, <1200000>,
194 <1050000>, <950000>;
195
196 max8998,pmic-buck2-default-dvs-idx = <0>;
197 max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
198 max8998,pmic-buck2-dvs-voltage = <1100000>, <1000000>;
199
200 pinctrl-names = "default";
201 pinctrl-0 = <&pmic_dvs_pins &pmic_irq>;
202
203 regulators {
204 ldo2_reg: LDO2 {
205 regulator-name = "VALIVE_1.2V";
206 regulator-min-microvolt = <1200000>;
207 regulator-max-microvolt = <1200000>;
208 regulator-always-on;
209
210 regulator-state-mem {
211 regulator-on-in-suspend;
212 };
213 };
214
215 ldo3_reg: LDO3 {
216 regulator-name = "VUSB_1.1V";
217 regulator-min-microvolt = <1100000>;
218 regulator-max-microvolt = <1100000>;
219
220 regulator-state-mem {
221 regulator-off-in-suspend;
222 };
223 };
224
225 ldo4_reg: LDO4 {
226 regulator-name = "VADC_3.3V";
227 regulator-min-microvolt = <3300000>;
228 regulator-max-microvolt = <3300000>;
229
230 regulator-state-mem {
231 regulator-off-in-suspend;
232 };
233 };
234
235 ldo5_reg: LDO5 {
236 regulator-name = "VTF_2.8V";
237 regulator-min-microvolt = <2800000>;
238 regulator-max-microvolt = <2800000>;
239
240 regulator-state-mem {
241 regulator-off-in-suspend;
242 };
243 };
244
245 ldo6_reg: LDO6 {
246 regulator-name = "LDO6";
247 regulator-min-microvolt = <1600000>;
248 regulator-max-microvolt = <3600000>;
249 };
250
251 ldo7_reg: LDO7 {
252 regulator-name = "VLCD_1.8V";
253 regulator-min-microvolt = <1800000>;
254 regulator-max-microvolt = <1800000>;
255
256 regulator-state-mem {
257 regulator-off-in-suspend;
258 };
259 };
260
261 ldo8_reg: LDO8 {
262 regulator-name = "VUSB_3.3V";
263 regulator-min-microvolt = <3300000>;
264 regulator-max-microvolt = <3300000>;
265
266 regulator-state-mem {
267 regulator-off-in-suspend;
268 };
269 };
270
271 ldo9_reg: LDO9 {
272 regulator-name = "VCC_2.8V_PDA";
273 regulator-min-microvolt = <2800000>;
274 regulator-max-microvolt = <2800000>;
275 regulator-always-on;
276 };
277
278 ldo10_reg: LDO10 {
279 regulator-name = "VPLL_1.2V";
280 regulator-min-microvolt = <1200000>;
281 regulator-max-microvolt = <1200000>;
282 regulator-always-on;
283
284 regulator-state-mem {
285 regulator-on-in-suspend;
286 };
287 };
288
289 ldo11_reg: LDO11 {
290 regulator-name = "CAM_AF_3.0V";
291 regulator-min-microvolt = <3000000>;
292 regulator-max-microvolt = <3000000>;
293
294 regulator-state-mem {
295 regulator-off-in-suspend;
296 };
297 };
298
299 ldo12_reg: LDO12 {
300 regulator-name = "CAM_SENSOR_CORE_1.2V";
301 regulator-min-microvolt = <1200000>;
302 regulator-max-microvolt = <1200000>;
303
304 regulator-state-mem {
305 regulator-off-in-suspend;
306 };
307 };
308
309 ldo13_reg: LDO13 {
310 regulator-name = "VGA_VDDIO_2.8V";
311 regulator-min-microvolt = <2800000>;
312 regulator-max-microvolt = <2800000>;
313
314 regulator-state-mem {
315 regulator-off-in-suspend;
316 };
317 };
318
319 ldo14_reg: LDO14 {
320 regulator-name = "VGA_DVDD_1.8V";
321 regulator-min-microvolt = <1800000>;
322 regulator-max-microvolt = <1800000>;
323
324 regulator-state-mem {
325 regulator-off-in-suspend;
326 };
327 };
328
329 ldo15_reg: LDO15 {
330 regulator-name = "CAM_ISP_HOST_2.8V";
331 regulator-min-microvolt = <2800000>;
332 regulator-max-microvolt = <2800000>;
333
334 regulator-state-mem {
335 regulator-off-in-suspend;
336 };
337 };
338
339 ldo16_reg: LDO16 {
340 regulator-name = "VGA_AVDD_2.8V";
341 regulator-min-microvolt = <2800000>;
342 regulator-max-microvolt = <2800000>;
343
344 regulator-state-mem {
345 regulator-off-in-suspend;
346 };
347 };
348
349 ldo17_reg: LDO17 {
350 regulator-name = "VCC_3.0V_LCD";
351 regulator-min-microvolt = <3000000>;
352 regulator-max-microvolt = <3000000>;
353
354 regulator-state-mem {
355 regulator-off-in-suspend;
356 };
357 };
358
359 buck1_reg: BUCK1 {
360 regulator-name = "vddarm";
361 regulator-min-microvolt = <750000>;
362 regulator-max-microvolt = <1500000>;
363
364 regulator-state-mem {
365 regulator-off-in-suspend;
366 regulator-suspend-microvolt = <1250000>;
367 };
368 };
369
370 buck2_reg: BUCK2 {
371 regulator-name = "vddint";
372 regulator-min-microvolt = <750000>;
373 regulator-max-microvolt = <1500000>;
374
375 regulator-state-mem {
376 regulator-off-in-suspend;
377 regulator-suspend-microvolt = <1100000>;
378 };
379 };
380
381 buck3_reg: BUCK3 {
382 regulator-name = "VCC_1.8V";
383 regulator-min-microvolt = <1800000>;
384 regulator-max-microvolt = <1800000>;
385 regulator-always-on;
386 };
387
388 buck4_reg: BUCK4 {
389 regulator-name = "CAM_ISP_CORE_1.2V";
390 regulator-min-microvolt = <1200000>;
391 regulator-max-microvolt = <1200000>;
392
393 regulator-state-mem {
394 regulator-off-in-suspend;
395 };
396 };
397
398 ap32khz_reg: EN32KHz-AP {
399 regulator-name = "32KHz AP";
400 regulator-always-on;
401 };
402
403 cp32khz_reg: EN32KHz-CP {
404 regulator-name = "32KHz CP";
405 };
406
407 vichg_reg: ENVICHG {
408 regulator-name = "VICHG";
409 regulator-always-on;
410 };
411
412 safe1_sreg: ESAFEOUT1 {
413 regulator-name = "SAFEOUT1";
414 };
415
416 safe2_sreg: ESAFEOUT2 {
417 regulator-name = "SAFEOUT2";
418 };
419 };
420 };
421 };
422
423 i2c_musb: i2c-gpio-3 {
424 compatible = "i2c-gpio";
425 sda-gpios = <&gpj3 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
426 scl-gpios = <&gpj3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
427 i2c-gpio,delay-us = <2>;
428 #address-cells = <1>;
429 #size-cells = <0>;
430
431 pinctrl-names = "default";
432 pinctrl-0 = <&musb_i2c_pins>;
433
434 fsa9480: musb@25 {
435 compatible = "fcs,fsa9480";
436 reg = <0x25>;
437 interrupt-parent = <&gph2>;
438 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
439
440 pinctrl-names = "default";
441 pinctrl-0 = <&musb_irq>;
442 };
443 };
444
445 i2c_fuel: i2c-gpio-4 {
446 compatible = "i2c-gpio";
447 sda-gpios = <&mp05 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
448 scl-gpios = <&mp05 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
449 i2c-gpio,delay-us = <2>;
450 #address-cells = <1>;
451 #size-cells = <0>;
452
453 pinctrl-names = "default";
454 pinctrl-0 = <&fg_i2c_pins>;
455
456 fg: fuelgauge@36 {
457 compatible = "maxim,max17040";
458 reg = <0x36>;
459 };
460 };
461
462 i2c_touchkey: i2c-gpio-5 {
463 compatible = "i2c-gpio";
464 sda-gpios = <&gpj3 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
465 scl-gpios = <&gpj3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
466 i2c-gpio,delay-us = <2>;
467 #address-cells = <1>;
468 #size-cells = <0>;
469
470 pinctrl-names = "default";
471 pinctrl-0 = <&touchkey_i2c_pins>;
472
473 touchkey@20 {
474 compatible = "cypress,aries-touchkey";
475 reg = <0x20>;
476 vdd-supply = <&touchkey_vdd>;
477 vcc-supply = <&buck3_reg>;
478 linux,keycodes = <KEY_MENU KEY_BACK
479 KEY_HOMEPAGE KEY_SEARCH>;
480 interrupt-parent = <&gpj4>;
481 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
482
483 pinctrl-names = "default";
484 pinctrl-0 = <&touchkey_irq>;
485 };
486 };
487
488 i2c_prox: i2c-gpio-6 {
489 compatible = "i2c-gpio";
490 sda-gpios = <&gpg2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
491 scl-gpios = <&gpg0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
492 i2c-gpio,delay-us = <2>;
493 #address-cells = <1>;
494 #size-cells = <0>;
495
496 pinctrl-names = "default";
497 pinctrl-0 = <&prox_i2c_pins>;
498
499 light-sensor@44 {
500 compatible = "sharp,gp2ap002a00f";
501 reg = <0x44>;
502 interrupt-parent = <&gph0>;
503 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
504 vdd-supply = <&gp2a_vled>;
505 vio-supply = <&gp2a_vled>;
506 io-channels = <&gp2a_shunt>;
507 io-channel-names = "alsout";
508 sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
509 sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
510
511 pinctrl-names = "default";
512 pinctrl-0 = <&gp2a_irq>;
513 };
514 };
515
516 i2c_magnetometer: i2c-gpio-7 {
517 compatible = "i2c-gpio";
518 sda-gpios = <&gpj0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
519 scl-gpios = <&gpj0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
520 i2c-gpio,delay-us = <2>;
521 #address-cells = <1>;
522 #size-cells = <0>;
523
524 pinctrl-names = "default";
525 pinctrl-0 = <&magnetometer_i2c_pins>;
526
527 status = "disabled";
528
529 /* Yamaha yas529 magnetometer, no mainline binding */
530 };
531
532 vibrator: pwm-vibrator {
533 compatible = "pwm-vibrator";
534 pwms = <&pwm 1 44642 0>;
535 pwm-names = "enable";
536 vcc-supply = <&vibrator_pwr>;
537 pinctrl-names = "default";
538 pinctrl-0 = <&pwm1_out>;
539 };
540
541 poweroff: syscon-poweroff {
542 compatible = "syscon-poweroff";
543 regmap = <&pmu_syscon>;
544 offset = <0x681c>; /* PS_HOLD_CONTROL */
545 value = <0x5200>;
546 };
547
548 spi_lcd: spi-2 {
549 compatible = "spi-gpio";
550 #address-cells = <1>;
551 #size-cells = <0>;
552
553 sck-gpios = <&mp04 1 GPIO_ACTIVE_HIGH>;
554 mosi-gpios = <&mp04 3 GPIO_ACTIVE_HIGH>;
555 cs-gpios = <&mp01 1 GPIO_ACTIVE_HIGH>;
556 num-chipselects = <1>;
557
558 pinctrl-names = "default";
559 pinctrl-0 = <&lcd_spi_pins>;
560
561 panel@0 {
562 compatible = "samsung,s6e63m0";
563 reg = <0>;
564 reset-gpios = <&mp05 5 GPIO_ACTIVE_LOW>;
565 vdd3-supply = <&ldo7_reg>;
566 vci-supply = <&ldo17_reg>;
567 spi-max-frequency = <1200000>;
568
569 pinctrl-names = "default";
570 pinctrl-0 = <&panel_rst>;
571
572 port {
573 lcd_ep: endpoint {
574 remote-endpoint = <&fimd_ep>;
575 };
576 };
577 };
578 };
579};
580
581&adc {
582 vdd-supply = <&ldo4_reg>;
583
584 status = "okay";
585
586 gp2a_shunt: current-sense-shunt {
587 compatible = "current-sense-shunt";
588 io-channels = <&adc 9>;
589 shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
590 #io-channel-cells = <0>;
591 };
592};
593
594&fimd {
595 pinctrl-names = "default";
596 pinctrl-0 = <&lcd_clk &lcd_data24>;
597 status = "okay";
598
599 samsung,invert-vden;
600 samsung,invert-vclk;
601
602 #address-cells = <1>;
603 #size-cells = <0>;
604
605 port@3 {
606 reg = <3>;
607 fimd_ep: endpoint {
608 remote-endpoint = <&lcd_ep>;
609 };
610 };
611};
612
613&hsotg {
614 vusb_a-supply = <&ldo8_reg>;
615 vusb_d-supply = <&ldo3_reg>;
616 dr_mode = "peripheral";
617 status = "okay";
618};
619
620&i2c2 {
621 samsung,i2c-sda-delay = <100>;
622 samsung,i2c-max-bus-freq = <400000>;
623 samsung,i2c-slave-addr = <0x10>;
624 status = "okay";
625
626 touchscreen@4a {
627 compatible = "atmel,maxtouch";
628 reg = <0x4a>;
629 interrupt-parent = <&gpj0>;
630 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
631 pinctrl-names = "default";
632 pinctrl-0 = <&ts_irq>;
633 reset-gpios = <&gpj1 3 GPIO_ACTIVE_LOW>;
634 };
635};
636
637&i2s0 {
638 dmas = <&pdma0 10>, <&pdma0 9>, <&pdma0 11>;
639 status = "okay";
640};
641
642&mfc {
643 memory-region = <&mfc_left>, <&mfc_right>;
644};
645
646&pinctrl0 {
647 bt_reset: bt-reset-pins {
648 samsung,pins = "gpb-3";
649 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
650 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
651 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
652 };
653
654 wlan_bt_en: wlan-bt-en-pins {
655 samsung,pins = "gpb-5";
656 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
657 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
658 samsung,pin-val = <1>;
659 };
660
661 codec_ldo: codec-ldo-pins {
662 samsung,pins = "gpf3-4";
663 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
664 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
665 };
666
667 prox_i2c_pins: gp2a-i2c-pins {
668 samsung,pins = "gpg0-2", "gpg2-2";
669 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
670 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
671 };
672
673 wlan_gpio_rst: wlan-gpio-rst-pins {
674 samsung,pins = "gpg1-2";
675 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
676 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
677 };
678
679 bt_wake: bt-wake-pins {
680 samsung,pins = "gpg3-4";
681 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
682 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
683 };
684
685 gp2a_irq: gp2a-irq-pins {
686 samsung,pins = "gph0-2";
687 samsung,pin-function = <S5PV210_PIN_FUNC_F>;
688 samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
689 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
690 };
691
692 pmic_dvs_pins: pmic-dvs-pins {
693 samsung,pins = "gph0-3", "gph0-4", "gph0-5";
694 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
695 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
696 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
697 samsung,pin-val = <0>;
698 };
699
700 pmic_irq: pmic-irq-pins {
701 samsung,pins = "gph0-7";
702 samsung,pin-function = <S5PV210_PIN_FUNC_F>;
703 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
704 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
705 };
706
707 wifi_host_wake: wifi-host-wake-pins {
708 samsung,pins = "gph2-4";
709 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
710 samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
711 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
712 };
713
714 bt_host_wake: bt-host-wake-pins {
715 samsung,pins = "gph2-5";
716 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
717 samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
718 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
719 };
720
721 musb_irq: musq-irq-pins {
722 samsung,pins = "gph2-7";
723 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
724 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
725 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
726 };
727
728 tf_detect: tf-detect-pins {
729 samsung,pins = "gph3-4";
730 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
731 samsung,pin-pud = <S5PV210_PIN_PULL_DOWN>;
732 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
733 };
734
735 wifi_wake: wifi-wake-pins {
736 samsung,pins = "gph3-5";
737 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
738 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
739 };
740
741 magnetometer_i2c_pins: yas529-i2c-pins {
742 samsung,pins = "gpj0-0", "gpj0-1";
743 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
744 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
745 };
746
747 ts_irq: ts-irq-pins {
748 samsung,pins = "gpj0-5";
749 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
750 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
751 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
752 };
753
754 vibrator_ena: vibrator-ena-pins {
755 samsung,pins = "gpj1-1";
756 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
757 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
758 };
759
760 gp2a_power: gp2a-power-pins {
761 samsung,pins = "gpj1-4";
762 samsung,pin-function = <S5PV210_PIN_FUNC_OUTPUT>;
763 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
764 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
765 };
766
767 touchkey_i2c_pins: touchkey-i2c-pins {
768 samsung,pins = "gpj3-0", "gpj3-1";
769 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
770 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
771 };
772
773 touchkey_vdd_ena: touchkey-vdd-ena-pins {
774 samsung,pins = "gpj3-2";
775 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
776 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
777 };
778
779 musb_i2c_pins: musb-i2c-pins {
780 samsung,pins = "gpj3-4", "gpj3-5";
781 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
782 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
783 };
784
785 accel_i2c_pins: accel-i2c-pins {
786 samsung,pins = "gpj3-6", "gpj3-7";
787 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
788 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
789 };
790
791 pmic_i2c_pins: pmic-i2c-pins {
792 samsung,pins = "gpj4-0", "gpj4-3";
793 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
794 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
795 };
796
797 touchkey_irq: touchkey-irq-pins {
798 samsung,pins = "gpj4-1";
799 samsung,pin-function = <S5PV210_PIN_FUNC_INPUT>;
800 samsung,pin-pud = <S5PV210_PIN_PULL_UP>;
801 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
802 };
803
804 lcd_spi_pins: spi-lcd-pins {
805 samsung,pins = "mp01-1", "mp04-1", "mp04-3";
806 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
807 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
808 };
809
810 fg_i2c_pins: fg-i2c-pins {
811 samsung,pins = "mp05-0", "mp05-1";
812 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
813 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
814 };
815
816 sound_i2c_pins: sound-i2c-pins {
817 samsung,pins = "mp05-2", "mp05-3";
818 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
819 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
820 };
821
822 panel_rst: panel-rst-pins {
823 samsung,pins = "mp05-5";
824 samsung,pin-pud = <S5PV210_PIN_PULL_NONE>;
825 samsung,pin-drv = <S5PV210_PIN_DRV_LV1>;
826 };
827};
828
829&pwm {
830 samsung,pwm-outputs = <1>;
831};
832
833&rtc {
834 clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
835 clock-names = "rtc", "rtc_src";
836};
837
838&sdhci1 {
839 #address-cells = <1>;
840 #size-cells = <0>;
841
842 bus-width = <4>;
843 max-frequency = <38400000>;
844 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
845 pinctrl-names = "default";
846 cap-sd-highspeed;
847 cap-mmc-highspeed;
848 keep-power-in-suspend;
849
850 mmc-pwrseq = <&wifi_pwrseq>;
851 non-removable;
852 status = "okay";
853
854 assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
855 assigned-clock-rates = <0>, <50000000>;
856 assigned-clock-parents = <&clocks MOUT_MPLL>;
857
858 wlan@1 {
859 reg = <1>;
860 compatible = "brcm,bcm4329-fmac";
861 interrupt-parent = <&gph2>;
862 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
863 interrupt-names = "host-wake";
864 };
865};
866
867&sdhci2 {
868 bus-width = <4>;
869 cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
870 vmmc-supply = <&ldo5_reg>;
871 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
872 pinctrl-names = "default";
873 status = "okay";
874
875 assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
876 assigned-clock-rates = <0>, <50000000>;
877 assigned-clock-parents = <&clocks MOUT_MPLL>;
878};
879
880&uart0 {
881 assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
882 assigned-clock-rates = <0>, <111166667>;
883 assigned-clock-parents = <&clocks MOUT_MPLL>;
884
885 status = "okay";
886
887 bluetooth {
888 compatible = "brcm,bcm4329-bt";
889 max-speed = <3000000>;
890 pinctrl-names = "default";
891 pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
892 &bt_reset &bt_wake>;
893 shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
894 device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
895 interrupt-parent = <&gph2>;
896 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
897 interrupt-names = "host-wakeup";
898 };
899};
900
901&uart1 {
902 status = "okay";
903};
904
905&uart2 {
906 status = "okay";
907};
908
909&usbphy {
910 status = "okay";
911 vbus-supply = <&safe1_sreg>;
912};
913
914&xusbxti {
915 clock-frequency = <24000000>;
916};