/********************************************************************/ // Init ePHY /********************************************************************/ void mcf5223x_ePHY_init(void) { uint32 myctr, i; //generic counter variable static uint16 mymrdata, mymwdata; //temp variable for MII read/write data uint16 reg0=0; : : : //turn on the EPHY - latches ANDIS in EPHY...note clocks not enabled yet. //MCF_EPHY_EPHYCTL0 |= MCF_EPHY_EPHYCTL0_EPHYIEN; //FSL enable PHY interrupts MCF_EPHY_EPHYCTL0 |= MCF_EPHY_EPHYCTL0_EPHYEN;
What I find curious is that, when I remove the actual instruction that causes the software reset in the ePHY interrupt routine, all tasks seem to stop working when the interrupt routine is called.
It looks to me as if the routine was originally written to re-initialise the ePHY when the link got broken, but because of a problem with the tasks no longer working after the interrupt was called, this re-initialisation is conditionally compiled out and replaced by a soft reset.
Anyway, that's just what it appears like to me...
Hello!
I use a custom board with PoE and MCF52233 and Niche TCP/IP V3.2 patched by Marc. When I disable the Ethernet connector power is lost. When I connect Ethernet jack power appears, but the link does not appear. If I apply a hardware reset, the link appears. How can I solve this problem?
Thank you!
This sounds a bit like a power-on reset problem to me. Does the processor start running when you reconnect the ethernet connector? If you have a serial port on your board, does it transmit anything?
Prior to performing a hard reset to the serial data is not transmitted. Monitoring by oscilloscope shows that the microcontroller continually restarts.