iPXE
Data Structures | Defines | Functions | Variables
velocity.h File Reference

VIA Velocity network driver. More...

Go to the source code of this file.

Data Structures

struct  velocity_frag
struct  velocity_tx_descriptor
 Velocity descriptor format. More...
struct  velocity_rx_descriptor
struct  velocity_nic
 A Velocity network card. More...

Defines

#define VELOCITY_BAR_SIZE   256
 Skeleton BAR size.
#define VELOCITY_TIMEOUT_US   10 * 1000
 Default timeout.
#define VELOCITY_DES0_RMBC(_n)   (((_n) >> 16) & 0x1fff)
#define VELOCITY_DES0_OWN   (1 << 31)
#define VELOCITY_DES0_TERR   (1 << 15)
#define VELOCITY_DES0_RXOK   (1 << 15)
#define VELOCITY_DES0_FDX   (1 << 14)
#define VELOCITY_DES0_GMII   (1 << 13)
#define VELOCITY_DES0_LNKFL   (1 << 12)
#define VELOCITY_DES0_SHDN   (1 << 10)
#define VELOCITY_DES0_CRS   (1 << 9)
#define VELOCITY_DES0_CDH   (1 << 8)
#define VELOCITY_DES0_ABT   (1 << 7)
#define VELOCITY_DES0_OWT   (1 << 6)
#define VELOCITY_DES0_OWC   (1 << 5)
#define VELOCITY_DES0_COLS   (1 << 4)
#define VELOCITY_DES0_RXSHDN   (1 << 30)
#define VELOCITY_DES0_RXER   (1 << 5)
#define VELOCITY_DES0_RLE   (1 << 4)
#define VELOCITY_DES0_CE   (1 << 3)
#define VELOCITY_DES0_FAE   (1 << 2)
#define VELOCITY_DES0_CRC   (1 << 1)
#define VELOCITY_DES0_RX_ERR
#define VELOCITY_DES1_FRAG(_n)   (((_n + 1) & 0xf) << 28)
 TX descriptor fragment number.
#define VELOCITY_DES1_TCPLS   ((1 << 24) | (1 << 25))
#define VELOCITY_DES1_INTR   (1 << 23)
#define VELOCITY_DES1_PIC   (1 << 22)
#define VELOCITY_DES1_VETAG   (1 << 21)
#define VELOCITY_DES1_IPCK   (1 << 20)
#define VELOCITY_DES1_UDPCK   (1 << 19)
#define VELOCITY_DES1_TCPCK   (1 << 18)
#define VELOCITY_DES1_JMBO   (1 << 17)
#define VELOCITY_DES1_CRC   (1 << 16)
#define VELOCITY_DES2_IC   (1 << 31)
#define VELOCITY_DES2_SIZE(_n)   (((_n) & 0x1fff) << 16)
#define VELOCITY_RXDESC_NUM   8
 Number of receive descriptors.
#define VELOCITY_RXDESC_SIZE   ( VELOCITY_RXDESC_NUM * sizeof ( struct velocity_rx_descriptor ) )
#define VELOCITY_TXDESC_NUM   8
 Number of transmit descriptors.
#define VELOCITY_TXDESC_SIZE   ( VELOCITY_TXDESC_NUM * sizeof ( struct velocity_tx_descriptor ) )
#define VELOCITY_RING_ALIGN   64
 Descriptor alignment.
#define VELOCITY_RX_MAX_LEN   1536
 Receive buffer length.
#define VELOCITY_MAC0   0x00
 MAC address registers.
#define VELOCITY_MAC1   0x01
#define VELOCITY_MAC2   0x02
#define VELOCITY_MAC3   0x03
#define VELOCITY_MAC4   0x04
#define VELOCITY_MAC5   0x05
#define VELOCITY_RCR   0x06
 Receive control register.
#define RHINE_RCR_SYMERR_ACCEPT   (1 << 7) /*< Accept symbol error */
#define RHINE_RCR_FILTER_ACCEPT   (1 << 6) /*< Accept based on filter */
#define RHINE_RCR_LONG_ACCEPT   (1 << 5) /*< Accept long packets */
#define RHINE_RCR_PROMISC   (1 << 4) /*< Promiscuous mode */
#define RHINE_RCR_BCAST_ACCEPT   (1 << 3) /*< Accept broadcast */
#define RHINE_RCR_MCAST_ACCEPT   (1 << 2) /*< Accept multicast */
#define RHINE_RCR_RUNT_ACCEPT   (1 << 1) /*< Accept runt frames */
#define RHINE_RCR_ERR_ACCEPT   (1 << 0) /*< Accept erroneous frames */
#define VELOCITY_TCR   0x07
 Transmit control register.
#define VELOCITY_TCR_LB0   (1 << 0) /*< Loopback control */
#define VELOCITY_TCR_LB1   (1 << 1) /*< Loopback control */
#define VELOCITY_TCR_COLTMC0   (1 << 2) /*< Collision retry control */
#define VELOCITY_TCR_COLTMC1   (1 << 3) /*< Collision retry control */
#define VELOCITY_CRS0   0x08
 Command register 0 (set)
#define VELOCITY_CR0_TXON   (1 << 3) /*< Transmit enable */
#define VELOCITY_CR0_RXON   (1 << 2) /*< Receive enable */
#define VELOCITY_CR0_STOP   (1 << 1) /*< Stop NIC */
#define VELOCITY_CR0_START   (1 << 0) /*< Start NIC */
#define VELOCITY_CRS1   0x09
 Command register 1 (set)
