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