Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / s5pv210-aries.dtsi
1 // 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 = <&gpf3 4 GPIO_ACTIVE_HIGH>;
139                         wlf,ldo2ena = <&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-cs-high;
568                         spi-max-frequency = <1200000>;
569
570                         pinctrl-names = "default";
571                         pinctrl-0 = <&panel_rst>;
572
573                         port {
574                                 lcd_ep: endpoint {
575                                         remote-endpoint = <&fimd_ep>;
576                                 };
577                         };
578                 };
579         };
580 };
581
582 &adc {
583         vdd-supply = <&ldo4_reg>;
584
585         status = "okay";
586
587         gp2a_shunt: current-sense-shunt {
588                 compatible = "current-sense-shunt";
589                 io-channels = <&adc 9>;
590                 shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
591                 #io-channel-cells = <0>;
592         };
593 };
594
595 &fimd {
596         pinctrl-names = "default";
597         pinctrl-0 = <&lcd_clk &lcd_data24>;
598         status = "okay";
599
600         samsung,invert-vden;
601         samsung,invert-vclk;
602
603         #address-cells = <1>;
604         #size-cells = <0>;
605
606         port@3 {
607                 reg = <3>;
608                 fimd_ep: endpoint {
609                         remote-endpoint = <&lcd_ep>;
610                 };
611         };
612 };
613
614 &hsotg {
615         vusb_a-supply = <&ldo8_reg>;
616         vusb_d-supply = <&ldo3_reg>;
617         dr_mode = "peripheral";
618         status = "okay";
619 };
620
621 &i2c2 {
622         samsung,i2c-sda-delay = <100>;
623         samsung,i2c-max-bus-freq = <400000>;
624         samsung,i2c-slave-addr = <0x10>;
625         status = "okay";
626
627         touchscreen@4a {
628                 compatible = "atmel,maxtouch";
629                 reg = <0x4a>;
630                 interrupt-parent = <&gpj0>;
631                 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
632                 pinctrl-names = "default";
633                 pinctrl-0 = <&ts_irq>;
634                 reset-gpios = <&gpj1 3 GPIO_ACTIVE_LOW>;
635         };
636 };
637
638 &i2s0 {
639         dmas = <&pdma0 9>, <&pdma0 10>, <&pdma0 11>;
640         status = "okay";
641 };
642
643 &mfc {
644         memory-region = <&mfc_left>, <&mfc_right>;
645 };
646
647 &pinctrl0 {
648         bt_reset: bt-reset {
649                 samsung,pins = "gpb-3";
650                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
651                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
652                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
653         };
654
655         wlan_bt_en: wlan-bt-en {
656                 samsung,pins = "gpb-5";
657                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
658                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
659                 samsung,pin-val = <1>;
660         };
661
662         codec_ldo: codec-ldo {
663                 samsung,pins = "gpf3-4";
664                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
665                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
666         };
667
668         prox_i2c_pins: gp2a-i2c-pins {
669                 samsung,pins = "gpg0-2", "gpg2-2";
670                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
671                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
672         };
673
674         wlan_gpio_rst: wlan-gpio-rst {
675                 samsung,pins = "gpg1-2";
676                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
677                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
678         };
679
680         bt_wake: bt-wake {
681                 samsung,pins = "gpg3-4";
682                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
683                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
684         };
685
686         gp2a_irq: gp2a-irq {
687                 samsung,pins = "gph0-2";
688                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
689                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
690                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
691         };
692
693         pmic_dvs_pins: pmic-dvs-pins {
694                 samsung,pins = "gph0-3", "gph0-4", "gph0-5";
695                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
696                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
697                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
698                 samsung,pin-val = <0>;
699         };
700
701         pmic_irq: pmic-irq {
702                 samsung,pins = "gph0-7";
703                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
704                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
705                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
706         };
707
708         wifi_host_wake: wifi-host-wake {
709                 samsung,pins = "gph2-4";
710                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
711                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
712                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
713         };
714
715         bt_host_wake: bt-host-wake {
716                 samsung,pins = "gph2-5";
717                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
718                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
719                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
720         };
721
722         musb_irq: musq-irq {
723                 samsung,pins = "gph2-7";
724                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
725                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
726                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
727         };
728
729         tf_detect: tf-detect {
730                 samsung,pins = "gph3-4";
731                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
732                 samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>;
733                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
734         };
735
736         wifi_wake: wifi-wake {
737                 samsung,pins = "gph3-5";
738                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
739                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
740         };
741
742         magnetometer_i2c_pins: yas529-i2c-pins {
743                 samsung,pins = "gpj0-0", "gpj0-1";
744                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
745                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
746         };
747
748         ts_irq: ts-irq {
749                 samsung,pins = "gpj0-5";
750                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
751                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
752                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
753         };
754
755         vibrator_ena: vibrator-ena {
756                 samsung,pins = "gpj1-1";
757                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
758                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
759         };
760
761         gp2a_power: gp2a-power {
762                 samsung,pins = "gpj1-4";
763                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
764                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
765                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
766         };
767
768         touchkey_i2c_pins: touchkey-i2c-pins {
769                 samsung,pins = "gpj3-0", "gpj3-1";
770                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
771                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
772         };
773
774         touchkey_vdd_ena: touchkey-vdd-ena {
775                 samsung,pins = "gpj3-2";
776                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
777                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
778         };
779
780         musb_i2c_pins: musb-i2c-pins {
781                 samsung,pins = "gpj3-4", "gpj3-5";
782                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
783                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
784         };
785
786         accel_i2c_pins: accel-i2c-pins {
787                 samsung,pins = "gpj3-6", "gpj3-7";
788                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
789                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
790         };
791
792         pmic_i2c_pins: pmic-i2c-pins {
793                 samsung,pins = "gpj4-0", "gpj4-3";
794                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
795                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
796         };
797
798         touchkey_irq: touchkey-irq {
799                 samsung,pins = "gpj4-1";
800                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
801                 samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
802                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
803         };
804
805         lcd_spi_pins: spi-lcd-pins {
806                 samsung,pins = "mp01-1", "mp04-1", "mp04-3";
807                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
808                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
809         };
810
811         fg_i2c_pins: fg-i2c-pins {
812                 samsung,pins = "mp05-0", "mp05-1";
813                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
814                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
815         };
816
817         sound_i2c_pins: sound-i2c-pins {
818                 samsung,pins = "mp05-2", "mp05-3";
819                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
820                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
821         };
822
823         panel_rst: panel-rst {
824                 samsung,pins = "mp05-5";
825                 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
826                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
827         };
828 };
829
830 &pwm {
831         samsung,pwm-outputs = <1>;
832 };
833
834 &rtc {
835         clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
836         clock-names = "rtc", "rtc_src";
837 };
838
839 &sdhci1 {
840         #address-cells = <1>;
841         #size-cells = <0>;
842
843         bus-width = <4>;
844         max-frequency = <38400000>;
845         pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4 &wifi_wake &wifi_host_wake &wlan_bt_en>;
846         pinctrl-names = "default";
847         cap-sd-highspeed;
848         cap-mmc-highspeed;
849         keep-power-in-suspend;
850
851         mmc-pwrseq = <&wifi_pwrseq>;
852         non-removable;
853         status = "okay";
854
855         assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
856         assigned-clock-rates = <0>, <50000000>;
857         assigned-clock-parents = <&clocks MOUT_MPLL>;
858
859         wlan@1 {
860                 reg = <1>;
861                 compatible = "brcm,bcm4329-fmac";
862                 interrupt-parent = <&gph2>;
863                 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
864                 interrupt-names = "host-wake";
865         };
866 };
867
868 &sdhci2 {
869         bus-width = <4>;
870         cd-gpios = <&gph3 4 GPIO_ACTIVE_LOW>;
871         vmmc-supply = <&ldo5_reg>;
872         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
873         pinctrl-names = "default";
874         status = "okay";
875
876         assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
877         assigned-clock-rates = <0>, <50000000>;
878         assigned-clock-parents = <&clocks MOUT_MPLL>;
879 };
880
881 &uart0 {
882         assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
883         assigned-clock-rates = <0>, <111166667>;
884         assigned-clock-parents = <&clocks MOUT_MPLL>;
885
886         status = "okay";
887
888         bluetooth {
889                 compatible = "brcm,bcm4329-bt";
890                 max-speed = <3000000>;
891                 pinctrl-names = "default";
892                 pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
893                              &bt_reset &bt_wake>;
894                 shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
895                 device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
896                 interrupt-parent = <&gph2>;
897                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
898                 interrupt-names = "host-wake";
899         };
900 };
901
902 &uart1 {
903         status = "okay";
904 };
905
906 &uart2 {
907         status = "okay";
908 };
909
910 &usbphy {
911         status = "okay";
912         vbus-supply = <&safe1_sreg>;
913 };
914
915 &xusbxti {
916         clock-frequency = <24000000>;
917 };