add delay for PHY check.
This commit is contained in:
parent
ff4fcd5b56
commit
89bcb70e5f
|
@ -45,19 +45,23 @@ void phy_AutoMediaSelect() {
|
|||
ETH_PhyWrite(PHY_BASE_ADDR, PHY_REG_EXTEND_STATUS, data);
|
||||
}
|
||||
|
||||
void phy_AutoNeg() {
|
||||
uint32_t data;
|
||||
void phy_AutoNeg()
|
||||
{
|
||||
uint32_t data;
|
||||
|
||||
data = ETH_PhyRead(PHY_BASE_ADDR, PHY_REG_CONTROL);
|
||||
data |= (PHY_BIT_CONTROL_ANEN | PHY_BIT_CONTROL_RSAN);
|
||||
ETH_PhyWrite(PHY_BASE_ADDR, PHY_REG_CONTROL, data);
|
||||
data = ETH_PhyRead(PHY_BASE_ADDR, PHY_REG_CONTROL);
|
||||
data |= (PHY_BIT_CONTROL_ANEN | PHY_BIT_CONTROL_RSAN);
|
||||
ETH_PhyWrite(PHY_BASE_ADDR, PHY_REG_CONTROL, data);
|
||||
|
||||
while (1) {
|
||||
uint32_t ret = ETH_PhyRead(PHY_BASE_ADDR, PHY_REG_STATUS);
|
||||
if ((ret & PHY_BIT_STATUS_ANC) == PHY_BIT_STATUS_ANC) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (1)
|
||||
{
|
||||
uint32_t ret = ETH_PhyRead(PHY_BASE_ADDR, PHY_REG_STATUS);
|
||||
if ((ret & PHY_BIT_STATUS_ANC) == PHY_BIT_STATUS_ANC)
|
||||
{
|
||||
break;
|
||||
}
|
||||
rt_thread_delay(1);
|
||||
}
|
||||
}
|
||||
|
||||
BOOL phy_IsLink() {
|
||||
|
|
Loading…
Reference in New Issue