iPXE
|
Intel 10 Gigabit Ethernet network card driver. More...
Go to the source code of this file.
Macros | |
#define | INTELX_CTRL 0x00000UL |
Device Control Register. More... | |
#define | INTELX_CTRL_LRST 0x00000008UL |
Link reset. More... | |
#define | INTELX_CTRL_RST 0x04000000UL |
Device reset. More... | |
#define | INTELX_RESET_DELAY_MS 20 |
Time to delay for device reset, in milliseconds. More... | |
#define | INTELX_EICR 0x00800UL |
Extended Interrupt Cause Read Register. More... | |
#define | INTELX_EIRQ_RX0 0x00000001UL |
RX0 (via IVAR) More... | |
#define | INTELX_EIRQ_TX0 0x00000002UL |
RX0 (via IVAR) More... | |
#define | INTELX_EIRQ_RXO 0x00020000UL |
Receive overrun. More... | |
#define | INTELX_EIRQ_LSC 0x00100000UL |
Link status change. More... | |
#define | INTELX_EIMS 0x00880UL |
Interrupt Mask Set/Read Register. More... | |
#define | INTELX_EIMC 0x00888UL |
Interrupt Mask Clear Register. More... | |
#define | INTELX_IVAR 0x00900UL |
Interrupt Vector Allocation Register. More... | |
#define | INTELX_IVAR_RX0(bit) ( (bit) << 0 ) |
RX queue 0 allocation. More... | |
#define | INTELX_IVAR_RX0_DEFAULT INTELX_IVAR_RX0 ( 0x00 ) |
#define | INTELX_IVAR_RX0_MASK INTELX_IVAR_RX0 ( 0x3f ) |
#define | INTELX_IVAR_RX0_VALID 0x00000080UL |
RX queue 0 valid. More... | |
#define | INTELX_IVAR_TX0(bit) ( (bit) << 8 ) |
TX queue 0 allocation. More... | |
#define | INTELX_IVAR_TX0_DEFAULT INTELX_IVAR_TX0 ( 0x01 ) |
#define | INTELX_IVAR_TX0_MASK INTELX_IVAR_TX0 ( 0x3f ) |
#define | INTELX_IVAR_TX0_VALID 0x00008000UL |
TX queue 0 valid. More... | |
#define | INTELX_FCTRL 0x05080UL |
Receive Filter Control Register. More... | |
#define | INTELX_FCTRL_MPE 0x00000100UL |
Multicast promiscuous. More... | |
#define | INTELX_FCTRL_UPE 0x00000200UL |
Unicast promiscuous mode. More... | |
#define | INTELX_FCTRL_BAM 0x00000400UL |
Broadcast accept mode. More... | |
#define | INTELX_RAL0 0x05400UL |
Receive Address Low. More... | |
#define | INTELX_RAL0_ALT 0x0a200UL |
#define | INTELX_RAH0 0x05404UL |
Receive Address High. More... | |
#define | INTELX_RAH0_ALT 0x0a204UL |
#define | INTELX_RAH0_AV 0x80000000UL |
Address valid. More... | |
#define | INTELX_RD 0x01000UL |
Receive Descriptor register block. More... | |
#define | INTELX_RXDCTL_VME 0x40000000UL |
Receive Descriptor Control Register. More... | |
#define | INTELX_SRRCTL 0x02100UL |
Split Receive Control Register. More... | |
#define | INTELX_SRRCTL_BSIZE(kb) ( (kb) << 0 ) |
Receive buffer size. More... | |
#define | INTELX_SRRCTL_BSIZE_DEFAULT INTELX_SRRCTL_BSIZE ( 0x02 ) |
#define | INTELX_SRRCTL_BSIZE_MASK INTELX_SRRCTL_BSIZE ( 0x1f ) |
#define | INTELX_RDRXCTL 0x02f00UL |
Receive DMA Control Register. More... | |
#define | INTELX_RDRXCTL_SECRC 0x00000001UL |
Strip CRC. More... | |
#define | INTELX_RXCTRL 0x03000UL |
Receive Control Register. More... | |
#define | INTELX_RXCTRL_RXEN 0x00000001UL |
Receive enable. More... | |
#define | INTELX_DMATXCTL 0x04a80UL |
Transmit DMA Control Register. More... | |
#define | INTELX_DMATXCTL_TE 0x00000001UL |
Transmit enable. More... | |
#define | INTELX_TD 0x06000UL |
Transmit Descriptor register block. More... | |
#define | INTELX_DCA_RXCTRL 0x02200UL |
RX DCA Control Register. More... | |
#define | INTELX_DCA_RXCTRL_MUST_BE_ZERO 0x00001000UL |
Must be zero. More... | |
#define | INTELX_HLREG0 0x04240UL |
MAC Core Control 0 Register. More... | |
#define | INTELX_HLREG0_JUMBOEN 0x00000004UL |
Jumbo frame enable. More... | |
#define | INTELX_MAXFRS 0x04268UL |
Maximum Frame Size Register. More... | |
#define | INTELX_MAXFRS_MFS(len) ( (len) << 16 ) |
Maximum frame size. More... | |
#define | INTELX_MAXFRS_MFS_DEFAULT INTELX_MAXFRS_MFS ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* CRC */ ) |
#define | INTELX_MAXFRS_MFS_MASK INTELX_MAXFRS_MFS ( 0xffff ) |
#define | INTELX_LINKS 0x042a4UL |
Link Status Register. More... | |
#define | INTELX_LINKS_UP 0x40000000UL |
Link up. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
Intel 10 Gigabit Ethernet network card driver.
Definition in file intelx.h.
#define INTELX_RESET_DELAY_MS 20 |
#define INTELX_EICR 0x00800UL |
#define INTELX_EIMS 0x00880UL |
#define INTELX_EIMC 0x00888UL |
#define INTELX_IVAR 0x00900UL |
#define INTELX_IVAR_RX0_DEFAULT INTELX_IVAR_RX0 ( 0x00 ) |
#define INTELX_IVAR_RX0_MASK INTELX_IVAR_RX0 ( 0x3f ) |
#define INTELX_IVAR_RX0_VALID 0x00000080UL |
#define INTELX_IVAR_TX0_DEFAULT INTELX_IVAR_TX0 ( 0x01 ) |
#define INTELX_IVAR_TX0_MASK INTELX_IVAR_TX0 ( 0x3f ) |
#define INTELX_IVAR_TX0_VALID 0x00008000UL |
#define INTELX_FCTRL 0x05080UL |
#define INTELX_FCTRL_MPE 0x00000100UL |
#define INTELX_FCTRL_UPE 0x00000200UL |
#define INTELX_FCTRL_BAM 0x00000400UL |
#define INTELX_RAL0 0x05400UL |
Receive Address Low.
The MAC address registers RAL0/RAH0 exist at address 0x05400 for the 82598 and 0x0a200 for the 82599, according to the datasheet. In practice, the 82599 seems to also provide a copy of these registers at 0x05400. To aim for maximum compatibility, we try both addresses when reading the initial MAC address, and set both addresses when setting the MAC address.
#define INTELX_RD 0x01000UL |
#define INTELX_RXDCTL_VME 0x40000000UL |
#define INTELX_SRRCTL 0x02100UL |
#define INTELX_SRRCTL_BSIZE | ( | kb | ) | ( (kb) << 0 ) |
#define INTELX_SRRCTL_BSIZE_DEFAULT INTELX_SRRCTL_BSIZE ( 0x02 ) |
#define INTELX_SRRCTL_BSIZE_MASK INTELX_SRRCTL_BSIZE ( 0x1f ) |
#define INTELX_RDRXCTL 0x02f00UL |
#define INTELX_DMATXCTL 0x04a80UL |
#define INTELX_TD 0x06000UL |
#define INTELX_DCA_RXCTRL 0x02200UL |
#define INTELX_DCA_RXCTRL_MUST_BE_ZERO 0x00001000UL |
#define INTELX_HLREG0 0x04240UL |
#define INTELX_HLREG0_JUMBOEN 0x00000004UL |
#define INTELX_MAXFRS 0x04268UL |
#define INTELX_MAXFRS_MFS_DEFAULT INTELX_MAXFRS_MFS ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* CRC */ ) |
#define INTELX_MAXFRS_MFS_MASK INTELX_MAXFRS_MFS ( 0xffff ) |
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |