Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
eeprom.h File Reference
#include "../ath.h"
#include <net/cfg80211.h>
#include "ar9003_eeprom.h"

Go to the source code of this file.

Data Structures

struct  base_eep_header
 
struct  base_eep_header_4k
 
struct  spur_chan
 
struct  modal_eep_header
 
struct  calDataPerFreqOpLoop
 
struct  modal_eep_4k_header
 
struct  base_eep_ar9287_header
 
struct  modal_eep_ar9287_header
 
struct  cal_data_per_freq
 
struct  cal_data_per_freq_4k
 
struct  cal_target_power_leg
 
struct  cal_target_power_ht
 
struct  cal_ctl_edges
 
struct  cal_data_op_loop_ar9287
 
struct  cal_data_per_freq_ar9287
 
union  cal_data_per_freq_ar9287_u
 
struct  cal_ctl_data_ar9287
 
struct  cal_ctl_data
 
struct  cal_ctl_data_4k
 
struct  ar5416_eeprom_def
 
struct  ar5416_eeprom_4k
 
struct  ar9287_eeprom
 
struct  ath9k_country_entry
 
struct  eeprom_ops
 

Macros

#define AR_EEPROM_MODAL_SPURS   5
 
#define AR5416_EEPROM_MAGIC   0xa55a
 
#define CTRY_DEBUG   0x1ff
 
#define CTRY_DEFAULT   0
 
#define AR_EEPROM_EEPCAP_COMPRESS_DIS   0x0001
 
#define AR_EEPROM_EEPCAP_AES_DIS   0x0002
 
#define AR_EEPROM_EEPCAP_FASTFRAME_DIS   0x0004
 
#define AR_EEPROM_EEPCAP_BURST_DIS   0x0008
 
#define AR_EEPROM_EEPCAP_MAXQCU   0x01F0
 
#define AR_EEPROM_EEPCAP_MAXQCU_S   4
 
#define AR_EEPROM_EEPCAP_HEAVY_CLIP_EN   0x0200
 
#define AR_EEPROM_EEPCAP_KC_ENTRIES   0xF000
 
#define AR_EEPROM_EEPCAP_KC_ENTRIES_S   12
 
#define AR_EEPROM_EEREGCAP_EN_FCC_MIDBAND   0x0040
 
#define AR_EEPROM_EEREGCAP_EN_KK_U1_EVEN   0x0080
 
#define AR_EEPROM_EEREGCAP_EN_KK_U2   0x0100
 
#define AR_EEPROM_EEREGCAP_EN_KK_MIDBAND   0x0200
 
#define AR_EEPROM_EEREGCAP_EN_KK_U1_ODD   0x0400
 
#define AR_EEPROM_EEREGCAP_EN_KK_NEW_11A   0x0800
 
#define AR_EEPROM_EEREGCAP_EN_KK_U1_ODD_PRE4_0   0x4000
 
#define AR_EEPROM_EEREGCAP_EN_KK_NEW_11A_PRE4_0   0x8000
 
#define AR5416_EEPROM_MAGIC_OFFSET   0x0
 
#define AR5416_EEPROM_S   2
 
#define AR5416_EEPROM_OFFSET   0x2000
 
#define AR5416_EEPROM_MAX   0xae0
 
#define AR5416_EEPROM_START_ADDR   (AR_SREV_9100(ah)) ? 0x1fff1000 : 0x503f1200
 
#define SD_NO_CTL   0xE0
 
#define NO_CTL   0xff
 
#define CTL_MODE_M   0xf
 
#define CTL_11A   0
 
#define CTL_11B   1
 
#define CTL_11G   2
 
#define CTL_2GHT20   5
 
#define CTL_5GHT20   6
 
#define CTL_2GHT40   7
 
#define CTL_5GHT40   8
 
#define EXT_ADDITIVE   (0x8000)
 
#define CTL_11A_EXT   (CTL_11A | EXT_ADDITIVE)
 
#define CTL_11G_EXT   (CTL_11G | EXT_ADDITIVE)
 
#define CTL_11B_EXT   (CTL_11B | EXT_ADDITIVE)
 
#define SUB_NUM_CTL_MODES_AT_5G_40   2
 
#define SUB_NUM_CTL_MODES_AT_2G_40   3
 
#define POWER_CORRECTION_FOR_TWO_CHAIN   6 /* 10*log10(2)*2 */
 
#define POWER_CORRECTION_FOR_THREE_CHAIN   10 /* 10*log10(3)*2 */
 
#define AR9285_RDEXT_DEFAULT   0x1F
 
#define ATH9K_POW_SM(_r, _s)   (((_r) & 0x3f) << (_s))
 
#define FREQ2FBIN(x, y)   ((y) ? ((x) - 2300) : (((x) - 4800) / 5))
 
#define FBIN2FREQ(x, y)   ((y) ? (2300 + x) : (4800 + 5 * x))
 
