int lpc1768_eth_start_auto_negotiation(void)
Start PHY auto-negotiation.
bool lpc1768_eth_rx_pending(void)
Return true if the RX ring contains at least one unconsumed frame.
bool lpc1768_eth_link_up(void)
Read the PHY link status (BMSR.LINK)
int lpc1768_eth_send(const iolist_t *iolist)
Submit a frame for transmission.
int lpc1768_eth_recv(void *buf, size_t max_len)
Receive a frame from the RX ring.
int lpc1768_eth_tx_status(void)
Query the completion status of the most recent transmission.
void lpc1768_eth_set_mac(const uint8_t mac[6])
Program a new MAC address.
int lpc1768_eth_init(const uint8_t *mac)
Initialize the EMAC peripheral and PHY.
void lpc1768_eth_complete_auto_negotiation(void)
Complete auto-negotiation and apply speed/duplex to the MAC.
void lpc1768_eth_set_link_speed(uint16_t speed)
Configure the MAC for a given link speed and duplex.
bool lpc1768_eth_get_promiscuous(void)
Return the current promiscuous mode setting.
void lpc1768_eth_set_promiscuous(bool enable)
Enable or disable promiscuous mode.
void lpc1768_eth_get_mac(uint8_t out[6])
Read the currently programmed MAC address.
struct iolist iolist_t
iolist forward declaration
iolist scatter / gather IO
iolist structure definition