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