xref: /linux/arch/arm/boot/dts/broadcom/bcm2166x-pinctrl.dtsi (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Common pinmux configrations for BCM2166x (BCM21664/BCM23550).
4 *
5 * Copyright (C) 2025 Artur Weber <aweber.kernel@gmail.com>
6 */
7
8&pinctrl {
9	/* BSC1 */
10	bsc1_pins: bsc1-pins {
11		bsc1clk-grp0 {
12			pins = "bsc1clk";
13			function = "alt1"; /* BSC1CLK */
14		};
15
16		bsc1dat-grp0 {
17			pins = "bsc1dat";
18			function = "alt1"; /* BSC1DAT */
19		};
20	};
21
22	/* BSC2 */
23	bsc2_pins: bsc2-pins {
24		bsc2clk-grp0 {
25			pins = "gpio16";
26			function = "alt2"; /* BSC2CLK */
27		};
28
29		bsc2dat-grp0 {
30			pins = "gpio17";
31			function = "alt2"; /* BSC2DAT */
32		};
33	};
34
35	/* BSC3 */
36	bsc3_pins: bsc3-pins {
37		bsc3clk-grp0 {
38			pins = "lcdscl";
39			function = "alt1"; /* BSC3_CLK */
40		};
41
42		bsc3dat-grp0 {
43			pins = "lcdsda";
44			function = "alt1"; /* BSC3_SDA */
45		};
46	};
47
48	/* BSC4 */
49	bsc4_pins: bsc4-pins {
50		bsc4clk-grp0 {
51			pins = "lcdres";
52			function = "alt1"; /* BSC4_CLK */
53		};
54
55		bsc4dat-grp0 {
56			pins = "lcdte";
57			function = "alt1"; /* BSC4_SDA */
58		};
59	};
60
61	/* PMBSC */
62	pmbsc_pins: pmbsc-pins {
63		pmbscclk-grp0 {
64			pins = "pmbscclk";
65			function = "alt1"; /* PMBSCCLK */
66		};
67
68		pmbscdat-grp0 {
69			pins = "pmbscdat";
70			function = "alt1"; /* PMBSCDAT */
71		};
72	};
73
74	/* SD */
75	sd_width1_pins: sd-width1-pins {
76		sdck-grp0 {
77			pins = "sdck";
78			function = "alt1"; /* SDCK */
79			bias-disable;
80		};
81
82		sdcmd-grp0 {
83			pins = "sdcmd";
84			function = "alt1"; /* SDCMD */
85			bias-pull-up;
86		};
87
88		sddat-grp0 {
89			pins = "sddat0";
90			function = "alt1"; /* SDDATx */
91			bias-pull-up;
92		};
93	};
94
95	sd_width4_pins: sd-width4-pins {
96		sdck-grp0 {
97			pins = "sdck";
98			function = "alt1"; /* SDCK */
99			bias-disable;
100		};
101
102		sdcmd-grp0 {
103			pins = "sdcmd";
104			function = "alt1"; /* SDCMD */
105			bias-pull-up;
106		};
107
108		sddat-grp0 {
109			pins = "sddat0", "sddat1", "sddat2", "sddat3";
110			function = "alt1"; /* SDDATx */
111			bias-pull-up;
112		};
113	};
114
115	/* SD1 */
116	sd1_width1_pins: sd1-width1-pins {
117		sd1ck-grp0 {
118			pins = "mmc1dat7";
119			function = "alt6"; /* SD1CK */
120			bias-disable;
121		};
122
123		sd1cmd-grp0 {
124			pins = "spi0txd";
125			function = "alt2"; /* SD1CMD */
126			bias-pull-up;
127		};
128
129		sd1dat0-grp0 {
130			pins = "mmc1dat5";
131			function = "alt6"; /* SD1DAT0 */
132			bias-pull-up;
133		};
134	};
135
136	sd1_width4_pins: sd1-width4-pins {
137		sd1ck-grp0 {
138			pins = "mmc1dat7";
139			function = "alt6"; /* SD1CK */
140			bias-disable;
141		};
142
143		sd1cmd-grp0 {
144			pins = "spi0txd";
145			function = "alt2"; /* SD1CMD */
146			bias-pull-up;
147		};
148
149		sd1dat0-grp0 {
150			pins = "mmc1dat5";
151			function = "alt6"; /* SD1DAT0 */
152			bias-pull-up;
153		};
154
155		sd1dat1-grp0 {
156			pins = "gpio93";
157			function = "alt1"; /* SD1DAT1 */
158			bias-pull-up;
159		};
160
161		sd1dat2-grp0 {
162			pins = "gpio94";
163			function = "alt1"; /* SD1DAT2 */
164			bias-pull-up;
165		};
166
167		sd1dat3-grp0 {
168			pins = "mmc1dat3";
169			function = "alt6"; /* SD1DAT3 */
170			bias-pull-up;
171		};
172	};
173
174	/* MMC0 */
175	mmc0_width1_pins: mmc0-width1-pins {
176		mmc0ck-grp0 {
177			pins = "mmc0ck";
178			function = "alt1"; /* MMC0CK */
179			bias-disable;
180		};
181
182		mmc0cmd-grp0 {
183			pins = "mmc0cmd";
184			function = "alt1"; /* MMC0CMD */
185			bias-pull-up;
186		};
187
188		mmc0dat-grp0 {
189			pins = "mmc0dat0";
190			function = "alt1"; /* MMC0DATx */
191			bias-pull-up;
192		};
193	};
194
195	mmc0_width4_pins: mmc0-width4-pins {
196		mmc0ck-grp0 {
197			pins = "mmc0ck";
198			function = "alt1"; /* MMC0CK */
199			bias-disable;
200		};
201
202		mmc0cmd-grp0 {
203			pins = "mmc0cmd";
204			function = "alt1"; /* MMC0CMD */
205			bias-pull-up;
206		};
207
208		mmc0dat-grp0 {
209			pins = "mmc0dat0", "mmc0dat1", "mmc0dat2", "mmc0dat3";
210			function = "alt1"; /* MMC0DATx */
211			bias-pull-up;
212		};
213	};
214
215	mmc0_width8_pins: mmc0-width8-pins {
216		mmc0ck-grp0 {
217			pins = "mmc0ck";
218			function = "alt1"; /* MMC0CK */
219			bias-disable;
220		};
221
222		mmc0cmd-grp0 {
223			pins = "mmc0cmd";
224			function = "alt1"; /* MMC0CMD */
225			bias-pull-up;
226		};
227
228		mmc0dat-grp0 {
229			pins = "mmc0dat0", "mmc0dat1", "mmc0dat2", "mmc0dat3",
230			       "mmc0dat4", "mmc0dat5", "mmc0dat6", "mmc0dat7";
231			function = "alt1"; /* MMC0DATx */
232			bias-pull-up;
233		};
234	};
235
236	/* MMC1 */
237	mmc1_width1_pins: mmc1-width1-pins {
238		mmc1ck-grp0 {
239			pins = "mmc1ck";
240			function = "alt1"; /* MMC1CK */
241			bias-disable;
242		};
243
244		mmc1cmd-grp0 {
245			pins = "mmc1cmd";
246			function = "alt1"; /* MMC1CMD */
247			bias-pull-up;
248		};
249
250		mmc1dat-grp0 {
251			pins = "mmc1dat0";
252			function = "alt1"; /* MMC1DATx */
253			bias-pull-up;
254		};
255	};
256
257	mmc1_width4_pins: mmc1-width4-pins {
258		mmc1ck-grp0 {
259			pins = "mmc1ck";
260			function = "alt1"; /* MMC1CK */
261			bias-disable;
262		};
263
264		mmc1cmd-grp0 {
265			pins = "mmc1cmd";
266			function = "alt1"; /* MMC1CMD */
267			bias-pull-up;
268		};
269
270		mmc1dat-grp0 {
271			pins = "mmc1dat0", "mmc1dat1", "mmc1dat2", "mmc1dat3";
272			function = "alt1"; /* MMC1DATx */
273			bias-pull-up;
274		};
275	};
276
277	mmc1_width8_pins: mmc1-width8-pins {
278		mmc1ck-grp0 {
279			pins = "mmc1ck";
280			function = "alt1"; /* MMC1CK */
281			bias-disable;
282		};
283
284		mmc1cmd-grp0 {
285			pins = "mmc1cmd";
286			function = "alt1"; /* MMC1CMD */
287			bias-pull-up;
288		};
289
290		mmc1dat-grp0 {
291			pins = "mmc1dat0", "mmc1dat1", "mmc1dat2", "mmc1dat3",
292			       "mmc1dat4", "mmc1dat5", "mmc1dat6", "mmc1dat7";
293			function = "alt1"; /* MMC1DATx */
294			bias-pull-up;
295		};
296	};
297};
298