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