45 #define RTL818X_CMD_TX_ENABLE (1 << 2) 46 #define RTL818X_CMD_RX_ENABLE (1 << 3) 47 #define RTL818X_CMD_RESET (1 << 4) 51 #define RTL818X_INT_RX_OK (1 << 0) 52 #define RTL818X_INT_RX_ERR (1 << 1) 53 #define RTL818X_INT_TXL_OK (1 << 2) 54 #define RTL818X_INT_TXL_ERR (1 << 3) 55 #define RTL818X_INT_RX_DU (1 << 4) 56 #define RTL818X_INT_RX_FO (1 << 5) 57 #define RTL818X_INT_TXN_OK (1 << 6) 58 #define RTL818X_INT_TXN_ERR (1 << 7) 59 #define RTL818X_INT_TXH_OK (1 << 8) 60 #define RTL818X_INT_TXH_ERR (1 << 9) 61 #define RTL818X_INT_TXB_OK (1 << 10) 62 #define RTL818X_INT_TXB_ERR (1 << 11) 63 #define RTL818X_INT_ATIM (1 << 12) 64 #define RTL818X_INT_BEACON (1 << 13) 65 #define RTL818X_INT_TIME_OUT (1 << 14) 66 #define RTL818X_INT_TX_FO (1 << 15) 68 #define RTL818X_TX_CONF_LOOPBACK_MAC (1 << 17) 69 #define RTL818X_TX_CONF_LOOPBACK_CONT (3 << 17) 70 #define RTL818X_TX_CONF_NO_ICV (1 << 19) 71 #define RTL818X_TX_CONF_DISCW (1 << 20) 72 #define RTL818X_TX_CONF_SAT_HWPLCP (1 << 24) 73 #define RTL818X_TX_CONF_R8180_ABCD (2 << 25) 74 #define RTL818X_TX_CONF_R8180_F (3 << 25) 75 #define RTL818X_TX_CONF_R8185_ABC (4 << 25) 76 #define RTL818X_TX_CONF_R8185_D (5 << 25) 77 #define RTL818X_TX_CONF_R8187vD (5 << 25) 78 #define RTL818X_TX_CONF_R8187vD_B (6 << 25) 79 #define RTL818X_TX_CONF_HWVER_MASK (7 << 25) 80 #define RTL818X_TX_CONF_DISREQQSIZE (1 << 28) 81 #define RTL818X_TX_CONF_PROBE_DTS (1 << 29) 82 #define RTL818X_TX_CONF_HW_SEQNUM (1 << 30) 83 #define RTL818X_TX_CONF_CW_MIN (1 << 31) 85 #define RTL818X_RX_CONF_MONITOR (1 << 0) 86 #define RTL818X_RX_CONF_NICMAC (1 << 1) 87 #define RTL818X_RX_CONF_MULTICAST (1 << 2) 88 #define RTL818X_RX_CONF_BROADCAST (1 << 3) 89 #define RTL818X_RX_CONF_FCS (1 << 5) 90 #define RTL818X_RX_CONF_DATA (1 << 18) 91 #define RTL818X_RX_CONF_CTRL (1 << 19) 92 #define RTL818X_RX_CONF_MGMT (1 << 20) 93 #define RTL818X_RX_CONF_ADDR3 (1 << 21) 94 #define RTL818X_RX_CONF_PM (1 << 22) 95 #define RTL818X_RX_CONF_BSSID (1 << 23) 96 #define RTL818X_RX_CONF_RX_AUTORESETPHY (1 << 28) 97 #define RTL818X_RX_CONF_CSDM1 (1 << 29) 98 #define RTL818X_RX_CONF_CSDM2 (1 << 30) 99 #define RTL818X_RX_CONF_ONLYERLPKT (1 << 31) 103 #define RTL818X_EEPROM_CMD_READ (1 << 0) 104 #define RTL818X_EEPROM_CMD_WRITE (1 << 1) 105 #define RTL818X_EEPROM_CMD_CK (1 << 2) 106 #define RTL818X_EEPROM_CMD_CS (1 << 3) 107 #define RTL818X_EEPROM_CMD_NORMAL (0 << 6) 108 #define RTL818X_EEPROM_CMD_LOAD (1 << 6) 109 #define RTL818X_EEPROM_CMD_PROGRAM (2 << 6) 110 #define RTL818X_EEPROM_CMD_CONFIG (3 << 6) 114 #define RTL818X_CONFIG2_ANTENNA_DIV (1 << 6) 117 #define RTL818X_MSR_NO_LINK (0 << 2) 118 #define RTL818X_MSR_ADHOC (1 << 2) 119 #define RTL818X_MSR_INFRA (2 << 2) 120 #define RTL818X_MSR_MASTER (3 << 2) 121 #define RTL818X_MSR_ENEDCA (4 << 2) 123 #define RTL818X_CONFIG3_ANAPARAM_WRITE (1 << 6) 124 #define RTL818X_CONFIG3_GNT_SELECT (1 << 7) 126 #define RTL818X_CONFIG4_POWEROFF (1 << 6) 127 #define RTL818X_CONFIG4_VCOOFF (1 << 7) 154 #define RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT (1 << 0) 155 #define RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT (1 << 1) 156 #define RTL818X_TX_AGC_CTL_FEEDBACK_ANT (1 << 2) 168 #define RTL818X_CW_CONF_PERPACKET_CW_SHIFT (1 << 0) 169 #define RTL818X_CW_CONF_PERPACKET_RETRY_SHIFT (1 << 1) 172 #define RTL818X_RATE_FALLBACK_ENABLE (1 << 7) 183 #define RTL818X_R8187B_B 0 184 #define RTL818X_R8187B_D 1 185 #define RTL818X_R8187B_E 2 197 #define MAX_RX_SIZE IEEE80211_MAX_FRAME_LEN 199 #define RF_PARAM_ANALOGPHY (1 << 0) 200 #define RF_PARAM_ANTBDEFAULT (1 << 1) 201 #define RF_PARAM_CARRIERSENSE1 (1 << 2) 202 #define RF_PARAM_CARRIERSENSE2 (1 << 3) 204 #define BB_ANTATTEN_CHAN14 0x0C 205 #define BB_ANTENNA_B 0x40 207 #define BB_HOST_BANG (1 << 30) 208 #define BB_HOST_BANG_EN (1 << 2) 209 #define BB_HOST_BANG_CLK (1 << 1) 210 #define BB_HOST_BANG_DATA 1 212 #define ANAPARAM_TXDACOFF_SHIFT 27 213 #define ANAPARAM_PWR0_SHIFT 28 214 #define ANAPARAM_PWR0_MASK (0x07 << ANAPARAM_PWR0_SHIFT) 215 #define ANAPARAM_PWR1_SHIFT 20 216 #define ANAPARAM_PWR1_MASK (0x7F << ANAPARAM_PWR1_SHIFT) 218 #define RTL818X_RX_RING_SIZE 8 219 #define RTL818X_TX_RING_SIZE 8 220 #define RTL818X_RING_ALIGN 256 222 #define RTL818X_MAX_RETRIES 4 348 #define RTL818X_RF_DRIVERS __table(struct rtl818x_rf_ops, "rtl818x_rf_drivers") 349 #define __rtl818x_rf_driver __table_entry(RTL818X_RF_DRIVERS, 01)
uint16_t inw(volatile uint16_t *io_addr)
Read 16-bit word from I/O-mapped device.
static u8 rtl818x_ioread8(struct rtl818x_priv *priv __unused, u8 *addr)
void(* stop)(struct net80211_device *dev)
struct io_buffer * rx_buf[RTL818X_RX_RING_SIZE]
#define outw(data, io_addr)
void(* conf_erp)(struct net80211_device *dev)
SPI bit-bashing interface.
void rtl818x_set_anaparam(struct rtl818x_priv *priv, u32 anaparam)
static void rtl818x_iowrite8(struct rtl818x_priv *priv __unused, u8 *addr, u8 val)
struct rtl818x_rx_desc * rx_ring
struct io_buffer * tx_buf[RTL818X_TX_RING_SIZE]
struct device dev
Generic device.
static void rtl818x_iowrite32(struct rtl818x_priv *priv __unused, u32 *addr, u32 val)
#define __unused
Declare a variable or data structure as unused.
void rtl818x_remove(struct pci_device *pdev)
The iPXE 802.11 MAC layer.
#define outl(data, io_addr)
Structure encapsulating the complete state of an 802.11 device.
struct spi_bit_basher spibit
uint8_t inb(volatile uint8_t *io_addr)
Read byte from I/O-mapped device.
const struct rtl818x_rf_ops * rf
void rtl818x_write_phy(struct net80211_device *dev, u8 addr, u32 data)
#define RTL818X_RX_RING_SIZE
void(* init)(struct net80211_device *dev)
#define outb(data, io_addr)
int rtl818x_probe(struct pci_device *pdev)
static struct tlan_private * priv
uint32_t inl(volatile uint32_t *io_addr)
Read 32-bit dword from I/O-mapped device.
uint8_t data[48]
Additional event data.
static void rtl818x_iowrite16(struct rtl818x_priv *priv __unused, u16 *addr, u16 val)
#define RTL818X_TX_RING_SIZE
void(* set_chan)(struct net80211_device *dev, struct net80211_channel *chan)
static u16 rtl818x_ioread16(struct rtl818x_priv *priv __unused, u16 *addr)
struct rtl818x_tx_desc * tx_ring
static u32 rtl818x_ioread32(struct rtl818x_priv *priv __unused, u32 *addr)