#define VELOCITY_CR1_SFRST   (1 << 7) /*< Software reset */
#define VELOCITY_CR1_TM1EN   (1 << 6) /*< Perioding software counting */
#define VELOCITY_CR1_TM0EN   (1 << 5) /*< Single-shot software counting */
#define VELOCITY_CR1_DPOLL   (1 << 3) /*< Disable auto polling */
#define VELOCITY_CR1_DISAU   (1 << 0) /*< Unicast reception disable */
#define VELOCITY_CRS2   0x0A
 Command register 2 (set)
#define VELOCITY_CR2_XONEN   (1 << 7) /*< XON/XOFF mode enable */
#define VELOCITY_CR2_FDXTFCEN   (1 << 6) /*< FDX flow control TX */
#define VELOCITY_CR2_FDXRFCEN   (1 << 5)
#define VELOCITY_CR2_HDXFCEN   (1 << 4)
#define VELOCITY_CRS3   0x0B
 Command register 3 (set)
#define VELOCITY_CR3_FOSRST   (1 << 6)
#define VELOCITY_CR3_FPHYRST   (1 << 5)
#define VELOCITY_CR3_DIAG   (1 << 4)
#define VELOCITY_CR3_INTPCTL   (1 << 2)
#define VELOCITY_CR3_GINTMSK1   (1 << 1)
#define VELOCITY_CR3_SWPEND   (1 << 0)
#define VELOCITY_CRC0   0x0C
 Command register 0 (clear)
#define VELOCITY_CRC1   0x0D
 Command register 1 (clear)
