/* Read a value from ucPhyReg within the PHY. *plStatus will be set to pdFALSE if there is an error.  */
static unsigned short prvReadPHY(unsigned char ucPhyReg, long *plStatus)
/* Read a value from ucPhyReg within the PHY. *plStatus will be set to pdFALSE if there is an error.  */
static unsigned short prvReadPHY(unsigned char ucPhyReg, long *plStatus)
{
long x;
const long lMaxTime = 10;
	LPC_EMAC->MADR = DP83848C_DEF_ADR | ucPhyReg;
	LPC_EMAC->MCMD = MCMD_READ;
	for( x = 0; x < lMaxTime; x++ )
	{
		if( ( LPC_EMAC->MIND & MIND_BUSY ) == 0 )
		{
			break;
		}
		vTaskDelay( emacSHORT_DELAY );
	}
	LPC_EMAC->MCMD = 0;
	if( x >= lMaxTime )
	{
		*plStatus = pdFAIL;
	}
	return( LPC_EMAC->MRDD );
}