#define ath9k_hw_use_flash(_ah)   (!(_ah->ah_flags & AH_USE_EEPROM))
 
#define AR5416_VER_MASK   (eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK)
 
#define OLC_FOR_AR9280_20_LATER
 
#define OLC_FOR_AR9287_10_LATER
 
#define EEP_RFSILENT_ENABLED   0x0001
 
#define EEP_RFSILENT_ENABLED_S   0
 
#define EEP_RFSILENT_POLARITY   0x0002
 
#define EEP_RFSILENT_POLARITY_S   1
 
#define EEP_RFSILENT_GPIO_SEL   ((AR_SREV_9462(ah) || AR_SREV_9565(ah)) ? 0x00fc : 0x001c)
 
#define EEP_RFSILENT_GPIO_SEL_S   2
 
#define AR5416_OPFLAGS_11A   0x01
 
#define AR5416_OPFLAGS_11G   0x02
 
#define AR5416_OPFLAGS_N_5G_HT40   0x04
 
#define AR5416_OPFLAGS_N_2G_HT40   0x08
 
#define AR5416_OPFLAGS_N_5G_HT20   0x10
 
#define AR5416_OPFLAGS_N_2G_HT20   0x20
 
#define AR5416_EEP_NO_BACK_VER   0x1
 
#define AR5416_EEP_VER   0xE
 
#define AR5416_EEP_VER_MINOR_MASK   0x0FFF
 
#define AR5416_EEP_MINOR_VER_2   0x2
 
#define AR5416_EEP_MINOR_VER_3   0x3
 
#define AR5416_EEP_MINOR_VER_7   0x7
 
#define AR5416_EEP_MINOR_VER_9   0x9
 
#define AR5416_EEP_MINOR_VER_16   0x10
 
#define AR5416_EEP_MINOR_VER_17   0x11
 
#define AR5416_EEP_MINOR_VER_19   0x13
 
#define AR5416_EEP_MINOR_VER_20   0x14
 
#define AR5416_EEP_MINOR_VER_21   0x15
 
#define AR5416_EEP_MINOR_VER_22   0x16
 
#define AR5416_NUM_5G_CAL_PIERS   8
 
#define AR5416_NUM_2G_CAL_PIERS   4
 
#define AR5416_NUM_5G_20_TARGET_POWERS   8
 
#define AR5416_NUM_5G_40_TARGET_POWERS   8
 
#define AR5416_NUM_2G_CCK_TARGET_POWERS   3
 
#define AR5416_NUM_2G_20_TARGET_POWERS   4
 
#define AR5416_NUM_2G_40_TARGET_POWERS   4
 
#define AR5416_NUM_CTLS   24
 
#define AR5416_NUM_BAND_EDGES   8
 
#define AR5416_NUM_PD_GAINS   4
 
#define AR5416_PD_GAINS_IN_MASK   4
 
#define AR5416_PD_GAIN_ICEPTS   5
 
#define AR5416_NUM_PDADC_VALUES   128
 
#define AR5416_BCHAN_UNUSED   0xFF
 
#define AR5416_MAX_PWR_RANGE_IN_HALF_DB   64
 
#define AR5416_MAX_CHAINS   3
 
#define AR9300_MAX_CHAINS   3
 
#define AR5416_PWR_TABLE_OFFSET_DB   -5
 
#define AR5416_EEP_RXGAIN_23DB_BACKOFF   0
 
#define AR5416_EEP_RXGAIN_13DB_BACKOFF   1
 
#define AR5416_EEP_RXGAIN_ORIG   2
 
#define AR5416_EEP_TXGAIN_ORIGINAL   0
 
#define AR5416_EEP_TXGAIN_HIGH_POWER   1
 
#define AR5416_EEP4K_START_LOC   64
 
#define AR5416_EEP4K_NUM_2G_CAL_PIERS   3
 
#define AR5416_EEP4K_NUM_2G_CCK_TARGET_POWERS   3
 
#define AR5416_EEP4K_NUM_2G_20_TARGET_POWERS   3
 
#define AR5416_EEP4K_NUM_2G_40_TARGET_POWERS   3
 
#define AR5416_EEP4K_NUM_CTLS   12
 
#define AR5416_EEP4K_NUM_BAND_EDGES   4
 
#define AR5416_EEP4K_NUM_PD_GAINS   2
 
#define AR5416_EEP4K_MAX_CHAINS   1
 
#define AR9280_TX_GAIN_TABLE_SIZE   22
 
#define AR9287_EEP_VER   0xE
 
#define AR9287_EEP_VER_MINOR_MASK   0xFFF
 
#define AR9287_EEP_MINOR_VER_1   0x1
 
#define AR9287_EEP_MINOR_VER_2   0x2
 
#define AR9287_EEP_MINOR_VER_3   0x3
 
#define AR9287_EEP_MINOR_VER   AR9287_EEP_MINOR_VER_3
 