#define VELOCITY_CRC2   0x0E
 Command register 2 (clear.
#define VELOCITY_CRC3   0x0F
 Command register 3 (clear.
#define VELOCITY_CAM0   0x10
#define VELOCITY_CAM1   0x11
#define VELOCITY_CAM2   0x12
#define VELOCITY_CAM3   0x13
#define VELOCITY_CAM4   0x14
#define VELOCITY_CAM5   0x15
#define VELOCITY_CAM6   0x16
#define VELOCITY_CAM7   0x17
#define VELOCITY_TXDESC_HI   0x18 /* Hi part of 64bit txdesc base addr */
#define VELOCITY_DATABUF_HI   0x1D /* Hi part of 64bit data buffer addr */
#define VELOCITY_INTCTL0   0x20 /* interrupt control register */
#define VELOCITY_RXSUPPTHR   0x20
#define VELOCITY_TXSUPPTHR   0x20
#define VELOCITY_INTHOLDOFF   0x20
#define VELOCITY_INTCTL1   0x21 /* interrupt control register */
#define VELOCITY_TXHOSTERR   0x22 /* TX host error status */
#define VELOCITY_RXHOSTERR   0x23 /* RX host error status */
#define VELOCITY_ISR0   0x24
 Interrupt status register 0.
#define VELOCITY_ISR0_PTX3   (1 << 7)
#define VELOCITY_ISR0_PTX2   (1 << 6)
#define VELOCITY_ISR0_PTX1   (1 << 5)
#define VELOCITY_ISR0_PTX0   (1 << 4)
#define VELOCITY_ISR0_PTXI   (1 << 3)
#define VELOCITY_ISR0_PRXI   (1 << 2)
#define VELOCITY_ISR0_PPTXI   (1 << 1)
#define VELOCITY_ISR0_PPRXI   (1 << 0)
#define VELOCITY_ISR1   0x25
 Interrupt status register 1.
#define VELOCITY_ISR1_SRCI   (1 << 7)
#define VELOCITY_ISR1_LSTPEI   (1 << 6)
#define VELOCITY_ISR1_LSTEI   (1 << 5)
#define VELOCITY_ISR1_OVFL   (1 << 4)
#define VELOCITY_ISR1_FLONI   (1 << 3)
#define VELOCITY_ISR1_RACEI   (1 << 2)
#define VELOCITY_ISR2   0x26
 Interrupt status register 2.
#define VELOCITY_ISR2_HFLD   (1 << 7)
#define VELOCITY_ISR2_UDPI   (1 << 6)
#define VELOCITY_ISR2_MIBFI   (1 << 5)
#define VELOCITY_ISR2_SHDNII   (1 << 4)
#define VELOCITY_ISR2_PHYI   (1 << 3)
#define VELOCITY_ISR2_PWEI   (1 << 2)
#define VELOCITY_ISR2_TMR1I   (1 << 1)
#define VELOCITY_ISR2_TMR0I   (1 << 0)
#define VELOCITY_ISR3   0x27
 Interrupt status register 3.
#define VELOCITY_IMR0   0x28
 Interrupt mask register 0.
#define VELOCITY_IMR1   0x29
 Interrupt mask register 1.
#define VELOCITY_IMR2   0x2a
 Interrupt mask register 2.
#define VELOCITY_IMR3   0x2b
 Interrupt mask register 3.
#define VELOCITY_TXSTS_PORT   0x2C /* Transmit status port (???) */
#define VELOCITY_TXQCSRS   0x30 /* TX queue ctl/status set */
#define VELOCITY_TXQCSRS_DEAD3   (1 << 15)
#define VELOCITY_TXQCSRS_WAK3   (1 << 14)
#define VELOCITY_TXQCSRS_ACT3   (1 << 13)
#define VELOCITY_TXQCSRS_RUN3   (1 << 12)
#define VELOCITY_TXQCSRS_DEAD2   (1 << 11)
#define VELOCITY_TXQCSRS_WAK2   (1 << 10)
#define VELOCITY_TXQCSRS_ACT2   (1 << 9)
#define VELOCITY_TXQCSRS_RUN2   (1 << 8)
#define VELOCITY_TXQCSRS_DEAD1   (1 << 7)
#define VELOCITY_TXQCSRS_WAK1   (1 << 6)
#define VELOCITY_TXQCSRS_ACT1   (1 << 5)
#define VELOCITY_TXQCSRS_RUN1   (1 << 4)
#define VELOCITY_TXQCSRS_DEAD0   (1 << 3)
#define VELOCITY_TXQCSRS_WAK0   (1 << 2)
#define VELOCITY_TXQCSRS_ACT0   (1 << 1)
#define VELOCITY_TXQCSRS_RUN0   (1 << 0)
#define VELOCITY_RXQCSRS   0x32 /* RX queue ctl/status set */
#define VELOCITY_RXQCSRC   0x36
#define VELOCITY_RXQCSR_DEAD   (1 << 3)
#define VELOCITY_RXQCSR_WAK   (1 << 2)
#define VELOCITY_RXQCSR_ACT   (1 << 1)
#define VELOCITY_RXQCSR_RUN   (1 << 0)
#define VELOCITY_TXQCSRC   0x34 /* TX queue ctl/status clear */
#define VELOCITY_RXQCSRC   0x36 /* RX queue ctl/status clear */
#define VELOCITY_RXDESC_ADDR_LO   0x38 /* RX desc base addr (lo 32 bits) */
#define VELOCITY_RXDESC_CONSIDX   0x3C /* Current RX descriptor index */
#define VELOCITY_TXQTIMER   0x3E /* TX queue timer pend register */
#define VELOCITY_RXQTIMER   0x3F /* RX queue timer pend register */
#define VELOCITY_TXDESC_ADDR_LO0   0x40 /* TX desc0 base addr (lo 32 bits) */
#define VELOCITY_TXDESC_ADDR_LO1   0x44 /* TX desc1 base addr (lo 32 bits) */
#define VELOCITY_TXDESC_ADDR_LO2   0x48 /* TX desc2 base addr (lo 32 bits) */
#define VELOCITY_TXDESC_ADDR_LO3   0x4C /* TX desc3 base addr (lo 32 bits) */
#define VELOCITY_RXDESCNUM   0x50 /* Size of RX desc ring */
#define VELOCITY_TXDESCNUM   0x52 /* Size of TX desc ring */
#define VELOCITY_TXDESC_CONSIDX0   0x54 /* Current TX descriptor index */
#define VELOCITY_TXDESC_CONSIDX1   0x56 /* Current TX descriptor index */
#define VELOCITY_TXDESC_CONSIDX2   0x58 /* Current TX descriptor index */
#define VELOCITY_TXDESC_CONSIDX3   0x5A /* Current TX descriptor index */
#define VELOCITY_TX_PAUSE_TIMER   0x5C /* TX pause frame timer */
#define VELOCITY_RXDESC_RESIDUECNT   0x5E /* RX descriptor residue count */
#define VELOCITY_FIFOTEST0   0x60 /* FIFO test register */
#define VELOCITY_FIFOTEST1   0x64 /* FIFO test register */
#define VELOCITY_CAMADDR   0x68 /* CAM address register */
#define VELOCITY_CAMCTL   0x69 /* CAM control register */
#define VELOCITY_MIICFG   0x6C /* MII port config register */
#define VELOCITY_MIISR   0x6D /* MII port status register */
#define VELOCITY_MIISR_IDLE   (1 << 7)
#define VELOCITY_PHYSTS0   0x6E /* PHY status register */
#define VELOCITY_PHYSTS0_LINK   (1 << 6)
#define VELOCITY_PHYSTS1   0x6F /* PHY status register */
#define VELOCITY_MIICR   0x70 /* MII command register */
#define VELOCITY_MIICR_MAUTO   (1 << 7)
#define VELOCITY_MIICR_RCMD   (1 << 6)
#define VELOCITY_MIICR_WCMD   (1 << 5)
#define VELOCITY_MIICR_MDPM   (1 << 4)
#define VELOCITY_MIICR_MOUT   (1 << 3)
#define VELOCITY_MIICR_MDO   (1 << 2)
#define VELOCITY_MIICR_MDI   (1 << 1)
#define VELOCITY_MIICR_MDC   (1 << 0)
#define VELOCITY_MIIADDR   0x71 /* MII address register */
#define VELOCITY_MIIDATA   0x72 /* MII data register */
#define VELOCITY_SSTIMER   0x74 /* single-shot timer */
#define VELOCITY_PTIMER   0x76 /* periodic timer */
#define VELOCITY_DMACFG0   0x7C /* DMA config 0 */
#define VELOCITY_DMACFG1   0x7D /* DMA config 1 */
#define VELOCITY_RXCFG   0x7E /* MAC RX config */
#define VELOCITY_TXCFG   0x7F /* MAC TX config */
#define VELOCITY_SWEEDATA   0x85 /* EEPROM software loaded data */
#define VELOCITY_CFGA   0x78
 Chip Configuration Register A.
#define VELOCITY_CFGA_PACPI   (1 << 0)
#define VELOCITY_STICKY   0x83
 Power Management Sticky Register.
#define VELOCITY_STICKY_DS0   (1 << 0)
#define VELOCITY_STICKY_DS1   (1 << 1)
#define VELOCITY_EEWRDAT   0x8C /* EEPROM embedded write */
#define VELOCITY_EECSUM   0x92 /* EEPROM checksum */
#define VELOCITY_EECSR   0x93 /* EEPROM control/status */
#define VELOCITY_EECSR_RELOAD   (1 << 5)
#define VELOCITY_EERDDAT   0x94 /* EEPROM embedded read */
#define VELOCITY_EEADDR   0x96 /* EEPROM address */
#define VELOCITY_EECMD   0x97 /* EEPROM embedded command */

Functions

 FILE_LICENCE (GPL2_OR_LATER)
struct velocity_frag __attribute__ ((packed))

Variables

uint32_t addr
uint32_t des2
uint32_t des0
uint32_t des1
struct velocity_frag frags [7]
struct velocity_nic __attribute__

Detailed Description

VIA Velocity network driver.

Definition in file velocity.h.


Define Documentation

#define VELOCITY_BAR_SIZE   256

Skeleton BAR size.

Definition at line 13 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_TIMEOUT_US   10 * 1000
#define VELOCITY_DES0_RMBC (   _n)    (((_n) >> 16) & 0x1fff)

Definition at line 38 of file velocity.h.

Referenced by velocity_poll_rx().

#define VELOCITY_DES0_OWN   (1 << 31)
#define VELOCITY_DES0_TERR   (1 << 15)

Definition at line 40 of file velocity.h.

Referenced by velocity_poll_tx().

#define VELOCITY_DES0_RXOK   (1 << 15)

Definition at line 41 of file velocity.h.

Referenced by velocity_poll_rx().

#define VELOCITY_DES0_FDX   (1 << 14)

Definition at line 42 of file velocity.h.

#define VELOCITY_DES0_GMII   (1 << 13)

Definition at line 43 of file velocity.h.

#define VELOCITY_DES0_LNKFL   (1 << 12)

Definition at line 44 of file velocity.h.

#define VELOCITY_DES0_SHDN   (1 << 10)

Definition at line 45 of file velocity.h.

#define VELOCITY_DES0_CRS   (1 << 9)

Definition at line 46 of file velocity.h.

#define VELOCITY_DES0_CDH   (1 << 8)

Definition at line 47 of file velocity.h.

#define VELOCITY_DES0_ABT   (1 << 7)

Definition at line 48 of file velocity.h.

#define VELOCITY_DES0_OWT   (1 << 6)

Definition at line 49 of file velocity.h.

#define VELOCITY_DES0_OWC   (1 << 5)

Definition at line 50 of file velocity.h.

#define VELOCITY_DES0_COLS   (1 << 4)

Definition at line 51 of file velocity.h.

#define VELOCITY_DES0_RXSHDN   (1 << 30)

Definition at line 53 of file velocity.h.

#define VELOCITY_DES0_RXER   (1 << 5)

Definition at line 54 of file velocity.h.

#define VELOCITY_DES0_RLE   (1 << 4)

Definition at line 55 of file velocity.h.

#define VELOCITY_DES0_CE   (1 << 3)

Definition at line 56 of file velocity.h.

#define VELOCITY_DES0_FAE   (1 << 2)

Definition at line 57 of file velocity.h.

#define VELOCITY_DES0_CRC   (1 << 1)

Definition at line 58 of file velocity.h.

Value:
( VELOCITY_DES0_RXER | \
                                  VELOCITY_DES0_RLE | \
                                  VELOCITY_DES0_CE | \
                                  VELOCITY_DES0_FAE | \
                                  VELOCITY_DES0_CRC )

Definition at line 59 of file velocity.h.

Referenced by velocity_poll_rx().

#define VELOCITY_DES1_FRAG (   _n)    (((_n + 1) & 0xf) << 28)

TX descriptor fragment number.

Definition at line 66 of file velocity.h.

Referenced by velocity_transmit().

#define VELOCITY_DES1_TCPLS   ((1 << 24) | (1 << 25))

Definition at line 67 of file velocity.h.

Referenced by velocity_transmit().

#define VELOCITY_DES1_INTR   (1 << 23)

Definition at line 68 of file velocity.h.

Referenced by velocity_transmit().

#define VELOCITY_DES1_PIC   (1 << 22)

Definition at line 69 of file velocity.h.

#define VELOCITY_DES1_VETAG   (1 << 21)

Definition at line 70 of file velocity.h.

#define VELOCITY_DES1_IPCK   (1 << 20)

Definition at line 71 of file velocity.h.

#define VELOCITY_DES1_UDPCK   (1 << 19)

Definition at line 72 of file velocity.h.

#define VELOCITY_DES1_TCPCK   (1 << 18)

Definition at line 73 of file velocity.h.

#define VELOCITY_DES1_JMBO   (1 << 17)

Definition at line 74 of file velocity.h.

#define VELOCITY_DES1_CRC   (1 << 16)

Definition at line 75 of file velocity.h.

#define VELOCITY_DES2_IC   (1 << 31)

Definition at line 77 of file velocity.h.

Referenced by velocity_refill_rx().

#define VELOCITY_DES2_SIZE (   _n)    (((_n) & 0x1fff) << 16)

Definition at line 78 of file velocity.h.

Referenced by velocity_refill_rx(), and velocity_transmit().

#define VELOCITY_RXDESC_NUM   8

Number of receive descriptors.

Must be a multiple of 4 (hardware requirement).

Definition at line 84 of file velocity.h.

Referenced by velocity_alloc_rings(), velocity_close(), velocity_poll_rx(), and velocity_refill_rx().

#define VELOCITY_RXDESC_SIZE   ( VELOCITY_RXDESC_NUM * sizeof ( struct velocity_rx_descriptor ) )

Definition at line 85 of file velocity.h.

Referenced by velocity_alloc_rings(), and velocity_close().

#define VELOCITY_TXDESC_NUM   8

Number of transmit descriptors.

Definition at line 89 of file velocity.h.

Referenced by velocity_alloc_rings(), velocity_poll_tx(), and velocity_transmit().

#define VELOCITY_TXDESC_SIZE   ( VELOCITY_TXDESC_NUM * sizeof ( struct velocity_tx_descriptor ) )

Definition at line 90 of file velocity.h.

Referenced by velocity_alloc_rings(), and velocity_close().

#define VELOCITY_RING_ALIGN   64

Descriptor alignment.

Definition at line 94 of file velocity.h.

Referenced by velocity_alloc_rings().

#define VELOCITY_RX_MAX_LEN   1536

Receive buffer length.

Definition at line 97 of file velocity.h.

Referenced by velocity_refill_rx().

#define VELOCITY_MAC0   0x00

MAC address registers.

Definition at line 100 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_MAC1   0x01

Definition at line 101 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_MAC2   0x02

Definition at line 102 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_MAC3   0x03

Definition at line 103 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_MAC4   0x04

Definition at line 104 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_MAC5   0x05

Definition at line 105 of file velocity.h.

Referenced by velocity_probe().

#define VELOCITY_RCR   0x06

Receive control register.

Definition at line 108 of file velocity.h.

Referenced by velocity_open().

#define RHINE_RCR_SYMERR_ACCEPT   (1 << 7) /*< Accept symbol error */

Definition at line 109 of file velocity.h.

#define RHINE_RCR_FILTER_ACCEPT   (1 << 6) /*< Accept based on filter */

Definition at line 110 of file velocity.h.

#define RHINE_RCR_LONG_ACCEPT   (1 << 5) /*< Accept long packets */

Definition at line 111 of file velocity.h.

#define RHINE_RCR_PROMISC   (1 << 4) /*< Promiscuous mode */

Definition at line 112 of file velocity.h.

#define RHINE_RCR_BCAST_ACCEPT   (1 << 3) /*< Accept broadcast */

Definition at line 113 of file velocity.h.

#define RHINE_RCR_MCAST_ACCEPT   (1 << 2) /*< Accept multicast */

Definition at line 114 of file velocity.h.

#define RHINE_RCR_RUNT_ACCEPT   (1 << 1) /*< Accept runt frames */

Definition at line 115 of file velocity.h.

#define RHINE_RCR_ERR_ACCEPT   (1 << 0) /*< Accept erroneous frames */

Definition at line 116 of file velocity.h.

#define VELOCITY_TCR   0x07

Transmit control register.

Definition at line 119 of file velocity.h.

#define VELOCITY_TCR_LB0   (1 << 0) /*< Loopback control */

Definition at line 120 of file velocity.h.

#define VELOCITY_TCR_LB1   (1 << 1) /*< Loopback control */

Definition at line 121 of file velocity.h.

#define VELOCITY_TCR_COLTMC0   (1 << 2) /*< Collision retry control */

Definition at line 122 of file velocity.h.

#define VELOCITY_TCR_COLTMC1   (1 << 3) /*< Collision retry control */

Definition at line 123 of file velocity.h.

#define VELOCITY_CRS0   0x08

Command register 0 (set)

Definition at line 126 of file velocity.h.

Referenced by velocity_close(), and velocity_open().

#define VELOCITY_CR0_TXON   (1 << 3) /*< Transmit enable */

Definition at line 127 of file velocity.h.

Referenced by velocity_close(), and velocity_open().

#define VELOCITY_CR0_RXON   (1 << 2) /*< Receive enable */

Definition at line 128 of file velocity.h.

Referenced by velocity_close(), and velocity_open().

#define VELOCITY_CR0_STOP   (1 << 1) /*< Stop NIC */

Definition at line 129 of file velocity.h.

Referenced by velocity_close(), and velocity_open().

#define VELOCITY_CR0_START   (1 << 0) /*< Start NIC */

Definition at line 130 of file velocity.h.

Referenced by velocity_open().

#define VELOCITY_CRS1   0x09

Command register 1 (set)

Definition at line 133 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_CR1_SFRST   (1 << 7) /*< Software reset */

Definition at line 134 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_CR1_TM1EN   (1 << 6) /*< Perioding software counting */

Definition at line 135 of file velocity.h.

#define VELOCITY_CR1_TM0EN   (1 << 5) /*< Single-shot software counting */

Definition at line 136 of file velocity.h.

#define VELOCITY_CR1_DPOLL   (1 << 3) /*< Disable auto polling */

Definition at line 137 of file velocity.h.

Referenced by velocity_open().

#define VELOCITY_CR1_DISAU   (1 << 0) /*< Unicast reception disable */

Definition at line 138 of file velocity.h.

#define VELOCITY_CRS2   0x0A

Command register 2 (set)

Definition at line 141 of file velocity.h.

#define VELOCITY_CR2_XONEN   (1 << 7) /*< XON/XOFF mode enable */

Definition at line 142 of file velocity.h.

#define VELOCITY_CR2_FDXTFCEN   (1 << 6) /*< FDX flow control TX */

Definition at line 143 of file velocity.h.

#define VELOCITY_CR2_FDXRFCEN   (1 << 5)

Definition at line 144 of file velocity.h.

#define VELOCITY_CR2_HDXFCEN   (1 << 4)

Definition at line 145 of file velocity.h.

#define VELOCITY_CRS3   0x0B

Command register 3 (set)

Definition at line 148 of file velocity.h.

Referenced by velocity_irq().

#define VELOCITY_CR3_FOSRST   (1 << 6)

Definition at line 149 of file velocity.h.

#define VELOCITY_CR3_FPHYRST   (1 << 5)

Definition at line 150 of file velocity.h.

#define VELOCITY_CR3_DIAG   (1 << 4)

Definition at line 151 of file velocity.h.

#define VELOCITY_CR3_INTPCTL   (1 << 2)

Definition at line 152 of file velocity.h.

#define VELOCITY_CR3_GINTMSK1   (1 << 1)

Definition at line 153 of file velocity.h.

Referenced by velocity_irq().

#define VELOCITY_CR3_SWPEND   (1 << 0)

Definition at line 154 of file velocity.h.

#define VELOCITY_CRC0   0x0C

Command register 0 (clear)

Definition at line 157 of file velocity.h.

Referenced by velocity_close(), and velocity_open().

#define VELOCITY_CRC1   0x0D

Command register 1 (clear)

Definition at line 160 of file velocity.h.

#define VELOCITY_CRC2   0x0E

Command register 2 (clear.

Definition at line 163 of file velocity.h.

#define VELOCITY_CRC3   0x0F

Command register 3 (clear.

Definition at line 166 of file velocity.h.

Referenced by velocity_irq().

#define VELOCITY_CAM0   0x10

Definition at line 167 of file velocity.h.

#define VELOCITY_CAM1   0x11

Definition at line 168 of file velocity.h.

#define VELOCITY_CAM2   0x12

Definition at line 169 of file velocity.h.

#define VELOCITY_CAM3   0x13

Definition at line 170 of file velocity.h.

#define VELOCITY_CAM4   0x14

Definition at line 171 of file velocity.h.

#define VELOCITY_CAM5   0x15

Definition at line 172 of file velocity.h.

#define VELOCITY_CAM6   0x16

Definition at line 173 of file velocity.h.

#define VELOCITY_CAM7   0x17

Definition at line 174 of file velocity.h.

#define VELOCITY_TXDESC_HI   0x18 /* Hi part of 64bit txdesc base addr */

Definition at line 175 of file velocity.h.

#define VELOCITY_DATABUF_HI   0x1D /* Hi part of 64bit data buffer addr */

Definition at line 176 of file velocity.h.

#define VELOCITY_INTCTL0   0x20 /* interrupt control register */

Definition at line 177 of file velocity.h.

#define VELOCITY_RXSUPPTHR   0x20

Definition at line 178 of file velocity.h.

#define VELOCITY_TXSUPPTHR   0x20

Definition at line 179 of file velocity.h.

#define VELOCITY_INTHOLDOFF   0x20

Definition at line 180 of file velocity.h.

#define VELOCITY_INTCTL1   0x21 /* interrupt control register */

Definition at line 181 of file velocity.h.

#define VELOCITY_TXHOSTERR   0x22 /* TX host error status */

Definition at line 182 of file velocity.h.

#define VELOCITY_RXHOSTERR   0x23 /* RX host error status */

Definition at line 183 of file velocity.h.

#define VELOCITY_ISR0   0x24

Interrupt status register 0.

Definition at line 186 of file velocity.h.

Referenced by velocity_poll().

#define VELOCITY_ISR0_PTX3   (1 << 7)

Definition at line 187 of file velocity.h.

#define VELOCITY_ISR0_PTX2   (1 << 6)

Definition at line 188 of file velocity.h.

#define VELOCITY_ISR0_PTX1   (1 << 5)

Definition at line 189 of file velocity.h.

#define VELOCITY_ISR0_PTX0   (1 << 4)

Definition at line 190 of file velocity.h.

#define VELOCITY_ISR0_PTXI   (1 << 3)

Definition at line 191 of file velocity.h.

#define VELOCITY_ISR0_PRXI   (1 << 2)

Definition at line 192 of file velocity.h.

#define VELOCITY_ISR0_PPTXI   (1 << 1)

Definition at line 193 of file velocity.h.

#define VELOCITY_ISR0_PPRXI   (1 << 0)

Definition at line 194 of file velocity.h.

#define VELOCITY_ISR1   0x25

Interrupt status register 1.

Definition at line 197 of file velocity.h.

Referenced by velocity_poll().

#define VELOCITY_ISR1_SRCI   (1 << 7)

Definition at line 198 of file velocity.h.

Referenced by velocity_poll().

#define VELOCITY_ISR1_LSTPEI   (1 << 6)

Definition at line 199 of file velocity.h.

#define VELOCITY_ISR1_LSTEI   (1 << 5)

Definition at line 200 of file velocity.h.

#define VELOCITY_ISR1_OVFL   (1 << 4)

Definition at line 201 of file velocity.h.

#define VELOCITY_ISR1_FLONI   (1 << 3)

Definition at line 202 of file velocity.h.

#define VELOCITY_ISR1_RACEI   (1 << 2)

Definition at line 203 of file velocity.h.

#define VELOCITY_ISR2   0x26

Interrupt status register 2.

Definition at line 206 of file velocity.h.

#define VELOCITY_ISR2_HFLD   (1 << 7)

Definition at line 207 of file velocity.h.

#define VELOCITY_ISR2_UDPI   (1 << 6)

Definition at line 208 of file velocity.h.

#define VELOCITY_ISR2_MIBFI   (1 << 5)

Definition at line 209 of file velocity.h.

#define VELOCITY_ISR2_SHDNII   (1 << 4)

Definition at line 210 of file velocity.h.

#define VELOCITY_ISR2_PHYI   (1 << 3)

Definition at line 211 of file velocity.h.

#define VELOCITY_ISR2_PWEI   (1 << 2)

Definition at line 212 of file velocity.h.

#define VELOCITY_ISR2_TMR1I   (1 << 1)

Definition at line 213 of file velocity.h.

#define VELOCITY_ISR2_TMR0I   (1 << 0)

Definition at line 214 of file velocity.h.

#define VELOCITY_ISR3   0x27

Interrupt status register 3.

Definition at line 217 of file velocity.h.

#define VELOCITY_IMR0   0x28

Interrupt mask register 0.

Definition at line 220 of file velocity.h.

Referenced by velocity_open().

#define VELOCITY_IMR1   0x29

Interrupt mask register 1.

Definition at line 223 of file velocity.h.

Referenced by velocity_open().

#define VELOCITY_IMR2   0x2a

Interrupt mask register 2.

Definition at line 226 of file velocity.h.

#define VELOCITY_IMR3   0x2b

Interrupt mask register 3.

Definition at line 229 of file velocity.h.

#define VELOCITY_TXSTS_PORT   0x2C /* Transmit status port (???) */

Definition at line 231 of file velocity.h.

#define VELOCITY_TXQCSRS   0x30 /* TX queue ctl/status set */

Definition at line 232 of file velocity.h.

Referenced by velocity_open(), and velocity_transmit().

#define VELOCITY_TXQCSRS_DEAD3   (1 << 15)

Definition at line 234 of file velocity.h.

#define VELOCITY_TXQCSRS_WAK3   (1 << 14)

Definition at line 235 of file velocity.h.

#define VELOCITY_TXQCSRS_ACT3   (1 << 13)

Definition at line 236 of file velocity.h.

#define VELOCITY_TXQCSRS_RUN3   (1 << 12)

Definition at line 237 of file velocity.h.

#define VELOCITY_TXQCSRS_DEAD2   (1 << 11)

Definition at line 238 of file velocity.h.

#define VELOCITY_TXQCSRS_WAK2   (1 << 10)

Definition at line 239 of file velocity.h.

#define VELOCITY_TXQCSRS_ACT2   (1 << 9)

Definition at line 240 of file velocity.h.

#define VELOCITY_TXQCSRS_RUN2   (1 << 8)

Definition at line 241 of file velocity.h.

#define VELOCITY_TXQCSRS_DEAD1   (1 << 7)

Definition at line 242 of file velocity.h.

#define VELOCITY_TXQCSRS_WAK1   (1 << 6)

Definition at line 243 of file velocity.h.

#define VELOCITY_TXQCSRS_ACT1   (1 << 5)

Definition at line 244 of file velocity.h.

#define VELOCITY_TXQCSRS_RUN1   (1 << 4)

Definition at line 245 of file velocity.h.

#define VELOCITY_TXQCSRS_DEAD0   (1 << 3)

Definition at line 246 of file velocity.h.

#define VELOCITY_TXQCSRS_WAK0   (1 << 2)

Definition at line 247 of file velocity.h.

Referenced by velocity_transmit().

#define VELOCITY_TXQCSRS_ACT0   (1 << 1)

Definition at line 248 of file velocity.h.

#define VELOCITY_TXQCSRS_RUN0   (1 << 0)

Definition at line 249 of file velocity.h.

Referenced by velocity_open().

#define VELOCITY_RXQCSRS   0x32 /* RX queue ctl/status set */

Definition at line 251 of file velocity.h.

Referenced by velocity_open(), and velocity_poll().

#define VELOCITY_RXQCSRC   0x36

Definition at line 260 of file velocity.h.

#define VELOCITY_RXQCSR_DEAD   (1 << 3)

Definition at line 254 of file velocity.h.

#define VELOCITY_RXQCSR_WAK   (1 << 2)

Definition at line 255 of file velocity.h.

Referenced by velocity_open(), and velocity_poll().

#define VELOCITY_RXQCSR_ACT   (1 << 1)

Definition at line 256 of file velocity.h.

#define VELOCITY_RXQCSR_RUN   (1 << 0)

Definition at line 257 of file velocity.h.

Referenced by velocity_open(), and velocity_poll().

#define VELOCITY_TXQCSRC   0x34 /* TX queue ctl/status clear */

Definition at line 259 of file velocity.h.

#define VELOCITY_RXQCSRC   0x36 /* RX queue ctl/status clear */

Definition at line 260 of file velocity.h.

#define VELOCITY_RXDESC_ADDR_LO   0x38 /* RX desc base addr (lo 32 bits) */

Definition at line 261 of file velocity.h.

Referenced by velocity_alloc_rings(), and velocity_close().

#define VELOCITY_RXDESC_CONSIDX   0x3C /* Current RX descriptor index */

Definition at line 262 of file velocity.h.

#define VELOCITY_TXQTIMER   0x3E /* TX queue timer pend register */

Definition at line 263 of file velocity.h.

#define VELOCITY_RXQTIMER   0x3F /* RX queue timer pend register */

Definition at line 264 of file velocity.h.

#define VELOCITY_TXDESC_ADDR_LO0   0x40 /* TX desc0 base addr (lo 32 bits) */

Definition at line 265 of file velocity.h.

Referenced by velocity_alloc_rings(), and velocity_close().

#define VELOCITY_TXDESC_ADDR_LO1   0x44 /* TX desc1 base addr (lo 32 bits) */

Definition at line 266 of file velocity.h.

#define VELOCITY_TXDESC_ADDR_LO2   0x48 /* TX desc2 base addr (lo 32 bits) */

Definition at line 267 of file velocity.h.

#define VELOCITY_TXDESC_ADDR_LO3   0x4C /* TX desc3 base addr (lo 32 bits) */

Definition at line 268 of file velocity.h.

#define VELOCITY_RXDESCNUM   0x50 /* Size of RX desc ring */

Definition at line 269 of file velocity.h.

Referenced by velocity_alloc_rings(), and velocity_close().

#define VELOCITY_TXDESCNUM   0x52 /* Size of TX desc ring */

Definition at line 270 of file velocity.h.

Referenced by velocity_alloc_rings(), and velocity_close().

#define VELOCITY_TXDESC_CONSIDX0   0x54 /* Current TX descriptor index */

Definition at line 271 of file velocity.h.

#define VELOCITY_TXDESC_CONSIDX1   0x56 /* Current TX descriptor index */

Definition at line 272 of file velocity.h.

#define VELOCITY_TXDESC_CONSIDX2   0x58 /* Current TX descriptor index */

Definition at line 273 of file velocity.h.

#define VELOCITY_TXDESC_CONSIDX3   0x5A /* Current TX descriptor index */

Definition at line 274 of file velocity.h.

#define VELOCITY_TX_PAUSE_TIMER   0x5C /* TX pause frame timer */

Definition at line 275 of file velocity.h.

#define VELOCITY_RXDESC_RESIDUECNT   0x5E /* RX descriptor residue count */

Definition at line 276 of file velocity.h.

Referenced by velocity_refill_rx().

#define VELOCITY_FIFOTEST0   0x60 /* FIFO test register */

Definition at line 277 of file velocity.h.

#define VELOCITY_FIFOTEST1   0x64 /* FIFO test register */

Definition at line 278 of file velocity.h.

#define VELOCITY_CAMADDR   0x68 /* CAM address register */

Definition at line 279 of file velocity.h.

#define VELOCITY_CAMCTL   0x69 /* CAM control register */

Definition at line 280 of file velocity.h.

#define VELOCITY_MIICFG   0x6C /* MII port config register */

Definition at line 281 of file velocity.h.

#define VELOCITY_MIISR   0x6D /* MII port status register */

Definition at line 282 of file velocity.h.

Referenced by velocity_autopoll_start(), and velocity_autopoll_stop().

#define VELOCITY_MIISR_IDLE   (1 << 7)

Definition at line 283 of file velocity.h.

Referenced by velocity_autopoll_start(), and velocity_autopoll_stop().

#define VELOCITY_PHYSTS0   0x6E /* PHY status register */

Definition at line 284 of file velocity.h.

Referenced by velocity_check_link().

#define VELOCITY_PHYSTS0_LINK   (1 << 6)

Definition at line 285 of file velocity.h.

Referenced by velocity_check_link().

#define VELOCITY_PHYSTS1   0x6F /* PHY status register */

Definition at line 286 of file velocity.h.

#define VELOCITY_MIICR   0x70 /* MII command register */
#define VELOCITY_MIICR_MAUTO   (1 << 7)

Definition at line 288 of file velocity.h.

Referenced by velocity_autopoll_start().

#define VELOCITY_MIICR_RCMD   (1 << 6)

Definition at line 289 of file velocity.h.

Referenced by velocity_mii_read().

#define VELOCITY_MIICR_WCMD   (1 << 5)

Definition at line 290 of file velocity.h.

Referenced by velocity_mii_write().

#define VELOCITY_MIICR_MDPM   (1 << 4)

Definition at line 291 of file velocity.h.

#define VELOCITY_MIICR_MOUT   (1 << 3)

Definition at line 292 of file velocity.h.

#define VELOCITY_MIICR_MDO   (1 << 2)

Definition at line 293 of file velocity.h.

#define VELOCITY_MIICR_MDI   (1 << 1)

Definition at line 294 of file velocity.h.

#define VELOCITY_MIICR_MDC   (1 << 0)

Definition at line 295 of file velocity.h.

#define VELOCITY_MIIADDR   0x71 /* MII address register */

Definition at line 297 of file velocity.h.

Referenced by velocity_mii_read(), and velocity_mii_write().

#define VELOCITY_MIIDATA   0x72 /* MII data register */

Definition at line 298 of file velocity.h.

Referenced by velocity_mii_read(), and velocity_mii_write().

#define VELOCITY_SSTIMER   0x74 /* single-shot timer */

Definition at line 299 of file velocity.h.

#define VELOCITY_PTIMER   0x76 /* periodic timer */

Definition at line 300 of file velocity.h.

#define VELOCITY_DMACFG0   0x7C /* DMA config 0 */

Definition at line 301 of file velocity.h.

#define VELOCITY_DMACFG1   0x7D /* DMA config 1 */

Definition at line 302 of file velocity.h.

#define VELOCITY_RXCFG   0x7E /* MAC RX config */

Definition at line 303 of file velocity.h.

#define VELOCITY_TXCFG   0x7F /* MAC TX config */

Definition at line 304 of file velocity.h.

#define VELOCITY_SWEEDATA   0x85 /* EEPROM software loaded data */

Definition at line 305 of file velocity.h.

#define VELOCITY_CFGA   0x78

Chip Configuration Register A.

Definition at line 308 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_CFGA_PACPI   (1 << 0)

Definition at line 309 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_STICKY   0x83

Power Management Sticky Register.

Definition at line 312 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_STICKY_DS0   (1 << 0)

Definition at line 313 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_STICKY_DS1   (1 << 1)

Definition at line 314 of file velocity.h.

Referenced by velocity_reset().

#define VELOCITY_EEWRDAT   0x8C /* EEPROM embedded write */

Definition at line 316 of file velocity.h.

#define VELOCITY_EECSUM   0x92 /* EEPROM checksum */

Definition at line 317 of file velocity.h.

#define VELOCITY_EECSR   0x93 /* EEPROM control/status */

Definition at line 318 of file velocity.h.

Referenced by velocity_reload_eeprom().

#define VELOCITY_EECSR_RELOAD   (1 << 5)

Definition at line 319 of file velocity.h.

Referenced by velocity_reload_eeprom().

#define VELOCITY_EERDDAT   0x94 /* EEPROM embedded read */

Definition at line 320 of file velocity.h.

#define VELOCITY_EEADDR   0x96 /* EEPROM address */

Definition at line 321 of file velocity.h.

#define VELOCITY_EECMD   0x97 /* EEPROM embedded command */

Definition at line 322 of file velocity.h.


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER  )
struct velocity_frag __attribute__ ( (packed)  )

Variable Documentation

Definition at line 22 of file velocity.h.

Definition at line 23 of file velocity.h.

Definition at line 30 of file velocity.h.

Definition at line 31 of file velocity.h.

struct velocity_frag frags[7]

Definition at line 33 of file velocity.h.