GNU Linux-libre 6.1.90-gnu
[releases.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-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 };