#define AR9287_EEP_MINOR_VER_b   AR9287_EEP_MINOR_VER
 
#define AR9287_EEP_NO_BACK_VER   AR9287_EEP_MINOR_VER_1
 
#define AR9287_EEP_START_LOC   128
 
#define AR9287_HTC_EEP_START_LOC   256
 
#define AR9287_NUM_2G_CAL_PIERS   3
 
#define AR9287_NUM_2G_CCK_TARGET_POWERS   3
 
#define AR9287_NUM_2G_20_TARGET_POWERS   3
 
#define AR9287_NUM_2G_40_TARGET_POWERS   3
 
#define AR9287_NUM_CTLS   12
 
#define AR9287_NUM_BAND_EDGES   4
 
#define AR9287_PD_GAIN_ICEPTS   1
 
#define AR9287_EEPMISC_BIG_ENDIAN   0x01
 
#define AR9287_EEPMISC_WOW   0x02
 
#define AR9287_MAX_CHAINS   2
 
#define AR9287_ANT_16S   32
 
#define AR9287_DATA_SZ   32
 
#define AR9287_PWR_TABLE_OFFSET_DB   -5
 
#define AR9287_CHECKSUM_LOCATION   (AR9287_EEP_START_LOC + 1)
 
#define CTL_EDGE_TPOWER(_ctl)   ((_ctl) & 0x3f)
 
#define CTL_EDGE_FLAGS(_ctl)   (((_ctl) >> 6) & 0x03)
 
#define LNA_CTL_BUF_MODE   BIT(0)
 
#define LNA_CTL_ISEL_LO   BIT(1)
 
#define LNA_CTL_ISEL_HI   BIT(2)
 
#define LNA_CTL_BUF_IN   BIT(3)
 
#define LNA_CTL_FEM_BAND   BIT(4)
 
#define LNA_CTL_LOCAL_BIAS   BIT(5)
 
#define LNA_CTL_FORCE_XPA   BIT(6)
 
#define LNA_CTL_USE_ANT1   BIT(7)
 
#define EEP_4K_BB_DESIRED_SCALE_MASK   0x1f
 
#define ar5416_get_ntxchains(_txchainmask)
 

Enumerations

enum  eeprom_param {
  EEP_NFTHRESH_5, EEP_NFTHRESH_2, EEP_MAC_MSW, EEP_MAC_MID,
  EEP_MAC_LSW, EEP_REG_0, EEP_OP_CAP, EEP_OP_MODE,
  EEP_RF_SILENT, EEP_OB_5, EEP_DB_5, EEP_OB_2,
  EEP_DB_2, EEP_MINOR_REV, EEP_TX_MASK, EEP_RX_MASK,
  EEP_FSTCLK_5G, EEP_RXGAIN_TYPE, EEP_OL_PWRCTRL, EEP_TXGAIN_TYPE,
  EEP_RC_CHAIN_MASK, EEP_DAC_HPWR_5G, EEP_FRAC_N_5G, EEP_DEV_TYPE,
  EEP_TEMPSENSE_SLOPE, EEP_TEMPSENSE_SLOPE_PAL_ON, EEP_PWR_TABLE_OFFSET, EEP_PAPRD,
  EEP_MODAL_VER, EEP_ANT_DIV_CTL1, EEP_CHAIN_MASK_REDUCE, EEP_ANTENNA_GAIN_2G,
  EEP_ANTENNA_GAIN_5G
}
 
enum  ar5416_rates {
  rate6mb, rate9mb, rate12mb, rate18mb,
  rate24mb, rate36mb, rate48mb, rate54mb,
  rate1l, rate2l, rate2s, rate5_5l,
  rate5_5s, rate11l, rate11s, rateXr,
  rateHt20_0, rateHt20_1, rateHt20_2, rateHt20_3,
  rateHt20_4, rateHt20_5, rateHt20_6, rateHt20_7,
  rateHt40_0, rateHt40_1, rateHt40_2, rateHt40_3,
  rateHt40_4, rateHt40_5, rateHt40_6, rateHt40_7,
  rateDupCck, rateDupOfdm, rateExtCck, rateExtOfdm,
  Ar5416RateSize
}
 
enum  ath9k_hal_freq_band { ATH9K_HAL_FREQ_BAND_5GHZ = 0, ATH9K_HAL_FREQ_BAND_2GHZ = 1 }
 
enum  reg_ext_bitmap {
  REG_EXT_FCC_MIDBAND = 0, REG_EXT_JAPAN_MIDBAND = 1, REG_EXT_FCC_DFS_HT40 = 2, REG_EXT_JAPAN_NONDFS_HT40 = 3,
  REG_EXT_JAPAN_DFS_HT40 = 4
}
 

Functions

void ath9k_hw_analog_shift_regwrite (struct ath_hw *ah, u32 reg, u32 val)
 
