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
//! ESP32 GPIO Pin Assignments for EMAC
//!
//! This module documents and provides constants for the GPIO pins used by
//! the EMAC peripheral on various ESP32 variants.
//!
//! # Important: Internal Routing
//!
//! The ESP32 EMAC uses **dedicated internal routing** for its RMII data interface.
//! These pins are fixed and cannot be reassigned via the GPIO matrix.
//!
//! # ESP32 RMII Pin Assignments
//!
//! | Signal | GPIO | Direction | Notes |
//! |----------|------|-----------|-------|
//! | TXD0 | 19 | Output | Fixed internal routing |
//! | TXD1 | 22 | Output | Fixed internal routing |
//! | TX_EN | 21 | Output | Fixed internal routing |
//! | RXD0 | 25 | Input | Fixed internal routing |
//! | RXD1 | 26 | Input | Fixed internal routing |
//! | CRS_DV | 27 | Input | Fixed internal routing |
//!
//! # Reference Clock Options
//!
//! | Mode | GPIO | Description |
//! |------|------|-------------|
//! | External input | 0 | 50 MHz from PHY |
//! | Internal output | 16 | 50 MHz to PHY (APLL) |
//! | Internal output | 17 | 50 MHz to PHY (APLL) |
//!
//! # SMI/MDIO Interface
//!
//! The SMI interface pins can be reassigned via GPIO matrix:
//! - **MDC** (clock): Default GPIO23
//! - **MDIO** (data): Default GPIO18
// =============================================================================
// ESP32 GPIO Assignments
// =============================================================================
/// EMAC RMII GPIO assignments for ESP32
// =============================================================================
// ESP32-P4 GPIO Assignments (Placeholder)
// =============================================================================
/// EMAC GPIO assignments for ESP32-P4 (experimental placeholder).