Skip to content

Commit 58b51dd

Browse files
metapsychologenashif
authored andcommitted
pinmux: stm32f4: add MII interface
Add Pin multiplexing for MII ethernet interface for STM32F4. Signed-off-by: Alexander Polleti <[email protected]>
1 parent daf1ba6 commit 58b51dd

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

drivers/pinmux/stm32/pinmux_stm32f4.h

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
1717
#define STM32F4_PINMUX_FUNC_PA0_UART4_TX \
1818
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
19+
#define STM32F4_PINMUX_FUNC_PA0_ETH \
20+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
21+
STM32_OSPEEDR_VERY_HIGH_SPEED)
1922

2023
#define STM32F4_PINMUX_FUNC_PA1_I2S4_SD \
2124
(STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_PULLUP)
@@ -96,6 +99,9 @@
9699
/* Port B */
97100
#define STM32F4_PINMUX_FUNC_PB0_I2S5_CK \
98101
(STM32_PINMUX_ALT_FUNC_6 | STM32_PUSHPULL_NOPULL)
102+
#define STM32F4_PINMUX_FUNC_PB0_ETH \
103+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
104+
STM32_OSPEEDR_VERY_HIGH_SPEED)
99105

100106
#define STM32F4_PINMUX_FUNC_PB3_I2S3_CK \
101107
(STM32_PINMUX_ALT_FUNC_6 | STM32_PUSHPULL_NOPULL)
@@ -105,6 +111,9 @@
105111
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_NOPULL)
106112
#define STM32F4_PINMUX_FUNC_PB3_I2C2_SDA \
107113
(STM32_PINMUX_ALT_FUNC_9 | STM32_OPENDRAIN_PULLUP)
114+
#define STM32F4_PINMUX_FUNC_PB1_ETH \
115+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
116+
STM32_OSPEEDR_VERY_HIGH_SPEED)
108117

109118
#define STM32F4_PINMUX_FUNC_PB4_UART7_TX \
110119
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
@@ -115,6 +124,9 @@
115124
(STM32_PINMUX_ALT_FUNC_6 | STM32_PUSHPULL_NOPULL)
116125
#define STM32F4_PINMUX_FUNC_PB5_UART5_RX \
117126
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL)
127+
#define STM32F4_PINMUX_FUNC_PB5_ETH \
128+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
129+
STM32_OSPEEDR_VERY_HIGH_SPEED)
118130

119131
#define STM32F4_PINMUX_FUNC_PB6_PWM4_CH1 \
120132
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUSHPULL_NOPULL)
@@ -140,6 +152,9 @@
140152
(STM32_PINMUX_ALT_FUNC_6 | STM32_PUSHPULL_NOPULL)
141153
#define STM32F4_PINMUX_FUNC_PB8_UART5_RX \
142154
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL)
155+
#define STM32F4_PINMUX_FUNC_PB8_ETH \
156+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
157+
STM32_OSPEEDR_VERY_HIGH_SPEED)
143158

144159
#define STM32F4_PINMUX_FUNC_PB9_PWM4_CH4 \
145160
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUSHPULL_NOPULL)
@@ -154,6 +169,9 @@
154169
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
155170
#define STM32F4_PINMUX_FUNC_PB10_USART3_TX \
156171
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
172+
#define STM32F4_PINMUX_FUNC_PB10_ETH \
173+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
174+
STM32_OSPEEDR_VERY_HIGH_SPEED)
157175

158176
#define STM32F4_PINMUX_FUNC_PB11_I2C2_SDA \
159177
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
@@ -204,10 +222,22 @@
204222
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
205223
STM32_OSPEEDR_VERY_HIGH_SPEED)
206224

225+
#define STM32F4_PINMUX_FUNC_PC2_ETH \
226+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
227+
STM32_OSPEEDR_VERY_HIGH_SPEED)
228+
229+
#define STM32F4_PINMUX_FUNC_PC3_ETH \
230+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
231+
STM32_OSPEEDR_VERY_HIGH_SPEED)
232+
207233
#define STM32F4_PINMUX_FUNC_PC4_ETH \
208234
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
209235
STM32_OSPEEDR_VERY_HIGH_SPEED)
210236

237+
#define STM32F4_PINMUX_FUNC_PC4_ETH \
238+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
239+
STM32_OSPEEDR_VERY_HIGH_SPEED)
240+
211241
#define STM32F4_PINMUX_FUNC_PC5_USART3_RX \
212242
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
213243
#define STM32F4_PINMUX_FUNC_PC5_ETH \
@@ -286,6 +316,9 @@
286316

287317
#define STM32F4_PINMUX_FUNC_PE2_UART10_RX \
288318
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL)
319+
#define STM32F4_PINMUX_FUNC_PE2_ETH \
320+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
321+
STM32_OSPEEDR_VERY_HIGH_SPEED)
289322

290323
#define STM32F4_PINMUX_FUNC_PE3_UART10_TX \
291324
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_PULLUP)
@@ -330,6 +363,10 @@
330363
#define STM32F4_PINMUX_FUNC_PG9_USART6_RX \
331364
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_NOPULL)
332365

366+
#define STM32F4_PINMUX_FUNC_PG8_ETH \
367+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
368+
STM32_OSPEEDR_VERY_HIGH_SPEED)
369+
333370
#define STM32F4_PINMUX_FUNC_PG11_UART10_RX \
334371
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL)
335372
#define STM32F4_PINMUX_FUNC_PG11_ETH \
@@ -350,6 +387,14 @@
350387
STM32_OSPEEDR_VERY_HIGH_SPEED)
351388

352389
/* Port H */
390+
#define STM32F4_PINMUX_FUNC_PH2_ETH \
391+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
392+
STM32_OSPEEDR_VERY_HIGH_SPEED)
393+
394+
#define STM32F4_PINMUX_FUNC_PH3_ETH \
395+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
396+
STM32_OSPEEDR_VERY_HIGH_SPEED)
397+
353398
#define STM32F4_PINMUX_FUNC_PH4_I2C2_SCL \
354399
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
355400

@@ -358,8 +403,16 @@
358403

359404
#define STM32F4_PINMUX_FUNC_PH7_I2C3_SCL \
360405
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
406+
#define STM32F4_PINMUX_FUNC_PH7_ETH \
407+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
408+
STM32_OSPEEDR_VERY_HIGH_SPEED)
361409

362410
#define STM32F4_PINMUX_FUNC_PH8_I2C3_SDA \
363411
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
364412

413+
/* Port I */
414+
#define STM32F4_PINMUX_FUNC_PI10_ETH \
415+
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
416+
STM32_OSPEEDR_VERY_HIGH_SPEED)
417+
365418
#endif /* ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F4_H_ */

0 commit comments

Comments
 (0)