void ath9k_hw_analog_shift_rmw (struct ath_hw *ah, u32 reg, u32 mask, u32 shift, u32 val)
 
int16_t ath9k_hw_interpolate (u16 target, u16 srcLeft, u16 srcRight, int16_t targetLeft, int16_t targetRight)
 
bool ath9k_hw_get_lower_upper_index (u8 target, u8 *pList, u16 listSize, u16 *indexL, u16 *indexR)
 
bool ath9k_hw_nvram_read (struct ath_common *common, u32 off, u16 *data)
 
void ath9k_hw_usb_gen_fill_eeprom (struct ath_hw *ah, u16 *eep_data, int eep_start_loc, int size)
 
void ath9k_hw_fill_vpd_table (u8 pwrMin, u8 pwrMax, u8 *pPwrList, u8 *pVpdList, u16 numIntercepts, u8 *pRetVpdList)
 
void ath9k_hw_get_legacy_target_powers (struct ath_hw *ah, struct ath9k_channel *chan, struct cal_target_power_leg *powInfo, u16 numChannels, struct cal_target_power_leg *pNewPower, u16 numRates, bool isExtTarget)
 
void ath9k_hw_get_target_powers (struct ath_hw *ah, struct ath9k_channel *chan, struct cal_target_power_ht *powInfo, u16 numChannels, struct cal_target_power_ht *pNewPower, u16 numRates, bool isHt40Target)
 
u16 ath9k_hw_get_max_edge_power (u16 freq, struct cal_ctl_edges *pRdEdgesPower, bool is2GHz, int num_band_edges)
 
u16 ath9k_hw_get_scaled_power (struct ath_hw *ah, u16 power_limit, u8 antenna_reduction)
 
void ath9k_hw_update_regulatory_maxpower (struct ath_hw *ah)
 
int ath9k_hw_eeprom_init (struct ath_hw *ah)
 
void ath9k_hw_get_gain_boundaries_pdadcs (struct ath_hw *ah, struct ath9k_channel *chan, void *pRawDataSet, u8 *bChans, u16 availPiers, u16 tPdGainOverlap, u16 *pPdGainBoundaries, u8 *pPDADCValues, u16 numXpdGains)
 

Variables

struct base_eep_header __packed
 
struct eeprom_ops eep_def_ops
 
struct eeprom_ops eep_4k_ops
 
struct eeprom_ops eep_ar9287_ops
 
struct eeprom_ops eep_ar9300_ops
 

Macro Definition Documentation

#define AR5416_BCHAN_UNUSED   0xFF

Definition at line 149 of file eeprom.h.

#define AR5416_EEP4K_MAX_CHAINS   1

Definition at line 172 of file eeprom.h.

#define AR5416_EEP4K_NUM_2G_20_TARGET_POWERS   3

Definition at line 167 of file eeprom.h.

#define AR5416_EEP4K_NUM_2G_40_TARGET_POWERS   3

Definition at line 168 of file eeprom.h.

#define AR5416_EEP4K_NUM_2G_CAL_PIERS   3

Definition at line 165 of file eeprom.h.

#define AR5416_EEP4K_NUM_2G_CCK_TARGET_POWERS   3

Definition at line 166 of file eeprom.h.

#define AR5416_EEP4K_NUM_BAND_EDGES   4

Definition at line 170 of file eeprom.h.

#define AR5416_EEP4K_NUM_CTLS   12

Definition at line 169 of file eeprom.h.

#define AR5416_EEP4K_NUM_PD_GAINS   2

Definition at line 171 of file eeprom.h.

#define AR5416_EEP4K_START_LOC   64

Definition at line 164 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_16   0x10

Definition at line 129 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_17   0x11

Definition at line 130 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_19   0x13

Definition at line 131 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_2   0x2

Definition at line 125 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_20   0x14

Definition at line 132 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_21   0x15

Definition at line 133 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_22   0x16

Definition at line 134 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_3   0x3

Definition at line 126 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_7   0x7

Definition at line 127 of file eeprom.h.

#define AR5416_EEP_MINOR_VER_9   0x9

Definition at line 128 of file eeprom.h.

#define AR5416_EEP_NO_BACK_VER   0x1

Definition at line 122 of file eeprom.h.

#define AR5416_EEP_RXGAIN_13DB_BACKOFF   1

Definition at line 157 of file eeprom.h.

#define AR5416_EEP_RXGAIN_23DB_BACKOFF   0

Definition at line 156 of file eeprom.h.

#define AR5416_EEP_RXGAIN_ORIG   2

Definition at line 158 of file eeprom.h.

#define AR5416_EEP_TXGAIN_HIGH_POWER   1

Definition at line 162 of file eeprom.h.

#define AR5416_EEP_TXGAIN_ORIGINAL   0

Definition at line 161 of file eeprom.h.

#define AR5416_EEP_VER   0xE

Definition at line 123 of file eeprom.h.

