#include <gpxe/spi_bit.h>#include <gpxe/tables.h>Go to the source code of this file.
| #define RTL818X_CMD_TX_ENABLE (1 << 2) |
| #define RTL818X_CMD_RX_ENABLE (1 << 3) |
| #define RTL818X_CMD_RESET (1 << 4) |
| #define RTL818X_INT_RX_OK (1 << 0) |
| #define RTL818X_INT_RX_ERR (1 << 1) |
| #define RTL818X_INT_TXN_OK (1 << 6) |
| #define RTL818X_INT_TXN_ERR (1 << 7) |
| #define RTL818X_TX_CONF_LOOPBACK_CONT (3 << 17) |
| #define RTL818X_TX_CONF_NO_ICV (1 << 19) |
| #define RTL818X_TX_CONF_SAT_HWPLCP (1 << 24) |
| #define RTL818X_TX_CONF_R8180_ABCD (2 << 25) |
| #define RTL818X_TX_CONF_R8180_F (3 << 25) |
| #define RTL818X_TX_CONF_R8185_ABC (4 << 25) |
| #define RTL818X_TX_CONF_R8185_D (5 << 25) |
| #define RTL818X_TX_CONF_HWVER_MASK (7 << 25) |
| #define RTL818X_TX_CONF_PROBE_DTS (1 << 29) |
| #define RTL818X_TX_CONF_HW_SEQNUM (1 << 30) |
| #define RTL818X_RX_CONF_NICMAC (1 << 1) |
| #define RTL818X_RX_CONF_BROADCAST (1 << 3) |
| #define RTL818X_RX_CONF_DATA (1 << 18) |
| #define RTL818X_RX_CONF_MGMT (1 << 20) |
| #define RTL818X_RX_CONF_RX_AUTORESETPHY (1 << 28) |
| #define RTL818X_RX_CONF_CSDM1 (1 << 29) |
| #define RTL818X_RX_CONF_CSDM2 (1 << 30) |
| #define RTL818X_RX_CONF_ONLYERLPKT (1 << 31) |
| #define RTL818X_EEPROM_CMD_NORMAL (0 << 6) |
Definition at line 106 of file rtl818x.h.
Referenced by rtl818x_init_hw(), rtl818x_probe(), rtl818x_set_anaparam(), rtl818x_set_hwaddr(), rtl818x_stop(), rtl8225_rf_init(), rtl8225_rf_set_tx_power(), rtl8225_rf_stop(), and rtl8225z2_rf_init().
| #define RTL818X_EEPROM_CMD_LOAD (1 << 6) |
| #define RTL818X_EEPROM_CMD_PROGRAM (2 << 6) |
| #define RTL818X_EEPROM_CMD_CONFIG (3 << 6) |
Definition at line 109 of file rtl818x.h.
Referenced by rtl818x_init_hw(), rtl818x_set_anaparam(), rtl818x_set_hwaddr(), rtl818x_stop(), rtl8225_rf_init(), rtl8225_rf_set_tx_power(), rtl8225_rf_stop(), and rtl8225z2_rf_init().
| #define RTL818X_CONFIG2_ANTENNA_DIV (1 << 6) |
Definition at line 113 of file rtl818x.h.
Referenced by grf5101_rf_init(), max2820_rf_init(), and sa2400_rf_init().
| #define RTL818X_MSR_NO_LINK (0 << 2) |
| #define RTL818X_MSR_INFRA (2 << 2) |
| #define RTL818X_CONFIG3_ANAPARAM_WRITE (1 << 6) |
Definition at line 122 of file rtl818x.h.
Referenced by rtl818x_set_anaparam(), rtl8225_rf_set_tx_power(), and rtl8225_rf_stop().
| #define RTL818X_CONFIG4_VCOOFF (1 << 7) |
| #define RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT (1 << 0) |
| #define RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT (1 << 1) |
| #define RTL818X_TX_AGC_CTL_FEEDBACK_ANT (1 << 2) |
| #define RTL818X_CW_CONF_PERPACKET_CW_SHIFT (1 << 0) |
| #define RTL818X_CW_CONF_PERPACKET_RETRY_SHIFT (1 << 1) |
| #define MAX_RX_SIZE IEEE80211_MAX_FRAME_LEN |
Definition at line 196 of file rtl818x.h.
Referenced by rtl818x_handle_rx(), and rtl818x_init_rx_ring().
| #define RF_PARAM_ANALOGPHY (1 << 0) |
| #define RF_PARAM_ANTBDEFAULT (1 << 1) |
Definition at line 199 of file rtl818x.h.
Referenced by grf5101_write_phy_antenna(), max2820_write_phy_antenna(), and sa2400_write_phy_antenna().
| #define RF_PARAM_CARRIERSENSE1 (1 << 2) |
| #define RF_PARAM_CARRIERSENSE2 (1 << 3) |
| #define BB_ANTATTEN_CHAN14 0x0C |
Definition at line 203 of file rtl818x.h.
Referenced by grf5101_write_phy_antenna(), max2820_write_phy_antenna(), and sa2400_write_phy_antenna().
| #define BB_ANTENNA_B 0x40 |
Definition at line 204 of file rtl818x.h.
Referenced by grf5101_write_phy_antenna(), max2820_write_phy_antenna(), and sa2400_write_phy_antenna().
| #define ANAPARAM_TXDACOFF_SHIFT 27 |
| #define ANAPARAM_PWR0_SHIFT 28 |
| #define ANAPARAM_PWR0_MASK (0x07 << ANAPARAM_PWR0_SHIFT) |
| #define ANAPARAM_PWR1_SHIFT 20 |
| #define ANAPARAM_PWR1_MASK (0x7F << ANAPARAM_PWR1_SHIFT) |
| #define RTL818X_RX_RING_SIZE 8 |
Definition at line 217 of file rtl818x.h.
Referenced by rtl818x_free_rx_ring(), rtl818x_handle_rx(), and rtl818x_init_rx_ring().
| #define RTL818X_TX_RING_SIZE 8 |
Definition at line 218 of file rtl818x.h.
Referenced by rtl818x_free_tx_ring(), rtl818x_handle_tx(), rtl818x_init_tx_ring(), and rtl818x_tx().
| #define RTL818X_RING_ALIGN 256 |
Definition at line 219 of file rtl818x.h.
Referenced by rtl818x_init_rx_ring(), and rtl818x_init_tx_ring().
| #define RTL818X_MAX_RETRIES 4 |
| #define RTL818X_RF_DRIVERS __table(struct rtl818x_rf_ops, "rtl818x_rf_drivers") |
| #define __rtl818x_rf_driver __table_entry(RTL818X_RF_DRIVERS, 01) |
Definition at line 223 of file rtl818x.h.
00223 { 00224 RTL818X_TX_DESC_FLAG_NO_ENC = (1 << 15), 00225 RTL818X_TX_DESC_FLAG_TX_OK = (1 << 15), 00226 RTL818X_TX_DESC_FLAG_SPLCP = (1 << 16), 00227 RTL818X_TX_DESC_FLAG_RX_UNDER = (1 << 16), 00228 RTL818X_TX_DESC_FLAG_MOREFRAG = (1 << 17), 00229 RTL818X_TX_DESC_FLAG_CTS = (1 << 18), 00230 RTL818X_TX_DESC_FLAG_RTS = (1 << 23), 00231 RTL818X_TX_DESC_FLAG_LS = (1 << 28), 00232 RTL818X_TX_DESC_FLAG_FS = (1 << 29), 00233 RTL818X_TX_DESC_FLAG_DMA = (1 << 30), 00234 RTL818X_TX_DESC_FLAG_OWN = (1 << 31) 00235 };
Definition at line 251 of file rtl818x.h.
00251 { 00252 RTL818X_RX_DESC_FLAG_ICV_ERR = (1 << 12), 00253 RTL818X_RX_DESC_FLAG_CRC32_ERR = (1 << 13), 00254 RTL818X_RX_DESC_FLAG_PM = (1 << 14), 00255 RTL818X_RX_DESC_FLAG_RX_ERR = (1 << 15), 00256 RTL818X_RX_DESC_FLAG_BCAST = (1 << 16), 00257 RTL818X_RX_DESC_FLAG_PAM = (1 << 17), 00258 RTL818X_RX_DESC_FLAG_MCAST = (1 << 18), 00259 RTL818X_RX_DESC_FLAG_QOS = (1 << 19), /* RTL8187(B) only */ 00260 RTL818X_RX_DESC_FLAG_TRSW = (1 << 24), /* RTL8187(B) only */ 00261 RTL818X_RX_DESC_FLAG_SPLCP = (1 << 25), 00262 RTL818X_RX_DESC_FLAG_FOF = (1 << 26), 00263 RTL818X_RX_DESC_FLAG_DMA_FAIL = (1 << 27), 00264 RTL818X_RX_DESC_FLAG_LS = (1 << 28), 00265 RTL818X_RX_DESC_FLAG_FS = (1 << 29), 00266 RTL818X_RX_DESC_FLAG_EOR = (1 << 30), 00267 RTL818X_RX_DESC_FLAG_OWN = (1 << 31) 00268 };
| FILE_LICENCE | ( | GPL2_ONLY | ) |
| void rtl818x_write_phy | ( | struct net80211_device * | dev, | |
| u8 | addr, | |||
| u32 | data | |||
| ) |
Definition at line 46 of file rtl818x.c.
References rtl818x_priv::map, rtl818x_csr::PHY, net80211_device::priv, priv, rtl818x_ioread8(), rtl818x_iowrite32(), and u32.
Referenced by grf5101_rf_init(), grf5101_write_phy_antenna(), max2820_rf_init(), max2820_rf_set_channel(), max2820_rf_stop(), max2820_write_phy_antenna(), rtl8225_write_phy_cck(), rtl8225_write_phy_ofdm(), sa2400_rf_init(), and sa2400_write_phy_antenna().
00047 { 00048 struct rtl818x_priv *priv = dev->priv; 00049 int i = 10; 00050 u32 buf; 00051 00052 buf = (data << 8) | addr; 00053 00054 rtl818x_iowrite32(priv, (u32 *)&priv->map->PHY[0], buf | 0x80); 00055 while (i--) { 00056 rtl818x_iowrite32(priv, (u32 *)&priv->map->PHY[0], buf); 00057 if (rtl818x_ioread8(priv, &priv->map->PHY[2]) == (data & 0xFF)) 00058 return; 00059 } 00060 }
| void rtl818x_set_anaparam | ( | struct rtl818x_priv * | priv, | |
| u32 | anaparam | |||
| ) |
Definition at line 219 of file rtl818x.c.
References rtl818x_csr::ANAPARAM, rtl818x_csr::CONFIG3, rtl818x_csr::EEPROM_CMD, rtl818x_priv::map, RTL818X_CONFIG3_ANAPARAM_WRITE, RTL818X_EEPROM_CMD_CONFIG, RTL818X_EEPROM_CMD_NORMAL, rtl818x_ioread8(), rtl818x_iowrite32(), rtl818x_iowrite8(), and u8.
Referenced by grf5101_rf_init(), grf5101_rf_stop(), rtl818x_init_hw(), rtl8225_rf_init(), rtl8225z2_rf_init(), and sa2400_rf_init().
00220 { 00221 u8 reg; 00222 00223 rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD, RTL818X_EEPROM_CMD_CONFIG); 00224 reg = rtl818x_ioread8(priv, &priv->map->CONFIG3); 00225 rtl818x_iowrite8(priv, &priv->map->CONFIG3, 00226 reg | RTL818X_CONFIG3_ANAPARAM_WRITE); 00227 rtl818x_iowrite32(priv, &priv->map->ANAPARAM, anaparam); 00228 rtl818x_iowrite8(priv, &priv->map->CONFIG3, 00229 reg & ~RTL818X_CONFIG3_ANAPARAM_WRITE); 00230 rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD, RTL818X_EEPROM_CMD_NORMAL); 00231 }
| static u8 rtl818x_ioread8 | ( | struct rtl818x_priv *priv | __unused, | |
| u8 * | addr | |||
| ) | [inline, static] |
Definition at line 314 of file rtl818x.h.
References inb.
Referenced by grf5101_rf_init(), max2820_rf_init(), rtl818x_init_hw(), rtl818x_probe(), rtl818x_set_anaparam(), rtl818x_spi_read_bit(), rtl818x_spi_write_bit(), rtl818x_start(), rtl818x_stop(), rtl818x_write_phy(), rtl8225_read(), rtl8225_rf_init(), rtl8225_rf_set_tx_power(), rtl8225_rf_stop(), rtl8225_write(), rtl8225x_rf_init(), rtl8225z2_rf_init(), rtl8225z2_rf_set_tx_power(), and sa2400_rf_init().
00315 { 00316 return inb(addr); 00317 }
| static u16 rtl818x_ioread16 | ( | struct rtl818x_priv *priv | __unused, | |
| u16 * | addr | |||
| ) | [inline, static] |
Definition at line 319 of file rtl818x.h.
References inw.
Referenced by rtl818x_init_hw(), rtl818x_poll(), rtl8225_read(), rtl8225_rf_init(), rtl8225_write(), and rtl8225z2_rf_init().
00320 { 00321 return inw(addr); 00322 }
| static u32 rtl818x_ioread32 | ( | struct rtl818x_priv *priv | __unused, | |
| u32 * | addr | |||
| ) | [inline, static] |
Definition at line 324 of file rtl818x.h.
References inl.
Referenced by rtl818x_probe(), rtl818x_start(), and sa2400_rf_init().
00325 { 00326 return inl(addr); 00327 }
| static void rtl818x_iowrite8 | ( | struct rtl818x_priv *priv | __unused, | |
| u8 * | addr, | |||
| u8 | val | |||
| ) | [inline, static] |
Definition at line 329 of file rtl818x.h.
References outb.
Referenced by rtl818x_config(), rtl818x_init_hw(), rtl818x_probe(), rtl818x_set_anaparam(), rtl818x_set_hwaddr(), rtl818x_spi_write_bit(), rtl818x_start(), rtl818x_stop(), rtl818x_tx(), rtl8225_rf_conf_erp(), rtl8225_rf_init(), rtl8225_rf_set_tx_power(), rtl8225_rf_stop(), rtl8225z2_rf_init(), and rtl8225z2_rf_set_tx_power().
00331 { 00332 outb(val, addr); 00333 }
| static void rtl818x_iowrite16 | ( | struct rtl818x_priv *priv | __unused, | |
| u16 * | addr, | |||
| u16 | val | |||
| ) | [inline, static] |
Definition at line 335 of file rtl818x.h.
References outw.
Referenced by rtl818x_init_hw(), rtl818x_irq(), rtl818x_poll(), rtl818x_set_hwaddr(), rtl818x_start(), rtl8225_read(), rtl8225_rf_init(), rtl8225_write(), rtl8225x_rf_init(), rtl8225z2_rf_init(), write_grf5101(), write_max2820(), and write_sa2400().
00337 { 00338 outw(val, addr); 00339 }
| static void rtl818x_iowrite32 | ( | struct rtl818x_priv *priv | __unused, | |
| u32 * | addr, | |||
| u32 | val | |||
| ) | [inline, static] |
Definition at line 341 of file rtl818x.h.
References outl.
Referenced by rtl818x_init_hw(), rtl818x_set_anaparam(), rtl818x_set_hwaddr(), rtl818x_start(), rtl818x_write_phy(), rtl8225_rf_init(), rtl8225_rf_set_tx_power(), rtl8225_rf_stop(), rtl8225z2_rf_init(), and sa2400_rf_init().
00343 { 00344 outl(val, addr); 00345 }
1.5.7.1