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