i.MXRT105x Middleware Pack  
CMSIS-Drivers for NXP i.MXRT105x devices
 
Loading...
Searching...
No Matches
CMSIS-Driver for EMAC Interface

CMSIS-Driver for EMAC Interface Setup

The CMSIS-Driver for EMAC Interface requires:

  • ENET Pins
  • ENET Clock

Valid pin settings for ENET peripheral on EVKB-IMXRT1050 evaluation board are listed in the table below:

# Peripheral Signal Route to Direction Software Input On Pull/Keeper enable Slew rate
A7 ENET MDC GPIO_EMC_40 Output Disabled Disabled Fast
C7 ENET MDIO GPIO_EMC_41 Input/Output Disabled Disabled Fast
B13 ENET REF_CLK GPIO_B1_10 Output Enabled Disabled Fast
E12 ENET RX_DATA,0 GPIO_B1_04 Input Disabled Disabled Fast
D12 ENET RX_DATA,1 GPIO_B1_05 Input Disabled Disabled Fast
C12 ENET RX_EN GPIO_B1_06 Input Disabled Disabled Fast
C13 ENET RX_ER GPIO_B1_11 Input Disabled Disabled Fast
B12 ENET TX_DATA,0 GPIO_B1_07 Output Disabled Disabled Fast
A12 ENET TX_DATA,1 GPIO_B1_08 Output Disabled Disabled Fast
A13 ENET TX_EN GPIO_B1_09 Output Disabled Disabled Fast
G13 GPIO1 goio_io,10 GPIO_AD_B0_10 Output Disabled Disabled Fast
F14 GPIO1 gpio_io, 9 GPIO_AD_B0_09 Not specified Disabled Enabled Slow

The rest of the settings can be at the default (reset) value.

For other boards or custom hardware, refer to the hardware schematics to reflect correct setup values.

This driver uses special signal identifiers in order to properly detect Media Interface mode (MII or RMII). These identifiers are required when using MII mode and must be assigned to signals as follows:

Signal Identifier
RX_DATA,2 ENET_RXD2
RX_DATA,3 ENET_RXD3
TX_DATA,2 ENET_TXD2
TX_DATA,3 ENET_TXD3

In the MCUXpresso Config Tools, make sure that the following pin and clock settings are made (enter the values that are shown in italics):

  1. Under the Functional Group entry in the toolbar, select Board_InitENET
  2. Modify Routed Pins configuration to match the settings listed in the table above
  3. Click on the flag next to Functional Group BOARD_InitENET to enable calling that function from initialization code
  4. Go to Tools - Clocks
  5. Go to Views - Details and set ENET_125M_CLK value to 50MHz and ENET_25M_REF_CLK value to 25MHz. Configure PLL6 (ENET_PLL) by setting PLL Power down to No and PLL6 bypass to PLL6 (ENET) output.
  6. Click on Update Project button to update source files