#define AR5416_EEP_VER_MINOR_MASK   0x0FFF

Definition at line 124 of file eeprom.h.

#define AR5416_EEPROM_MAGIC   0xa55a

Definition at line 29 of file eeprom.h.

#define AR5416_EEPROM_MAGIC_OFFSET   0x0

Definition at line 55 of file eeprom.h.

#define AR5416_EEPROM_MAX   0xae0

Definition at line 58 of file eeprom.h.

#define AR5416_EEPROM_OFFSET   0x2000

Definition at line 57 of file eeprom.h.

#define AR5416_EEPROM_S   2

Definition at line 56 of file eeprom.h.

#define AR5416_EEPROM_START_ADDR   (AR_SREV_9100(ah)) ? 0x1fff1000 : 0x503f1200

Definition at line 60 of file eeprom.h.

#define ar5416_get_ntxchains (   _txchainmask)
Value:
(((_txchainmask >> 2) & 1) + \
((_txchainmask >> 1) & 1) + (_txchainmask & 1))

Definition at line 707 of file eeprom.h.

#define AR5416_MAX_CHAINS   3

Definition at line 151 of file eeprom.h.

#define AR5416_MAX_PWR_RANGE_IN_HALF_DB   64

Definition at line 150 of file eeprom.h.

#define AR5416_NUM_2G_20_TARGET_POWERS   4

Definition at line 141 of file eeprom.h.

#define AR5416_NUM_2G_40_TARGET_POWERS   4

Definition at line 142 of file eeprom.h.

#define AR5416_NUM_2G_CAL_PIERS   4

Definition at line 137 of file eeprom.h.

#define AR5416_NUM_2G_CCK_TARGET_POWERS   3

Definition at line 140 of file eeprom.h.

#define AR5416_NUM_5G_20_TARGET_POWERS   8

Definition at line 138 of file eeprom.h.

#define AR5416_NUM_5G_40_TARGET_POWERS   8

Definition at line 139 of file eeprom.h.

#define AR5416_NUM_5G_CAL_PIERS   8

Definition at line 136 of file eeprom.h.

#define AR5416_NUM_BAND_EDGES   8

Definition at line 144 of file eeprom.h.

#define AR5416_NUM_CTLS   24

Definition at line 143 of file eeprom.h.

#define AR5416_NUM_PD_GAINS   4

Definition at line 145 of file eeprom.h.

#define AR5416_NUM_PDADC_VALUES   128

Definition at line 148 of file eeprom.h.

#define AR5416_OPFLAGS_11A   0x01

Definition at line 115 of file eeprom.h.

#define AR5416_OPFLAGS_11G   0x02

Definition at line 116 of file eeprom.h.

#define AR5416_OPFLAGS_N_2G_HT20   0x20

Definition at line 120 of file eeprom.h.

#define AR5416_OPFLAGS_N_2G_HT40   0x08

Definition at line 118 of file eeprom.h.

#define AR5416_OPFLAGS_N_5G_HT20   0x10

Definition at line 119 of file eeprom.h.

#define AR5416_OPFLAGS_N_5G_HT40   0x04

Definition at line 117 of file eeprom.h.

#define AR5416_PD_GAIN_ICEPTS   5

Definition at line 147 of file eeprom.h.

#define AR5416_PD_GAINS_IN_MASK   4

Definition at line 146 of file eeprom.h.

#define AR5416_PWR_TABLE_OFFSET_DB   -5

Definition at line 153 of file eeprom.h.

#define AR5416_VER_MASK   (eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK)

Definition at line 102 of file eeprom.h.

#define AR9280_TX_GAIN_TABLE_SIZE   22

Definition at line 174 of file eeprom.h.

#define AR9285_RDEXT_DEFAULT   0x1F

Definition at line 95 of file eeprom.h.

#define AR9287_ANT_16S   32

Definition at line 197 of file eeprom.h.

#define AR9287_CHECKSUM_LOCATION   (AR9287_EEP_START_LOC + 1)

Definition at line 203 of file eeprom.h.

#define AR9287_DATA_SZ   32

Definition at line 199 of file eeprom.h.

#define AR9287_EEP_MINOR_VER   AR9287_EEP_MINOR_VER_3

Definition at line 181 of file eeprom.h.

#define AR9287_EEP_MINOR_VER_1   0x1

Definition at line 178 of file eeprom.h.

#define AR9287_EEP_MINOR_VER_2   0x2

Definition at line 179 of file eeprom.h.

#define AR9287_EEP_MINOR_VER_3   0x3

Definition at line 180 of file eeprom.h.

#define AR9287_EEP_MINOR_VER_b   AR9287_EEP_MINOR_VER

Definition at line 182 of file eeprom.h.

#define AR9287_EEP_NO_BACK_VER   AR9287_EEP_MINOR_VER_1

Definition at line 183 of file eeprom.h.

