1// SPDX-License-Identifier: GPL-2.0
2/*
3 * pinctrl dts fils for Hislicon HiKey960 development board
4 *
5 */
6
7#include <dt-bindings/pinctrl/hisi.h>
8
9/ {
10	soc {
11		/* [IOMG_000, IOMG_123] */
12		range: gpio-range {
13			#pinctrl-single,gpio-range-cells = <3>;
14		};
15
16		pmx0: pinmux@e896c000 {
17			compatible = "pinctrl-single";
18			reg = <0x0 0xe896c000 0x0 0x1f0>;
19			#pinctrl-cells = <1>;
20			#gpio-range-cells = <0x3>;
21			pinctrl-single,register-width = <0x20>;
22			pinctrl-single,function-mask = <0x7>;
23			/* pin base, nr pins & gpio function */
24			pinctrl-single,gpio-range = <
25				&range 0 7 0
26				&range 8 116 0>;
27
28			pmu_pmx_func: pmu_pmx_func {
29				pinctrl-single,pins = <
30					0x008 MUX_M1 /* PMU1_SSI */
31					0x00c MUX_M1 /* PMU2_SSI */
32					0x010 MUX_M1 /* PMU_CLKOUT */
33					0x100 MUX_M1 /* PMU_HKADC_SSI */
34				>;
35			};
36
37			csi0_pwd_n_pmx_func: csi0_pwd_n_pmx_func {
38				pinctrl-single,pins = <
39					0x044 MUX_M0 /* CSI0_PWD_N */
40				>;
41			};
42
43			csi1_pwd_n_pmx_func: csi1_pwd_n_pmx_func {
44				pinctrl-single,pins = <
45					0x04c MUX_M0 /* CSI1_PWD_N */
46				>;
47			};
48
49			isp0_pmx_func: isp0_pmx_func {
50				pinctrl-single,pins = <
51					0x058 MUX_M1 /* ISP_CLK0 */
52					0x064 MUX_M1 /* ISP_SCL0 */
53					0x068 MUX_M1 /* ISP_SDA0 */
54				>;
55			};
56
57			isp1_pmx_func: isp1_pmx_func {
58				pinctrl-single,pins = <
59					0x05c MUX_M1 /* ISP_CLK1 */
60					0x06c MUX_M1 /* ISP_SCL1 */
61					0x070 MUX_M1 /* ISP_SDA1 */
62				>;
63			};
64
65			pwr_key_pmx_func: pwr_key_pmx_func {
66				pinctrl-single,pins = <
67					0x080 MUX_M0 /* GPIO_034 */
68				>;
69			};
70
71			i2c3_pmx_func: i2c3_pmx_func {
72				pinctrl-single,pins = <
73					0x02c MUX_M1 /* I2C3_SCL */
74					0x030 MUX_M1 /* I2C3_SDA */
75				>;
76			};
77
78			i2c4_pmx_func: i2c4_pmx_func {
79				pinctrl-single,pins = <
80					0x090 MUX_M1 /* I2C4_SCL */
81					0x094 MUX_M1 /* I2C4_SDA */
82				>;
83			};
84
85			pcie_perstn_pmx_func: pcie_perstn_pmx_func {
86				pinctrl-single,pins = <
87					0x15c MUX_M1 /* PCIE_PERST_N */
88				>;
89			};
90
91			usbhub5734_pmx_func: usbhub5734_pmx_func {
92				pinctrl-single,pins = <
93					0x11c MUX_M0 /* GPIO_073 */
94					0x120 MUX_M0 /* GPIO_074 */
95				>;
96			};
97
98			uart0_pmx_func: uart0_pmx_func {
99				pinctrl-single,pins = <
100					0x0cc MUX_M2 /* UART0_RXD */
101					0x0d0 MUX_M2 /* UART0_TXD */
102				>;
103			};
104
105			uart1_pmx_func: uart1_pmx_func {
106				pinctrl-single,pins = <
107					0x0b0 MUX_M2 /* UART1_CTS_N */
108					0x0b4 MUX_M2 /* UART1_RTS_N */
109					0x0a8 MUX_M2 /* UART1_RXD */
110					0x0ac MUX_M2 /* UART1_TXD */
111				>;
112			};
113
114			uart2_pmx_func: uart2_pmx_func {
115				pinctrl-single,pins = <
116					0x0bc MUX_M2 /* UART2_CTS_N */
117					0x0c0 MUX_M2 /* UART2_RTS_N */
118					0x0c8 MUX_M2 /* UART2_RXD */
119					0x0c4 MUX_M2 /* UART2_TXD */
120				>;
121			};
122
123			uart3_pmx_func: uart3_pmx_func {
124				pinctrl-single,pins = <
125					0x0dc MUX_M1 /* UART3_CTS_N */
126					0x0e0 MUX_M1 /* UART3_RTS_N */
127					0x0e4 MUX_M1 /* UART3_RXD */
128					0x0e8 MUX_M1 /* UART3_TXD */
129				>;
130			};
131
132			uart4_pmx_func: uart4_pmx_func {
133				pinctrl-single,pins = <
134					0x0ec MUX_M1 /* UART4_CTS_N */
135					0x0f0 MUX_M1 /* UART4_RTS_N */
136					0x0f4 MUX_M1 /* UART4_RXD */
137					0x0f8 MUX_M1 /* UART4_TXD */
138				>;
139			};
140
141			uart5_pmx_func: uart5_pmx_func {
142				pinctrl-single,pins = <
143					0x0c4 MUX_M3 /* UART5_CTS_N */
144					0x0c8 MUX_M3 /* UART5_RTS_N */
145					0x0bc MUX_M3 /* UART5_RXD */
146					0x0c0 MUX_M3 /* UART5_TXD */
147				>;
148			};
149
150			uart6_pmx_func: uart6_pmx_func {
151				pinctrl-single,pins = <
152					0x0cc MUX_M1 /* UART6_CTS_N */
153					0x0d0 MUX_M1 /* UART6_RTS_N */
154					0x0d4 MUX_M1 /* UART6_RXD */
155					0x0d8 MUX_M1 /* UART6_TXD */
156				>;
157			};
158
159			cam0_rst_pmx_func: cam0_rst_pmx_func {
160				pinctrl-single,pins = <
161					0x0c8 MUX_M0 /* CAM0_RST */
162				>;
163			};
164
165			cam1_rst_pmx_func: cam1_rst_pmx_func {
166				pinctrl-single,pins = <
167					0x124 MUX_M0 /* CAM1_RST */
168				>;
169			};
170		};
171
172		/* [IOMG_MMC0_000, IOMG_MMC0_005] */
173		pmx1: pinmux@ff37e000 {
174			compatible = "pinctrl-single";
175			reg = <0x0 0xff37e000 0x0 0x18>;
176			#gpio-range-cells = <0x3>;
177			#pinctrl-cells = <1>;
178			pinctrl-single,register-width = <0x20>;
179			pinctrl-single,function-mask = <0x7>;
180			/* pin base, nr pins & gpio function */
181			pinctrl-single,gpio-range = <&range 0 6 0>;
182
183			sd_pmx_func: sd_pmx_func {
184				pinctrl-single,pins = <
185					0x000 MUX_M1 /* SD_CLK */
186					0x004 MUX_M1 /* SD_CMD */
187					0x008 MUX_M1 /* SD_DATA0 */
188					0x00c MUX_M1 /* SD_DATA1 */
189					0x010 MUX_M1 /* SD_DATA2 */
190					0x014 MUX_M1 /* SD_DATA3 */
191				>;
192			};
193		};
194
195		/* [IOMG_FIX_000, IOMG_FIX_011] */
196		pmx2: pinmux@ff3b6000 {
197			compatible = "pinctrl-single";
198			reg = <0x0 0xff3b6000 0x0 0x30>;
199			#pinctrl-cells = <1>;
200			#gpio-range-cells = <0x3>;
201			pinctrl-single,register-width = <0x20>;
202			pinctrl-single,function-mask = <0x7>;
203			/* pin base, nr pins & gpio function */
204			pinctrl-single,gpio-range = <&range 0 12 0>;
205
206			ufs_pmx_func: ufs_pmx_func {
207				pinctrl-single,pins = <
208					0x000 MUX_M1 /* UFS_REF_CLK */
209					0x004 MUX_M1 /* UFS_RST_N */
210				>;
211			};
212
213			spi3_pmx_func: spi3_pmx_func {
214				pinctrl-single,pins = <
215					0x008 MUX_M1 /* SPI3_CLK */
216					0x00c MUX_M1 /* SPI3_DI */
217					0x010 MUX_M1 /* SPI3_DO */
218					0x014 MUX_M1 /* SPI3_CS0_N */
219				>;
220			};
221		};
222
223		/* [IOMG_MMC1_000, IOMG_MMC1_005] */
224		pmx3: pinmux@ff3fd000 {
225			compatible = "pinctrl-single";
226			reg = <0x0 0xff3fd000 0x0 0x18>;
227			#pinctrl-cells = <1>;
228			#gpio-range-cells = <0x3>;
229			pinctrl-single,register-width = <0x20>;
230			pinctrl-single,function-mask = <0x7>;
231			/* pin base, nr pins & gpio function */
232			pinctrl-single,gpio-range = <&range 0 6 0>;
233
234			sdio_pmx_func: sdio_pmx_func {
235				pinctrl-single,pins = <
236					0x000 MUX_M1 /* SDIO_CLK */
237					0x004 MUX_M1 /* SDIO_CMD */
238					0x008 MUX_M1 /* SDIO_DATA0 */
239					0x00c MUX_M1 /* SDIO_DATA1 */
240					0x010 MUX_M1 /* SDIO_DATA2 */
241					0x014 MUX_M1 /* SDIO_DATA3 */
242				>;
243			};
244		};
245
246		/* [IOMG_AO_000, IOMG_AO_041] */
247		pmx4: pinmux@fff11000 {
248			compatible = "pinctrl-single";
249			reg = <0x0 0xfff11000 0x0 0xa8>;
250			#pinctrl-cells = <1>;
251			#gpio-range-cells = <0x3>;
252			pinctrl-single,register-width = <0x20>;
253			pinctrl-single,function-mask = <0x7>;
254			/* pin base in node, nr pins & gpio function */
255			pinctrl-single,gpio-range = <&range 0 42 0>;
256
257			i2s2_pmx_func: i2s2_pmx_func {
258				pinctrl-single,pins = <
259					0x044 MUX_M1 /* I2S2_DI */
260					0x048 MUX_M1 /* I2S2_DO */
261					0x04c MUX_M1 /* I2S2_XCLK */
262					0x050 MUX_M1 /* I2S2_XFS */
263				>;
264			};
265
266			slimbus_pmx_func: slimbus_pmx_func {
267				pinctrl-single,pins = <
268					0x02c MUX_M1 /* SLIMBUS_CLK */
269					0x030 MUX_M1 /* SLIMBUS_DATA */
270				>;
271			};
272
273			i2c0_pmx_func: i2c0_pmx_func {
274				pinctrl-single,pins = <
275					0x014 MUX_M1 /* I2C0_SCL */
276					0x018 MUX_M1 /* I2C0_SDA */
277				>;
278			};
279
280			i2c1_pmx_func: i2c1_pmx_func {
281				pinctrl-single,pins = <
282					0x01c MUX_M1 /* I2C1_SCL */
283					0x020 MUX_M1 /* I2C1_SDA */
284				>;
285			};
286
287			i2c7_pmx_func: i2c7_pmx_func {
288				pinctrl-single,pins = <
289					0x024 MUX_M3 /* I2C7_SCL */
290					0x028 MUX_M3 /* I2C7_SDA */
291				>;
292			};
293
294			pcie_pmx_func: pcie_pmx_func {
295				pinctrl-single,pins = <
296					0x084 MUX_M1 /* PCIE_CLKREQ_N */
297					0x088 MUX_M1 /* PCIE_WAKE_N */
298				>;
299			};
300
301			spi2_pmx_func: spi2_pmx_func {
302				pinctrl-single,pins = <
303					0x08c MUX_M1 /* SPI2_CLK */
304					0x090 MUX_M1 /* SPI2_DI */
305					0x094 MUX_M1 /* SPI2_DO */
306					0x098 MUX_M1 /* SPI2_CS0_N */
307				>;
308			};
309
310			i2s0_pmx_func: i2s0_pmx_func {
311				pinctrl-single,pins = <
312					0x034 MUX_M1 /* I2S0_DI */
313					0x038 MUX_M1 /* I2S0_DO */
314					0x03c MUX_M1 /* I2S0_XCLK */
315					0x040 MUX_M1 /* I2S0_XFS */
316				>;
317			};
318		};
319
320		pmx5: pinmux@e896c800 {
321			compatible = "pinconf-single";
322			reg = <0x0 0xe896c800 0x0 0x200>;
323			#pinctrl-cells = <1>;
324			pinctrl-single,register-width = <0x20>;
325
326			pmu_cfg_func: pmu_cfg_func {
327				pinctrl-single,pins = <
328					0x010 0x0 /* PMU1_SSI */
329					0x014 0x0 /* PMU2_SSI */
330					0x018 0x0 /* PMU_CLKOUT */
331					0x10c 0x0 /* PMU_HKADC_SSI */
332				>;
333				pinctrl-single,bias-pulldown = <
334					PULL_DIS
335					PULL_DOWN
336					PULL_DIS
337					PULL_DOWN
338				>;
339				pinctrl-single,bias-pullup = <
340					PULL_DIS
341					PULL_UP
342					PULL_DIS
343					PULL_UP
344				>;
345				pinctrl-single,drive-strength = <
346					DRIVE7_06MA DRIVE6_MASK
347				>;
348			};
349
350			i2c3_cfg_func: i2c3_cfg_func {
351				pinctrl-single,pins = <
352					0x038 0x0 /* I2C3_SCL */
353					0x03c 0x0 /* I2C3_SDA */
354				>;
355				pinctrl-single,bias-pulldown = <
356					PULL_DIS
357					PULL_DOWN
358					PULL_DIS
359					PULL_DOWN
360				>;
361				pinctrl-single,bias-pullup = <
362					PULL_DIS
363					PULL_UP
364					PULL_DIS
365					PULL_UP
366				>;
367				pinctrl-single,drive-strength = <
368					DRIVE7_02MA DRIVE6_MASK
369				>;
370			};
371
372			csi0_pwd_n_cfg_func: csi0_pwd_n_cfg_func {
373				pinctrl-single,pins = <
374					0x050 0x0 /* CSI0_PWD_N */
375				>;
376				pinctrl-single,bias-pulldown = <
377					PULL_DIS
378					PULL_DOWN
379					PULL_DIS
380					PULL_DOWN
381				>;
382				pinctrl-single,bias-pullup = <
383					PULL_DIS
384					PULL_UP
385					PULL_DIS
386					PULL_UP
387				>;
388				pinctrl-single,drive-strength = <
389					DRIVE7_04MA DRIVE6_MASK
390				>;
391			};
392
393			csi1_pwd_n_cfg_func: csi1_pwd_n_cfg_func {
394				pinctrl-single,pins = <
395					0x058 0x0 /* CSI1_PWD_N */
396				>;
397				pinctrl-single,bias-pulldown = <
398					PULL_DIS
399					PULL_DOWN
400					PULL_DIS
401					PULL_DOWN
402				>;
403				pinctrl-single,bias-pullup = <
404					PULL_DIS
405					PULL_UP
406					PULL_DIS
407					PULL_UP
408				>;
409				pinctrl-single,drive-strength = <
410					DRIVE7_04MA DRIVE6_MASK
411				>;
412			};
413
414			isp0_cfg_func: isp0_cfg_func {
415				pinctrl-single,pins = <
416					0x064 0x0 /* ISP_CLK0 */
417					0x070 0x0 /* ISP_SCL0 */
418					0x074 0x0 /* ISP_SDA0 */
419				>;
420				pinctrl-single,bias-pulldown = <
421					PULL_DIS
422					PULL_DOWN
423					PULL_DIS
424					PULL_DOWN
425				>;
426				pinctrl-single,bias-pullup = <
427					PULL_DIS
428					PULL_UP
429					PULL_DIS
430					PULL_UP
431				>;
432				pinctrl-single,drive-strength = <
433					DRIVE7_04MA DRIVE6_MASK>;
434			};
435
436			isp1_cfg_func: isp1_cfg_func {
437				pinctrl-single,pins = <
438					0x068 0x0 /* ISP_CLK1 */
439					0x078 0x0 /* ISP_SCL1 */
440					0x07c 0x0 /* ISP_SDA1 */
441				>;
442				pinctrl-single,bias-pulldown = <
443					PULL_DIS
444					PULL_DOWN
445					PULL_DIS
446					PULL_DOWN
447				>;
448				pinctrl-single,bias-pullup = <
449					PULL_DIS
450					PULL_UP
451					PULL_DIS
452					PULL_UP
453				>;
454				pinctrl-single,drive-strength = <
455					DRIVE7_04MA DRIVE6_MASK
456				>;
457			};
458
459			pwr_key_cfg_func: pwr_key_cfg_func {
460				pinctrl-single,pins = <
461					0x08c 0x0 /* GPIO_034 */
462				>;
463				pinctrl-single,bias-pulldown = <
464					PULL_DIS
465					PULL_DOWN
466					PULL_DIS
467					PULL_DOWN
468				>;
469				pinctrl-single,bias-pullup = <
470					PULL_DIS
471					PULL_UP
472					PULL_DIS
473					PULL_UP
474				>;
475				pinctrl-single,drive-strength = <
476					DRIVE7_02MA DRIVE6_MASK
477				>;
478			};
479
480			uart1_cfg_func: uart1_cfg_func {
481				pinctrl-single,pins = <
482					0x0b4 0x0 /* UART1_RXD */
483					0x0b8 0x0 /* UART1_TXD */
484					0x0bc 0x0 /* UART1_CTS_N */
485					0x0c0 0x0 /* UART1_RTS_N */
486				>;
487				pinctrl-single,bias-pulldown = <
488					PULL_DIS
489					PULL_DOWN
490					PULL_DIS
491					PULL_DOWN
492				>;
493				pinctrl-single,bias-pullup = <
494					PULL_DIS
495					PULL_UP
496					PULL_DIS
497					PULL_UP
498				>;
499				pinctrl-single,drive-strength = <
500					DRIVE7_02MA DRIVE6_MASK
501				>;
502			};
503
504			uart2_cfg_func: uart2_cfg_func {
505				pinctrl-single,pins = <
506					0x0c8 0x0 /* UART2_CTS_N */
507					0x0cc 0x0 /* UART2_RTS_N */
508					0x0d0 0x0 /* UART2_TXD */
509					0x0d4 0x0 /* UART2_RXD */
510				>;
511				pinctrl-single,bias-pulldown = <
512					PULL_DIS
513					PULL_DOWN
514					PULL_DIS
515					PULL_DOWN
516				>;
517				pinctrl-single,bias-pullup = <
518					PULL_DIS
519					PULL_UP
520					PULL_DIS
521					PULL_UP
522				>;
523				pinctrl-single,drive-strength = <
524					DRIVE7_02MA DRIVE6_MASK
525				>;
526			};
527
528			uart5_cfg_func: uart5_cfg_func {
529				pinctrl-single,pins = <
530					0x0c8 0x0 /* UART5_RXD */
531					0x0cc 0x0 /* UART5_TXD */
532					0x0d0 0x0 /* UART5_CTS_N */
533					0x0d4 0x0 /* UART5_RTS_N */
534				>;
535				pinctrl-single,bias-pulldown = <
536					PULL_DIS
537					PULL_DOWN
538					PULL_DIS
539					PULL_DOWN
540				>;
541				pinctrl-single,bias-pullup = <
542					PULL_DIS
543					PULL_UP
544					PULL_DIS
545					PULL_UP
546				>;
547				pinctrl-single,drive-strength = <
548					DRIVE7_02MA DRIVE6_MASK
549				>;
550			};
551
552			cam0_rst_cfg_func: cam0_rst_cfg_func {
553				pinctrl-single,pins = <
554					0x0d4 0x0 /* CAM0_RST */
555				>;
556				pinctrl-single,bias-pulldown = <
557					PULL_DIS
558					PULL_DOWN
559					PULL_DIS
560					PULL_DOWN
561				>;
562				pinctrl-single,bias-pullup = <
563					PULL_DIS
564					PULL_UP
565					PULL_DIS
566					PULL_UP
567				>;
568				pinctrl-single,drive-strength = <
569					DRIVE7_04MA DRIVE6_MASK
570				>;
571			};
572
573			uart0_cfg_func: uart0_cfg_func {
574				pinctrl-single,pins = <
575					0x0d8 0x0 /* UART0_RXD */
576					0x0dc 0x0 /* UART0_TXD */
577				>;
578				pinctrl-single,bias-pulldown = <
579					PULL_DIS
580					PULL_DOWN
581					PULL_DIS
582					PULL_DOWN
583				>;
584				pinctrl-single,bias-pullup = <
585					PULL_DIS
586					PULL_UP
587					PULL_DIS
588					PULL_UP
589				>;
590				pinctrl-single,drive-strength = <
591					DRIVE7_02MA DRIVE6_MASK
592				>;
593			};
594
595			uart6_cfg_func: uart6_cfg_func {
596				pinctrl-single,pins = <
597					0x0d8 0x0 /* UART6_CTS_N */
598					0x0dc 0x0 /* UART6_RTS_N */
599					0x0e0 0x0 /* UART6_RXD */
600					0x0e4 0x0 /* UART6_TXD */
601				>;
602				pinctrl-single,bias-pulldown = <
603					PULL_DIS
604					PULL_DOWN
605					PULL_DIS
606					PULL_DOWN
607				>;
608				pinctrl-single,bias-pullup = <
609					PULL_DIS
610					PULL_UP
611					PULL_DIS
612					PULL_UP
613				>;
614				pinctrl-single,drive-strength = <
615					DRIVE7_02MA DRIVE6_MASK
616				>;
617			};
618
619			uart3_cfg_func: uart3_cfg_func {
620				pinctrl-single,pins = <
621					0x0e8 0x0 /* UART3_CTS_N */
622					0x0ec 0x0 /* UART3_RTS_N */
623					0x0f0 0x0 /* UART3_RXD */
624					0x0f4 0x0 /* UART3_TXD */
625				>;
626				pinctrl-single,bias-pulldown = <
627					PULL_DIS
628					PULL_DOWN
629					PULL_DIS
630					PULL_DOWN
631				>;
632				pinctrl-single,bias-pullup = <
633					PULL_DIS
634					PULL_UP
635					PULL_DIS
636					PULL_UP
637				>;
638				pinctrl-single,drive-strength = <
639					DRIVE7_02MA DRIVE6_MASK
640				>;
641			};
642
643			uart4_cfg_func: uart4_cfg_func {
644				pinctrl-single,pins = <
645					0x0f8 0x0 /* UART4_CTS_N */
646					0x0fc 0x0 /* UART4_RTS_N */
647					0x100 0x0 /* UART4_RXD */
648					0x104 0x0 /* UART4_TXD */
649				>;
650				pinctrl-single,bias-pulldown = <
651					PULL_DIS
652					PULL_DOWN
653					PULL_DIS
654					PULL_DOWN
655				>;
656				pinctrl-single,bias-pullup = <
657					PULL_DIS
658					PULL_UP
659					PULL_DIS
660					PULL_UP
661				>;
662				pinctrl-single,drive-strength = <
663					DRIVE7_02MA DRIVE6_MASK
664				>;
665			};
666
667			cam1_rst_cfg_func: cam1_rst_cfg_func {
668				pinctrl-single,pins = <
669					0x130 0x0 /* CAM1_RST */
670				>;
671				pinctrl-single,bias-pulldown = <
672					PULL_DIS
673					PULL_DOWN
674					PULL_DIS
675					PULL_DOWN
676				>;
677				pinctrl-single,bias-pullup = <
678					PULL_DIS
679					PULL_UP
680					PULL_DIS
681					PULL_UP
682				>;
683				pinctrl-single,drive-strength = <
684					DRIVE7_04MA DRIVE6_MASK
685				>;
686			};
687		};
688
689		pmx6: pinmux@ff3b6800 {
690			compatible = "pinconf-single";
691			reg = <0x0 0xff3b6800 0x0 0x18>;
692			#pinctrl-cells = <1>;
693			pinctrl-single,register-width = <0x20>;
694
695			ufs_cfg_func: ufs_cfg_func {
696				pinctrl-single,pins = <
697					0x000 0x0 /* UFS_REF_CLK */
698					0x004 0x0 /* UFS_RST_N */
699				>;
700				pinctrl-single,bias-pulldown = <
701					PULL_DIS
702					PULL_DOWN
703					PULL_DIS
704					PULL_DOWN
705				>;
706				pinctrl-single,bias-pullup = <
707					PULL_DIS
708					PULL_UP
709					PULL_DIS
710					PULL_UP
711				>;
712				pinctrl-single,drive-strength = <
713					DRIVE7_08MA DRIVE6_MASK
714				>;
715			};
716
717			spi3_cfg_func: spi3_cfg_func {
718				pinctrl-single,pins = <
719					0x008 0x0 /* SPI3_CLK */
720					0x00c 0x0 /* SPI3_DI */
721					0x010 0x0 /* SPI3_DO */
722					0x014 0x0 /* SPI3_CS0_N */
723				>;
724				pinctrl-single,bias-pulldown = <
725					PULL_DIS
726					PULL_DOWN
727					PULL_DIS
728					PULL_DOWN
729				>;
730				pinctrl-single,bias-pullup = <
731					PULL_DIS
732					PULL_UP
733					PULL_DIS
734					PULL_UP
735				>;
736				pinctrl-single,drive-strength = <
737					DRIVE7_06MA DRIVE6_MASK
738				>;
739			};
740		};
741
742		pmx7: pinmux@ff3fd800 {
743			compatible = "pinconf-single";
744			reg = <0x0 0xff3fd800 0x0 0x18>;
745			#pinctrl-cells = <1>;
746			pinctrl-single,register-width = <0x20>;
747
748			sdio_clk_cfg_func: sdio_clk_cfg_func {
749				pinctrl-single,pins = <
750					0x000 0x0 /* SDIO_CLK */
751				>;
752				pinctrl-single,bias-pulldown = <
753					PULL_DIS
754					PULL_DOWN
755					PULL_DIS
756					PULL_DOWN
757				>;
758				pinctrl-single,bias-pullup = <
759					PULL_DIS
760					PULL_UP
761					PULL_DIS
762					PULL_UP
763				>;
764				pinctrl-single,drive-strength = <
765					DRIVE6_32MA DRIVE6_MASK
766				>;
767			};
768
769			sdio_cfg_func: sdio_cfg_func {
770				pinctrl-single,pins = <
771					0x004 0x0 /* SDIO_CMD */
772					0x008 0x0 /* SDIO_DATA0 */
773					0x00c 0x0 /* SDIO_DATA1 */
774					0x010 0x0 /* SDIO_DATA2 */
775					0x014 0x0 /* SDIO_DATA3 */
776				>;
777				pinctrl-single,bias-pulldown = <
778					PULL_DIS
779					PULL_DOWN
780					PULL_DIS
781					PULL_DOWN
782				>;
783				pinctrl-single,bias-pullup = <
784					PULL_UP
785					PULL_UP
786					PULL_DIS
787					PULL_UP
788				>;
789				pinctrl-single,drive-strength = <
790					DRIVE6_19MA DRIVE6_MASK
791				>;
792			};
793		};
794
795		pmx8: pinmux@ff37e800 {
796			compatible = "pinconf-single";
797			reg = <0x0 0xff37e800 0x0 0x18>;
798			#pinctrl-cells = <1>;
799			pinctrl-single,register-width = <0x20>;
800
801			sd_clk_cfg_func: sd_clk_cfg_func {
802				pinctrl-single,pins = <
803					0x000 0x0 /* SD_CLK */
804				>;
805				pinctrl-single,bias-pulldown = <
806					PULL_DIS
807					PULL_DOWN
808					PULL_DIS
809					PULL_DOWN
810				>;
811				pinctrl-single,bias-pullup = <
812					PULL_DIS
813					PULL_UP
814					PULL_DIS
815					PULL_UP
816				>;
817				pinctrl-single,drive-strength = <
818					DRIVE6_32MA
819					DRIVE6_MASK
820				>;
821			};
822
823			sd_cfg_func: sd_cfg_func {
824				pinctrl-single,pins = <
825					0x004 0x0 /* SD_CMD */
826					0x008 0x0 /* SD_DATA0 */
827					0x00c 0x0 /* SD_DATA1 */
828					0x010 0x0 /* SD_DATA2 */
829					0x014 0x0 /* SD_DATA3 */
830				>;
831				pinctrl-single,bias-pulldown = <
832					PULL_DIS
833					PULL_DOWN
834					PULL_DIS
835					PULL_DOWN
836				>;
837				pinctrl-single,bias-pullup = <
838					PULL_UP
839					PULL_UP
840					PULL_DIS
841					PULL_UP
842				>;
843				pinctrl-single,drive-strength = <
844					DRIVE6_19MA
845					DRIVE6_MASK
846				>;
847			};
848		};
849
850		pmx9: pinmux@fff11800 {
851			compatible = "pinconf-single";
852			reg = <0x0 0xfff11800 0x0 0xbc>;
853			#pinctrl-cells = <1>;
854			pinctrl-single,register-width = <0x20>;
855
856			i2c0_cfg_func: i2c0_cfg_func {
857				pinctrl-single,pins = <
858					0x01c 0x0 /* I2C0_SCL */
859					0x020 0x0 /* I2C0_SDA */
860				>;
861				pinctrl-single,bias-pulldown = <
862					PULL_DIS
863					PULL_DOWN
864					PULL_DIS
865					PULL_DOWN
866				>;
867				pinctrl-single,bias-pullup = <
868					PULL_UP
869					PULL_UP
870					PULL_DIS
871					PULL_UP
872				>;
873				pinctrl-single,drive-strength = <
874					DRIVE7_02MA DRIVE6_MASK
875				>;
876			};
877
878			i2c1_cfg_func: i2c1_cfg_func {
879				pinctrl-single,pins = <
880					0x024 0x0 /* I2C1_SCL */
881					0x028 0x0 /* I2C1_SDA */
882				>;
883				pinctrl-single,bias-pulldown = <
884					PULL_DIS
885					PULL_DOWN
886					PULL_DIS
887					PULL_DOWN
888				>;
889				pinctrl-single,bias-pullup = <
890					PULL_UP
891					PULL_UP
892					PULL_DIS
893					PULL_UP
894				>;
895				pinctrl-single,drive-strength = <
896					DRIVE7_02MA DRIVE6_MASK
897				>;
898			};
899
900			i2c7_cfg_func: i2c7_cfg_func {
901				pinctrl-single,pins = <
902					0x02c 0x0 /* I2C7_SCL */
903					0x030 0x0 /* I2C7_SDA */
904				>;
905				pinctrl-single,bias-pulldown = <
906					PULL_DIS
907					PULL_DOWN
908					PULL_DIS
909					PULL_DOWN
910				>;
911				pinctrl-single,bias-pullup = <
912					PULL_UP
913					PULL_UP
914					PULL_DIS
915					PULL_UP
916				>;
917				pinctrl-single,drive-strength = <
918					DRIVE7_02MA DRIVE6_MASK
919				>;
920			};
921
922			slimbus_cfg_func: slimbus_cfg_func {
923				pinctrl-single,pins = <
924					0x034 0x0 /* SLIMBUS_CLK */
925					0x038 0x0 /* SLIMBUS_DATA */
926				>;
927				pinctrl-single,bias-pulldown = <
928					PULL_DIS
929					PULL_DOWN
930					PULL_DIS
931					PULL_DOWN
932				>;
933				pinctrl-single,bias-pullup = <
934					PULL_UP
935					PULL_UP
936					PULL_DIS
937					PULL_UP
938				>;
939				pinctrl-single,drive-strength = <
940					DRIVE7_02MA DRIVE6_MASK
941				>;
942			};
943
944			i2s0_cfg_func: i2s0_cfg_func {
945				pinctrl-single,pins = <
946					0x040 0x0 /* I2S0_DI */
947					0x044 0x0 /* I2S0_DO */
948					0x048 0x0 /* I2S0_XCLK */
949					0x04c 0x0 /* I2S0_XFS */
950				>;
951				pinctrl-single,bias-pulldown = <
952					PULL_DIS
953					PULL_DOWN
954					PULL_DIS
955					PULL_DOWN
956				>;
957				pinctrl-single,bias-pullup = <
958					PULL_UP
959					PULL_UP
960					PULL_DIS
961					PULL_UP
962				>;
963				pinctrl-single,drive-strength = <
964					DRIVE7_02MA DRIVE6_MASK
965				>;
966			};
967
968			i2s2_cfg_func: i2s2_cfg_func {
969				pinctrl-single,pins = <
970					0x050 0x0 /* I2S2_DI */
971					0x054 0x0 /* I2S2_DO */
972					0x058 0x0 /* I2S2_XCLK */
973					0x05c 0x0 /* I2S2_XFS */
974				>;
975				pinctrl-single,bias-pulldown = <
976					PULL_DIS
977					PULL_DOWN
978					PULL_DIS
979					PULL_DOWN
980				>;
981				pinctrl-single,bias-pullup = <
982					PULL_UP
983					PULL_UP
984					PULL_DIS
985					PULL_UP
986				>;
987				pinctrl-single,drive-strength = <
988					DRIVE7_02MA DRIVE6_MASK
989				>;
990			};
991
992			pcie_cfg_func: pcie_cfg_func {
993				pinctrl-single,pins = <
994					0x094 0x0 /* PCIE_CLKREQ_N */
995					0x098 0x0 /* PCIE_WAKE_N */
996				>;
997				pinctrl-single,bias-pulldown = <
998					PULL_DIS
999					PULL_DOWN
1000					PULL_DIS
1001					PULL_DOWN
1002				>;
1003				pinctrl-single,bias-pullup = <
1004					PULL_UP
1005					PULL_UP
1006					PULL_DIS
1007					PULL_UP
1008				>;
1009				pinctrl-single,drive-strength = <
1010					DRIVE7_02MA DRIVE6_MASK
1011				>;
1012			};
1013
1014			spi2_cfg_func: spi2_cfg_func {
1015				pinctrl-single,pins = <
1016					0x09c 0x0 /* SPI2_CLK */
1017					0x0a0 0x0 /* SPI2_DI */
1018					0x0a4 0x0 /* SPI2_DO */
1019					0x0a8 0x0 /* SPI2_CS0_N */
1020				>;
1021				pinctrl-single,bias-pulldown = <
1022					PULL_DIS
1023					PULL_DOWN
1024					PULL_DIS
1025					PULL_DOWN
1026				>;
1027				pinctrl-single,bias-pullup = <
1028					PULL_UP
1029					PULL_UP
1030					PULL_DIS
1031					PULL_UP
1032				>;
1033				pinctrl-single,drive-strength = <
1034					DRIVE7_06MA DRIVE6_MASK
1035				>;
1036			};
1037
1038			usb_cfg_func: usb_cfg_func {
1039				pinctrl-single,pins = <
1040					0x0ac 0x0 /* GPIO_219 */
1041				>;
1042				pinctrl-single,bias-pulldown = <
1043					PULL_DIS
1044					PULL_DOWN
1045					PULL_DIS
1046					PULL_DOWN
1047				>;
1048				pinctrl-single,bias-pullup = <
1049					PULL_UP
1050					PULL_UP
1051					PULL_DIS
1052					PULL_UP
1053				>;
1054				pinctrl-single,drive-strength = <
1055					DRIVE7_02MA DRIVE6_MASK
1056				>;
1057			};
1058		};
1059	};
1060};
1061