Go to the documentation of this file.
32 #define TRACE_LEVEL NIC_TRACE_LEVEL
66 if(interface->phyAddr >= 32)
73 if(interface->smiDriver != NULL)
75 interface->smiDriver->init();
79 if(interface->extIntDriver != NULL)
81 interface->extIntDriver->init();
106 interface->phyEvent =
TRUE;
136 if(interface->extIntDriver == NULL)
144 if(linkState && !interface->linkState)
147 interface->phyEvent =
TRUE;
152 else if(!linkState && interface->linkState)
155 interface->phyEvent =
TRUE;
171 if(interface->extIntDriver != NULL)
173 interface->extIntDriver->enableIrq();
186 if(interface->extIntDriver != NULL)
188 interface->extIntDriver->disableIrq();
235 interface->linkState =
TRUE;
238 interface->nicDriver->updateMacConfig(interface);
243 interface->linkState =
FALSE;
263 if(interface->smiDriver != NULL)
288 if(interface->smiDriver != NULL)
314 for(i = 0; i < 32; i++)
317 TRACE_DEBUG(
"%02" PRIu8
": 0x%04" PRIX16
"\r\n", i,
void nicNotifyLinkChange(NetInterface *interface)
Process link state change notification.
#define DP83630_PHYSTS_LINK_STATUS
void dp83630WritePhyReg(NetInterface *interface, uint8_t address, uint16_t data)
Write PHY register.
#define DP83630_BMSR_LINK_STATUS
void dp83630DisableIrq(NetInterface *interface)
Disable interrupts.
#define DP83630_PHYSTS_SPEED_STATUS
DP83630 Ethernet PHY driver.
void dp83630EnableIrq(NetInterface *interface)
Enable interrupts.
uint16_t dp83630ReadPhyReg(NetInterface *interface, uint8_t address)
Read PHY register.
const PhyDriver dp83630PhyDriver
DP83630 Ethernet PHY driver.
#define DP83630_MISR_LINK_INT_EN
void dp83630DumpPhyReg(NetInterface *interface)
Dump PHY registers for debugging purpose.
__weak_func void dp83630InitHook(NetInterface *interface)
DP83630 custom configuration.
void dp83630EventHandler(NetInterface *interface)
DP83630 event handler.
#define DP83630_BMCR_RESET
#define DP83630_MICR_INTEN
#define DP83630_MICR_INT_OE
error_t dp83630Init(NetInterface *interface)
DP83630 PHY transceiver initialization.
#define DP83630_MISR_LINK_INT
void osSetEvent(OsEvent *event)
Set the specified event object to the signaled state.
#define DP83630_PHYSTS_DUPLEX_STATUS
void dp83630Tick(NetInterface *interface)
DP83630 timer handler.