enc624j600_driver.c
bool_t osSetEventFromIsr(OsEvent *event)
Set an event object to the signaled state from an interrupt service routine.
Definition: os_port_chibios.c:270
void nicNotifyLinkChange(NetInterface *interface)
Process link state change notification.
Definition: nic.c:559
ENC624J600 Ethernet controller.
void enc624j600SetBit(NetInterface *interface, uint8_t address, uint16_t mask)
Set bit field.
Definition: enc624j600_driver.c:895
#define ENC624J600_MACON2_PADCFG_AUTO
Definition: enc624j600_driver.h:299
void macAddrToEui64(const MacAddr *macAddr, Eui64 *interfaceId)
Map a MAC address to the IPv6 modified EUI-64 identifier.
Definition: ethernet.c:946
error_t enc624j600ReceivePacket(NetInterface *interface)
Receive a packet.
Definition: enc624j600_driver.c:458
void enc624j600EventHandler(NetInterface *interface)
ENC624J600 event handler.
Definition: enc624j600_driver.c:307
void enc624j600DumpReg(NetInterface *interface)
Dump registers for debugging purpose.
Definition: enc624j600_driver.c:987
#define ENC624J600_MABBIPG_BBIPG_DEFAULT_FD
Definition: enc624j600_driver.h:310
void enc624j600ClearBit(NetInterface *interface, uint8_t address, uint16_t mask)
Clear bit field.
Definition: enc624j600_driver.c:921
void enc624j600DisableIrq(NetInterface *interface)
Disable interrupts.
Definition: enc624j600_driver.c:228
void enc624j600EnableIrq(NetInterface *interface)
Enable interrupts.
Definition: enc624j600_driver.c:213
void nicProcessPacket(NetInterface *interface, uint8_t *packet, size_t length, NetRxAncillary *ancillary)
Handle a packet received by the network controller.
Definition: nic.c:392
#define ENC624J600_ETH_RX_BUFFER_SIZE
Definition: enc624j600_driver.h:39
#define ENC624J600_PHANA_ADIEEE_DEFAULT
Definition: enc624j600_driver.h:489
void enc624j600DumpPhyReg(NetInterface *interface)
Dump PHY registers for debugging purpose.
Definition: enc624j600_driver.c:1027
uint16_t enc624j600ReadPhyReg(NetInterface *interface, uint8_t address)
Read PHY register.
Definition: enc624j600_driver.c:774
__weak_func void enc624j600InitHook(NetInterface *interface)
ENC624J600 custom configuration.
Definition: enc624j600_driver.c:193
void enc624j600UpdateMacConfig(NetInterface *interface)
Adjust MAC configuration parameters for proper operation.
Definition: enc624j600_driver.c:605
error_t enc624j600Init(NetInterface *interface)
ENC624J600 controller initialization.
Definition: enc624j600_driver.c:71
void enc624j600WriteReg(NetInterface *interface, uint8_t address, uint16_t data)
Write ENC624J600 register.
Definition: enc624j600_driver.c:688
error_t enc624j600UpdateMacAddrFilter(NetInterface *interface)
Configure MAC address filtering.
Definition: enc624j600_driver.c:550
size_t netBufferGetLength(const NetBuffer *buffer)
Get the actual length of a multi-part buffer.
Definition: net_mem.c:297
void enc624j600WritePhyReg(NetInterface *interface, uint8_t address, uint16_t data)
Write PHY register.
Definition: enc624j600_driver.c:745
error_t enc624j600SoftReset(NetInterface *interface)
Reset ENC624J600 controller.
Definition: enc624j600_driver.c:645
bool_t enc624j600IrqHandler(NetInterface *interface)
ENC624J600 interrupt service routine.
Definition: enc624j600_driver.c:244
#define ENC624J600_MABBIPG_BBIPG_DEFAULT_HD
Definition: enc624j600_driver.h:309
uint32_t enc624j600CalcCrc(const void *data, size_t length)
CRC calculation using the polynomial 0x4C11DB7.
Definition: enc624j600_driver.c:947
uint16_t enc624j600ReadReg(NetInterface *interface, uint8_t address)
Read ENC624J600 register.
Definition: enc624j600_driver.c:714
void enc624j600WriteBuffer(NetInterface *interface, uint8_t opcode, const NetBuffer *buffer, size_t offset)
Write SRAM buffer.
Definition: enc624j600_driver.c:812
void osSetEvent(OsEvent *event)
Set the specified event object to the signaled state.
Definition: os_port_chibios.c:202
error_t enc624j600SendPacket(NetInterface *interface, const NetBuffer *buffer, size_t offset, NetTxAncillary *ancillary)
Send a packet.
Definition: enc624j600_driver.c:398
#define ENC624J600_MIREGADR_R12_8_DEFAULT
Definition: enc624j600_driver.h:329
TCP/IP stack core.
void enc624j600Tick(NetInterface *interface)
ENC624J600 timer handler.
Definition: enc624j600_driver.c:203
void enc624j600ReadBuffer(NetInterface *interface, uint8_t opcode, uint8_t *data, size_t length)
Read SRAM buffer.
Definition: enc624j600_driver.c:866
Debugging facilities.