Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[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_LEVEL_LOW>;
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_LEVEL_LOW>;
326                 pinctrl-0 = <&max77686_irq>;
327                 pinctrl-names = "default";
328                 wakeup-source;
329                 reg = <0x09>;
330                 #clock-cells = <1>;
331
332                 voltage-regulators {
333                         ldo1_reg: LDO1 {
334                                 regulator-name = "ldo1";
335                                 regulator-always-on;
336                         };
337
338                         ldo2_reg: LDO2 {
339                                 regulator-name = "ldo2";
340                                 regulator-always-on;
341                         };
342
343                         /* WM8994 audio */
344                         ldo3_reg: LDO3 {
345                                 regulator-name = "VCC_1.8V_AP";
346                                 regulator-min-microvolt = <1800000>;
347                                 regulator-max-microvolt = <1800000>;
348                                 regulator-always-on;
349                                 regulator-boot-on;
350
351                                 regulator-state-mem {
352                                         regulator-on-in-suspend;
353                                 };
354                         };
355
356                         ldo4_reg: LDO4 {
357                                 regulator-name = "ldo4";
358                                 regulator-always-on;
359                         };
360
361                         ldo5_reg: LDO5 {
362                                 regulator-name = "VCC_1.8V_IO";
363                                 regulator-min-microvolt = <1800000>;
364                                 regulator-max-microvolt = <1800000>;
365
366                                 regulator-state-mem {
367                                         regulator-off-in-suspend;
368                                 };
369                         };
370
371                         ldo6_reg: LDO6 {
372                                 regulator-name = "ldo6";
373                                 regulator-always-on;
374                         };
375
376                         ldo7_reg: LDO7 {
377                                 regulator-name = "ldo7";
378                                 regulator-always-on;
379                         };
380
381                         /* CSI IP block */
382                         ldo8_reg: LDO8 {
383                                 regulator-name = "VMIPI_1.0V";
384                                 regulator-min-microvolt = <1000000>;
385                                 regulator-max-microvolt = <1000000>;
386                                 regulator-always-on;
387                                 regulator-boot-on;
388
389                                 regulator-state-mem {
390                                         regulator-on-in-suspend;
391                                 };
392                         };
393
394                         /* IR LED on/off */
395                         ldo9_reg: LDO9 {
396                                 regulator-name = "VLED_IC_1.9V";
397                                 regulator-min-microvolt = <1950000>;
398                                 regulator-max-microvolt = <1950000>;
399
400                                 regulator-state-mem {
401                                         regulator-off-in-suspend;
402                                 };
403                         };
404
405                         /* CSI IP block */
406                         ldo10_reg: LDO10 {
407                                 regulator-name = "VMIPI_1.8V";
408                                 regulator-min-microvolt = <1800000>;
409                                 regulator-max-microvolt = <1800000>;
410                                 regulator-always-on;
411                                 regulator-boot-on;
412
413                                 regulator-state-mem {
414                                         regulator-on-in-suspend;
415                                 };
416                         };
417
418                         ldo11_reg: LDO11 {
419                                 regulator-name = "VABB1_1.9V";
420                                 regulator-min-microvolt = <1950000>;
421                                 regulator-max-microvolt = <1950000>;
422                                 regulator-always-on;
423                                 regulator-boot-on;
424
425                                 regulator-state-mem {
426                                         regulator-off-in-suspend;
427                                 };
428                         };
429
430                         /* USB OTG */
431                         ldo12_reg: LDO12 {
432                                 regulator-name = "VUOTG_3.0V";
433                                 regulator-min-microvolt = <3000000>;
434                                 regulator-max-microvolt = <3000000>;
435                                 regulator-always-on;
436                                 regulator-boot-on;
437
438                                 regulator-state-mem {
439                                         regulator-on-in-suspend;
440                                 };
441                         };
442
443                         /* not connected */
444                         ldo13_reg: LDO13 {
445                                 regulator-name = "ldo13";
446                         };
447
448                         ldo14_reg: LDO14 {
449                                 regulator-name = "VABB2_1.9V";
450                                 regulator-min-microvolt = <1950000>;
451                                 regulator-max-microvolt = <1950000>;
452                                 regulator-always-on;
453                                 regulator-boot-on;
454
455                                 regulator-state-mem {
456                                         regulator-off-in-suspend;
457                                 };
458                         };
459
460                         ldo15_reg: LDO15 {
461                                 regulator-name = "ldo15";
462                                 regulator-always-on;
463                         };
464
465                         ldo16_reg: LDO16 {
466                                 regulator-name = "ldo16";
467                                 regulator-always-on;
468                         };
469
470                         /* not connected */
471                         ldo17_reg: LDO17 {
472                                 regulator-name = "ldo17";
473                         };
474
475                         /* Camera ISX012 */
476                         ldo18_reg: LDO18 {
477                                 regulator-name = "CAM_IO_1.8V";
478                                 regulator-min-microvolt = <1800000>;
479                                 regulator-max-microvolt = <1800000>;
480
481                                 regulator-state-mem {
482                                         regulator-off-in-suspend;
483                                 };
484                         };
485
486                         /* Camera S5K6A3 */
487                         ldo19_reg: LDO19 {
488                                 regulator-name = "VT_CORE_1.8V";
489                                 regulator-min-microvolt = <1800000>;
490                                 regulator-max-microvolt = <1800000>;
491
492                                 regulator-state-mem {
493                                         regulator-off-in-suspend;
494                                 };
495                         };
496
497                         /* not connected */
498                         ldo20_reg: LDO20 {
499                                 regulator-name = "ldo20";
500                         };
501
502                         /* MMC2 */
503                         ldo21_reg: LDO21 {
504                                 regulator-name = "VTF_2.8V";
505                                 regulator-min-microvolt = <2800000>;
506                                 regulator-max-microvolt = <2800000>;
507                                 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
508                         };
509
510                         /* not connected */
511                         ldo22_reg: LDO22 {
512                                 regulator-name = "ldo22";
513                         };
514
515                         /* ADC */
516                         ldo23_reg: LDO23 {
517                                 regulator-name = "VDD_ADC_3.3V";
518                                 regulator-min-microvolt = <3300000>;
519                                 regulator-max-microvolt = <3300000>;
520                                 regulator-always-on;
521                                 regulator-boot-on;
522
523                                 regulator-state-mem {
524                                         regulator-off-in-suspend;
525                                 };
526                         };
527
528                         /* Camera S5K6A3 */
529                         ldo24_reg: LDO24 {
530                                 regulator-name = "CAM_A2.8V";
531                                 regulator-min-microvolt = <2800000>;
532                                 regulator-max-microvolt = <2800000>;
533
534                                 regulator-state-mem {
535                                         regulator-off-in-suspend;
536                                 };
537                         };
538
539                         ldo25_reg: LDO25 {
540                                 regulator-name = "VLED_3.3V";
541                                 regulator-min-microvolt = <3300000>;
542                                 regulator-max-microvolt = <3300000>;
543
544                                 regulator-state-mem {
545                                         regulator-off-in-suspend;
546                                 };
547                         };
548
549                         /* Camera ISX012 */
550                         ldo26_reg: LDO26 {
551                                 regulator-name = "3MP_AF_2.8V";
552                                 regulator-min-microvolt = <2800000>;
553                                 regulator-max-microvolt = <2800000>;
554
555                                 regulator-state-mem {
556                                         regulator-off-in-suspend;
557                                 };
558                         };
559
560                         buck1_reg: BUCK1 {
561                                 regulator-name = "VDD_MIF";
562                                 regulator-min-microvolt = <850000>;
563                                 regulator-max-microvolt = <1050000>;
564                                 regulator-always-on;
565                                 regulator-boot-on;
566                         };
567
568                         buck2_reg: BUCK2 {
569                                 regulator-name = "VDD_ARM";
570                                 regulator-min-microvolt = <850000>;
571                                 regulator-max-microvolt = <1500000>;
572                                 regulator-always-on;
573                                 regulator-boot-on;
574                         };
575
576                         buck3_reg: BUCK3 {
577                                 regulator-name = "VDD_INT";
578                                 regulator-min-microvolt = <850000>;
579                                 regulator-max-microvolt = <1100000>;
580                                 regulator-always-on;
581                                 regulator-boot-on;
582                         };
583
584                         buck4_reg: BUCK4 {
585                                 regulator-name = "VDD_G3D";
586                                 regulator-min-microvolt = <850000>;
587                                 regulator-max-microvolt = <1075000>;
588                                 regulator-boot-on;
589                         };
590
591                         buck5_reg: BUCK5 {
592                                 regulator-name = "buck5";
593                                 regulator-always-on;
594                         };
595
596                         buck6_reg: BUCK6 {
597                                 regulator-name = "buck6";
598                                 regulator-always-on;
599                         };
600
601                         buck7_reg: BUCK7 {
602                                 regulator-name = "buck7";
603                                 regulator-always-on;
604                         };
605
606                         /* not connected */
607                         buck8_reg: BUCK8 {
608                                 regulator-name = "buck8";
609                         };
610
611                         buck9_reg: BUCK9 {
612                                 regulator-name = "3MP_CORE_1.2V";
613                                 regulator-min-microvolt = <1200000>;
614                                 regulator-max-microvolt = <1200000>;
615
616                                 regulator-state-mem {
617                                         regulator-off-in-suspend;
618                                 };
619                         };
620                 };
621         };
622 };
623
624 &mshc_0 {
625         broken-cd;
626         non-removable;
627         card-detect-delay = <200>;
628         clock-frequency = <400000000>;
629         samsung,dw-mshc-ciu-div = <0>;
630         samsung,dw-mshc-sdr-timing = <2 3>;
631         samsung,dw-mshc-ddr-timing = <1 2>;
632         pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
633         pinctrl-names = "default";
634         bus-width = <4>;
635         cap-mmc-highspeed;
636         cap-sd-highspeed;
637         status = "okay";
638 };
639
640 &pinctrl_0 {
641         pinctrl-names = "default";
642         pinctrl-0 = <&sleep0>;
643
644         tsp_reg_gpio_2: tsp-reg-gpio-2 {
645                 samsung,pins = "gpb-5";
646                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
647                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
648         };
649
650         tsp_reg_gpio_3: tsp-reg-gpio-3 {
651                 samsung,pins = "gpb-7";
652                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
653                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
654         };
655
656         sleep0: sleep-states {
657                 PIN_SLP(gpa0-0, INPUT, NONE);
658                 PIN_SLP(gpa0-1, OUT0, NONE);
659                 PIN_SLP(gpa0-2, INPUT, NONE);
660                 PIN_SLP(gpa0-3, INPUT, UP);
661                 PIN_SLP(gpa0-4, INPUT, NONE);
662                 PIN_SLP(gpa0-5, INPUT, DOWN);
663                 PIN_SLP(gpa0-6, INPUT, DOWN);
664                 PIN_SLP(gpa0-7, INPUT, UP);
665
666                 PIN_SLP(gpa1-0, INPUT, DOWN);
667                 PIN_SLP(gpa1-1, INPUT, DOWN);
668                 PIN_SLP(gpa1-2, INPUT, DOWN);
669                 PIN_SLP(gpa1-3, INPUT, DOWN);
670                 PIN_SLP(gpa1-4, INPUT, DOWN);
671                 PIN_SLP(gpa1-5, INPUT, DOWN);
672
673                 PIN_SLP(gpb-0, INPUT, NONE);
674                 PIN_SLP(gpb-1, INPUT, NONE);
675                 PIN_SLP(gpb-2, INPUT, NONE);
676                 PIN_SLP(gpb-3, INPUT, NONE);
677                 PIN_SLP(gpb-4, INPUT, DOWN);
678                 PIN_SLP(gpb-5, INPUT, DOWN);
679                 PIN_SLP(gpb-6, INPUT, DOWN);
680                 PIN_SLP(gpb-7, INPUT, DOWN);
681
682                 PIN_SLP(gpc0-0, INPUT, DOWN);
683                 PIN_SLP(gpc0-1, INPUT, DOWN);
684                 PIN_SLP(gpc0-2, INPUT, DOWN);
685                 PIN_SLP(gpc0-3, INPUT, DOWN);
686                 PIN_SLP(gpc0-4, INPUT, DOWN);
687
688                 PIN_SLP(gpc1-0, INPUT, UP);
689                 PIN_SLP(gpc1-1, PREV, NONE);
690                 PIN_SLP(gpc1-2, INPUT, UP);
691                 PIN_SLP(gpc1-3, INPUT, UP);
692                 PIN_SLP(gpc1-4, INPUT, UP);
693
694                 PIN_SLP(gpd0-0, INPUT, DOWN);
695                 PIN_SLP(gpd0-1, OUT0, NONE);
696                 PIN_SLP(gpd0-2, INPUT, NONE);
697                 PIN_SLP(gpd0-3, INPUT, NONE);
698
699                 PIN_SLP(gpd1-0, INPUT, DOWN);
700                 PIN_SLP(gpd1-1, INPUT, DOWN);
701                 PIN_SLP(gpd1-2, INPUT, NONE);
702                 PIN_SLP(gpd1-3, INPUT, NONE);
703
704                 PIN_SLP(gpf0-0, OUT0, NONE);
705                 PIN_SLP(gpf0-1, OUT0, NONE);
706                 PIN_SLP(gpf0-2, OUT0, NONE);
707                 PIN_SLP(gpf0-3, OUT0, NONE);
708                 PIN_SLP(gpf0-4, OUT0, NONE);
709                 PIN_SLP(gpf0-5, OUT0, NONE);
710                 PIN_SLP(gpf0-6, OUT0, NONE);
711                 PIN_SLP(gpf0-7, OUT0, NONE);
712
713                 PIN_SLP(gpf1-0, OUT0, NONE);
714                 PIN_SLP(gpf1-1, OUT0, NONE);
715                 PIN_SLP(gpf1-2, OUT0, NONE);
716                 PIN_SLP(gpf1-3, OUT0, NONE);
717                 PIN_SLP(gpf1-4, OUT0, NONE);
718                 PIN_SLP(gpf1-5, OUT0, NONE);
719                 PIN_SLP(gpf1-6, OUT0, NONE);
720                 PIN_SLP(gpf1-7, OUT0, NONE);
721
722                 PIN_SLP(gpf2-0, OUT0, NONE);
723                 PIN_SLP(gpf2-1, OUT0, NONE);
724                 PIN_SLP(gpf2-2, OUT0, NONE);
725                 PIN_SLP(gpf2-3, OUT0, NONE);
726                 PIN_SLP(gpf2-4, OUT0, NONE);
727                 PIN_SLP(gpf2-5, OUT0, NONE);
728                 PIN_SLP(gpf2-6, OUT0, NONE);
729                 PIN_SLP(gpf2-7, OUT0, NONE);
730
731                 PIN_SLP(gpf3-0, OUT0, NONE);
732                 PIN_SLP(gpf3-1, OUT0, NONE);
733                 PIN_SLP(gpf3-2, OUT0, NONE);
734                 PIN_SLP(gpf3-3, OUT0, NONE);
735                 PIN_SLP(gpf3-4, OUT0, NONE);
736                 PIN_SLP(gpf3-5, OUT0, NONE);
737
738                 PIN_SLP(gpj0-0, INPUT, DOWN);
739                 PIN_SLP(gpj0-1, INPUT, DOWN);
740                 PIN_SLP(gpj0-2, INPUT, DOWN);
741                 PIN_SLP(gpj0-3, PREV, NONE);
742                 PIN_SLP(gpj0-4, PREV, NONE);
743                 PIN_SLP(gpj0-5, OUT0, NONE);
744                 PIN_SLP(gpj0-6, OUT0, NONE);
745                 PIN_SLP(gpj0-7, OUT0, NONE);
746
747                 PIN_SLP(gpj1-0, OUT0, NONE);
748                 PIN_SLP(gpj1-1, INPUT, DOWN);
749                 PIN_SLP(gpj1-2, PREV, NONE);
750                 PIN_SLP(gpj1-3, OUT0, NONE);
751         };
752 };
753
754 &pinctrl_1 {
755         pinctrl-names = "default";
756         pinctrl-0 = <&sleep1>;
757
758         sd3_wifi: sd3-wifi {
759                 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
760                 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
761                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
762         };
763
764         bt_shutdown: bt-shutdown {
765                 samsung,pins = "gpl0-6";
766                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
767                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
768         };
769
770         uart_sel: uart-sel {
771                 samsung,pins = "gpl2-7";
772                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
773                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
774                 samsung,pin-val = <1>;
775                 /* 0 = CP, 1 = AP (serial output) */
776         };
777
778         tsp_rst: tsp-rst {
779                 samsung,pins = "gpm0-4";
780                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
781                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
782         };
783
784         tsp_irq: tsp-irq {
785                 samsung,pins = "gpm2-3";
786                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
787                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
788         };
789
790         wifi_reset: wifi-reset {
791                 samsung,pins = "gpm3-5";
792                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
793                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
794         };
795
796         tsp_reg_gpio_1: tsp-reg-gpio-1 {
797                 samsung,pins = "gpm4-5";
798                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
799                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
800         };
801
802         ak8975_irq: ak8975-irq {
803                 samsung,pins = "gpm4-7";
804                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
805                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
806         };
807
808         stmpe_adc_irq: stmpe-adc-irq {
809                 samsung,pins = "gpx0-1";
810                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
811                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
812         };
813
814         max77686_irq: max77686-irq {
815                 samsung,pins = "gpx0-7";
816                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
817         };
818
819         gpio_keys: gpio-keys {
820                 samsung,pins = "gpx2-2", "gpx2-7", "gpx3-3";
821                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
822         };
823
824         fuel_alert_irq: fuel-alert-irq {
825                 samsung,pins = "gpx2-3";
826                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
827                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
828         };
829
830         wifi_host_wake: wifi-host-wake {
831                 samsung,pins = "gpx2-5";
832                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
833                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
834         };
835
836         bt_host_wakeup: bt-host-wakeup {
837                 samsung,pins = "gpx2-6";
838                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
839                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
840         };
841
842         bt_device_wakeup: bt-device-wakeup {
843                 samsung,pins = "gpx3-1";
844                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
845                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
846         };
847
848         sdhci2_cd: sdhci2-cd {
849                 samsung,pins = "gpx3-4";
850                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
851         };
852
853         sleep1: sleep-states {
854                 PIN_SLP(gpk0-0, PREV, NONE);
855                 PIN_SLP(gpk0-1, PREV, NONE);
856                 PIN_SLP(gpk0-2, PREV, NONE);
857                 PIN_SLP(gpk0-3, PREV, NONE);
858                 PIN_SLP(gpk0-4, PREV, NONE);
859                 PIN_SLP(gpk0-5, PREV, NONE);
860                 PIN_SLP(gpk0-6, PREV, NONE);
861
862                 PIN_SLP(gpk1-0, INPUT, DOWN);
863                 PIN_SLP(gpk1-1, INPUT, DOWN);
864                 PIN_SLP(gpk1-2, INPUT, DOWN);
865                 PIN_SLP(gpk1-3, PREV, NONE);
866                 PIN_SLP(gpk1-4, PREV, NONE);
867                 PIN_SLP(gpk1-5, PREV, NONE);
868                 PIN_SLP(gpk1-6, PREV, NONE);
869
870                 PIN_SLP(gpk2-0, INPUT, DOWN);
871                 PIN_SLP(gpk2-1, INPUT, DOWN);
872                 PIN_SLP(gpk2-2, INPUT, DOWN);
873                 PIN_SLP(gpk2-3, INPUT, DOWN);
874                 PIN_SLP(gpk2-4, INPUT, DOWN);
875                 PIN_SLP(gpk2-5, INPUT, DOWN);
876                 PIN_SLP(gpk2-6, INPUT, DOWN);
877
878                 PIN_SLP(gpk3-0, OUT0, NONE);
879                 PIN_SLP(gpk3-1, INPUT, NONE);
880                 PIN_SLP(gpk3-2, INPUT, DOWN);
881                 PIN_SLP(gpk3-3, INPUT, NONE);
882                 PIN_SLP(gpk3-4, INPUT, NONE);
883                 PIN_SLP(gpk3-5, INPUT, NONE);
884                 PIN_SLP(gpk3-6, INPUT, NONE);
885
886                 PIN_SLP(gpl0-0, OUT0, NONE);
887                 PIN_SLP(gpl0-1, INPUT, NONE);
888                 PIN_SLP(gpl0-2, INPUT, NONE);
889                 PIN_SLP(gpl0-3, INPUT, DOWN);
890                 PIN_SLP(gpl0-4, PREV, NONE);
891                 PIN_SLP(gpl0-6, PREV, NONE);
892
893                 PIN_SLP(gpl1-0, OUT0, NONE);
894                 PIN_SLP(gpl1-1, OUT0, NONE);
895
896                 PIN_SLP(gpl2-0, INPUT, DOWN);
897                 PIN_SLP(gpl2-1, INPUT, DOWN);
898                 PIN_SLP(gpl2-2, INPUT, DOWN);
899                 PIN_SLP(gpl2-3, INPUT, DOWN);
900                 PIN_SLP(gpl2-4, OUT0, NONE);
901                 PIN_SLP(gpl2-5, INPUT, DOWN);
902                 PIN_SLP(gpl2-6, PREV, NONE);
903                 PIN_SLP(gpl2-7, PREV, NONE);
904
905                 PIN_SLP(gpm0-0, PREV, NONE);
906                 PIN_SLP(gpm0-1, OUT0, NONE);
907                 PIN_SLP(gpm0-2, INPUT, DOWN);
908                 PIN_SLP(gpm0-3, INPUT, NONE);
909                 PIN_SLP(gpm0-4, OUT0, NONE);
910                 PIN_SLP(gpm0-5, OUT0, NONE);
911                 PIN_SLP(gpm0-6, INPUT, DOWN);
912                 PIN_SLP(gpm0-7, OUT0, NONE);
913
914                 PIN_SLP(gpm1-0, INPUT, NONE);
915                 PIN_SLP(gpm1-1, INPUT, NONE);
916                 PIN_SLP(gpm1-2, INPUT, NONE);
917                 PIN_SLP(gpm1-3, INPUT, NONE);
918                 PIN_SLP(gpm1-4, INPUT, NONE);
919                 PIN_SLP(gpm1-5, INPUT, NONE);
920                 PIN_SLP(gpm1-6, INPUT, DOWN);
921
922                 PIN_SLP(gpm2-0, INPUT, NONE);
923                 PIN_SLP(gpm2-1, INPUT, NONE);
924                 PIN_SLP(gpm2-2, OUT0, NONE);
925                 PIN_SLP(gpm2-3, OUT0, DOWN);
926                 PIN_SLP(gpm2-4, INPUT, DOWN);
927
928                 PIN_SLP(gpm3-0, PREV, NONE);
929                 PIN_SLP(gpm3-1, PREV, NONE);
930                 PIN_SLP(gpm3-2, PREV, NONE);
931                 PIN_SLP(gpm3-3, OUT1, NONE);
932                 PIN_SLP(gpm3-4, OUT0, DOWN);
933                 PIN_SLP(gpm3-5, PREV, NONE);
934                 PIN_SLP(gpm3-6, PREV, NONE);
935                 PIN_SLP(gpm3-7, OUT0, NONE);
936
937                 PIN_SLP(gpm4-0, INPUT, NONE);
938                 PIN_SLP(gpm4-1, INPUT, NONE);
939                 PIN_SLP(gpm4-2, INPUT, DOWN);
940                 PIN_SLP(gpm4-3, INPUT, DOWN);
941                 PIN_SLP(gpm4-4, PREV, NONE);
942                 PIN_SLP(gpm4-5, OUT0, NONE);
943                 PIN_SLP(gpm4-6, OUT0, NONE);
944                 PIN_SLP(gpm4-7, INPUT, DOWN);
945
946                 PIN_SLP(gpy0-0, INPUT, DOWN);
947                 PIN_SLP(gpy0-1, INPUT, DOWN);
948                 PIN_SLP(gpy0-2, INPUT, NONE);
949                 PIN_SLP(gpy0-3, INPUT, NONE);
950                 PIN_SLP(gpy0-4, INPUT, NONE);
951                 PIN_SLP(gpy0-5, INPUT, NONE);
952
953                 PIN_SLP(gpy1-0, INPUT, DOWN);
954                 PIN_SLP(gpy1-1, INPUT, DOWN);
955                 PIN_SLP(gpy1-2, INPUT, DOWN);
956                 PIN_SLP(gpy1-3, INPUT, DOWN);
957
958                 PIN_SLP(gpy2-0, PREV, NONE);
959                 PIN_SLP(gpy2-1, INPUT, DOWN);
960                 PIN_SLP(gpy2-2, INPUT, NONE);
961                 PIN_SLP(gpy2-3, INPUT, NONE);
962                 PIN_SLP(gpy2-4, INPUT, NONE);
963                 PIN_SLP(gpy2-5, INPUT, NONE);
964
965                 PIN_SLP(gpy3-0, INPUT, DOWN);
966                 PIN_SLP(gpy3-1, INPUT, DOWN);
967                 PIN_SLP(gpy3-2, INPUT, DOWN);
968                 PIN_SLP(gpy3-3, INPUT, DOWN);
969                 PIN_SLP(gpy3-4, INPUT, DOWN);
970                 PIN_SLP(gpy3-5, INPUT, DOWN);
971                 PIN_SLP(gpy3-6, INPUT, DOWN);
972                 PIN_SLP(gpy3-7, INPUT, DOWN);
973
974                 PIN_SLP(gpy4-0, INPUT, DOWN);
975                 PIN_SLP(gpy4-1, INPUT, DOWN);
976                 PIN_SLP(gpy4-2, INPUT, DOWN);
977                 PIN_SLP(gpy4-3, INPUT, DOWN);
978                 PIN_SLP(gpy4-4, INPUT, DOWN);
979                 PIN_SLP(gpy4-5, INPUT, DOWN);
980                 PIN_SLP(gpy4-6, INPUT, DOWN);
981                 PIN_SLP(gpy4-7, INPUT, DOWN);
982
983                 PIN_SLP(gpy5-0, INPUT, DOWN);
984                 PIN_SLP(gpy5-1, INPUT, DOWN);
985                 PIN_SLP(gpy5-2, INPUT, DOWN);
986                 PIN_SLP(gpy5-3, INPUT, DOWN);
987                 PIN_SLP(gpy5-4, INPUT, DOWN);
988                 PIN_SLP(gpy5-5, INPUT, DOWN);
989                 PIN_SLP(gpy5-6, INPUT, DOWN);
990                 PIN_SLP(gpy5-7, INPUT, DOWN);
991
992                 PIN_SLP(gpy6-0, INPUT, DOWN);
993                 PIN_SLP(gpy6-1, INPUT, DOWN);
994                 PIN_SLP(gpy6-2, INPUT, DOWN);
995                 PIN_SLP(gpy6-3, INPUT, DOWN);
996                 PIN_SLP(gpy6-4, INPUT, DOWN);
997                 PIN_SLP(gpy6-5, INPUT, DOWN);
998                 PIN_SLP(gpy6-6, INPUT, DOWN);
999                 PIN_SLP(gpy6-7, INPUT, DOWN);
1000         };
1001 };
1002
1003 &pinctrl_2 {
1004         pinctrl-names = "default";
1005         pinctrl-0 = <&sleep2>;
1006
1007         sleep2: sleep-states {
1008                 PIN_SLP(gpz-0, INPUT, DOWN);
1009                 PIN_SLP(gpz-1, INPUT, DOWN);
1010                 PIN_SLP(gpz-2, INPUT, DOWN);
1011                 PIN_SLP(gpz-3, INPUT, DOWN);
1012                 PIN_SLP(gpz-4, INPUT, DOWN);
1013                 PIN_SLP(gpz-5, INPUT, DOWN);
1014                 PIN_SLP(gpz-6, INPUT, DOWN);
1015         };
1016 };
1017
1018 &pinctrl_3 {
1019         pinctrl-names = "default";
1020         pinctrl-0 = <&sleep3>;
1021
1022         sleep3: sleep-states {
1023                 PIN_SLP(gpv0-0, INPUT, DOWN);
1024                 PIN_SLP(gpv0-1, INPUT, DOWN);
1025                 PIN_SLP(gpv0-2, INPUT, DOWN);
1026                 PIN_SLP(gpv0-3, INPUT, DOWN);
1027                 PIN_SLP(gpv0-4, INPUT, DOWN);
1028                 PIN_SLP(gpv0-5, INPUT, DOWN);
1029                 PIN_SLP(gpv0-6, INPUT, DOWN);
1030                 PIN_SLP(gpv0-7, INPUT, DOWN);
1031
1032                 PIN_SLP(gpv1-0, INPUT, DOWN);
1033                 PIN_SLP(gpv1-1, INPUT, DOWN);
1034                 PIN_SLP(gpv1-2, INPUT, DOWN);
1035                 PIN_SLP(gpv1-3, INPUT, DOWN);
1036                 PIN_SLP(gpv1-4, INPUT, DOWN);
1037                 PIN_SLP(gpv1-5, INPUT, DOWN);
1038                 PIN_SLP(gpv1-6, INPUT, DOWN);
1039                 PIN_SLP(gpv1-7, INPUT, DOWN);
1040
1041                 PIN_SLP(gpv2-0, INPUT, DOWN);
1042                 PIN_SLP(gpv2-1, INPUT, DOWN);
1043                 PIN_SLP(gpv2-2, INPUT, DOWN);
1044                 PIN_SLP(gpv2-3, INPUT, DOWN);
1045                 PIN_SLP(gpv2-4, INPUT, DOWN);
1046                 PIN_SLP(gpv2-5, INPUT, DOWN);
1047                 PIN_SLP(gpv2-6, INPUT, DOWN);
1048                 PIN_SLP(gpv2-7, INPUT, DOWN);
1049
1050                 PIN_SLP(gpv3-0, INPUT, DOWN);
1051                 PIN_SLP(gpv3-1, INPUT, DOWN);
1052                 PIN_SLP(gpv3-2, INPUT, DOWN);
1053                 PIN_SLP(gpv3-3, INPUT, DOWN);
1054                 PIN_SLP(gpv3-4, INPUT, DOWN);
1055                 PIN_SLP(gpv3-5, INPUT, DOWN);
1056                 PIN_SLP(gpv3-6, INPUT, DOWN);
1057                 PIN_SLP(gpv3-7, INPUT, DOWN);
1058
1059                 PIN_SLP(gpv4-0, INPUT, DOWN);
1060                 PIN_SLP(gpv4-1, INPUT, DOWN);
1061         };
1062 };
1063
1064 &pmu_system_controller {
1065         assigned-clocks = <&pmu_system_controller 0>;
1066         assigned-clock-parents = <&clock CLK_XUSBXTI>;
1067 };
1068
1069 &rtc {
1070         clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1071         clock-names = "rtc", "rtc_src";
1072         status = "okay";
1073 };
1074
1075 &sdhci_2 {
1076         bus-width = <4>;
1077         cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1078         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
1079         pinctrl-names = "default";
1080         vmmc-supply = <&ldo21_reg>;
1081         status = "okay";
1082 };
1083
1084 &sdhci_3 {
1085         #address-cells = <1>;
1086         #size-cells = <0>;
1087         non-removable;
1088         bus-width = <4>;
1089         mmc-pwrseq = <&wlan_pwrseq>;
1090
1091         pinctrl-names = "default";
1092         pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_wifi>;
1093         status = "okay";
1094
1095         wifi@1 {
1096                 compatible = "brcm,bcm4329-fmac";
1097                 reg = <0x1>;
1098                 pinctrl-names = "default";
1099                 pinctrl-0 = <&wifi_host_wake>;
1100                 interrupt-parent = <&gpx2>;
1101                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
1102                 interrupt-names = "host-wake";
1103         };
1104 };
1105
1106 &serial_0 {
1107         pinctrl-0 = <&uart0_data &uart0_fctl>;
1108         pinctrl-names = "default";
1109         status = "okay";
1110
1111         bluetooth {
1112                 compatible = "brcm,bcm4330-bt";
1113                 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1114                 pinctrl-names = "default";
1115
1116                 max-speed = <2000000>;
1117                 shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1118                 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1119                 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1120                 clocks = <&max77686 MAX77686_CLK_PMIC>;
1121                 clock-names = "lpo";
1122         };
1123 };
1124
1125 &serial_2 {
1126         pinctrl-0 = <&uart_sel>;
1127         pinctrl-names = "default";
1128         status = "okay";
1129 };
1130
1131 &tmu {
1132         status = "okay";
1133 };