blob: 17ee4652bcdab74b7aef9536d81e0a41b2e9c97a [file] [log] [blame]
Jingbiao Lucff00372018-02-01 15:18:17 +08001/*
2 * Copyright (c) 2015-2016, 2018, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14&soc {
15 tlmm: pinctrl@1000000 {
16 compatible = "qcom,msm8937-pinctrl";
17 reg = <0x1000000 0x300000>;
18 interrupts = <0 208 0>;
19 gpio-controller;
20 #gpio-cells = <2>;
21 interrupt-controller;
22 #interrupt-cells = <2>;
23
24 pmx-uartconsole {
25 uart_console_active: uart_console_active {
26 mux {
27 pins = "gpio4", "gpio5";
28 function = "blsp_uart2";
29 };
30
31 config {
32 pins = "gpio4", "gpio5";
33 drive-strength = <2>;
34 bias-disable;
35 };
36 };
37
38 uart_console_sleep: uart_console_sleep {
39 mux {
40 pins = "gpio4", "gpio5";
41 function = "blsp_uart2";
42 };
43
44 config {
45 pins = "gpio4", "gpio5";
46 drive-strength = <2>;
47 bias-pull-down;
48 };
49 };
50
51 };
52
53 i2c_2 {
54 i2c_2_active: i2c_2_active {
55 /* active state */
56 mux {
57 pins = "gpio6", "gpio7";
58 function = "blsp_i2c2";
59 };
60
61 config {
62 pins = "gpio6", "gpio7";
63 drive-strength = <2>;
64 bias-disable;
65 };
66 };
67
68 i2c_2_sleep: i2c_2_sleep {
69 /* suspended state */
70 mux {
71 pins = "gpio6", "gpio7";
72 function = "gpio";
73 };
74
75 config {
76 pins = "gpio6", "gpio7";
77 drive-strength = <2>;
78 bias-disable;
79 };
80 };
81 };
82
83 i2c_3 {
84 i2c_3_active: i2c_3_active {
85 /* active state */
86 mux {
87 pins = "gpio10", "gpio11";
88 function = "blsp_i2c3";
89 };
90
91 config {
92 pins = "gpio10", "gpio11";
93 drive-strength = <2>;
94 bias-disable;
95 };
96 };
97
98 i2c_3_sleep: i2c_3_sleep {
99 /* suspended state */
100 mux {
101 pins = "gpio10", "gpio11";
102 function = "gpio";
103 };
104
105 config {
106 pins = "gpio10", "gpio11";
107 drive-strength = <2>;
108 bias-disable;
109 };
110 };
111 };
112
113 i2c_5 {
114 i2c_5_active: i2c_5_active {
115 /* active state */
116 mux {
117 pins = "gpio18", "gpio19";
118 function = "blsp_i2c5";
119 };
120
121 config {
122 pins = "gpio18", "gpio19";
123 drive-strength = <2>;
124 bias-disable;
125 };
126 };
127
128 i2c_5_sleep: i2c_5_sleep {
129 /* suspended state */
130 mux {
131 pins = "gpio18", "gpio19";
132 function = "gpio";
133 };
134
135 config {
136 pins = "gpio18", "gpio19";
137 drive-strength = <2>;
138 bias-disable;
139 };
140 };
141 };
142
143 pmx_rd_nfc_int {
144 /*qcom,pins = <&gp 17>;*/
145 pins = "gpio17";
146 qcom,pin-func = <0>;
147 qcom,num-grp-pins = <1>;
148 label = "pmx_nfc_int";
149
150 nfc_int_active: active {
151 drive-strength = <6>;
152 bias-pull-up;
153 };
154
155 nfc_int_suspend: suspend {
156 drive-strength = <6>;
157 bias-pull-up;
158 };
159 };
160
161 pmx_nfc_reset {
162 /*qcom,pins = <&gp 16>;*/
163 pins = "gpio16";
164 qcom,pin-func = <0>;
165 qcom,num-grp-pins = <1>;
166 label = "pmx_nfc_disable";
167
168 nfc_disable_active: active {
169 drive-strength = <6>;
170 bias-pull-up;
171 };
172
173 nfc_disable_suspend: suspend {
174 drive-strength = <6>;
175 bias-disable;
176 };
177 };
178
179 tlmm_pmi_flash_led {
180 rear_flash_led_enable: rear_flash_led_enable {
181 mux {
182 pins = "gpio33";
183 function = "gpio";
184 };
185
186 config {
187 pins = "gpio33";
188 drive-strength = <16>;
189 output-high;
190 };
191 };
192
193 rear_flash_led_disable: rear_flash_led_disable {
194 mux {
195 pins = "gpio33";
196 function = "gpio";
197 };
198
199 config {
200 pins = "gpio33";
201 drive-strength = <2>;
202 output-low;
203 };
204 };
205
206 front_flash_led_enable: front_flash_led_enable {
207 mux {
208 pins = "gpio50";
209 function = "gpio";
210 };
211
212 config {
213 pins = "gpio50";
214 drive-strength = <16>;
215 output-high;
216 };
217 };
218
219 front_flash_led_disable: front_flash_led_disable {
220 mux {
221 pins = "gpio50";
222 function = "gpio";
223 };
224
225 config {
226 pins = "gpio50";
227 drive-strength = <2>;
228 output-low;
229 };
230 };
231 };
232
233 spi3 {
234 spi3_default: spi3_default {
235 /* active state */
236 mux {
237 /* MOSI, MISO, CLK */
238 pins = "gpio8", "gpio9", "gpio11";
239 function = "blsp_spi3";
240 };
241
242 config {
243 pins = "gpio8", "gpio9", "gpio11";
244 drive-strength = <12>; /* 12 MA */
245 bias-disable = <0>; /* No PULL */
246 };
247 };
248
249 spi3_sleep: spi3_sleep {
250 /* suspended state */
251 mux {
252 /* MOSI, MISO, CLK */
253 pins = "gpio8", "gpio9", "gpio11";
254 function = "gpio";
255 };
256
257 config {
258 pins = "gpio8", "gpio9", "gpio11";
259 drive-strength = <2>; /* 2 MA */
260 bias-pull-down; /* PULL Down */
261 };
262 };
263
264 spi3_cs0_active: cs0_active {
265 /* CS */
266 mux {
267 pins = "gpio10";
268 function = "blsp_spi3";
269 };
270
271 config {
272 pins = "gpio10";
273 drive-strength = <2>;
274 bias-disable = <0>;
275 };
276 };
277
278 spi3_cs0_sleep: cs0_sleep {
279 /* CS */
280 mux {
281 pins = "gpio10";
282 function = "gpio";
283 };
284
285 config {
286 pins = "gpio10";
287 drive-strength = <2>;
288 bias-disable = <0>;
289 };
290 };
291 };
292
293 wcnss_pmux_5wire {
294 /* Active configuration of bus pins */
295 wcnss_default: wcnss_default {
296 wcss_wlan2 {
297 pins = "gpio76";
298 function = "wcss_wlan2";
299 };
300 wcss_wlan1 {
301 pins = "gpio77";
302 function = "wcss_wlan1";
303 };
304 wcss_wlan0 {
305 pins = "gpio78";
306 function = "wcss_wlan0";
307 };
308 wcss_wlan {
309 pins = "gpio79", "gpio80";
310 function = "wcss_wlan";
311 };
312
313 config {
314 pins = "gpio76", "gpio77",
315 "gpio78", "gpio79",
316 "gpio80";
317 drive-strength = <6>; /* 6 MA */
318 bias-pull-up; /* PULL UP */
319 };
320 };
321
322 wcnss_sleep: wcnss_sleep {
323 wcss_wlan2 {
324 pins = "gpio76";
325 function = "wcss_wlan2";
326 };
327 wcss_wlan1 {
328 pins = "gpio77";
329 function = "wcss_wlan1";
330 };
331 wcss_wlan0 {
332 pins = "gpio78";
333 function = "wcss_wlan0";
334 };
335 wcss_wlan {
336 pins = "gpio79", "gpio80";
337 function = "wcss_wlan";
338 };
339
340 config {
341 pins = "gpio76", "gpio77",
342 "gpio78", "gpio79",
343 "gpio80";
344 drive-strength = <2>; /* 2 MA */
345 bias-pull-down; /* PULL Down */
346 };
347 };
348 };
349
350 wcnss_pmux_gpio: wcnss_pmux_gpio {
351 wcnss_gpio_default: wcnss_gpio_default {
352 /* Active configuration of bus pins */
353 mux {
354 /* Uses general purpose pins */
355 pins = "gpio76", "gpio77",
356 "gpio78", "gpio79",
357 "gpio80";
358 function = "gpio";
359
360 };
361
362 config {
363 pins = "gpio76", "gpio77",
364 "gpio78", "gpio79",
365 "gpio80";
366 drive-strength = <6>; /* 6 MA */
367 bias-pull-up; /* PULL UP */
368 };
369 };
370 };
371
372 blsp2_uart1_active: blsp2_uart1_active {
373 mux {
374 pins = "gpio16", "gpio17", "gpio18", "gpio19";
375 function = "blsp_uart5";
376 };
377
378 config {
379 pins = "gpio16", "gpio17", "gpio18", "gpio19";
380 drive-strength = <2>;
381 bias-disable;
382 };
383 };
384
385 blsp2_uart1_sleep: blsp2_uart1_sleep {
386 mux {
387 pins = "gpio16", "gpio17", "gpio18", "gpio19";
388 function = "gpio";
389 };
390
391 config {
392 pins = "gpio16", "gpio17", "gpio18", "gpio19";
393 drive-strength = <2>;
394 bias-disable;
395 };
396 };
397
398 pmx_adv7533_int: pmx_adv7533_int {
399 adv7533_int_active: adv7533_int_active {
400 mux {
401 pins = "gpio126";
402 function = "gpio";
403 };
404
405 config {
406 pins = "gpio126";
407 drive-strength = <16>;
408 bias-disable;
409 };
410 };
411
412 adv7533_int_suspend: adv7533_int_suspend {
413 mux {
414 pins = "gpio126";
415 function = "gpio";
416 };
417
418 config {
419 pins = "gpio126";
420 drive-strength = <16>;
421 bias-disable;
422 };
423 };
424
425 };
426
427 pmx_mdss: pmx_mdss {
428 mdss_dsi_active: mdss_dsi_active {
429 mux {
430 pins = "gpio60", "gpio98", "gpio99";
431 function = "gpio";
432 };
433
434 config {
435 pins = "gpio60", "gpio98", "gpio99";
436 drive-strength = <8>; /* 8 mA */
437 bias-disable = <0>; /* no pull */
438 output-high;
439 };
440 };
441 mdss_dsi_suspend: mdss_dsi_suspend {
442 mux {
443 pins = "gpio60", "gpio98", "gpio99";
444 function = "gpio";
445 };
446
447 config {
448 pins = "gpio60", "gpio98", "gpio99";
449 drive-strength = <2>; /* 2 mA */
450 bias-pull-down; /* pull down */
451 input-enable;
452 };
453 };
454 };
455
456 pmx_mdss_te {
457 mdss_te_active: mdss_te_active {
458 mux {
459 pins = "gpio24";
460 function = "mdp_vsync";
461 };
462 config {
463 pins = "gpio24";
464 drive-strength = <2>; /* 8 mA */
465 bias-pull-down; /* pull down*/
466 };
467 };
468
469 mdss_te_suspend: mdss_te_suspend {
470 mux {
471 pins = "gpio24";
472 function = "mdp_vsync";
473 };
474 config {
475 pins = "gpio24";
476 drive-strength = <2>; /* 2 mA */
477 bias-pull-down; /* pull down */
478 };
479 };
480 };
481
482 usbc_int_default: usbc_int_default {
483 mux {
484 pins = "gpio97", "gpio131";
485 function = "gpio";
486 };
487
488 config {
489 pins = "gpio97", "gpio131";
490 drive-strength = <2>;
491 bias-pull-up;
492 };
493 };
494
495 tlmm_gpio_key {
496 gpio_key_active: gpio_key_active {
497 mux {
498 pins = "gpio91", "gpio127", "gpio128";
499 function = "gpio";
500 };
501
502 config {
503 pins = "gpio91", "gpio127", "gpio128";
504 drive-strength = <2>;
505 bias-pull-up;
506 };
507 };
508
509 gpio_key_suspend: gpio_key_suspend {
510 mux {
511 pins = "gpio91", "gpio127", "gpio128";
512 function = "gpio";
513 };
514
515 config {
516 pins = "gpio91", "gpio127", "gpio128";
517 drive-strength = <2>;
518 bias-pull-up;
519 };
520 };
521 };
522
523 /* add pingrp for touchscreen */
524 pmx_ts_int_active {
525 ts_int_active: ts_int_active {
526 mux {
527 pins = "gpio65";
528 function = "gpio";
529 };
530
531 config {
532 pins = "gpio65";
533 drive-strength = <8>;
534 bias-pull-up;
535 };
536 };
537 };
538
539 pmx_ts_int_suspend {
540 ts_int_suspend: ts_int_suspend {
541 mux {
542 pins = "gpio65";
543 function = "gpio";
544 };
545
546 config {
547 pins = "gpio65";
548 drive-strength = <2>;
549 bias-pull-down;
550 };
551 };
552 };
553
554 pmx_ts_reset_active {
555 ts_reset_active: ts_reset_active {
556 mux {
557 pins = "gpio64";
558 function = "gpio";
559 };
560
561 config {
562 pins = "gpio64";
563 drive-strength = <8>;
564 bias-pull-up;
565 };
566 };
567 };
568
569 pmx_ts_reset_suspend {
570 ts_reset_suspend: ts_reset_suspend {
571 mux {
572 pins = "gpio64";
573 function = "gpio";
574 };
575
576 config {
577 pins = "gpio64";
578 drive-strength = <2>;
579 bias-pull-down;
580 };
581 };
582 };
583
584 pmx_ts_release {
585 ts_release: ts_release {
586 mux {
587 pins = "gpio65", "gpio64";
588 function = "gpio";
589 };
590
591 config {
592 pins = "gpio65", "gpio64";
593 drive-strength = <2>;
594 bias-pull-down;
595 };
596 };
597 };
598
599 pmx_qdsd_clk {
600 qdsd_clk_sdcard: clk_sdcard {
601 config {
602 pins = "qdsd_clk";
603 bias-disable; /* NO pull */
604 drive-strength = <16>; /* 16 MA */
605 };
606 };
607 qdsd_clk_trace: clk_trace {
608 config {
609 pins = "qdsd_clk";
610 bias-pull-down; /* pull down */
611 drive-strength = <2>; /* 2 MA */
612 };
613 };
614 qdsd_clk_swdtrc: clk_swdtrc {
615 config {
616 pins = "qdsd_clk";
617 bias-pull-down; /* pull down */
618 drive-strength = <2>; /* 2 MA */
619 };
620 };
621 qdsd_clk_spmi: clk_spmi {
622 config {
623 pins = "qdsd_clk";
624 bias-pull-down; /* pull down */
625 drive-strength = <2>; /* 2 MA */
626 };
627 };
628 };
629
630 pmx_qdsd_cmd {
631 qdsd_cmd_sdcard: cmd_sdcard {
632 config {
633 pins = "qdsd_cmd";
634 bias-pull-down; /* pull down */
635 drive-strength = <8>; /* 8 MA */
636 };
637 };
638 qdsd_cmd_trace: cmd_trace {
639 config {
640 pins = "qdsd_cmd";
641 bias-pull-down; /* pull down */
642 drive-strength = <2>; /* 2 MA */
643 };
644 };
645 qdsd_cmd_swduart: cmd_uart {
646 config {
647 pins = "qdsd_cmd";
648 bias-pull-up; /* pull up */
649 drive-strength = <2>; /* 2 MA */
650 };
651 };
652 qdsd_cmd_swdtrc: cmd_swdtrc {
653 config {
654 pins = "qdsd_cmd";
655 bias-pull-up; /* pull up */
656 drive-strength = <2>; /* 2 MA */
657 };
658 };
659
660 qdsd_cmd_jtag: cmd_jtag {
661 config {
662 pins = "qdsd_cmd";
663 bias-disable; /* NO pull */
664 drive-strength = <8>; /* 8 MA */
665 };
666 };
667 qdsd_cmd_spmi: cmd_spmi {
668 config {
669 pins = "qdsd_cmd";
670 bias-pull-down; /* pull down */
671 drive-strength = <10>; /* 10 MA */
672 };
673 };
674 };
675
676 pmx_qdsd_data0 {
677 qdsd_data0_sdcard: data0_sdcard {
678 config {
679 pins = "qdsd_data0";
680 bias-pull-down; /* pull down */
681 drive-strength = <8>; /* 8 MA */
682 };
683 };
684 qdsd_data0_trace: data0_trace {
685 config {
686 pins = "qdsd_data0";
687 bias-pull-down; /* pull down */
688 drive-strength = <8>; /* 8 MA */
689 };
690 };
691 qdsd_data0_swduart: data0_uart {
692 config {
693 pins = "qdsd_data0";
694 bias-pull-down; /* pull down */
695 drive-strength = <2>; /* 2 MA */
696 };
697 };
698 qdsd_data0_swdtrc: data0_swdtrc {
699 config {
700 pins = "qdsd_data0";
701 bias-pull-down; /* pull down */
702 drive-strength = <2>; /* 2 MA */
703 };
704 };
705 qdsd_data0_jtag: data0_jtag {
706 config {
707 pins = "qdsd_data0";
708 bias-pull-up; /* pull up */
709 drive-strength = <2>; /* 2 MA */
710 };
711 };
712 qdsd_data0_spmi: data0_spmi {
713 config {
714 pins = "qdsd_data0";
715 bias-pull-down; /* pull down */
716 drive-strength = <2>; /* 2 MA */
717 };
718 };
719 };
720
721 pmx_qdsd_data1 {
722 qdsd_data1_sdcard: data1_sdcard {
723 config {
724 pins = "qdsd_data1";
725 bias-pull-down; /* pull down */
726 drive-strength = <8>; /* 8 MA */
727 };
728 };
729 qdsd_data1_trace: data1_trace {
730 config {
731 pins = "qdsd_data1";
732 bias-pull-down; /* pull down */
733 drive-strength = <8>; /* 8 MA */
734 };
735 };
736 qdsd_data1_swduart: data1_uart {
737 config {
738 pins = "qdsd_data1";
739 bias-pull-down; /* pull down */
740 drive-strength = <2>; /* 2 MA */
741 };
742 };
743 qdsd_data1_swdtrc: data1_swdtrc {
744 config {
745 pins = "qdsd_data1";
746 bias-pull-down; /* pull down */
747 drive-strength = <2>; /* 2 MA */
748 };
749 };
750 qdsd_data1_jtag: data1_jtag {
751 config {
752 pins = "qdsd_data1";
753 bias-pull-down; /* pull down */
754 drive-strength = <2>; /* 2 MA */
755 };
756 };
757 };
758
759 pmx_qdsd_data2 {
760 qdsd_data2_sdcard: data2_sdcard {
761 config {
762 pins = "qdsd_data2";
763 bias-pull-down; /* pull down */
764 drive-strength = <8>; /* 8 MA */
765 };
766 };
767 qdsd_data2_trace: data2_trace {
768 config {
769 pins = "qdsd_data2";
770 bias-pull-down; /* pull down */
771 drive-strength = <8>; /* 8 MA */
772 };
773 };
774 qdsd_data2_swduart: data2_uart {
775 config {
776 pins = "qdsd_data2";
777 bias-pull-down; /* pull down */
778 drive-strength = <2>; /* 2 MA */
779 };
780 };
781 qdsd_data2_swdtrc: data2_swdtrc {
782 config {
783 pins = "qdsd_data2";
784 bias-pull-down; /* pull down */
785 drive-strength = <2>; /* 2 MA */
786 };
787 };
788 qdsd_data2_jtag: data2_jtag {
789 config {
790 pins = "qdsd_data2";
791 bias-pull-up; /* pull up */
792 drive-strength = <8>; /* 8 MA */
793 };
794 };
795 };
796
797 pmx_qdsd_data3 {
798 qdsd_data3_sdcard: data3_sdcard {
799 config {
800 pins = "qdsd_data3";
801 bias-pull-down; /* pull down */
802 drive-strength = <8>; /* 8 MA */
803 };
804 };
805 qdsd_data3_trace: data3_trace {
806 config {
807 pins = "qdsd_data3";
808 bias-pull-down; /* pull down */
809 drive-strength = <8>; /* 8 MA */
810 };
811 };
812 qdsd_data3_swduart: data3_uart {
813 config {
814 pins = "qdsd_data3";
815 bias-pull-up; /* pull up */
816 drive-strength = <2>; /* 2 MA */
817 };
818 };
819 qdsd_data3_swdtrc: data3_swdtrc {
820 config {
821 pins = "qdsd_data3";
822 bias-pull-up; /* pull up */
823 drive-strength = <2>; /* 2 MA */
824 };
825 };
826 qdsd_data3_jtag: data3_jtag {
827 config {
828 pins = "qdsd_data3";
829 bias-pull-up; /* pull up */
830 drive-strength = <2>; /* 2 MA */
831 };
832 };
833 qdsd_data3_spmi: data3_spmi {
834 config {
835 pins = "qdsd_data3";
836 bias-pull-down; /* pull down */
837 drive-strength = <8>; /* 8 MA */
838 };
839 };
840 };
841
842 pmx_sdc1_rclk {
843 sdc1_rclk_on: sdc1_rclk_on {
844 config {
845 pins = "sdc1_rclk";
846 bias-pull-down; /* pull down */
847 };
848 };
849
850 sdc1_rclk_off: sdc1_rclk_off {
851 config {
852 pins = "sdc1_rclk";
853 bias-pull-down; /* pull down */
854 };
855 };
856 };
857
858 wcd9xxx_intr {
859 wcd_intr_default: wcd_intr_default{
860 mux {
861 pins = "gpio73";
862 function = "gpio";
863 };
864
865 config {
866 pins = "gpio73";
867 drive-strength = <2>; /* 2 mA */
868 bias-pull-down; /* pull down */
869 input-enable;
870 };
871 };
872 };
873
874 cdc_reset_ctrl {
875 cdc_reset_sleep: cdc_reset_sleep {
876 mux {
877 pins = "gpio68";
878 function = "gpio";
879 };
880 config {
881 pins = "gpio68";
882 drive-strength = <16>;
883 bias-disable;
884 output-low;
885 };
886 };
887 cdc_reset_active:cdc_reset_active {
888 mux {
889 pins = "gpio68";
890 function = "gpio";
891 };
892 config {
893 pins = "gpio68";
894 drive-strength = <16>;
895 bias-pull-down;
896 output-high;
897 };
898 };
899 };
900
901 cdc-pdm-2-lines {
902 cdc_pdm_lines_2_act: pdm_lines_2_on {
903 mux {
904 pins = "gpio70", "gpio71", "gpio72";
905 function = "cdc_pdm0";
906 };
907
908 config {
909 pins = "gpio70", "gpio71", "gpio72";
910 drive-strength = <8>;
911 };
912 };
913
914 cdc_pdm_lines_2_sus: pdm_lines_2_off {
915 mux {
916 pins = "gpio70", "gpio71", "gpio72";
917 function = "cdc_pdm0";
918 };
919
920 config {
921 pins = "gpio70", "gpio71", "gpio72";
922 drive-strength = <2>;
923 bias-disable;
924 };
925 };
926 };
927
928 cdc-pdm-lines {
929 cdc_pdm_lines_act: pdm_lines_on {
930 mux {
931 pins = "gpio69", "gpio73", "gpio74";
932 function = "cdc_pdm0";
933 };
934
935 config {
936 pins = "gpio69", "gpio73", "gpio74";
937 drive-strength = <8>;
938 };
939 };
940 cdc_pdm_lines_sus: pdm_lines_off {
941 mux {
942 pins = "gpio69", "gpio73", "gpio74";
943 function = "cdc_pdm0";
944 };
945
946 config {
947 pins = "gpio69", "gpio73", "gpio74";
948 drive-strength = <2>;
949 bias-disable;
950 };
951 };
952 };
953
954 cross-conn-det {
955 cross_conn_det_act: lines_on {
956 mux {
957 pins = "gpio63";
958 function = "gpio";
959 };
960
961 config {
962 pins = "gpio63";
963 drive-strength = <8>;
964 output-low;
965 bias-pull-down;
966 };
967 };
968
969 cross_conn_det_sus: lines_off {
970 mux {
971 pins = "gpio63";
972 function = "gpio";
973 };
974
975 config {
976 pins = "gpio63";
977 drive-strength = <2>;
978 bias-pull-down;
979 };
980 };
981 };
982
983 /* WSA VI sense */
984 wsa-vi {
985 wsa_vi_on: wsa_vi_on {
986 mux {
987 pins = "gpio94", "gpio95";
988 function = "wsa_io";
989 };
990
991 config {
992 pins = "gpio94", "gpio95";
993 drive-strength = <8>; /* 8 MA */
994 bias-disable; /* NO pull */
995 };
996 };
997
998 wsa_vi_off: wsa_vi_off {
999 mux {
1000 pins = "gpio94", "gpio95";
1001 function = "wsa_io";
1002 };
1003
1004 config {
1005 pins = "gpio94", "gpio95";
1006 drive-strength = <2>; /* 2 MA */
1007 bias-pull-down;
1008 };
1009 };
1010 };
1011
1012 /* WSA Reset */
1013 wsa_reset {
1014 wsa_reset_on: wsa_reset_on {
1015 mux {
1016 pins = "gpio96";
1017 function = "gpio";
1018 };
1019
1020 config {
1021 pins = "gpio96";
1022 drive-strength = <2>; /* 2 MA */
1023 output-high;
1024 };
1025 };
1026
1027 wsa_reset_off: wsa_reset_off {
1028 mux {
1029 pins = "gpio96";
1030 function = "gpio";
1031 };
1032
1033 config {
1034 pins = "gpio96";
1035 drive-strength = <2>; /* 2 MA */
1036 output-low;
1037 };
1038 };
1039 };
1040
1041 /* WSA CLK */
1042 wsa_clk {
1043 wsa_clk_on: wsa_clk_on {
1044 mux {
1045 pins = "gpio25";
1046 function = "pri_mi2s_mclk_a";
1047 };
1048
1049 config {
1050 pins = "gpio25";
1051 drive-strength = <8>; /* 8 MA */
1052 output-high;
1053 };
1054 };
1055
1056 wsa_clk_off: wsa_clk_off {
1057 mux {
1058 pins = "gpio25";
1059 function = "pri_mi2s_mclk_a";
1060 };
1061
1062 config {
1063 pins = "gpio25";
1064 drive-strength = <2>; /* 2 MA */
1065 output-low;
1066 bias-pull-down;
1067 };
1068 };
1069 };
1070 pri-tlmm-lines {
1071 pri_tlmm_lines_act: pri_tlmm_lines_act {
1072 mux {
1073 pins = "gpio85", "gpio88";
1074 function = "pri_mi2s";
1075 };
1076
1077 config {
1078 pins = "gpio85", "gpio88";
1079 drive-strength = <8>;
1080 };
1081 };
1082
1083 pri_tlmm_lines_sus: pri_tlmm_lines_sus {
1084 mux {
1085 pins = "gpio85", "gpio88";
1086 function = "pri_mi2s";
1087 };
1088
1089 config {
1090 pins = "gpio85", "gpio88";
1091 drive-strength = <2>;
1092 bias-pull-down;
1093 };
1094 };
1095 };
1096
1097 pri-tlmm-ws-lines {
1098 pri_tlmm_ws_act: pri_tlmm_ws_act {
1099 mux {
1100 pins = "gpio87";
1101 function = "pri_mi2s_ws";
1102 };
1103
1104 config {
1105 pins = "gpio87";
1106 drive-strength = <8>;
1107 };
1108 };
1109
1110 pri_tlmm_ws_sus: pri_tlmm_ws_sus {
1111 mux {
1112 pins = "gpio87";
1113 function = "pri_mi2s_ws";
1114 };
1115
1116 config {
1117 pins = "gpio87";
1118 drive-strength = <2>;
1119 bias-pull-down;
1120 };
1121 };
1122 };
1123
1124 pmx_sdc1_clk {
1125 sdc1_clk_on: sdc1_clk_on {
1126 config {
1127 pins = "sdc1_clk";
1128 bias-disable; /* NO pull */
1129 drive-strength = <16>; /* 16 MA */
1130 };
1131 };
1132
1133 sdc1_clk_off: sdc1_clk_off {
1134 config {
1135 pins = "sdc1_clk";
1136 bias-disable; /* NO pull */
1137 drive-strength = <2>; /* 2 MA */
1138 };
1139 };
1140 };
1141
1142 pmx_sdc1_cmd {
1143 sdc1_cmd_on: sdc1_cmd_on {
1144 config {
1145 pins = "sdc1_cmd";
1146 bias-pull-up; /* pull up */
1147 drive-strength = <10>; /* 10 MA */
1148 };
1149 };
1150
1151 sdc1_cmd_off: sdc1_cmd_off {
1152 config {
1153 pins = "sdc1_cmd";
1154 bias-pull-up; /* pull up */
1155 drive-strength = <2>; /* 2 MA */
1156 };
1157 };
1158 };
1159
1160 pmx_sdc1_data {
1161 sdc1_data_on: sdc1_data_on {
1162 config {
1163 pins = "sdc1_data";
1164 bias-pull-up; /* pull up */
1165 drive-strength = <10>; /* 10 MA */
1166 };
1167 };
1168
1169 sdc1_data_off: sdc1_data_off {
1170 config {
1171 pins = "sdc1_data";
1172 bias-pull-up; /* pull up */
1173 drive-strength = <2>; /* 2 MA */
1174 };
1175 };
1176 };
1177
1178 sdhc2_cd_pin {
1179 sdc2_cd_on: cd_on {
1180 mux {
1181 pins = "gpio67";
1182 function = "gpio";
1183 };
1184
1185 config {
1186 pins = "gpio67";
1187 drive-strength = <2>;
1188 bias-pull-up;
1189 };
1190 };
1191
1192 sdc2_cd_off: cd_off {
1193 mux {
1194 pins = "gpio67";
1195 function = "gpio";
1196 };
1197
1198 config {
1199 pins = "gpio67";
1200 drive-strength = <2>;
1201 bias-disable;
1202 };
1203 };
1204 };
1205
1206 pmx_sdc2_clk {
1207 sdc2_clk_on: sdc2_clk_on {
1208 config {
1209 pins = "sdc2_clk";
1210 drive-strength = <16>; /* 16 MA */
1211 bias-disable; /* NO pull */
1212 };
1213 };
1214
1215 sdc2_clk_off: sdc2_clk_off {
1216 config {
1217 pins = "sdc2_clk";
1218 bias-disable; /* NO pull */
1219 drive-strength = <2>; /* 2 MA */
1220 };
1221 };
1222 };
1223
1224 pmx_sdc2_cmd {
1225 sdc2_cmd_on: sdc2_cmd_on {
1226 config {
1227 pins = "sdc2_cmd";
1228 bias-pull-up; /* pull up */
1229 drive-strength = <16>; /* 16 MA */
1230 };
1231 };
1232
1233 sdc2_cmd_off: sdc2_cmd_off {
1234 config {
1235 pins = "sdc2_cmd";
1236 bias-pull-up; /* pull up */
1237 drive-strength = <2>; /* 2 MA */
1238 };
1239 };
1240 };
1241
1242 pmx_sdc2_data {
1243 sdc2_data_on: sdc2_data_on {
1244 config {
1245 pins = "sdc2_data";
1246 bias-pull-up; /* pull up */
1247 drive-strength = <16>; /* 16 MA */
1248 };
1249 };
1250
1251 sdc2_data_off: sdc2_data_off {
1252 config {
1253 pins = "sdc2_data";
1254 bias-pull-up; /* pull up */
1255 drive-strength = <2>; /* 2 MA */
1256 };
1257 };
1258 };
1259
1260 cci {
1261 cci0_active: cci0_active {
1262 /* cci0 active state */
1263 mux {
1264 /* CLK, DATA */
1265 pins = "gpio29", "gpio30";
1266 function = "cci_i2c";
1267 };
1268
1269 config {
1270 pins = "gpio29", "gpio30";
1271 drive-strength = <2>; /* 2 MA */
1272 bias-disable; /* No PULL */
1273 };
1274 };
1275
1276 cci0_suspend: cci0_suspend {
1277 /* cci0 suspended state */
1278 mux {
1279 /* CLK, DATA */
1280 pins = "gpio29", "gpio30";
1281 function = "cci_i2c";
1282 };
1283
1284 config {
1285 pins = "gpio29", "gpio30";
1286 drive-strength = <2>; /* 2 MA */
1287 bias-disable; /* No PULL */
1288 };
1289 };
1290
1291 cci1_active: cci1_active {
1292 /* cci1 active state */
1293 mux {
1294 /* CLK, DATA */
1295 pins = "gpio31", "gpio32";
1296 function = "cci_i2c";
1297 };
1298
1299 config {
1300 pins = "gpio31", "gpio32";
1301 drive-strength = <2>; /* 2 MA */
1302 bias-disable; /* No PULL */
1303 };
1304 };
1305
1306 cci1_suspend: cci1_suspend {
1307 /* cci1 suspended state */
1308 mux {
1309 /* CLK, DATA */
1310 pins = "gpio31", "gpio32";
1311 function = "cci_i2c";
1312 };
1313
1314 config {
1315 pins = "gpio31", "gpio32";
1316 drive-strength = <2>; /* 2 MA */
1317 bias-disable; /* No PULL */
1318 };
1319 };
1320 };
1321
1322 /*sensors */
1323 cam_sensor_mclk0_default: cam_sensor_mclk0_default {
1324 /* MCLK0 */
1325 mux {
1326 /* CLK, DATA */
1327 pins = "gpio26";
1328 function = "cam_mclk";
1329 };
1330
1331 config {
1332 pins = "gpio26";
1333 bias-disable; /* No PULL */
1334 drive-strength = <2>; /* 2 MA */
1335 };
1336 };
1337
1338 cam_sensor_mclk0_sleep: cam_sensor_mclk0_sleep {
1339 /* MCLK0 */
1340 mux {
1341 /* CLK, DATA */
1342 pins = "gpio26";
1343 function = "cam_mclk";
1344 };
1345
1346 config {
1347 pins = "gpio26";
1348 bias-pull-down; /* PULL DOWN */
1349 drive-strength = <2>; /* 2 MA */
1350 };
1351 };
1352
1353 cam_sensor_rear_default: cam_sensor_rear_default {
1354 /* RESET, STANDBY */
1355 mux {
1356 pins = "gpio36", "gpio35";
1357 function = "gpio";
1358 };
1359
1360 config {
1361 pins = "gpio36","gpio35";
1362 bias-disable; /* No PULL */
1363 drive-strength = <2>; /* 2 MA */
1364 };
1365 };
1366
1367 cam_sensor_rear_sleep: cam_sensor_rear_sleep {
1368 /* RESET, STANDBY */
1369 mux {
1370 pins = "gpio36","gpio35";
1371 function = "gpio";
1372 };
1373
1374 config {
1375 pins = "gpio36","gpio35";
1376 bias-disable; /* No PULL */
1377 drive-strength = <2>; /* 2 MA */
1378 };
1379 };
1380
1381 cam_sensor_rear_vdig: cam_sensor_rear_vdig {
1382 /* VDIG */
1383 mux {
1384 pins = "gpio62";
1385 function = "gpio";
1386 };
1387
1388 config {
1389 pins = "gpio62";
1390 bias-disable; /* No PULL */
1391 drive-strength = <2>; /* 2 MA */
1392 };
1393 };
1394
1395 cam_sensor_rear_vdig_sleep: cam_sensor_rear_vdig_sleep {
1396 /* VDIG */
1397 mux {
1398 pins = "gpio62";
1399 function = "gpio";
1400 };
1401
1402 config {
1403 pins = "gpio62";
1404 bias-disable; /* No PULL */
1405 drive-strength = <2>; /* 2 MA */
1406 };
1407 };
1408
1409 cam_sensor_mclk1_default: cam_sensor_mclk1_default {
1410 /* MCLK1 */
1411 mux {
1412 /* CLK, DATA */
1413 pins = "gpio27";
1414 function = "cam_mclk";
1415 };
1416
1417 config {
1418 pins = "gpio27";
1419 bias-disable; /* No PULL */
1420 drive-strength = <2>; /* 2 MA */
1421 };
1422 };
1423
1424 cam_sensor_mclk1_sleep: cam_sensor_mclk1_sleep {
1425 /* MCLK1 */
1426 mux {
1427 /* CLK, DATA */
1428 pins = "gpio27";
1429 function = "cam_mclk";
1430 };
1431
1432 config {
1433 pins = "gpio27";
1434 bias-pull-down; /* PULL DOWN */
1435 drive-strength = <2>; /* 2 MA */
1436 };
1437 };
1438
1439 cam_sensor_front_default: cam_sensor_front_default {
1440 /* RESET, STANDBY */
1441 mux {
1442 pins = "gpio38","gpio50";
1443 function = "gpio";
1444 };
1445
1446 config {
1447 pins = "gpio38","gpio50";
1448 bias-disable; /* No PULL */
1449 drive-strength = <2>; /* 2 MA */
1450 };
1451 };
1452
1453 cam_sensor_front_sleep: cam_sensor_front_sleep {
1454 /* RESET, STANDBY */
1455 mux {
1456 pins = "gpio38","gpio50";
1457 function = "gpio";
1458 };
1459
1460 config {
1461 pins = "gpio38","gpio50";
1462 bias-disable; /* No PULL */
1463 drive-strength = <2>; /* 2 MA */
1464 };
1465 };
1466
1467 cam_sensor_mclk2_default: cam_sensor_mclk2_default {
1468 /* MCLK2 */
1469 mux {
1470 /* CLK, DATA */
1471 pins = "gpio28";
1472 function = "cam_mclk";
1473 };
1474
1475 config {
1476 pins = "gpio28";
1477 bias-disable; /* No PULL */
1478 drive-strength = <2>; /* 2 MA */
1479 };
1480 };
1481
1482 cam_sensor_mclk2_sleep: cam_sensor_mclk2_sleep {
1483 /* MCLK2 */
1484 mux {
1485 /* CLK, DATA */
1486 pins = "gpio28";
1487 function = "cam_mclk";
1488 };
1489
1490 config {
1491 pins = "gpio28";
1492 bias-pull-down; /* PULL DOWN */
1493 drive-strength = <2>; /* 2 MA */
1494 };
1495 };
1496
1497 cam_sensor_front1_default: cam_sensor_front1_default {
1498 /* RESET, STANDBY */
1499 mux {
1500 pins = "gpio40", "gpio39";
1501 function = "gpio";
1502 };
1503
1504 config {
1505 pins = "gpio40", "gpio39";
1506 bias-disable; /* No PULL */
1507 drive-strength = <2>; /* 2 MA */
1508 };
1509 };
1510
1511 cam_sensor_front1_sleep: cam_sensor_front1_sleep {
1512 /* RESET, STANDBY */
1513 mux {
1514 pins = "gpio40", "gpio39";
1515 function = "gpio";
1516 };
1517
1518 config {
1519 pins = "gpio40", "gpio39";
1520 bias-disable; /* No PULL */
1521 drive-strength = <2>; /* 2 MA */
1522 };
1523 };
1524 };
1525};