54#ifndef CONFIG_GRETH_RX_DESC_NUM
55#define CONFIG_GRETH_RX_DESC_NUM (8U)
63#ifndef CONFIG_GRETH_TX_DESC_NUM
64#define CONFIG_GRETH_TX_DESC_NUM (4U)
70#define GRETH_MAX_FRAME_LEN (1518U)
75#define GRETH_BUF_SIZE (1536U)
80#define GRETH_ANEG_TIMEOUT (100000U)
Definitions for netdev common ethernet code.
Definitions low-level network driver interface.
void greth_setup(greth_t *dev, const greth_params_t *params, uint8_t index)
Set up the GRETH device descriptor.
struct netdev netdev_t
Forward declaration for netdev struct.
GRETH buffer descriptor (8 bytes, must be kept at natural alignment)
volatile uint32_t addr
Physical address of the data buffer.
volatile uint32_t ctrl
Control/status word (see GRETH_BD_*)
GRETH driver parameters (board-level configuration)
unsigned irq
PLIC interrupt source number (e.g.
uint32_t base_addr
APB base address (e.g.
uint8_t mac[6]
Ethernet MAC address.
GRETH driver device descriptor.
bool gbit
True if gigabit mode is available.
unsigned phy_addr
PHY MDIO address, read from hardware.
unsigned rx_idx
Index of next RX descriptor to check.
greth_desc_t * tx_desc
TX descriptor ring.
unsigned tx_idx
Index of next TX descriptor to use.
greth_desc_t * rx_desc
RX descriptor ring.
uint8_t * tx_buf
flat TX frame buffer
const greth_params_t * params
Pointer to board configuration.
netdev_t netdev
netdev base — MUST be first