ESP32-P4: Which GPIOs to use for RMII?

In the ESP32-P4, you can’t use any GPIOs for RMII. You need to use specific pins for the RMII interface. For many of the RMII functions, there are multiple functions.

There are three groups of RMII pin mappings, and each signal can be assigned independently to any of the groups. This means you can mix and match signals from different groups as needed - but for every signal, you must select one of the groups and use the corresponding pins

RMII pin mapping by group 🔧

RMII functionRMII Group 1RMII Group 2RMII Group 3
RMII_CRSDVGPIO28GPIO45GPIO51
RMII_RXD0GPIO29GPIO46GPIO52
RMII_RXD1GPIO30GPIO47GPIO53
RMII_RXERGPIO31GPIO48GPIO54
RMII_CLKGPIO32GPIO44GPIO50
RMII_TXENGPIO33GPIO40GPIO49
RMII_TXD0GPIO34GPIO41-
RMII_TXD1GPIO35GPIO42-
RMII_TXERGPIO36GPIO43-

Note: Group 3 provides partial routing and excludes transmit signals except RMII_TXEN; dashes indicate no mapping for that group.

Source: ESP32-P4 Datasheet, ESP32-P4 hardware design guidelines


Check out similar posts by category: ESP32-P4, Ethernet, Electronics