AnsweredAssumed Answered

Ethernet RMII1 Interface not working in Linux on Vybrid Board

Question asked by Andreas Lie on Nov 5, 2015
Latest reply on Nov 18, 2015 by Andreas Lie

Hello.

 

We are using Yocto and Timesys BSP to build our custom Linux BSP. (Kernel 3.0.15)

The Kernel and ethernet works fine on the development kit VF65GS10 (with original iomuxes), but once we change from RMII0 to RMII1 interface for ethernet for the custom hardware, it does not work any more.

I've been over the definitions multiple times, but cannot see what's wrong.

 

We use the same setup/definitions in U-boot on the custom board, and there it works fine.

We have also verified that the external input clock is 50MHz.

 

Any tips or help would be very much appreciated!

Thanks for your time.

 

Regards

Andreas Eknes Lie

 

 

// declarations (excerpt from arch/arm/plat-mxc/include/mach/iomux-mvf.h)

 

#define MVF600_PAD0_PTA6__RMII_CLKOUT                           \

                 IOMUX_PAD(0x0000, 0x0000, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_OBE_ENABLE)

/*FEC1*/

#define MVF600_PAD54_PTC9__RMII1_MDC                            \

                 IOMUX_PAD(0x00D8, 0x00D8, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_OBE_ENABLE)

#define MVF600_PAD55_PTC10__RMII1_MDIO                          \

                 IOMUX_PAD(0x00DC, 0x00DC, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_OBE_IBE_ENABLE)

#define MVF600_PAD56_PTC11__RMII1_CRS_DV                        \

                 IOMUX_PAD(0x00E0, 0x00E0, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_IBE_ENABLE)

#define MVF600_PAD57_PTC12__RMII1_RXD1                          \

                 IOMUX_PAD(0x00E4, 0x00E4, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_IBE_ENABLE)

#define MVF600_PAD58_PTC13__RMII1_RXD0                          \

                 IOMUX_PAD(0x00E8, 0x00E8, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_IBE_ENABLE)

#define MVF600_PAD59_PTC14__RMII1_RXER                          \

                 IOMUX_PAD(0x00EC, 0x00EC, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_IBE_ENABLE)

#define MVF600_PAD60_PTC15__RMII1_TXD1                          \

                 IOMUX_PAD(0x00F0, 0x00F0, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_OBE_ENABLE)

#define MVF600_PAD61_PTC16__RMII1_TXD0                          \

                 IOMUX_PAD(0x00F4, 0x00F4, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_OBE_ENABLE)

#define MVF600_PAD62_PTC17__RMII1_TXEN                          \

                 IOMUX_PAD(0x00F8, 0x00F8, 1, 0x0000, 0, \

                                 MVF600_ENET_PAD_CTRL | PAD_CTL_OBE_ENABLE)

 

// definitions (excerpt from arch/arm/mach-mvf/board-twr-vf700.c)

 

// add the PTA6 RMII0_CLKOUT

MVF600_PAD0_PTA6__RMII_CLKOUT,

MVF600_PAD54_PTC9__RMII1_MDC,

MVF600_PAD55_PTC10__RMII1_MDIO,

MVF600_PAD56_PTC11__RMII1_CRS_DV,

MVF600_PAD57_PTC12__RMII1_RXD1,

MVF600_PAD58_PTC13__RMII1_RXD0,

MVF600_PAD59_PTC14__RMII1_RXER,

MVF600_PAD60_PTC15__RMII1_TXD1,

MVF600_PAD61_PTC16__RMII1_TXD0,

MVF600_PAD62_PTC17__RMII1_TXEN,

 

We have configured/designed the board the following way: (erratum e8052, page 75, alternative A)

http://cache.freescale.com/files/microcontrollers/doc/user_guide/VYBRIDHDUG.pdf

Similar issue as, but no PHY detected at all in our case

https://community.freescale.com/thread/318899#394874

 

We enabled both devices in the kernel configuration, just to be on the safe-side of things.

 

Kernel output:

..

eth0: no PHY, assuming direct connection to switch

PHY 0:00 not found

eth0: could not attach to PHY

IP-Config: Failed to open eth0

eth1: no PHY, assuming direct connection to switch

PHY 0:00 not found

eth1: could not attach to PHY

IP-Config: Failed to open eth1

IP-Config: No network devices available.

..

Outcomes