#define AR9287_EEP_START_LOC   128

Definition at line 185 of file eeprom.h.

#define AR9287_EEP_VER   0xE

Definition at line 176 of file eeprom.h.

#define AR9287_EEP_VER_MINOR_MASK   0xFFF

Definition at line 177 of file eeprom.h.

#define AR9287_EEPMISC_BIG_ENDIAN   0x01

Definition at line 194 of file eeprom.h.

#define AR9287_EEPMISC_WOW   0x02

Definition at line 195 of file eeprom.h.

#define AR9287_HTC_EEP_START_LOC   256

Definition at line 186 of file eeprom.h.

#define AR9287_MAX_CHAINS   2

Definition at line 196 of file eeprom.h.

#define AR9287_NUM_2G_20_TARGET_POWERS   3

Definition at line 189 of file eeprom.h.

#define AR9287_NUM_2G_40_TARGET_POWERS   3

Definition at line 190 of file eeprom.h.

#define AR9287_NUM_2G_CAL_PIERS   3

Definition at line 187 of file eeprom.h.

#define AR9287_NUM_2G_CCK_TARGET_POWERS   3

Definition at line 188 of file eeprom.h.

#define AR9287_NUM_BAND_EDGES   4

Definition at line 192 of file eeprom.h.

#define AR9287_NUM_CTLS   12

Definition at line 191 of file eeprom.h.

#define AR9287_PD_GAIN_ICEPTS   1

Definition at line 193 of file eeprom.h.

#define AR9287_PWR_TABLE_OFFSET_DB   -5

Definition at line 201 of file eeprom.h.

#define AR9300_MAX_CHAINS   3

Definition at line 152 of file eeprom.h.

#define AR_EEPROM_EEPCAP_AES_DIS   0x0002

Definition at line 36 of file eeprom.h.

#define AR_EEPROM_EEPCAP_BURST_DIS   0x0008

Definition at line 38 of file eeprom.h.

#define AR_EEPROM_EEPCAP_COMPRESS_DIS   0x0001

Definition at line 35 of file eeprom.h.

#define AR_EEPROM_EEPCAP_FASTFRAME_DIS   0x0004

Definition at line 37 of file eeprom.h.

#define AR_EEPROM_EEPCAP_HEAVY_CLIP_EN   0x0200

Definition at line 41 of file eeprom.h.

#define AR_EEPROM_EEPCAP_KC_ENTRIES   0xF000

Definition at line 42 of file eeprom.h.

#define AR_EEPROM_EEPCAP_KC_ENTRIES_S   12

Definition at line 43 of file eeprom.h.

#define AR_EEPROM_EEPCAP_MAXQCU   0x01F0

Definition at line 39 of file eeprom.h.

#define AR_EEPROM_EEPCAP_MAXQCU_S   4

Definition at line 40 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_FCC_MIDBAND   0x0040

Definition at line 45 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_MIDBAND   0x0200

Definition at line 48 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_NEW_11A   0x0800

Definition at line 50 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_NEW_11A_PRE4_0   0x8000

Definition at line 53 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_U1_EVEN   0x0080

Definition at line 46 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_U1_ODD   0x0400

Definition at line 49 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_U1_ODD_PRE4_0   0x4000

Definition at line 52 of file eeprom.h.

#define AR_EEPROM_EEREGCAP_EN_KK_U2   0x0100

Definition at line 47 of file eeprom.h.

#define AR_EEPROM_MODAL_SPURS   5

Definition at line 20 of file eeprom.h.

#define ath9k_hw_use_flash (   _ah)    (!(_ah->ah_flags & AH_USE_EEPROM))

Definition at line 100 of file eeprom.h.

#define ATH9K_POW_SM (   _r,
  _s 
)    (((_r) & 0x3f) << (_s))

Definition at line 97 of file eeprom.h.

#define CTL_11A   0

Definition at line 66 of file eeprom.h.

#define CTL_11A_EXT   (CTL_11A | EXT_ADDITIVE)

Definition at line 75 of file eeprom.h.

#define CTL_11B   1

Definition at line 67 of file eeprom.h.

#define CTL_11B_EXT   (CTL_11B | EXT_ADDITIVE)

Definition at line 77 of file eeprom.h.

#define CTL_11G   2

Definition at line 68 of file eeprom.h.

#define CTL_11G_EXT   (CTL_11G | EXT_ADDITIVE)

Definition at line 76 of file eeprom.h.

#define CTL_2GHT20   5

Definition at line 69 of file eeprom.h.

#define CTL_2GHT40   7

Definition at line 71 of file eeprom.h.

#define CTL_5GHT20   6

Definition at line 70 of file eeprom.h.

#define CTL_5GHT40   8

Definition at line 72 of file eeprom.h.

#define CTL_EDGE_FLAGS (   _ctl)    (((_ctl) >> 6) & 0x03)

Definition at line 206 of file eeprom.h.

