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.
const PhyDriver dp83620PhyDriver
DP83620 Ethernet PHY driver.
void dp83620DisableIrq(NetInterface *interface)
Disable interrupts.
#define DP83620_MICR_INT_OE
uint16_t dp83620ReadPhyReg(NetInterface *interface, uint8_t address)
Read PHY register.
__weak_func void dp83620InitHook(NetInterface *interface)
DP83620 custom configuration.
#define DP83620_BMSR_LINK_STATUS
#define DP83620_MISR_LINK_INT_EN
error_t dp83620Init(NetInterface *interface)
DP83620 PHY transceiver initialization.
void dp83620EnableIrq(NetInterface *interface)
Enable interrupts.
#define DP83620_MISR_LINK_INT
void dp83620DumpPhyReg(NetInterface *interface)
Dump PHY registers for debugging purpose.
DP83620 Ethernet PHY driver.
#define DP83620_BMCR_RESET
void dp83620Tick(NetInterface *interface)
DP83620 timer handler.
#define DP83620_MICR_INTEN
void osSetEvent(OsEvent *event)
Set the specified event object to the signaled state.
void dp83620EventHandler(NetInterface *interface)
DP83620 event handler.
#define DP83620_PHYSTS_LINK_STATUS
#define DP83620_PHYSTS_DUPLEX_STATUS
#define DP83620_PHYSTS_SPEED_STATUS
void dp83620WritePhyReg(NetInterface *interface, uint8_t address, uint16_t data)
Write PHY register.