cancel
Showing results for 
Search instead for 
Did you mean: 

How to run SPC58EC ETHERNET RMII mode

SLEE.6
Associate II

I have SPC58EC-DISP,

now I use sample code(Network Gateway Test),it's MII mode and working;

then,I want to use RMII mode,I set PHY MODE = RMII,it's not working,

how to do it?

ps:The OSC is changed to 50MHz,and SB5 Close & SB6 Open.

0693W000008w6hdQAA.jpg

1 ACCEPTED SOLUTION

Accepted Solutions
MRO
Associate II

Finally, I just correct my IP / mac address and the ping works.

So, for SPC58NG-DISP , to run in RMII, I do 3 modifications :

1) I add the Oscillator chip 50 MHz on the board

2) Change MSCR configuration CRS to CRS_DV

According DP8348 datasheet §6.4.2

The following pins are used in RMII mode:

• TX_EN

• TXD[1:0]

• RX_ER (optionnal for MAC)

• CRS_DV

• RXD[1:0]

• X1 (RMII Reference clock is 50 MHz)

In SPC58xG, the pin configuration is :

0693W000008xEtUQAU.pngOn board.h file ( add 512 on SIUL MSCR)

#define MSCR_MUX_PIN_CRS_0          414U => #define MSCR_MUX_PIN_CRS_0          413U

3) On MDIO , the pin are not correctly configure (in MII or RMII), this pin is bi directional pin

On file board.c, the configuration is

 {(int16_t)MSCR_IO_PIN_MDIO_0, (iomode_t) PAL_SPC5_SSS(13) | PAL_SPC5_OERC(0) | PAL_SPC5_ODC(2) | PAL_SPC5_SMC | PAL_SPC5_ILS(0) | PAL_SPC5_IBE), PAL_LOW},

So the MDIO is configure in Push pull and that not correct.

Change the configuration to Open Drive => PAL_SPC5_ODC(1) 

View solution in original post

3 REPLIES 3
MRO
Associate II

I have the same problem with a SPC58NG-DISP :

  • There is the shunt to change OSC to 50 MHz, but Oscillator chip 50 Mhz is not mount the board. So the hardware can't work directly
  • When a change pin configuration CRS to CRS_DV on SPC58EG, the RX debug counter change

On SPC58NG-DISP , there are 3 shunts : MII/RMII , 25/50 MHz , TXCLK

With this modification :

  • An ARP frame is send at startup
  • The RX debug counter change

But Ping doesn't work.

MRO
Associate II

Finally, I just correct my IP / mac address and the ping works.

So, for SPC58NG-DISP , to run in RMII, I do 3 modifications :

1) I add the Oscillator chip 50 MHz on the board

2) Change MSCR configuration CRS to CRS_DV

According DP8348 datasheet §6.4.2

The following pins are used in RMII mode:

• TX_EN

• TXD[1:0]

• RX_ER (optionnal for MAC)

• CRS_DV

• RXD[1:0]

• X1 (RMII Reference clock is 50 MHz)

In SPC58xG, the pin configuration is :

0693W000008xEtUQAU.pngOn board.h file ( add 512 on SIUL MSCR)

#define MSCR_MUX_PIN_CRS_0          414U => #define MSCR_MUX_PIN_CRS_0          413U

3) On MDIO , the pin are not correctly configure (in MII or RMII), this pin is bi directional pin

On file board.c, the configuration is

 {(int16_t)MSCR_IO_PIN_MDIO_0, (iomode_t) PAL_SPC5_SSS(13) | PAL_SPC5_OERC(0) | PAL_SPC5_ODC(2) | PAL_SPC5_SMC | PAL_SPC5_ILS(0) | PAL_SPC5_IBE), PAL_LOW},

So the MDIO is configure in Push pull and that not correct.

Change the configuration to Open Drive => PAL_SPC5_ODC(1) 

SLEE.6
Associate II

Great,I can works too,

for the network gateway, 1 modification must be add:

1) add the Oscillator 50 MHz pin to TX_CLK.