#define CTL_EDGE_TPOWER (   _ctl)    ((_ctl) & 0x3f)

Definition at line 205 of file eeprom.h.

#define CTL_MODE_M   0xf

Definition at line 65 of file eeprom.h.

#define CTRY_DEBUG   0x1ff

Definition at line 32 of file eeprom.h.

#define CTRY_DEFAULT   0

Definition at line 33 of file eeprom.h.

#define EEP_4K_BB_DESIRED_SCALE_MASK   0x1f

Definition at line 436 of file eeprom.h.

#define EEP_RFSILENT_ENABLED   0x0001

Definition at line 108 of file eeprom.h.

#define EEP_RFSILENT_ENABLED_S   0

Definition at line 109 of file eeprom.h.

#define EEP_RFSILENT_GPIO_SEL   ((AR_SREV_9462(ah) || AR_SREV_9565(ah)) ? 0x00fc : 0x001c)

Definition at line 112 of file eeprom.h.

#define EEP_RFSILENT_GPIO_SEL_S   2

Definition at line 113 of file eeprom.h.

#define EEP_RFSILENT_POLARITY   0x0002

Definition at line 110 of file eeprom.h.

#define EEP_RFSILENT_POLARITY_S   1

Definition at line 111 of file eeprom.h.

#define EXT_ADDITIVE   (0x8000)

Definition at line 74 of file eeprom.h.

#define FBIN2FREQ (   x,
  y 
)    ((y) ? (2300 + x) : (4800 + 5 * x))

Definition at line 99 of file eeprom.h.

#define FREQ2FBIN (   x,
  y 
)    ((y) ? ((x) - 2300) : (((x) - 4800) / 5))

Definition at line 98 of file eeprom.h.

#define LNA_CTL_BUF_IN   BIT(3)

Definition at line 211 of file eeprom.h.

#define LNA_CTL_BUF_MODE   BIT(0)

Definition at line 208 of file eeprom.h.

#define LNA_CTL_FEM_BAND   BIT(4)

Definition at line 212 of file eeprom.h.

#define LNA_CTL_FORCE_XPA   BIT(6)

Definition at line 214 of file eeprom.h.

#define LNA_CTL_ISEL_HI   BIT(2)

Definition at line 210 of file eeprom.h.

#define LNA_CTL_ISEL_LO   BIT(1)

Definition at line 209 of file eeprom.h.

#define LNA_CTL_LOCAL_BIAS   BIT(5)

Definition at line 213 of file eeprom.h.

#define LNA_CTL_USE_ANT1   BIT(7)

Definition at line 215 of file eeprom.h.

#define NO_CTL   0xff

Definition at line 64 of file eeprom.h.

#define OLC_FOR_AR9280_20_LATER
Value:
ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL))

Definition at line 103 of file eeprom.h.

#define OLC_FOR_AR9287_10_LATER
Value:
ah->eep_ops->get_eeprom(ah, EEP_OL_PWRCTRL))

Definition at line 105 of file eeprom.h.

#define POWER_CORRECTION_FOR_THREE_CHAIN   10 /* 10*log10(3)*2 */

Definition at line 83 of file eeprom.h.

#define POWER_CORRECTION_FOR_TWO_CHAIN   6 /* 10*log10(2)*2 */

Definition at line 82 of file eeprom.h.

#define SD_NO_CTL   0xE0

Definition at line 63 of file eeprom.h.

#define SUB_NUM_CTL_MODES_AT_2G_40   3

Definition at line 80 of file eeprom.h.

#define SUB_NUM_CTL_MODES_AT_5G_40   2

Definition at line 79 of file eeprom.h.

Enumeration Type Documentation

Enumerator:
rate6mb 
rate9mb 
rate12mb 
rate18mb 
rate24mb 
rate36mb 
rate48mb 
rate54mb 
rate1l 
rate2l 
rate2s 
rate5_5l 
rate5_5s 
rate11l 
rate11s 
rateXr 
rateHt20_0 
rateHt20_1 
rateHt20_2 
rateHt20_3 
rateHt20_4 
rateHt20_5 
rateHt20_6 
rateHt20_7 
rateHt40_0 
rateHt40_1 
rateHt40_2 
rateHt40_3 
rateHt40_4 
rateHt40_5 
rateHt40_6 
rateHt40_7 
rateDupCck 
rateDupOfdm 
rateExtCck 
rateExtOfdm 
Ar5416RateSize 

Definition at line 253 of file eeprom.h.

Enumerator:
ATH9K_HAL_FREQ_BAND_5GHZ 
ATH9K_HAL_FREQ_BAND_2GHZ 

Definition at line 266 of file eeprom.h.

