1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
4 */
5
6&msmgpio {
7
8	blsp1_uart1_default: blsp1-uart1-default-state {
9		/* TX, RX, CTS_N, RTS_N */
10		pins = "gpio0", "gpio1", "gpio2", "gpio3";
11		function = "blsp_uart1";
12
13		drive-strength = <16>;
14		bias-disable;
15	};
16
17	blsp1_uart1_sleep: blsp1-uart1-sleep-state {
18		pins = "gpio0", "gpio1", "gpio2", "gpio3";
19		function = "gpio";
20
21		drive-strength = <2>;
22		bias-pull-down;
23	};
24
25	blsp1_uart2_default: blsp1-uart2-default-state {
26		pins = "gpio4", "gpio5";
27		function = "blsp_uart2";
28
29		drive-strength = <16>;
30		bias-disable;
31	};
32
33	blsp1_uart2_sleep: blsp1-uart2-sleep-state {
34		pins = "gpio4", "gpio5";
35		function = "gpio";
36
37		drive-strength = <2>;
38		bias-pull-down;
39	};
40
41	spi1_default: spi1-default-state {
42		spi-pins {
43			pins = "gpio0", "gpio1", "gpio3";
44			function = "blsp_spi1";
45
46			drive-strength = <12>;
47			bias-disable;
48		};
49		cs-pins {
50			pins = "gpio2";
51			function = "gpio";
52
53			drive-strength = <16>;
54			bias-disable;
55			output-high;
56		};
57	};
58
59	spi1_sleep: spi1-sleep-state {
60		pins = "gpio0", "gpio1", "gpio2", "gpio3";
61		function = "gpio";
62
63		drive-strength = <2>;
64		bias-pull-down;
65	};
66
67	spi2_default: spi2-default-state {
68		spi-pins {
69			pins = "gpio4", "gpio5", "gpio7";
70			function = "blsp_spi2";
71
72			drive-strength = <12>;
73			bias-disable;
74		};
75		cs-pins {
76			pins = "gpio6";
77			function = "gpio";
78
79			drive-strength = <16>;
80			bias-disable;
81			output-high;
82		};
83	};
84
85	spi2_sleep: spi2-sleep-state {
86		pins = "gpio4", "gpio5", "gpio6", "gpio7";
87		function = "gpio";
88
89		drive-strength = <2>;
90		bias-pull-down;
91	};
92
93	spi3_default: spi3-default-state {
94		spi-pins {
95			pins = "gpio8", "gpio9", "gpio11";
96			function = "blsp_spi3";
97
98			drive-strength = <12>;
99			bias-disable;
100		};
101		cs-pins {
102			pins = "gpio10";
103			function = "gpio";
104
105			drive-strength = <16>;
106			bias-disable;
107			output-high;
108		};
109	};
110
111	spi3_sleep: spi3-sleep-state {
112		pins = "gpio8", "gpio9", "gpio10", "gpio11";
113		function = "gpio";
114
115		drive-strength = <2>;
116		bias-pull-down;
117	};
118
119	spi4_default: spi4-default-state {
120		spi-pins {
121			pins = "gpio12", "gpio13", "gpio15";
122			function = "blsp_spi4";
123
124			drive-strength = <12>;
125			bias-disable;
126		};
127		cs-pins {
128			pins = "gpio14";
129			function = "gpio";
130
131			drive-strength = <16>;
132			bias-disable;
133			output-high;
134		};
135	};
136
137	spi4_sleep: spi4-sleep-state {
138		pins = "gpio12", "gpio13", "gpio14", "gpio15";
139		function = "gpio";
140
141		drive-strength = <2>;
142		bias-pull-down;
143	};
144
145	spi5_default: spi5-default-state {
146		spi-pins {
147			pins = "gpio16", "gpio17", "gpio19";
148			function = "blsp_spi5";
149
150			drive-strength = <12>;
151			bias-disable;
152		};
153		cs-pins {
154			pins = "gpio18";
155			function = "gpio";
156
157			drive-strength = <16>;
158			bias-disable;
159			output-high;
160		};
161	};
162
163	spi5_sleep: spi5-sleep-state {
164		pins = "gpio16", "gpio17", "gpio18", "gpio19";
165		function = "gpio";
166
167		drive-strength = <2>;
168		bias-pull-down;
169	};
170
171	spi6_default: spi6-default-state {
172		spi-pins {
173			pins = "gpio20", "gpio21", "gpio23";
174			function = "blsp_spi6";
175
176			drive-strength = <12>;
177			bias-disable;
178		};
179		cs-pins {
180			pins = "gpio22";
181			function = "gpio";
182
183			drive-strength = <16>;
184			bias-disable;
185			output-high;
186		};
187	};
188
189	spi6_sleep: spi6-sleep-state {
190		pins = "gpio20", "gpio21", "gpio22", "gpio23";
191		function = "gpio";
192
193		drive-strength = <2>;
194		bias-pull-down;
195	};
196
197	i2c1_default: i2c1-default-state {
198		pins = "gpio2", "gpio3";
199		function = "blsp_i2c1";
200
201		drive-strength = <2>;
202		bias-disable;
203	};
204
205	i2c1_sleep: i2c1-sleep-state {
206		pins = "gpio2", "gpio3";
207		function = "gpio";
208
209		drive-strength = <2>;
210		bias-disable;
211	};
212
213	i2c2_default: i2c2-default-state {
214		pins = "gpio6", "gpio7";
215		function = "blsp_i2c2";
216
217		drive-strength = <2>;
218		bias-disable;
219	};
220
221	i2c2_sleep: i2c2-sleep-state {
222		pins = "gpio6", "gpio7";
223		function = "gpio";
224
225		drive-strength = <2>;
226		bias-disable;
227	};
228
229	i2c3_default: i2c3-default-state {
230		pins = "gpio10", "gpio11";
231		function = "blsp_i2c3";
232
233		drive-strength = <2>;
234		bias-disable;
235	};
236
237	i2c3_sleep: i2c3-sleep-state {
238		pins = "gpio10", "gpio11";
239		function = "gpio";
240
241		drive-strength = <2>;
242		bias-disable;
243	};
244
245	i2c4_default: i2c4-default-state {
246		pins = "gpio14", "gpio15";
247		function = "blsp_i2c4";
248
249		drive-strength = <2>;
250		bias-disable;
251	};
252
253	i2c4_sleep: i2c4-sleep-state {
254		pins = "gpio14", "gpio15";
255		function = "gpio";
256
257		drive-strength = <2>;
258		bias-disable;
259	};
260
261	i2c5_default: i2c5-default-state {
262		pins = "gpio18", "gpio19";
263		function = "blsp_i2c5";
264
265		drive-strength = <2>;
266		bias-disable;
267	};
268
269	i2c5_sleep: i2c5-sleep-state {
270		pins = "gpio18", "gpio19";
271		function = "gpio";
272
273		drive-strength = <2>;
274		bias-disable;
275	};
276
277	i2c6_default: i2c6-default-state {
278		pins = "gpio22", "gpio23";
279		function = "blsp_i2c6";
280
281		drive-strength = <2>;
282		bias-disable;
283	};
284
285	i2c6_sleep: i2c6-sleep-state {
286		pins = "gpio22", "gpio23";
287		function = "gpio";
288
289		drive-strength = <2>;
290		bias-disable;
291	};
292
293	pmx-sdc1-clk-state {
294		sdc1_clk_on: clk-on-pins {
295			pins = "sdc1_clk";
296
297			bias-disable;
298			drive-strength = <16>;
299		};
300		sdc1_clk_off: clk-off-pins {
301			pins = "sdc1_clk";
302
303			bias-disable;
304			drive-strength = <2>;
305		};
306	};
307
308	pmx-sdc1-cmd-state {
309		sdc1_cmd_on: cmd-on-pins {
310			pins = "sdc1_cmd";
311
312			bias-pull-up;
313			drive-strength = <10>;
314		};
315		sdc1_cmd_off: cmd-off-pins {
316			pins = "sdc1_cmd";
317
318			bias-pull-up;
319			drive-strength = <2>;
320		};
321	};
322
323	pmx-sdc1-data-state {
324		sdc1_data_on: data-on-pins {
325			pins = "sdc1_data";
326
327			bias-pull-up;
328			drive-strength = <10>;
329		};
330		sdc1_data_off: data-off-pins {
331			pins = "sdc1_data";
332
333			bias-pull-up;
334			drive-strength = <2>;
335		};
336	};
337
338	pmx-sdc2-clk-state {
339		sdc2_clk_on: clk-on-pins {
340			pins = "sdc2_clk";
341
342			bias-disable;
343			drive-strength = <16>;
344		};
345		sdc2_clk_off: clk-off-pins {
346			pins = "sdc2_clk";
347
348			bias-disable;
349			drive-strength = <2>;
350		};
351	};
352
353	pmx-sdc2-cmd-state {
354		sdc2_cmd_on: cmd-on-pins {
355			pins = "sdc2_cmd";
356
357			bias-pull-up;
358			drive-strength = <10>;
359		};
360		sdc2_cmd_off: cmd-off-pins {
361			pins = "sdc2_cmd";
362
363			bias-pull-up;
364			drive-strength = <2>;
365		};
366	};
367
368	pmx-sdc2-data-state {
369		sdc2_data_on: data-on-pins {
370			pins = "sdc2_data";
371
372			bias-pull-up;
373			drive-strength = <10>;
374		};
375		sdc2_data_off: data-off-pins {
376			pins = "sdc2_data";
377
378			bias-pull-up;
379			drive-strength = <2>;
380		};
381	};
382
383	pmx-sdc2-cd-pin-state {
384		sdc2_cd_on: cd-on-pins {
385			pins = "gpio38";
386			function = "gpio";
387
388			drive-strength = <2>;
389			bias-pull-up;
390		};
391		sdc2_cd_off: cd-off-pins {
392			pins = "gpio38";
393			function = "gpio";
394
395			drive-strength = <2>;
396			bias-disable;
397		};
398	};
399
400	cdc-pdm-lines-state {
401		cdc_pdm_lines_act: pdm-lines-on-pins {
402			pins = "gpio63", "gpio64", "gpio65", "gpio66",
403			       "gpio67", "gpio68";
404			function = "cdc_pdm0";
405
406			drive-strength = <8>;
407			bias-disable;
408		};
409		cdc_pdm_lines_sus: pdm-lines-off-pins {
410			pins = "gpio63", "gpio64", "gpio65", "gpio66",
411			       "gpio67", "gpio68";
412			function = "cdc_pdm0";
413
414			drive-strength = <2>;
415			bias-pull-down;
416		};
417	};
418
419	ext-pri-tlmm-lines-state {
420		ext_pri_tlmm_lines_act: ext-pa-on-pins {
421			pins = "gpio113", "gpio114", "gpio115", "gpio116";
422			function = "pri_mi2s";
423
424			drive-strength = <8>;
425			bias-disable;
426		};
427		ext_pri_tlmm_lines_sus: ext-pa-off-pins {
428			pins = "gpio113", "gpio114", "gpio115", "gpio116";
429			function = "pri_mi2s";
430
431			drive-strength = <2>;
432			bias-disable;
433		};
434	};
435
436	ext-pri-ws-line-state {
437		ext_pri_ws_act: ext-pa-on-pins {
438			pins = "gpio110";
439			function = "pri_mi2s_ws";
440
441			drive-strength = <8>;
442			bias-disable;
443		};
444		ext_pri_ws_sus: ext-pa-off-pins {
445			pins = "gpio110";
446			function = "pri_mi2s_ws";
447
448			drive-strength = <2>;
449			bias-disable;
450		};
451	};
452
453	ext-mclk-tlmm-lines-state {
454		ext_mclk_tlmm_lines_act: mclk-lines-on-pins {
455			pins = "gpio116";
456			function = "pri_mi2s";
457
458			drive-strength = <8>;
459			bias-disable;
460		};
461		ext_mclk_tlmm_lines_sus: mclk-lines-off-pins {
462			pins = "gpio116";
463			function = "pri_mi2s";
464
465			drive-strength = <2>;
466			bias-disable;
467		};
468	};
469
470	/* secondary Mi2S */
471	ext-sec-tlmm-lines-state {
472		ext_sec_tlmm_lines_act: tlmm-lines-on-pins {
473			pins = "gpio112", "gpio117", "gpio118", "gpio119";
474			function = "sec_mi2s";
475
476			drive-strength = <8>;
477			bias-disable;
478		};
479		ext_sec_tlmm_lines_sus: tlmm-lines-off-pins {
480			pins = "gpio112", "gpio117", "gpio118", "gpio119";
481			function = "sec_mi2s";
482
483			drive-strength = <2>;
484			bias-disable;
485		};
486	};
487
488	cdc_dmic_lines_act: cdc-dmic-lines-on-state {
489		clk-pins {
490			pins = "gpio0";
491			function = "dmic0_clk";
492
493			drive-strength = <8>;
494		};
495		data-pins {
496			pins = "gpio1";
497			function = "dmic0_data";
498
499			drive-strength = <8>;
500		};
501	};
502	cdc_dmic_lines_sus: cdc-dmic-lines-off-state {
503		clk-pins {
504			pins = "gpio0";
505			function = "dmic0_clk";
506
507			drive-strength = <2>;
508			bias-disable;
509		};
510		data-pins {
511			pins = "gpio1";
512			function = "dmic0_data";
513
514			drive-strength = <2>;
515			bias-disable;
516		};
517	};
518
519	wcnss_pin_a: wcnss-active-state {
520		pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
521		function = "wcss_wlan";
522
523		drive-strength = <6>;
524		bias-pull-up;
525	};
526
527	cci0_default: cci0-default-state {
528		pins = "gpio29", "gpio30";
529		function = "cci_i2c";
530
531		drive-strength = <16>;
532		bias-disable;
533	};
534
535	camera_front_default: camera-front-default-state {
536		pwdn-pins {
537			pins = "gpio33";
538			function = "gpio";
539
540			drive-strength = <16>;
541			bias-disable;
542		};
543		rst-pins {
544			pins = "gpio28";
545			function = "gpio";
546
547			drive-strength = <16>;
548			bias-disable;
549		};
550		mclk1-pins {
551			pins = "gpio27";
552			function = "cam_mclk1";
553
554			drive-strength = <16>;
555			bias-disable;
556		};
557	};
558
559	camera_rear_default: camera-rear-default-state {
560		pwdn-pins {
561			pins = "gpio34";
562			function = "gpio";
563
564			drive-strength = <16>;
565			bias-disable;
566		};
567		rst-pins {
568			pins = "gpio35";
569			function = "gpio";
570
571			drive-strength = <16>;
572			bias-disable;
573		};
574		mclk0-pins {
575			pins = "gpio26";
576			function = "cam_mclk0";
577
578			drive-strength = <16>;
579			bias-disable;
580		};
581	};
582};
583