Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / arch / arm / boot / dts / exynos4412-p4note.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung's Exynos4412 based p4note device family base DT.
4  * Based on exynos4412-midas.dtsi.
5  *
6  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
7  *              http://www.samsung.com
8  */
9
10 /dts-v1/;
11 #include "exynos4412.dtsi"
12 #include "exynos4412-ppmu-common.dtsi"
13
14 #include <dt-bindings/clock/maxim,max77686.h>
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/input/linux-event-codes.h>
17 #include <dt-bindings/interrupt-controller/irq.h>
18 #include <dt-bindings/pinctrl/samsung.h>
19
20 / {
21         compatible = "samsung,p4note", "samsung,exynos4412", "samsung,exynos4";
22
23         memory@40000000 {
24                 device_type = "memory";
25                 reg = <0x40000000 0x80000000>;
26         };
27
28         chosen {
29                 stdout-path = &serial_2;
30         };
31
32         firmware@204f000 {
33                 compatible = "samsung,secure-firmware";
34                 reg = <0x0204F000 0x1000>;
35         };
36
37         fixed-rate-clocks {
38                 xxti {
39                         compatible = "samsung,clock-xxti";
40                         clock-frequency = <0>;
41                 };
42
43                 xusbxti {
44                         compatible = "samsung,clock-xusbxti";
45                         clock-frequency = <24000000>;
46                 };
47         };
48
49         gpio-keys {
50                 compatible = "gpio-keys";
51                 pinctrl-names = "default";
52                 pinctrl-0 = <&gpio_keys>;
53
54                 key-down {
55                         gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
56                         linux,code = <KEY_VOLUMEDOWN>;
57                         label = "volume down";
58                         debounce-interval = <10>;
59                 };
60
61                 key-up {
62                         gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
63                         linux,code = <KEY_VOLUMEUP>;
64                         label = "volume up";
65                         debounce-interval = <10>;
66                 };
67
68                 key-power {
69                         gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
70                         linux,code = <KEY_POWER>;
71                         label = "power";
72                         debounce-interval = <10>;
73                         wakeup-source;
74                 };
75         };
76
77         voltage-regulator-1 {
78                 compatible = "regulator-fixed";
79                 regulator-name = "TSP_LDO1";
80                 pinctrl-names = "default";
81                 pinctrl-0 = <&tsp_reg_gpio_1>;
82                 gpios = <&gpm4 5 GPIO_ACTIVE_HIGH>;
83                 enable-active-high;
84                 regulator-always-on;
85         };
86
87         voltage-regulator-2 {
88                 compatible = "regulator-fixed";
89                 regulator-name = "TSP_LDO2";
90                 pinctrl-names = "default";
91                 pinctrl-0 = <&tsp_reg_gpio_2>;
92                 gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
93                 enable-active-high;
94                 regulator-always-on;
95         };
96
97         voltage-regulator-3 {
98                 compatible = "regulator-fixed";
99                 regulator-name = "TSP_LDO3";
100                 pinctrl-names = "default";
101                 pinctrl-0 = <&tsp_reg_gpio_3>;
102                 gpios = <&gpb 7 GPIO_ACTIVE_HIGH>;
103                 startup-delay-us = <20000>;
104                 enable-active-high;
105                 regulator-always-on;
106         };
107
108         wlan_pwrseq: sdhci3-pwrseq {
109                 compatible = "mmc-pwrseq-simple";
110                 reset-gpios = <&gpm3 5 GPIO_ACTIVE_LOW>;
111                 pinctrl-0 = <&wifi_reset>;
112                 pinctrl-names = "default";
113                 clocks = <&max77686 MAX77686_CLK_PMIC>;
114                 clock-names = "ext_clock";
115         };
116
117         i2c-gpio-1 {
118                 compatible = "i2c-gpio";
119                 sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
120                 scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
121                 i2c-gpio,delay-us = <2>;
122                 #address-cells = <1>;
123                 #size-cells = <0>;
124
125                 magnetometer@c {
126                         compatible = "asahi-kasei,ak8975";
127                         reg = <0x0c>;
128                         pinctrl-0 = <&ak8975_irq>;
129                         pinctrl-names = "default";
130                         interrupt-parent = <&gpm4>;
131                         interrupts = <7 IRQ_TYPE_EDGE_RISING>;
132                 };
133         };
134
135         i2c-gpio-2 {
136                 compatible = "i2c-gpio";
137                 sda-gpios = <&gpy0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
138                 scl-gpios = <&gpy0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
139                 i2c-gpio,delay-us = <2>;
140                 #address-cells = <1>;
141                 #size-cells = <0>;
142
143                 fuel-gauge@36 {
144                         compatible = "maxim,max17042";
145                         reg = <0x36>;
146                         pinctrl-0 = <&fuel_alert_irq>;
147                         pinctrl-names = "default";
148                         interrupt-parent = <&gpx2>;
149                         interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
150                         maxim,rsns-microohm = <10000>;
151                         maxim,over-heat-temp = <600>;
152                         maxim,over-volt = <4300>;
153                 };
154         };
155
156         i2c-gpio-3 {
157                 compatible = "i2c-gpio";
158                 sda-gpios = <&gpm4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
159                 scl-gpios = <&gpm4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
160                 i2c-gpio,delay-us = <5>;
161                 #address-cells = <1>;
162                 #size-cells = <0>;
163
164                 adc@41 {
165                         compatible = "st,stmpe811";
166                         reg = <0x41>;
167                         pinctrl-0 = <&stmpe_adc_irq>;
168                         pinctrl-names = "default";
169                         interrupt-parent = <&gpx0>;
170                         interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
171                         interrupt-controller;
172                         irq-trigger = <0x1>;
173                         st,adc-freq = <3>;
174                         st,mod-12b = <1>;
175                         st,ref-sel = <0>;
176                         st,sample-time = <3>;
177
178                         stmpe_adc {
179                                 compatible = "st,stmpe-adc";
180                                 #io-channel-cells = <1>;
181                                 st,norequest-mask = <0x2F>;
182                         };
183                 };
184         };
185 };
186
187 &adc {
188         vdd-supply = <&ldo3_reg>;
189         /* not verified */
190         status = "okay";
191 };
192
193 &bus_dmc {
194         devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
195         vdd-supply = <&buck1_reg>;
196         status = "okay";
197 };
198
199 &bus_acp {
200         devfreq = <&bus_dmc>;
201         status = "okay";
202 };
203
204 &bus_c2c {
205         devfreq = <&bus_dmc>;
206         status = "okay";
207 };
208
209 &bus_leftbus {
210         devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
211         vdd-supply = <&buck3_reg>;
212         status = "okay";
213 };
214
215 &bus_rightbus {
216         devfreq = <&bus_leftbus>;
217         status = "okay";
218 };
219
220 &bus_display {
221         devfreq = <&bus_leftbus>;
222         status = "okay";
223 };
224
225 &bus_fsys {
226         devfreq = <&bus_leftbus>;
227         status = "okay";
228 };
229
230 &bus_peri {
231         devfreq = <&bus_leftbus>;
232         status = "okay";
233 };
234
235 &bus_mfc {
236         devfreq = <&bus_leftbus>;
237         status = "okay";
238 };
239
240 &cpu0 {
241         cpu0-supply = <&buck2_reg>;
242 };
243
244 &cpu_thermal {
245         cooling-maps {
246                 map0 {
247                         /* Corresponds to 800MHz at freq_table */
248                         cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
249                                          <&cpu2 7 7>, <&cpu3 7 7>;
250                 };
251                 map1 {
252                         /* Corresponds to 200MHz at freq_table */
253                         cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
254                                          <&cpu2 13 13>, <&cpu3 13 13>;
255                 };
256         };
257 };
258
259 &exynos_usbphy {
260         status = "okay";
261 };
262
263 &fimd {
264         pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
265         pinctrl-names = "default";
266         status = "okay";
267
268         display-timings {
269                 timing0 {
270                         clock-frequency = <66666666>;
271                         hactive = <1280>;
272                         vactive = <800>;
273                         hfront-porch = <18>;
274                         hback-porch = <36>;
275                         hsync-len = <16>;
276                         vback-porch = <16>;
277                         vfront-porch = <4>;
278                         vsync-len = <3>;
279                         hsync-active = <1>;
280                 };
281         };
282 };
283
284 &gpu {
285         mali-supply = <&buck4_reg>;
286         status = "okay";
287 };
288
289 &hsotg {
290         vusb_a-supply = <&ldo12_reg>;
291         dr_mode = "peripheral";
292         status = "okay";
293 };
294
295 &i2c_3 {
296         samsung,i2c-sda-delay = <100>;
297         samsung,i2c-slave-addr = <0x10>;
298         samsung,i2c-max-bus-freq = <400000>;
299         pinctrl-0 = <&i2c3_bus>;
300         pinctrl-names = "default";
301         status = "okay";
302
303         touchscreen@4a {
304                 compatible = "atmel,maxtouch";
305                 reg = <0x4a>;
306                 pinctrl-0 = <&tsp_rst &tsp_irq>;
307                 pinctrl-names = "default";
308                 interrupt-parent = <&gpm2>;
309                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
310                 reset-gpios = <&gpm0 4 GPIO_ACTIVE_LOW>;
311         };
312 };
313
314 &i2c_7 {
315         samsung,i2c-sda-delay = <100>;
316         samsung,i2c-slave-addr = <0x10>;
317         samsung,i2c-max-bus-freq = <400000>;
318         pinctrl-0 = <&i2c7_bus>;
319         pinctrl-names = "default";
320         status = "okay";
321
322         max77686: pmic@9 {
323                 compatible = "maxim,max77686";
324                 interrupt-parent = <&gpx0>;
325                 interrupts = <7 IRQ_TYPE_NONE>;
326                 pinctrl-0 = <&max77686_irq>;
327                 pinctrl-names = "default";
328                 reg = <0x09>;
329                 #clock-cells = <1>;
330
331                 voltage-regulators {
332                         ldo1_reg: LDO1 {
333                                 regulator-name = "ldo1";
334                                 regulator-always-on;
335                         };
336
337                         ldo2_reg: LDO2 {
338                                 regulator-name = "ldo2";
339                                 regulator-always-on;
340                         };
341
342                         /* WM8994 audio */
343                         ldo3_reg: LDO3 {
344                                 regulator-name = "VCC_1.8V_AP";
345                                 regulator-min-microvolt = <1800000>;
346                                 regulator-max-microvolt = <1800000>;
347                                 regulator-always-on;
348                                 regulator-boot-on;
349
350                                 regulator-state-mem {
351                                         regulator-on-in-suspend;
352                                 };
353                         };
354
355                         ldo4_reg: LDO4 {
356                                 regulator-name = "ldo4";
357                                 regulator-always-on;
358                         };
359
360                         ldo5_reg: LDO5 {
361                                 regulator-name = "VCC_1.8V_IO";
362                                 regulator-min-microvolt = <1800000>;
363                                 regulator-max-microvolt = <1800000>;
364
365                                 regulator-state-mem {
366                                         regulator-off-in-suspend;
367                                 };
368                         };
369
370                         ldo6_reg: LDO6 {
371                                 regulator-name = "ldo6";
372                                 regulator-always-on;
373                         };
374
375                         ldo7_reg: LDO7 {
376                                 regulator-name = "ldo7";
377                                 regulator-always-on;
378                         };
379
380                         /* CSI IP block */
381                         ldo8_reg: LDO8 {
382                                 regulator-name = "VMIPI_1.0V";
383                                 regulator-min-microvolt = <1000000>;
384                                 regulator-max-microvolt = <1000000>;
385                                 regulator-always-on;
386                                 regulator-boot-on;
387
388                                 regulator-state-mem {
389                                         regulator-on-in-suspend;
390                                 };
391                         };
392
393                         /* IR LED on/off */
394                         ldo9_reg: LDO9 {
395                                 regulator-name = "VLED_IC_1.9V";
396                                 regulator-min-microvolt = <1950000>;
397                                 regulator-max-microvolt = <1950000>;
398
399                                 regulator-state-mem {
400                                         regulator-off-in-suspend;
401                                 };
402                         };
403
404                         /* CSI IP block */
405                         ldo10_reg: LDO10 {
406                                 regulator-name = "VMIPI_1.8V";
407                                 regulator-min-microvolt = <1800000>;
408                                 regulator-max-microvolt = <1800000>;
409                                 regulator-always-on;
410                                 regulator-boot-on;
411
412                                 regulator-state-mem {
413                                         regulator-on-in-suspend;
414                                 };
415                         };
416
417                         ldo11_reg: LDO11 {
418                                 regulator-name = "VABB1_1.9V";
419                                 regulator-min-microvolt = <1950000>;
420                                 regulator-max-microvolt = <1950000>;
421                                 regulator-always-on;
422                                 regulator-boot-on;
423
424                                 regulator-state-mem {
425                                         regulator-off-in-suspend;
426                                 };
427                         };
428
429                         /* USB OTG */
430                         ldo12_reg: LDO12 {
431                                 regulator-name = "VUOTG_3.0V";
432                                 regulator-min-microvolt = <3000000>;
433                                 regulator-max-microvolt = <3000000>;
434                                 regulator-always-on;
435                                 regulator-boot-on;
436
437                                 regulator-state-mem {
438                                         regulator-on-in-suspend;
439                                 };
440                         };
441
442                         /* not connected */
443                         ldo13_reg: LDO13 {
444                                 regulator-name = "ldo13";
445                         };
446
447                         ldo14_reg: LDO14 {
448                                 regulator-name = "VABB2_1.9V";
449                                 regulator-min-microvolt = <1950000>;
450                                 regulator-max-microvolt = <1950000>;
451                                 regulator-always-on;
452                                 regulator-boot-on;
453
454                                 regulator-state-mem {
455                                         regulator-off-in-suspend;
456                                 };
457                         };
458
459                         ldo15_reg: LDO15 {
460                                 regulator-name = "ldo15";
461                                 regulator-always-on;
462                         };
463
464                         ldo16_reg: LDO16 {
465                                 regulator-name = "ldo16";
466                                 regulator-always-on;
467                         };
468
469                         /* not connected */
470                         ldo17_reg: LDO17 {
471                                 regulator-name = "ldo17";
472                         };
473
474                         /* Camera ISX012 */
475                         ldo18_reg: LDO18 {
476                                 regulator-name = "CAM_IO_1.8V";
477                                 regulator-min-microvolt = <1800000>;
478                                 regulator-max-microvolt = <1800000>;
479
480                                 regulator-state-mem {
481                                         regulator-off-in-suspend;
482                                 };
483                         };
484
485                         /* Camera S5K6A3 */
486                         ldo19_reg: LDO19 {
487                                 regulator-name = "VT_CORE_1.8V";
488                                 regulator-min-microvolt = <1800000>;
489                                 regulator-max-microvolt = <1800000>;
490
491                                 regulator-state-mem {
492                                         regulator-off-in-suspend;
493                                 };
494                         };
495
496                         /* not connected */
497                         ldo20_reg: LDO20 {
498                                 regulator-name = "ldo20";
499                         };
500
501                         /* MMC2 */
502                         ldo21_reg: LDO21 {
503                                 regulator-name = "VTF_2.8V";
504                                 regulator-min-microvolt = <2800000>;
505                                 regulator-max-microvolt = <2800000>;
506                                 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
507                         };
508
509                         /* not connected */
510                         ldo22_reg: LDO22 {
511                                 regulator-name = "ldo22";
512                         };
513
514                         /* ADC */
515                         ldo23_reg: LDO23 {
516                                 regulator-name = "VDD_ADC_3.3V";
517                                 regulator-min-microvolt = <3300000>;
518                                 regulator-max-microvolt = <3300000>;
519                                 regulator-always-on;
520                                 regulator-boot-on;
521
522                                 regulator-state-mem {
523                                         regulator-off-in-suspend;
524                                 };
525                         };
526
527                         /* Camera S5K6A3 */
528                         ldo24_reg: LDO24 {
529                                 regulator-name = "CAM_A2.8V";
530                                 regulator-min-microvolt = <2800000>;
531                                 regulator-max-microvolt = <2800000>;
532
533                                 regulator-state-mem {
534                                         regulator-off-in-suspend;
535                                 };
536                         };
537
538                         ldo25_reg: LDO25 {
539                                 regulator-name = "VLED_3.3V";
540                                 regulator-min-microvolt = <3300000>;
541                                 regulator-max-microvolt = <3300000>;
542
543                                 regulator-state-mem {
544                                         regulator-off-in-suspend;
545                                 };
546                         };
547
548                         /* Camera ISX012 */
549                         ldo26_reg: LDO26 {
550                                 regulator-name = "3MP_AF_2.8V";
551                                 regulator-min-microvolt = <2800000>;
552                                 regulator-max-microvolt = <2800000>;
553
554                                 regulator-state-mem {
555                                         regulator-off-in-suspend;
556                                 };
557                         };
558
559                         buck1_reg: BUCK1 {
560                                 regulator-name = "VDD_MIF";
561                                 regulator-min-microvolt = <850000>;
562                                 regulator-max-microvolt = <1050000>;
563                                 regulator-always-on;
564                                 regulator-boot-on;
565                         };
566
567                         buck2_reg: BUCK2 {
568                                 regulator-name = "VDD_ARM";
569                                 regulator-min-microvolt = <850000>;
570                                 regulator-max-microvolt = <1500000>;
571                                 regulator-always-on;
572                                 regulator-boot-on;
573                         };
574
575                         buck3_reg: BUCK3 {
576                                 regulator-name = "VDD_INT";
577                                 regulator-min-microvolt = <850000>;
578                                 regulator-max-microvolt = <1100000>;
579                                 regulator-always-on;
580                                 regulator-boot-on;
581                         };
582
583                         buck4_reg: BUCK4 {
584                                 regulator-name = "VDD_G3D";
585                                 regulator-min-microvolt = <850000>;
586                                 regulator-max-microvolt = <1075000>;
587                                 regulator-boot-on;
588                         };
589
590                         buck5_reg: BUCK5 {
591                                 regulator-name = "buck5";
592                                 regulator-always-on;
593                         };
594
595                         buck6_reg: BUCK6 {
596                                 regulator-name = "buck6";
597                                 regulator-always-on;
598                         };
599
600                         buck7_reg: BUCK7 {
601                                 regulator-name = "buck7";
602                                 regulator-always-on;
603                         };
604
605                         /* not connected */
606                         buck8_reg: BUCK8 {
607                                 regulator-name = "buck8";
608                         };
609
610                         buck9_reg: BUCK9 {
611                                 regulator-name = "3MP_CORE_1.2V";
612                                 regulator-min-microvolt = <1200000>;
613                                 regulator-max-microvolt = <1200000>;
614
615                                 regulator-state-mem {
616                                         regulator-off-in-suspend;
617                                 };
618                         };
619                 };
620         };
621 };
622
623 &mshc_0 {
624         broken-cd;
625         non-removable;
626         card-detect-delay = <200>;
627         clock-frequency = <400000000>;
628         samsung,dw-mshc-ciu-div = <0>;
629         samsung,dw-mshc-sdr-timing = <2 3>;
630         samsung,dw-mshc-ddr-timing = <1 2>;
631         pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
632         pinctrl-names = "default";
633         bus-width = <4>;
634         cap-mmc-highspeed;
635         cap-sd-highspeed;
636         status = "okay";
637 };
638
639 &pinctrl_0 {
640         pinctrl-names = "default";
641         pinctrl-0 = <&sleep0>;
642
643         tsp_reg_gpio_2: tsp-reg-gpio-2 {
644                 samsung,pins = "gpb-5";
645                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
646                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
647         };
648
649         tsp_reg_gpio_3: tsp-reg-gpio-3 {
650                 samsung,pins = "gpb-7";
651                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
652                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
653         };
654
655         sleep0: sleep-states {
656                 PIN_SLP(gpa0-0, INPUT, NONE);
657                 PIN_SLP(gpa0-1, OUT0, NONE);
658                 PIN_SLP(gpa0-2, INPUT, NONE);
659                 PIN_SLP(gpa0-3, INPUT, UP);
660                 PIN_SLP(gpa0-4, INPUT, NONE);
661                 PIN_SLP(gpa0-5, INPUT, DOWN);
662                 PIN_SLP(gpa0-6, INPUT, DOWN);
663                 PIN_SLP(gpa0-7, INPUT, UP);
664
665                 PIN_SLP(gpa1-0, INPUT, DOWN);
666                 PIN_SLP(gpa1-1, INPUT, DOWN);
667                 PIN_SLP(gpa1-2, INPUT, DOWN);
668                 PIN_SLP(gpa1-3, INPUT, DOWN);
669                 PIN_SLP(gpa1-4, INPUT, DOWN);
670                 PIN_SLP(gpa1-5, INPUT, DOWN);
671
672                 PIN_SLP(gpb-0, INPUT, NONE);
673                 PIN_SLP(gpb-1, INPUT, NONE);
674                 PIN_SLP(gpb-2, INPUT, NONE);
675                 PIN_SLP(gpb-3, INPUT, NONE);
676                 PIN_SLP(gpb-4, INPUT, DOWN);
677                 PIN_SLP(gpb-5, INPUT, DOWN);
678                 PIN_SLP(gpb-6, INPUT, DOWN);
679                 PIN_SLP(gpb-7, INPUT, DOWN);
680
681                 PIN_SLP(gpc0-0, INPUT, DOWN);
682                 PIN_SLP(gpc0-1, INPUT, DOWN);
683                 PIN_SLP(gpc0-2, INPUT, DOWN);
684                 PIN_SLP(gpc0-3, INPUT, DOWN);
685                 PIN_SLP(gpc0-4, INPUT, DOWN);
686
687                 PIN_SLP(gpc1-0, INPUT, UP);
688                 PIN_SLP(gpc1-1, PREV, NONE);
689                 PIN_SLP(gpc1-2, INPUT, UP);
690                 PIN_SLP(gpc1-3, INPUT, UP);
691                 PIN_SLP(gpc1-4, INPUT, UP);
692
693                 PIN_SLP(gpd0-0, INPUT, DOWN);
694                 PIN_SLP(gpd0-1, OUT0, NONE);
695                 PIN_SLP(gpd0-2, INPUT, NONE);
696                 PIN_SLP(gpd0-3, INPUT, NONE);
697
698                 PIN_SLP(gpd1-0, INPUT, DOWN);
699                 PIN_SLP(gpd1-1, INPUT, DOWN);
700                 PIN_SLP(gpd1-2, INPUT, NONE);
701                 PIN_SLP(gpd1-3, INPUT, NONE);
702
703                 PIN_SLP(gpf0-0, OUT0, NONE);
704                 PIN_SLP(gpf0-1, OUT0, NONE);
705                 PIN_SLP(gpf0-2, OUT0, NONE);
706                 PIN_SLP(gpf0-3, OUT0, NONE);
707                 PIN_SLP(gpf0-4, OUT0, NONE);
708                 PIN_SLP(gpf0-5, OUT0, NONE);
709                 PIN_SLP(gpf0-6, OUT0, NONE);
710                 PIN_SLP(gpf0-7, OUT0, NONE);
711
712                 PIN_SLP(gpf1-0, OUT0, NONE);
713                 PIN_SLP(gpf1-1, OUT0, NONE);
714                 PIN_SLP(gpf1-2, OUT0, NONE);
715                 PIN_SLP(gpf1-3, OUT0, NONE);
716                 PIN_SLP(gpf1-4, OUT0, NONE);
717                 PIN_SLP(gpf1-5, OUT0, NONE);
718                 PIN_SLP(gpf1-6, OUT0, NONE);
719                 PIN_SLP(gpf1-7, OUT0, NONE);
720
721                 PIN_SLP(gpf2-0, OUT0, NONE);
722                 PIN_SLP(gpf2-1, OUT0, NONE);
723                 PIN_SLP(gpf2-2, OUT0, NONE);
724                 PIN_SLP(gpf2-3, OUT0, NONE);
725                 PIN_SLP(gpf2-4, OUT0, NONE);
726                 PIN_SLP(gpf2-5, OUT0, NONE);
727                 PIN_SLP(gpf2-6, OUT0, NONE);
728                 PIN_SLP(gpf2-7, OUT0, NONE);
729
730                 PIN_SLP(gpf3-0, OUT0, NONE);
731                 PIN_SLP(gpf3-1, OUT0, NONE);
732                 PIN_SLP(gpf3-2, OUT0, NONE);
733                 PIN_SLP(gpf3-3, OUT0, NONE);
734                 PIN_SLP(gpf3-4, OUT0, NONE);
735                 PIN_SLP(gpf3-5, OUT0, NONE);
736
737                 PIN_SLP(gpj0-0, INPUT, DOWN);
738                 PIN_SLP(gpj0-1, INPUT, DOWN);
739                 PIN_SLP(gpj0-2, INPUT, DOWN);
740                 PIN_SLP(gpj0-3, PREV, NONE);
741                 PIN_SLP(gpj0-4, PREV, NONE);
742                 PIN_SLP(gpj0-5, OUT0, NONE);
743                 PIN_SLP(gpj0-6, OUT0, NONE);
744                 PIN_SLP(gpj0-7, OUT0, NONE);
745
746                 PIN_SLP(gpj1-0, OUT0, NONE);
747                 PIN_SLP(gpj1-1, INPUT, DOWN);
748                 PIN_SLP(gpj1-2, PREV, NONE);
749                 PIN_SLP(gpj1-3, OUT0, NONE);
750         };
751 };
752
753 &pinctrl_1 {
754         pinctrl-names = "default";
755         pinctrl-0 = <&sleep1>;
756
757         sd3_wifi: sd3-wifi {
758                 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
759                 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
760                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
761         };
762
763         bt_shutdown: bt-shutdown {
764                 samsung,pins = "gpl0-6";
765                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
766                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
767         };
768
769         uart_sel: uart-sel {
770                 samsung,pins = "gpl2-7";
771                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
772                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
773                 samsung,pin-val = <1>;
774                 /* 0 = CP, 1 = AP (serial output) */
775         };
776
777         tsp_rst: tsp-rst {
778                 samsung,pins = "gpm0-4";
779                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
780                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
781         };
782
783         tsp_irq: tsp-irq {
784                 samsung,pins = "gpm2-3";
785                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
786                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
787         };
788
789         wifi_reset: wifi-reset {
790                 samsung,pins = "gpm3-5";
791                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
792                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
793         };
794
795         tsp_reg_gpio_1: tsp-reg-gpio-1 {
796                 samsung,pins = "gpm4-5";
797                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
798                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
799         };
800
801         ak8975_irq: ak8975-irq {
802                 samsung,pins = "gpm4-7";
803                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
804                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
805         };
806
807         stmpe_adc_irq: stmpe-adc-irq {
808                 samsung,pins = "gpx0-1";
809                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
810                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
811         };
812
813         max77686_irq: max77686-irq {
814                 samsung,pins = "gpx0-7";
815                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
816         };
817
818         gpio_keys: gpio-keys {
819                 samsung,pins = "gpx2-2", "gpx2-7", "gpx3-3";
820                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
821         };
822
823         fuel_alert_irq: fuel-alert-irq {
824                 samsung,pins = "gpx2-3";
825                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
826                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
827         };
828
829         wifi_host_wake: wifi-host-wake {
830                 samsung,pins = "gpx2-5";
831                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
832                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
833         };
834
835         bt_host_wakeup: bt-host-wakeup {
836                 samsung,pins = "gpx2-6";
837                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
838                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
839         };
840
841         bt_device_wakeup: bt-device-wakeup {
842                 samsung,pins = "gpx3-1";
843                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
844                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
845         };
846
847         sdhci2_cd: sdhci2-cd {
848                 samsung,pins = "gpx3-4";
849                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
850         };
851
852         sleep1: sleep-states {
853                 PIN_SLP(gpk0-0, PREV, NONE);
854                 PIN_SLP(gpk0-1, PREV, NONE);
855                 PIN_SLP(gpk0-2, PREV, NONE);
856                 PIN_SLP(gpk0-3, PREV, NONE);
857                 PIN_SLP(gpk0-4, PREV, NONE);
858                 PIN_SLP(gpk0-5, PREV, NONE);
859                 PIN_SLP(gpk0-6, PREV, NONE);
860
861                 PIN_SLP(gpk1-0, INPUT, DOWN);
862                 PIN_SLP(gpk1-1, INPUT, DOWN);
863                 PIN_SLP(gpk1-2, INPUT, DOWN);
864                 PIN_SLP(gpk1-3, PREV, NONE);
865                 PIN_SLP(gpk1-4, PREV, NONE);
866                 PIN_SLP(gpk1-5, PREV, NONE);
867                 PIN_SLP(gpk1-6, PREV, NONE);
868
869                 PIN_SLP(gpk2-0, INPUT, DOWN);
870                 PIN_SLP(gpk2-1, INPUT, DOWN);
871                 PIN_SLP(gpk2-2, INPUT, DOWN);
872                 PIN_SLP(gpk2-3, INPUT, DOWN);
873                 PIN_SLP(gpk2-4, INPUT, DOWN);
874                 PIN_SLP(gpk2-5, INPUT, DOWN);
875                 PIN_SLP(gpk2-6, INPUT, DOWN);
876
877                 PIN_SLP(gpk3-0, OUT0, NONE);
878                 PIN_SLP(gpk3-1, INPUT, NONE);
879                 PIN_SLP(gpk3-2, INPUT, DOWN);
880                 PIN_SLP(gpk3-3, INPUT, NONE);
881                 PIN_SLP(gpk3-4, INPUT, NONE);
882                 PIN_SLP(gpk3-5, INPUT, NONE);
883                 PIN_SLP(gpk3-6, INPUT, NONE);
884
885                 PIN_SLP(gpl0-0, OUT0, NONE);
886                 PIN_SLP(gpl0-1, INPUT, NONE);
887                 PIN_SLP(gpl0-2, INPUT, NONE);
888                 PIN_SLP(gpl0-3, INPUT, DOWN);
889                 PIN_SLP(gpl0-4, PREV, NONE);
890                 PIN_SLP(gpl0-6, PREV, NONE);
891
892                 PIN_SLP(gpl1-0, OUT0, NONE);
893                 PIN_SLP(gpl1-1, OUT0, NONE);
894
895                 PIN_SLP(gpl2-0, INPUT, DOWN);
896                 PIN_SLP(gpl2-1, INPUT, DOWN);
897                 PIN_SLP(gpl2-2, INPUT, DOWN);
898                 PIN_SLP(gpl2-3, INPUT, DOWN);
899                 PIN_SLP(gpl2-4, OUT0, NONE);
900                 PIN_SLP(gpl2-5, INPUT, DOWN);
901                 PIN_SLP(gpl2-6, PREV, NONE);
902                 PIN_SLP(gpl2-7, PREV, NONE);
903
904                 PIN_SLP(gpm0-0, PREV, NONE);
905                 PIN_SLP(gpm0-1, OUT0, NONE);
906                 PIN_SLP(gpm0-2, INPUT, DOWN);
907                 PIN_SLP(gpm0-3, INPUT, NONE);
908                 PIN_SLP(gpm0-4, OUT0, NONE);
909                 PIN_SLP(gpm0-5, OUT0, NONE);
910                 PIN_SLP(gpm0-6, INPUT, DOWN);
911                 PIN_SLP(gpm0-7, OUT0, NONE);
912
913                 PIN_SLP(gpm1-0, INPUT, NONE);
914                 PIN_SLP(gpm1-1, INPUT, NONE);
915                 PIN_SLP(gpm1-2, INPUT, NONE);
916                 PIN_SLP(gpm1-3, INPUT, NONE);
917                 PIN_SLP(gpm1-4, INPUT, NONE);
918                 PIN_SLP(gpm1-5, INPUT, NONE);
919                 PIN_SLP(gpm1-6, INPUT, DOWN);
920
921                 PIN_SLP(gpm2-0, INPUT, NONE);
922                 PIN_SLP(gpm2-1, INPUT, NONE);
923                 PIN_SLP(gpm2-2, OUT0, NONE);
924                 PIN_SLP(gpm2-3, OUT0, DOWN);
925                 PIN_SLP(gpm2-4, INPUT, DOWN);
926
927                 PIN_SLP(gpm3-0, PREV, NONE);
928                 PIN_SLP(gpm3-1, PREV, NONE);
929                 PIN_SLP(gpm3-2, PREV, NONE);
930                 PIN_SLP(gpm3-3, OUT1, NONE);
931                 PIN_SLP(gpm3-4, OUT0, DOWN);
932                 PIN_SLP(gpm3-5, PREV, NONE);
933                 PIN_SLP(gpm3-6, PREV, NONE);
934                 PIN_SLP(gpm3-7, OUT0, NONE);
935
936                 PIN_SLP(gpm4-0, INPUT, NONE);
937                 PIN_SLP(gpm4-1, INPUT, NONE);
938                 PIN_SLP(gpm4-2, INPUT, DOWN);
939                 PIN_SLP(gpm4-3, INPUT, DOWN);
940                 PIN_SLP(gpm4-4, PREV, NONE);
941                 PIN_SLP(gpm4-5, OUT0, NONE);
942                 PIN_SLP(gpm4-6, OUT0, NONE);
943                 PIN_SLP(gpm4-7, INPUT, DOWN);
944
945                 PIN_SLP(gpy0-0, INPUT, DOWN);
946                 PIN_SLP(gpy0-1, INPUT, DOWN);
947                 PIN_SLP(gpy0-2, INPUT, NONE);
948                 PIN_SLP(gpy0-3, INPUT, NONE);
949                 PIN_SLP(gpy0-4, INPUT, NONE);
950                 PIN_SLP(gpy0-5, INPUT, NONE);
951
952                 PIN_SLP(gpy1-0, INPUT, DOWN);
953                 PIN_SLP(gpy1-1, INPUT, DOWN);
954                 PIN_SLP(gpy1-2, INPUT, DOWN);
955                 PIN_SLP(gpy1-3, INPUT, DOWN);
956
957                 PIN_SLP(gpy2-0, PREV, NONE);
958                 PIN_SLP(gpy2-1, INPUT, DOWN);
959                 PIN_SLP(gpy2-2, INPUT, NONE);
960                 PIN_SLP(gpy2-3, INPUT, NONE);
961                 PIN_SLP(gpy2-4, INPUT, NONE);
962                 PIN_SLP(gpy2-5, INPUT, NONE);
963
964                 PIN_SLP(gpy3-0, INPUT, DOWN);
965                 PIN_SLP(gpy3-1, INPUT, DOWN);
966                 PIN_SLP(gpy3-2, INPUT, DOWN);
967                 PIN_SLP(gpy3-3, INPUT, DOWN);
968                 PIN_SLP(gpy3-4, INPUT, DOWN);
969                 PIN_SLP(gpy3-5, INPUT, DOWN);
970                 PIN_SLP(gpy3-6, INPUT, DOWN);
971                 PIN_SLP(gpy3-7, INPUT, DOWN);
972
973                 PIN_SLP(gpy4-0, INPUT, DOWN);
974                 PIN_SLP(gpy4-1, INPUT, DOWN);
975                 PIN_SLP(gpy4-2, INPUT, DOWN);
976                 PIN_SLP(gpy4-3, INPUT, DOWN);
977                 PIN_SLP(gpy4-4, INPUT, DOWN);
978                 PIN_SLP(gpy4-5, INPUT, DOWN);
979                 PIN_SLP(gpy4-6, INPUT, DOWN);
980                 PIN_SLP(gpy4-7, INPUT, DOWN);
981
982                 PIN_SLP(gpy5-0, INPUT, DOWN);
983                 PIN_SLP(gpy5-1, INPUT, DOWN);
984                 PIN_SLP(gpy5-2, INPUT, DOWN);
985                 PIN_SLP(gpy5-3, INPUT, DOWN);
986                 PIN_SLP(gpy5-4, INPUT, DOWN);
987                 PIN_SLP(gpy5-5, INPUT, DOWN);
988                 PIN_SLP(gpy5-6, INPUT, DOWN);
989                 PIN_SLP(gpy5-7, INPUT, DOWN);
990
991                 PIN_SLP(gpy6-0, INPUT, DOWN);
992                 PIN_SLP(gpy6-1, INPUT, DOWN);
993                 PIN_SLP(gpy6-2, INPUT, DOWN);
994                 PIN_SLP(gpy6-3, INPUT, DOWN);
995                 PIN_SLP(gpy6-4, INPUT, DOWN);
996                 PIN_SLP(gpy6-5, INPUT, DOWN);
997                 PIN_SLP(gpy6-6, INPUT, DOWN);
998                 PIN_SLP(gpy6-7, INPUT, DOWN);
999         };
1000 };
1001
1002 &pinctrl_2 {
1003         pinctrl-names = "default";
1004         pinctrl-0 = <&sleep2>;
1005
1006         sleep2: sleep-states {
1007                 PIN_SLP(gpz-0, INPUT, DOWN);
1008                 PIN_SLP(gpz-1, INPUT, DOWN);
1009                 PIN_SLP(gpz-2, INPUT, DOWN);
1010                 PIN_SLP(gpz-3, INPUT, DOWN);
1011                 PIN_SLP(gpz-4, INPUT, DOWN);
1012                 PIN_SLP(gpz-5, INPUT, DOWN);
1013                 PIN_SLP(gpz-6, INPUT, DOWN);
1014         };
1015 };
1016
1017 &pinctrl_3 {
1018         pinctrl-names = "default";
1019         pinctrl-0 = <&sleep3>;
1020
1021         sleep3: sleep-states {
1022                 PIN_SLP(gpv0-0, INPUT, DOWN);
1023                 PIN_SLP(gpv0-1, INPUT, DOWN);
1024                 PIN_SLP(gpv0-2, INPUT, DOWN);
1025                 PIN_SLP(gpv0-3, INPUT, DOWN);
1026                 PIN_SLP(gpv0-4, INPUT, DOWN);
1027                 PIN_SLP(gpv0-5, INPUT, DOWN);
1028                 PIN_SLP(gpv0-6, INPUT, DOWN);
1029                 PIN_SLP(gpv0-7, INPUT, DOWN);
1030
1031                 PIN_SLP(gpv1-0, INPUT, DOWN);
1032                 PIN_SLP(gpv1-1, INPUT, DOWN);
1033                 PIN_SLP(gpv1-2, INPUT, DOWN);
1034                 PIN_SLP(gpv1-3, INPUT, DOWN);
1035                 PIN_SLP(gpv1-4, INPUT, DOWN);
1036                 PIN_SLP(gpv1-5, INPUT, DOWN);
1037                 PIN_SLP(gpv1-6, INPUT, DOWN);
1038                 PIN_SLP(gpv1-7, INPUT, DOWN);
1039
1040                 PIN_SLP(gpv2-0, INPUT, DOWN);
1041                 PIN_SLP(gpv2-1, INPUT, DOWN);
1042                 PIN_SLP(gpv2-2, INPUT, DOWN);
1043                 PIN_SLP(gpv2-3, INPUT, DOWN);
1044                 PIN_SLP(gpv2-4, INPUT, DOWN);
1045                 PIN_SLP(gpv2-5, INPUT, DOWN);
1046                 PIN_SLP(gpv2-6, INPUT, DOWN);
1047                 PIN_SLP(gpv2-7, INPUT, DOWN);
1048
1049                 PIN_SLP(gpv3-0, INPUT, DOWN);
1050                 PIN_SLP(gpv3-1, INPUT, DOWN);
1051                 PIN_SLP(gpv3-2, INPUT, DOWN);
1052                 PIN_SLP(gpv3-3, INPUT, DOWN);
1053                 PIN_SLP(gpv3-4, INPUT, DOWN);
1054                 PIN_SLP(gpv3-5, INPUT, DOWN);
1055                 PIN_SLP(gpv3-6, INPUT, DOWN);
1056                 PIN_SLP(gpv3-7, INPUT, DOWN);
1057
1058                 PIN_SLP(gpv4-0, INPUT, DOWN);
1059                 PIN_SLP(gpv4-1, INPUT, DOWN);
1060         };
1061 };
1062
1063 &pmu_system_controller {
1064         assigned-clocks = <&pmu_system_controller 0>;
1065         assigned-clock-parents = <&clock CLK_XUSBXTI>;
1066 };
1067
1068 &rtc {
1069         clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1070         clock-names = "rtc", "rtc_src";
1071         status = "okay";
1072 };
1073
1074 &sdhci_2 {
1075         bus-width = <4>;
1076         cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1077         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
1078         pinctrl-names = "default";
1079         vmmc-supply = <&ldo21_reg>;
1080         status = "okay";
1081 };
1082
1083 &sdhci_3 {
1084         #address-cells = <1>;
1085         #size-cells = <0>;
1086         non-removable;
1087         bus-width = <4>;
1088         mmc-pwrseq = <&wlan_pwrseq>;
1089
1090         pinctrl-names = "default";
1091         pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_wifi>;
1092         status = "okay";
1093
1094         wifi@1 {
1095                 compatible = "brcm,bcm4329-fmac";
1096                 reg = <0x1>;
1097                 pinctrl-names = "default";
1098                 pinctrl-0 = <&wifi_host_wake>;
1099                 interrupt-parent = <&gpx2>;
1100                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
1101                 interrupt-names = "host-wake";
1102         };
1103 };
1104
1105 &serial_0 {
1106         pinctrl-0 = <&uart0_data &uart0_fctl>;
1107         pinctrl-names = "default";
1108         status = "okay";
1109
1110         bluetooth {
1111                 compatible = "brcm,bcm4330-bt";
1112                 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1113                 pinctrl-names = "default";
1114
1115                 max-speed = <2000000>;
1116                 shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1117                 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1118                 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1119                 clocks = <&max77686 MAX77686_CLK_PMIC>;
1120                 clock-names = "lpo";
1121         };
1122 };
1123
1124 &serial_2 {
1125         pinctrl-0 = <&uart_sel>;
1126         pinctrl-names = "default";
1127         status = "okay";
1128 };
1129
1130 &tmu {
1131         status = "okay";
1132 };