Enumerator:
EEP_NFTHRESH_5 
EEP_NFTHRESH_2 
EEP_MAC_MSW 
EEP_MAC_MID 
EEP_MAC_LSW 
EEP_REG_0 
EEP_OP_CAP 
EEP_OP_MODE 
EEP_RF_SILENT 
EEP_OB_5 
EEP_DB_5 
EEP_OB_2 
EEP_DB_2 
EEP_MINOR_REV 
EEP_TX_MASK 
EEP_RX_MASK 
EEP_FSTCLK_5G 
EEP_RXGAIN_TYPE 
EEP_OL_PWRCTRL 
EEP_TXGAIN_TYPE 
EEP_RC_CHAIN_MASK 
EEP_DAC_HPWR_5G 
EEP_FRAC_N_5G 
EEP_DEV_TYPE 
EEP_TEMPSENSE_SLOPE 
EEP_TEMPSENSE_SLOPE_PAL_ON 
EEP_PWR_TABLE_OFFSET 
EEP_PAPRD 
EEP_MODAL_VER 
EEP_ANT_DIV_CTL1 
EEP_CHAIN_MASK_REDUCE 
EEP_ANTENNA_GAIN_2G 
EEP_ANTENNA_GAIN_5G 

Definition at line 217 of file eeprom.h.

Enumerator:
REG_EXT_FCC_MIDBAND 
REG_EXT_JAPAN_MIDBAND 
REG_EXT_FCC_DFS_HT40 
REG_EXT_JAPAN_NONDFS_HT40 
REG_EXT_JAPAN_DFS_HT40 

Definition at line 625 of file eeprom.h.

Function Documentation

void ath9k_hw_analog_shift_regwrite ( struct ath_hw ah,
u32  reg,
u32  val 
)

Definition at line 19 of file eeprom.c.

void ath9k_hw_analog_shift_rmw ( struct ath_hw ah,
u32  reg,
u32  mask,
u32  shift,
u32  val 
)

Definition at line 27 of file eeprom.c.

int ath9k_hw_eeprom_init ( struct ath_hw ah)

Definition at line 541 of file eeprom.c.

void ath9k_hw_fill_vpd_table ( u8  pwrMin,
u8  pwrMax,
u8 pPwrList,
u8 pVpdList,
u16  numIntercepts,
u8 pRetVpdList 
)

Definition at line 121 of file eeprom.c.

void ath9k_hw_get_gain_boundaries_pdadcs ( struct ath_hw ah,
struct ath9k_channel chan,
void pRawDataSet,
u8 bChans,
u16  availPiers,
u16  tPdGainOverlap,
u16 pPdGainBoundaries,
u8 pPDADCValues,
u16  numXpdGains 
)

Definition at line 333 of file eeprom.c.

void ath9k_hw_get_legacy_target_powers ( struct ath_hw ah,
struct ath9k_channel chan,
struct cal_target_power_leg powInfo,
u16  numChannels,
struct cal_target_power_leg pNewPower,
u16  numRates,
bool  isExtTarget 
)

Definition at line 148 of file eeprom.c.

bool ath9k_hw_get_lower_upper_index ( u8  target,
u8 pList,
u16  listSize,
u16 indexL,
u16 indexR 
)

Definition at line 56 of file eeprom.c.

u16 ath9k_hw_get_max_edge_power ( u16  freq,
struct cal_ctl_edges pRdEdgesPower,
bool  is2GHz,
int  num_band_edges 
)

Definition at line 258 of file eeprom.c.

u16 ath9k_hw_get_scaled_power ( struct ath_hw ah,
u16  power_limit,
u8  antenna_reduction 
)

Definition at line 285 of file eeprom.c.

void ath9k_hw_get_target_powers ( struct ath_hw ah,
struct ath9k_channel chan,
struct cal_target_power_ht powInfo,
u16  numChannels,
struct cal_target_power_ht pNewPower,
u16  numRates,
bool  isHt40Target 
)

Definition at line 203 of file eeprom.c.

int16_t ath9k_hw_interpolate ( u16  target,
u16  srcLeft,
u16  srcRight,
int16_t  targetLeft,
int16_t  targetRight 
)

Definition at line 41 of file eeprom.c.

bool ath9k_hw_nvram_read ( struct ath_common common,
u32  off,
u16 data 
)

Definition at line 116 of file eeprom.c.

void ath9k_hw_update_regulatory_maxpower ( struct ath_hw ah)

Definition at line 313 of file eeprom.c.

void ath9k_hw_usb_gen_fill_eeprom ( struct ath_hw ah,
u16 eep_data,
int  eep_start_loc,
int  size 
)

Definition at line 84 of file eeprom.c.

Variable Documentation

struct eeprom_ops eep_4k_ops

Definition at line 1100 of file eeprom_4k.c.

struct eeprom_ops eep_ar9287_ops

Definition at line 714 of file eeprom.h.

struct eeprom_ops eep_ar9300_ops

Definition at line 5222 of file ar9003_eeprom.c.

struct eeprom_ops eep_def_ops

Definition at line 1382 of file eeprom_def.c.