summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi
blob: 8fdd5f020425d53eefa724de9c23ec0ca211ab7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
/*
 * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
 */
#include <dt-bindings/pinctrl/stm32-pinfunc.h>

&pinctrl {
	eth2_rgmii_pins_a: eth2-rgmii-0 {
		pins1 {
			pinmux = <STM32_PINMUX('C', 7, AF10)>, /* ETH_RGMII_TXD0 */
				 <STM32_PINMUX('C', 8, AF10)>, /* ETH_RGMII_TXD1 */
				 <STM32_PINMUX('C', 9, AF10)>, /* ETH_RGMII_TXD2 */
				 <STM32_PINMUX('C', 10, AF10)>, /* ETH_RGMII_TXD3 */
				 <STM32_PINMUX('C', 4, AF10)>; /* ETH_RGMII_TX_CTL */
			bias-disable;
			drive-push-pull;
			slew-rate = <3>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('F', 8, AF10)>, /* ETH_RGMII_CLK125 */
				 <STM32_PINMUX('F', 7, AF10)>, /* ETH_RGMII_GTX_CLK */
				 <STM32_PINMUX('C', 6, AF10)>; /* ETH_MDC */
			bias-disable;
			drive-push-pull;
			slew-rate = <3>;
		};
		pins3 {
			pinmux = <STM32_PINMUX('C', 5, AF10)>; /* ETH_MDIO */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins4 {
			pinmux = <STM32_PINMUX('G', 0, AF10)>, /* ETH_RGMII_RXD0 */
				 <STM32_PINMUX('C', 12, AF10)>, /* ETH_RGMII_RXD1 */
				 <STM32_PINMUX('F', 9, AF10)>, /* ETH_RGMII_RXD2 */
				 <STM32_PINMUX('C', 11, AF10)>, /* ETH_RGMII_RXD3 */
				 <STM32_PINMUX('C', 3, AF10)>; /* ETH_RGMII_RX_CTL */
			bias-disable;
		};
		pins5 {
			pinmux = <STM32_PINMUX('F', 6, AF10)>; /* ETH_RGMII_RX_CLK */
			bias-disable;
		};
	};

	eth2_rgmii_sleep_pins_a: eth2-rgmii-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('C', 7, ANALOG)>, /* ETH_RGMII_TXD0 */
				 <STM32_PINMUX('C', 8, ANALOG)>, /* ETH_RGMII_TXD1 */
				 <STM32_PINMUX('C', 9, ANALOG)>, /* ETH_RGMII_TXD2 */
				 <STM32_PINMUX('C', 10, ANALOG)>, /* ETH_RGMII_TXD3 */
				 <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_TX_CTL */
				 <STM32_PINMUX('F', 8, ANALOG)>, /* ETH_RGMII_CLK125 */
				 <STM32_PINMUX('F', 7, ANALOG)>, /* ETH_RGMII_GTX_CLK */
				 <STM32_PINMUX('C', 6, ANALOG)>, /* ETH_MDC */
				 <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_MDIO */
				 <STM32_PINMUX('G', 0, ANALOG)>, /* ETH_RGMII_RXD0 */
				 <STM32_PINMUX('C', 12, ANALOG)>, /* ETH_RGMII_RXD1 */
				 <STM32_PINMUX('F', 9, ANALOG)>, /* ETH_RGMII_RXD2 */
				 <STM32_PINMUX('C', 11, ANALOG)>, /* ETH_RGMII_RXD3 */
				 <STM32_PINMUX('C', 3, ANALOG)>, /* ETH_RGMII_RX_CTL */
				 <STM32_PINMUX('F', 6, ANALOG)>; /* ETH_RGMII_RX_CLK */
		};
	};

	i2c2_pins_a: i2c2-0 {
		pins {
			pinmux = <STM32_PINMUX('B', 5, AF9)>, /* I2C2_SCL */
				 <STM32_PINMUX('B', 4, AF9)>; /* I2C2_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c2_sleep_pins_a: i2c2-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('B', 5, ANALOG)>, /* I2C2_SCL */
				 <STM32_PINMUX('B', 4, ANALOG)>; /* I2C2_SDA */
		};
	};

	sdmmc1_b4_pins_a: sdmmc1-b4-0 {
		pins1 {
			pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */
				 <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */
				 <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */
				 <STM32_PINMUX('E', 1, AF10)>, /* SDMMC1_D3 */
				 <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */
			slew-rate = <2>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */
			slew-rate = <3>;
			drive-push-pull;
			bias-disable;
		};
	};

	sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
		pins1 {
			pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */
				 <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */
				 <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */
				 <STM32_PINMUX('E', 1, AF10)>; /* SDMMC1_D3 */
			slew-rate = <2>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */
			slew-rate = <3>;
			drive-push-pull;
			bias-disable;
		};
		pins3 {
			pinmux = <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */
			slew-rate = <2>;
			drive-open-drain;
			bias-disable;
		};
	};

	sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('E', 4, ANALOG)>, /* SDMMC1_D0 */
				 <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC1_D1 */
				 <STM32_PINMUX('E', 0, ANALOG)>, /* SDMMC1_D2 */
				 <STM32_PINMUX('E', 1, ANALOG)>, /* SDMMC1_D3 */
				 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC1_CK */
				 <STM32_PINMUX('E', 2, ANALOG)>; /* SDMMC1_CMD */
		};
	};

	spi3_pins_a: spi3-0 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 7, AF1)>, /* SPI3_SCK */
				 <STM32_PINMUX('B', 8, AF1)>; /* SPI3_MOSI */
			drive-push-pull;
			bias-disable;
			slew-rate = <1>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('B', 10, AF1)>; /* SPI3_MISO */
			bias-disable;
		};
	};

	spi3_sleep_pins_a: spi3-sleep-0 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 7, ANALOG)>, /* SPI3_SCK */
				 <STM32_PINMUX('B', 8, ANALOG)>, /* SPI3_MOSI */
				 <STM32_PINMUX('B', 10, ANALOG)>; /* SPI3_MISO */
		};
	};

	usart2_pins_a: usart2-0 {
		pins1 {
			pinmux = <STM32_PINMUX('A', 4, AF6)>; /* USART2_TX */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */
			bias-disable;
		};
	};

	usart2_idle_pins_a: usart2-idle-0 {
		pins1 {
			pinmux = <STM32_PINMUX('A', 4, ANALOG)>; /* USART2_TX */
		};
		pins2 {
			pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */
			bias-disable;
		};
	};

	usart2_sleep_pins_a: usart2-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* USART2_TX */
				 <STM32_PINMUX('A', 8, ANALOG)>; /* USART2_RX */
		};
	};

	usart6_pins_a: usart6-0 {
		pins1 {
			pinmux = <STM32_PINMUX('F', 13, AF3)>, /* USART6_TX */
				 <STM32_PINMUX('G', 5, AF3)>;  /* USART6_RTS */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('F', 14, AF3)>, /* USART6_RX */
				 <STM32_PINMUX('F', 15, AF3)>; /* USART6_CTS_NSS */
			bias-pull-up;
		};
	};

	usart6_idle_pins_a: usart6-idle-0 {
		pins1 {
			pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */
				 <STM32_PINMUX('F', 15, ANALOG)>; /* USART6_CTS_NSS */
		};
		pins2 {
			pinmux = <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins3 {
			pinmux = <STM32_PINMUX('F', 14, AF3)>; /* USART6_RX */
			bias-pull-up;
		};
	};

	usart6_sleep_pins_a: usart6-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */
				 <STM32_PINMUX('G', 5, ANALOG)>,  /* USART6_RTS */
				 <STM32_PINMUX('F', 15, ANALOG)>, /* USART6_CTS_NSS */
				 <STM32_PINMUX('F', 14, ANALOG)>; /* USART6_RX */
		};
	};
};

&pinctrl_z {
	i2c8_pins_a: i2c8-0 {
		pins {
			pinmux = <STM32_PINMUX('Z', 4, AF8)>, /* I2C8_SCL */
				 <STM32_PINMUX('Z', 3, AF8)>; /* I2C8_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c8_sleep_pins_a: i2c8-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C8_SCL */
				 <STM32_PINMUX('Z', 3, ANALOG)>; /* I2C8_SDA */
		};
	};
};

&pinctrl_z {
	spi8_pins_a: spi8-0 {
		pins1 {
			pinmux = <STM32_PINMUX('Z', 2, AF3)>, /* SPI8_SCK */
				 <STM32_PINMUX('Z', 0, AF3)>; /* SPI8_MOSI */
			drive-push-pull;
			bias-disable;
			slew-rate = <1>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('Z', 1, AF3)>; /* SPI8_MISO */
			bias-disable;
		};
	};

	spi8_sleep_pins_a: spi8-sleep-0 {
		pins1 {
			pinmux = <STM32_PINMUX('Z', 2, ANALOG)>, /* SPI8_SCK */
				 <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI8_MOSI */
				 <STM32_PINMUX('Z', 1, ANALOG)>; /* SPI8_MISO */
		};
	};
};