iPXE
Data Structures | Macros | Enumerations | Functions | Variables
ar9003_eeprom.h File Reference

Go to the source code of this file.

Data Structures

struct  eepFlags
 
struct  ar9300_base_eep_hdr
 
struct  ar9300_modal_eep_header
 
struct  ar9300_cal_data_per_freq_op_loop
 
struct  cal_tgt_pow_legacy
 
struct  cal_tgt_pow_ht
 
struct  cal_ctl_data_2g
 
struct  cal_ctl_data_5g
 
struct  ar9300_BaseExtension_1
 
struct  ar9300_BaseExtension_2
 
struct  ar9300_eeprom
 

Macros

#define AR9300_EEP_VER   0xD000
 
#define AR9300_EEP_VER_MINOR_MASK   0xFFF
 
#define AR9300_EEP_MINOR_VER_1   0x1
 
#define AR9300_EEP_MINOR_VER   AR9300_EEP_MINOR_VER_1
 
#define AR9300_EEP_START_LOC   256
 
#define AR9300_NUM_5G_CAL_PIERS   8
 
#define AR9300_NUM_2G_CAL_PIERS   3
 
#define AR9300_NUM_5G_20_TARGET_POWERS   8
 
#define AR9300_NUM_5G_40_TARGET_POWERS   8
 
#define AR9300_NUM_2G_CCK_TARGET_POWERS   2
 
#define AR9300_NUM_2G_20_TARGET_POWERS   3
 
#define AR9300_NUM_2G_40_TARGET_POWERS   3
 
#define AR9300_NUM_CTLS_5G   9
 
#define AR9300_NUM_CTLS_2G   12
 
#define AR9300_NUM_BAND_EDGES_5G   8
 
#define AR9300_NUM_BAND_EDGES_2G   4
 
#define AR9300_EEPMISC_BIG_ENDIAN   0x01
 
#define AR9300_EEPMISC_WOW   0x02
 
#define AR9300_CUSTOMER_DATA_SIZE   20
 
#define FBIN2FREQ(x, y)   ((y) ? (2300 + x) : (4800 + 5 * x))
 
#define AR9300_MAX_CHAINS   3
 
#define AR9300_ANT_16S   25
 
#define AR9300_FUTURE_MODAL_SZ   6
 
#define AR9300_PAPRD_RATE_MASK   0x01ffffff
 
#define AR9300_PAPRD_SCALE_1   0x0e000000
 
#define AR9300_PAPRD_SCALE_1_S   25
 
#define AR9300_PAPRD_SCALE_2   0x70000000
 
#define AR9300_PAPRD_SCALE_2_S   28
 
#define AR9300_PWR_TABLE_OFFSET   0
 
#define AR9300_EEPROM_SIZE   (16*1024)
 
#define AR9300_BASE_ADDR_4K   0xfff
 
#define AR9300_BASE_ADDR   0x3ff
 
#define AR9300_BASE_ADDR_512   0x1ff
 
#define AR9300_OTP_BASE   0x14000
 
#define AR9300_OTP_STATUS   0x15f18
 
#define AR9300_OTP_STATUS_TYPE   0x7
 
#define AR9300_OTP_STATUS_VALID   0x4
 
#define AR9300_OTP_STATUS_ACCESS_BUSY   0x2
 
#define AR9300_OTP_STATUS_SM_BUSY   0x1
 
#define AR9300_OTP_READ_DATA   0x15f1c
 

Enumerations

enum  targetPowerHTRates {
  HT_TARGET_RATE_0_8_16, HT_TARGET_RATE_1_3_9_11_17_19, HT_TARGET_RATE_4, HT_TARGET_RATE_5,
  HT_TARGET_RATE_6, HT_TARGET_RATE_7, HT_TARGET_RATE_12, HT_TARGET_RATE_13,
  HT_TARGET_RATE_14, HT_TARGET_RATE_15, HT_TARGET_RATE_20, HT_TARGET_RATE_21,
  HT_TARGET_RATE_22, HT_TARGET_RATE_23
}
 
enum  targetPowerLegacyRates { LEGACY_TARGET_RATE_6_24, LEGACY_TARGET_RATE_36, LEGACY_TARGET_RATE_48, LEGACY_TARGET_RATE_54 }
 
enum  targetPowerCckRates { LEGACY_TARGET_RATE_1L_5L, LEGACY_TARGET_RATE_5S, LEGACY_TARGET_RATE_11L, LEGACY_TARGET_RATE_11S }
 
enum  ar9300_Rates {
  ALL_TARGET_LEGACY_6_24, ALL_TARGET_LEGACY_36, ALL_TARGET_LEGACY_48, ALL_TARGET_LEGACY_54,
  ALL_TARGET_LEGACY_1L_5L, ALL_TARGET_LEGACY_5S, ALL_TARGET_LEGACY_11L, ALL_TARGET_LEGACY_11S,
  ALL_TARGET_HT20_0_8_16, ALL_TARGET_HT20_1_3_9_11_17_19, ALL_TARGET_HT20_4, ALL_TARGET_HT20_5,
  ALL_TARGET_HT20_6, ALL_TARGET_HT20_7, ALL_TARGET_HT20_12, ALL_TARGET_HT20_13,
  ALL_TARGET_HT20_14, ALL_TARGET_HT20_15, ALL_TARGET_HT20_20, ALL_TARGET_HT20_21,
  ALL_TARGET_HT20_22, ALL_TARGET_HT20_23, ALL_TARGET_HT40_0_8_16, ALL_TARGET_HT40_1_3_9_11_17_19,
  ALL_TARGET_HT40_4, ALL_TARGET_HT40_5, ALL_TARGET_HT40_6, ALL_TARGET_HT40_7,
  ALL_TARGET_HT40_12, ALL_TARGET_HT40_13, ALL_TARGET_HT40_14, ALL_TARGET_HT40_15,
  ALL_TARGET_HT40_20, ALL_TARGET_HT40_21, ALL_TARGET_HT40_22, ALL_TARGET_HT40_23,
  ar9300RateSize
}
 
enum  CompressAlgorithm {
  _CompressNone = 0, _CompressLzma, _CompressPairs, _CompressBlock,
  _Compress4, _Compress5, _Compress6, _Compress7
}
 

Functions

 FILE_LICENCE (BSD2)
 
struct eepFlags __attribute__ ((packed))
 
s32 ar9003_hw_get_tx_gain_idx (struct ath_hw *ah)
 
s32 ar9003_hw_get_rx_gain_idx (struct ath_hw *ah)
 
u8ar9003_get_spur_chan_ptr (struct ath_hw *ah, int is_2ghz)
 
unsigned int ar9003_get_paprd_scale_factor (struct ath_hw *ah, struct ath9k_channel *chan)
 

Variables

u8 opFlags
 
u8 eepMisc
 
enum CompressAlgorithm __attribute__
 
uint16_t regDmn [2]
 
u8 txrxMask
 
struct eepFlags opCapFlags
 
u8 rfSilent
 
u8 blueToothOptions
 
u8 deviceCap
 
u8 deviceType
 
int8_t pwrTableOffset
 
u8 params_for_tuning_caps [2]
 
u8 featureEnable
 
u8 miscConfiguration
 
u8 eepromWriteEnableGpio
 
u8 wlanDisableGpio
 
u8 wlanLedGpio
 
u8 rxBandSelectGpio
 
u8 txrxgain
 
uint32_t swreg
 
uint32_t antCtrlCommon
 
uint32_t antCtrlCommon2
 
uint16_t antCtrlChain [AR9300_MAX_CHAINS]
 
u8 xatten1DB [AR9300_MAX_CHAINS]
 
u8 xatten1Margin [AR9300_MAX_CHAINS]
 
int8_t tempSlope
 
int8_t voltSlope
 
u8 spurChans [AR_EEPROM_MODAL_SPURS]
 
int8_t noiseFloorThreshCh [AR9300_MAX_CHAINS]
 
u8 ob [AR9300_MAX_CHAINS]
 
u8 db_stage2 [AR9300_MAX_CHAINS]
 
u8 db_stage3 [AR9300_MAX_CHAINS]
 
u8 db_stage4 [AR9300_MAX_CHAINS]
 
u8 xpaBiasLvl
 
u8 txFrameToDataStart
 
u8 txFrameToPaOn
 
u8 txClip
 
int8_t antennaGain
 
u8 switchSettling
 
int8_t adcDesiredSize
 
u8 txEndToXpaOff
 
u8 txEndToRxOn
 
u8 txFrameToXpaOn
 
u8 thresh62
 
uint32_t papdRateMaskHt20
 
uint32_t papdRateMaskHt40
 
u8 futureModal [10]
 
int8_t refPower
 
u8 voltMeas
 
u8 tempMeas
 
int8_t rxNoisefloorCal
 
int8_t rxNoisefloorPower
 
u8 rxTempMeas
 
u8 tPow2x [4]
 
u8 ctlEdges [AR9300_NUM_BAND_EDGES_2G]
 
u8 ant_div_control
 
u8 future [13]
 
int8_t tempSlopeLow
 
int8_t tempSlopeHigh
 
u8 xatten1DBLow [AR9300_MAX_CHAINS]
 
u8 xatten1MarginLow [AR9300_MAX_CHAINS]
 
u8 xatten1DBHigh [AR9300_MAX_CHAINS]
 
u8 xatten1MarginHigh [AR9300_MAX_CHAINS]
 
u8 eepromVersion
 
u8 templateVersion
 
u8 macAddr [6]
 
u8 custData [AR9300_CUSTOMER_DATA_SIZE]
 
struct ar9300_base_eep_hdr baseEepHeader
 
struct ar9300_modal_eep_header modalHeader2G
 
struct ar9300_BaseExtension_1 base_ext1
 
u8 calFreqPier2G [AR9300_NUM_2G_CAL_PIERS]
 
struct ar9300_cal_data_per_freq_op_loop calPierData2G [AR9300_MAX_CHAINS][AR9300_NUM_2G_CAL_PIERS]
 
u8 calTarget_freqbin_Cck [AR9300_NUM_2G_CCK_TARGET_POWERS]
 
u8 calTarget_freqbin_2G [AR9300_NUM_2G_20_TARGET_POWERS]
 
u8 calTarget_freqbin_2GHT20 [AR9300_NUM_2G_20_TARGET_POWERS]
 
u8 calTarget_freqbin_2GHT40 [AR9300_NUM_2G_40_TARGET_POWERS]
 
struct cal_tgt_pow_legacy calTargetPowerCck [AR9300_NUM_2G_CCK_TARGET_POWERS]
 
struct cal_tgt_pow_legacy calTargetPower2G [AR9300_NUM_2G_20_TARGET_POWERS]
 
struct cal_tgt_pow_ht calTargetPower2GHT20 [AR9300_NUM_2G_20_TARGET_POWERS]
 
struct cal_tgt_pow_ht calTargetPower2GHT40 [AR9300_NUM_2G_40_TARGET_POWERS]
 
u8 ctlIndex_2G [AR9300_NUM_CTLS_2G]
 
u8 ctl_freqbin_2G [AR9300_NUM_CTLS_2G][AR9300_NUM_BAND_EDGES_2G]
 
struct cal_ctl_data_2g ctlPowerData_2G [AR9300_NUM_CTLS_2G]
 
struct ar9300_modal_eep_header modalHeader5G
 
struct ar9300_BaseExtension_2 base_ext2
 
u8 calFreqPier5G [AR9300_NUM_5G_CAL_PIERS]
 
struct ar9300_cal_data_per_freq_op_loop calPierData5G [AR9300_MAX_CHAINS][AR9300_NUM_5G_CAL_PIERS]
 
u8 calTarget_freqbin_5G [AR9300_NUM_5G_20_TARGET_POWERS]
 
u8 calTarget_freqbin_5GHT20 [AR9300_NUM_5G_20_TARGET_POWERS]
 
u8 calTarget_freqbin_5GHT40 [AR9300_NUM_5G_40_TARGET_POWERS]
 
struct cal_tgt_pow_legacy calTargetPower5G [AR9300_NUM_5G_20_TARGET_POWERS]
 
struct cal_tgt_pow_ht calTargetPower5GHT20 [AR9300_NUM_5G_20_TARGET_POWERS]
 
struct cal_tgt_pow_ht calTargetPower5GHT40 [AR9300_NUM_5G_40_TARGET_POWERS]
 
u8 ctlIndex_5G [AR9300_NUM_CTLS_5G]
 
u8 ctl_freqbin_5G [AR9300_NUM_CTLS_5G][AR9300_NUM_BAND_EDGES_5G]
 
struct cal_ctl_data_5g ctlPowerData_5G [AR9300_NUM_CTLS_5G]
 

Macro Definition Documentation

◆ AR9300_EEP_VER

#define AR9300_EEP_VER   0xD000

Definition at line 25 of file ar9003_eeprom.h.

◆ AR9300_EEP_VER_MINOR_MASK

#define AR9300_EEP_VER_MINOR_MASK   0xFFF

Definition at line 26 of file ar9003_eeprom.h.

◆ AR9300_EEP_MINOR_VER_1

#define AR9300_EEP_MINOR_VER_1   0x1

Definition at line 27 of file ar9003_eeprom.h.

◆ AR9300_EEP_MINOR_VER

#define AR9300_EEP_MINOR_VER   AR9300_EEP_MINOR_VER_1

Definition at line 28 of file ar9003_eeprom.h.

◆ AR9300_EEP_START_LOC

#define AR9300_EEP_START_LOC   256

Definition at line 31 of file ar9003_eeprom.h.

◆ AR9300_NUM_5G_CAL_PIERS

#define AR9300_NUM_5G_CAL_PIERS   8

Definition at line 32 of file ar9003_eeprom.h.

◆ AR9300_NUM_2G_CAL_PIERS

#define AR9300_NUM_2G_CAL_PIERS   3

Definition at line 33 of file ar9003_eeprom.h.

◆ AR9300_NUM_5G_20_TARGET_POWERS

#define AR9300_NUM_5G_20_TARGET_POWERS   8

Definition at line 34 of file ar9003_eeprom.h.

◆ AR9300_NUM_5G_40_TARGET_POWERS

#define AR9300_NUM_5G_40_TARGET_POWERS   8

Definition at line 35 of file ar9003_eeprom.h.

◆ AR9300_NUM_2G_CCK_TARGET_POWERS

#define AR9300_NUM_2G_CCK_TARGET_POWERS   2

Definition at line 36 of file ar9003_eeprom.h.

◆ AR9300_NUM_2G_20_TARGET_POWERS

#define AR9300_NUM_2G_20_TARGET_POWERS   3

Definition at line 37 of file ar9003_eeprom.h.

◆ AR9300_NUM_2G_40_TARGET_POWERS

#define AR9300_NUM_2G_40_TARGET_POWERS   3

Definition at line 38 of file ar9003_eeprom.h.

◆ AR9300_NUM_CTLS_5G

#define AR9300_NUM_CTLS_5G   9

Definition at line 40 of file ar9003_eeprom.h.

◆ AR9300_NUM_CTLS_2G

#define AR9300_NUM_CTLS_2G   12

Definition at line 41 of file ar9003_eeprom.h.

◆ AR9300_NUM_BAND_EDGES_5G

#define AR9300_NUM_BAND_EDGES_5G   8

Definition at line 42 of file ar9003_eeprom.h.

◆ AR9300_NUM_BAND_EDGES_2G

#define AR9300_NUM_BAND_EDGES_2G   4

Definition at line 43 of file ar9003_eeprom.h.

◆ AR9300_EEPMISC_BIG_ENDIAN

#define AR9300_EEPMISC_BIG_ENDIAN   0x01

Definition at line 44 of file ar9003_eeprom.h.

◆ AR9300_EEPMISC_WOW

#define AR9300_EEPMISC_WOW   0x02

Definition at line 45 of file ar9003_eeprom.h.

◆ AR9300_CUSTOMER_DATA_SIZE

#define AR9300_CUSTOMER_DATA_SIZE   20

Definition at line 46 of file ar9003_eeprom.h.

◆ FBIN2FREQ

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

Definition at line 48 of file ar9003_eeprom.h.

◆ AR9300_MAX_CHAINS

#define AR9300_MAX_CHAINS   3

Definition at line 49 of file ar9003_eeprom.h.

◆ AR9300_ANT_16S

#define AR9300_ANT_16S   25

Definition at line 50 of file ar9003_eeprom.h.

◆ AR9300_FUTURE_MODAL_SZ

#define AR9300_FUTURE_MODAL_SZ   6

Definition at line 51 of file ar9003_eeprom.h.

◆ AR9300_PAPRD_RATE_MASK

#define AR9300_PAPRD_RATE_MASK   0x01ffffff

Definition at line 53 of file ar9003_eeprom.h.

◆ AR9300_PAPRD_SCALE_1

#define AR9300_PAPRD_SCALE_1   0x0e000000

Definition at line 54 of file ar9003_eeprom.h.

◆ AR9300_PAPRD_SCALE_1_S

#define AR9300_PAPRD_SCALE_1_S   25

Definition at line 55 of file ar9003_eeprom.h.

◆ AR9300_PAPRD_SCALE_2

#define AR9300_PAPRD_SCALE_2   0x70000000

Definition at line 56 of file ar9003_eeprom.h.

◆ AR9300_PAPRD_SCALE_2_S

#define AR9300_PAPRD_SCALE_2_S   28

Definition at line 57 of file ar9003_eeprom.h.

◆ AR9300_PWR_TABLE_OFFSET

#define AR9300_PWR_TABLE_OFFSET   0

Definition at line 66 of file ar9003_eeprom.h.

◆ AR9300_EEPROM_SIZE

#define AR9300_EEPROM_SIZE   (16*1024)

Definition at line 69 of file ar9003_eeprom.h.

◆ AR9300_BASE_ADDR_4K

#define AR9300_BASE_ADDR_4K   0xfff

Definition at line 71 of file ar9003_eeprom.h.

◆ AR9300_BASE_ADDR

#define AR9300_BASE_ADDR   0x3ff

Definition at line 72 of file ar9003_eeprom.h.

◆ AR9300_BASE_ADDR_512

#define AR9300_BASE_ADDR_512   0x1ff

Definition at line 73 of file ar9003_eeprom.h.

◆ AR9300_OTP_BASE

#define AR9300_OTP_BASE   0x14000

Definition at line 75 of file ar9003_eeprom.h.

◆ AR9300_OTP_STATUS

#define AR9300_OTP_STATUS   0x15f18

Definition at line 76 of file ar9003_eeprom.h.

◆ AR9300_OTP_STATUS_TYPE

#define AR9300_OTP_STATUS_TYPE   0x7

Definition at line 77 of file ar9003_eeprom.h.

◆ AR9300_OTP_STATUS_VALID

#define AR9300_OTP_STATUS_VALID   0x4

Definition at line 78 of file ar9003_eeprom.h.

◆ AR9300_OTP_STATUS_ACCESS_BUSY

#define AR9300_OTP_STATUS_ACCESS_BUSY   0x2

Definition at line 79 of file ar9003_eeprom.h.

◆ AR9300_OTP_STATUS_SM_BUSY

#define AR9300_OTP_STATUS_SM_BUSY   0x1

Definition at line 80 of file ar9003_eeprom.h.

◆ AR9300_OTP_READ_DATA

#define AR9300_OTP_READ_DATA   0x15f1c

Definition at line 81 of file ar9003_eeprom.h.

Enumeration Type Documentation

◆ targetPowerHTRates

Enumerator
HT_TARGET_RATE_0_8_16 
HT_TARGET_RATE_1_3_9_11_17_19 
HT_TARGET_RATE_4 
HT_TARGET_RATE_5 
HT_TARGET_RATE_6 
HT_TARGET_RATE_7 
HT_TARGET_RATE_12 
HT_TARGET_RATE_13 
HT_TARGET_RATE_14 
HT_TARGET_RATE_15 
HT_TARGET_RATE_20 
HT_TARGET_RATE_21 
HT_TARGET_RATE_22 
HT_TARGET_RATE_23 

Definition at line 83 of file ar9003_eeprom.h.

◆ targetPowerLegacyRates

Enumerator
LEGACY_TARGET_RATE_6_24 
LEGACY_TARGET_RATE_36 
LEGACY_TARGET_RATE_48 
LEGACY_TARGET_RATE_54 

Definition at line 100 of file ar9003_eeprom.h.

◆ targetPowerCckRates

Enumerator
LEGACY_TARGET_RATE_1L_5L 
LEGACY_TARGET_RATE_5S 
LEGACY_TARGET_RATE_11L 
LEGACY_TARGET_RATE_11S 

Definition at line 107 of file ar9003_eeprom.h.

◆ ar9300_Rates

Enumerator
ALL_TARGET_LEGACY_6_24 
ALL_TARGET_LEGACY_36 
ALL_TARGET_LEGACY_48 
ALL_TARGET_LEGACY_54 
ALL_TARGET_LEGACY_1L_5L 
ALL_TARGET_LEGACY_5S 
ALL_TARGET_LEGACY_11L 
ALL_TARGET_LEGACY_11S 
ALL_TARGET_HT20_0_8_16 
ALL_TARGET_HT20_1_3_9_11_17_19 
ALL_TARGET_HT20_4 
ALL_TARGET_HT20_5 
ALL_TARGET_HT20_6 
ALL_TARGET_HT20_7 
ALL_TARGET_HT20_12 
ALL_TARGET_HT20_13 
ALL_TARGET_HT20_14 
ALL_TARGET_HT20_15 
ALL_TARGET_HT20_20 
ALL_TARGET_HT20_21 
ALL_TARGET_HT20_22 
ALL_TARGET_HT20_23 
ALL_TARGET_HT40_0_8_16 
ALL_TARGET_HT40_1_3_9_11_17_19 
ALL_TARGET_HT40_4 
ALL_TARGET_HT40_5 
ALL_TARGET_HT40_6 
ALL_TARGET_HT40_7 
ALL_TARGET_HT40_12 
ALL_TARGET_HT40_13 
ALL_TARGET_HT40_14 
ALL_TARGET_HT40_15 
ALL_TARGET_HT40_20 
ALL_TARGET_HT40_21 
ALL_TARGET_HT40_22 
ALL_TARGET_HT40_23 
ar9300RateSize 

Definition at line 114 of file ar9003_eeprom.h.

114  {
152 };

◆ CompressAlgorithm

Enumerator
_CompressNone 
_CompressLzma 
_CompressPairs 
_CompressBlock 
_Compress4 
_Compress5 
_Compress6 
_Compress7 

Definition at line 160 of file ar9003_eeprom.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2  )

◆ __attribute__()

struct eepFlags __attribute__ ( (packed)  )

◆ ar9003_hw_get_tx_gain_idx()

s32 ar9003_hw_get_tx_gain_idx ( struct ath_hw ah)

Definition at line 4950 of file ath9k_ar9003_eeprom.c.

4951 {
4952  struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep;
4953 
4954  return (eep->baseEepHeader.txrxgain >> 4) & 0xf; /* bits 7:4 */
4955 }
struct ar9300_base_eep_hdr baseEepHeader
uint8_t ah
Definition: registers.h:85

References ah, ar9300_eeprom::baseEepHeader, and ar9300_base_eep_hdr::txrxgain.

Referenced by ar9003_tx_gain_table_apply().

◆ ar9003_hw_get_rx_gain_idx()

s32 ar9003_hw_get_rx_gain_idx ( struct ath_hw ah)

Definition at line 4957 of file ath9k_ar9003_eeprom.c.

4958 {
4959  struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep;
4960 
4961  return (eep->baseEepHeader.txrxgain) & 0xf; /* bits 3:0 */
4962 }
struct ar9300_base_eep_hdr baseEepHeader
uint8_t ah
Definition: registers.h:85

References ah, ar9300_eeprom::baseEepHeader, and ar9300_base_eep_hdr::txrxgain.

Referenced by ar9003_rx_gain_table_apply().

◆ ar9003_get_spur_chan_ptr()

u8* ar9003_get_spur_chan_ptr ( struct ath_hw ah,
int  is_2ghz 
)

Definition at line 4964 of file ath9k_ar9003_eeprom.c.

4965 {
4966  struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep;
4967 
4968  if (is_2ghz)
4969  return eep->modalHeader2G.spurChans;
4970  else
4971  return eep->modalHeader5G.spurChans;
4972 }
u8 spurChans[AR_EEPROM_MODAL_SPURS]
struct ar9300_modal_eep_header modalHeader2G
struct ar9300_modal_eep_header modalHeader5G
uint8_t ah
Definition: registers.h:85

References ah, ar9300_eeprom::modalHeader2G, ar9300_eeprom::modalHeader5G, and ar9300_modal_eep_header::spurChans.

Referenced by ar9003_hw_spur_mitigate_mrc_cck().

◆ ar9003_get_paprd_scale_factor()

unsigned int ar9003_get_paprd_scale_factor ( struct ath_hw ah,
struct ath9k_channel chan 
)

Definition at line 4974 of file ath9k_ar9003_eeprom.c.

4976 {
4977  struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep;
4978 
4979  if (IS_CHAN_2GHZ(chan))
4980  return MS((uint32_t)(eep->modalHeader2G.papdRateMaskHt20),
4982  else {
4983  if (chan->channel >= 5700)
4984  return MS((uint32_t)(eep->modalHeader5G.papdRateMaskHt20),
4986  else if (chan->channel >= 5400)
4987  return MS((uint32_t)(eep->modalHeader5G.papdRateMaskHt40),
4989  else
4990  return MS((uint32_t)(eep->modalHeader5G.papdRateMaskHt40),
4992  }
4993 }
u16 channel
Definition: hw.h:349
#define IS_CHAN_2GHZ(_c)
Definition: hw.h:361
#define MS(_v, _f)
Definition: hw.h:102
#define AR9300_PAPRD_SCALE_1
Definition: ar9003_eeprom.h:54
struct ar9300_modal_eep_header modalHeader2G
struct ar9300_modal_eep_header modalHeader5G
#define AR9300_PAPRD_SCALE_2
Definition: ar9003_eeprom.h:56
unsigned int uint32_t
Definition: stdint.h:12
uint8_t ah
Definition: registers.h:85

References ah, AR9300_PAPRD_SCALE_1, AR9300_PAPRD_SCALE_2, ath9k_channel::channel, IS_CHAN_2GHZ, ar9300_eeprom::modalHeader2G, ar9300_eeprom::modalHeader5G, MS, ar9300_modal_eep_header::papdRateMaskHt20, and ar9300_modal_eep_header::papdRateMaskHt40.

Referenced by ath9k_hw_ar9300_set_txpower().

Variable Documentation

◆ opFlags

u8 opFlags

Definition at line 24 of file ar9003_eeprom.h.

◆ eepMisc

u8 eepMisc

Definition at line 25 of file ar9003_eeprom.h.

◆ __attribute__

◆ regDmn

uint16_t regDmn[2]

Definition at line 24 of file ar9003_eeprom.h.

◆ txrxMask

u8 txrxMask

Definition at line 26 of file ar9003_eeprom.h.

◆ opCapFlags

struct eepFlags opCapFlags

Definition at line 27 of file ar9003_eeprom.h.

◆ rfSilent

u8 rfSilent

Definition at line 28 of file ar9003_eeprom.h.

◆ blueToothOptions

u8 blueToothOptions

Definition at line 29 of file ar9003_eeprom.h.

◆ deviceCap

u8 deviceCap

Definition at line 30 of file ar9003_eeprom.h.

◆ deviceType

u8 deviceType

Definition at line 32 of file ar9003_eeprom.h.

◆ pwrTableOffset

int8_t pwrTableOffset

Definition at line 36 of file ar9003_eeprom.h.

◆ params_for_tuning_caps

u8 params_for_tuning_caps[2]

Definition at line 37 of file ar9003_eeprom.h.

◆ featureEnable

u8 featureEnable

Definition at line 45 of file ar9003_eeprom.h.

◆ miscConfiguration

u8 miscConfiguration

Definition at line 47 of file ar9003_eeprom.h.

◆ eepromWriteEnableGpio

u8 eepromWriteEnableGpio

Definition at line 48 of file ar9003_eeprom.h.

◆ wlanDisableGpio

u8 wlanDisableGpio

Definition at line 49 of file ar9003_eeprom.h.

◆ wlanLedGpio

u8 wlanLedGpio

Definition at line 50 of file ar9003_eeprom.h.

◆ rxBandSelectGpio

u8 rxBandSelectGpio

Definition at line 51 of file ar9003_eeprom.h.

◆ txrxgain

u8 txrxgain

Definition at line 52 of file ar9003_eeprom.h.

◆ swreg

uint32_t swreg

Definition at line 54 of file ar9003_eeprom.h.

Referenced by ar9003_hw_internal_regulator_apply().

◆ antCtrlCommon

uint32_t antCtrlCommon

Definition at line 25 of file ar9003_eeprom.h.

◆ antCtrlCommon2

uint32_t antCtrlCommon2

Definition at line 27 of file ar9003_eeprom.h.

◆ antCtrlChain

uint16_t antCtrlChain[AR9300_MAX_CHAINS]

Definition at line 29 of file ar9003_eeprom.h.

◆ xatten1DB

u8 xatten1DB[AR9300_MAX_CHAINS]

Definition at line 31 of file ar9003_eeprom.h.

◆ xatten1Margin

u8 xatten1Margin[AR9300_MAX_CHAINS]

Definition at line 33 of file ar9003_eeprom.h.

◆ tempSlope

int8_t tempSlope

Definition at line 34 of file ar9003_eeprom.h.

Referenced by ar9003_hw_power_control_override().

◆ voltSlope

int8_t voltSlope

Definition at line 35 of file ar9003_eeprom.h.

◆ spurChans

Definition at line 37 of file ar9003_eeprom.h.

◆ noiseFloorThreshCh

int8_t noiseFloorThreshCh[AR9300_MAX_CHAINS]

Definition at line 39 of file ar9003_eeprom.h.

◆ ob

Definition at line 40 of file ar9003_eeprom.h.

Referenced by ath9k_hw_4k_set_board_values().

◆ db_stage2

u8 db_stage2[AR9300_MAX_CHAINS]

Definition at line 41 of file ar9003_eeprom.h.

◆ db_stage3

u8 db_stage3[AR9300_MAX_CHAINS]

Definition at line 42 of file ar9003_eeprom.h.

◆ db_stage4

u8 db_stage4[AR9300_MAX_CHAINS]

Definition at line 43 of file ar9003_eeprom.h.

◆ xpaBiasLvl

u8 xpaBiasLvl

Definition at line 44 of file ar9003_eeprom.h.

◆ txFrameToDataStart

u8 txFrameToDataStart

Definition at line 45 of file ar9003_eeprom.h.

◆ txFrameToPaOn

u8 txFrameToPaOn

Definition at line 46 of file ar9003_eeprom.h.

◆ txClip

u8 txClip

Definition at line 47 of file ar9003_eeprom.h.

◆ antennaGain

int8_t antennaGain

Definition at line 48 of file ar9003_eeprom.h.

◆ switchSettling

u8 switchSettling

Definition at line 49 of file ar9003_eeprom.h.

◆ adcDesiredSize

int8_t adcDesiredSize

Definition at line 50 of file ar9003_eeprom.h.

◆ txEndToXpaOff

u8 txEndToXpaOff

Definition at line 51 of file ar9003_eeprom.h.

◆ txEndToRxOn

u8 txEndToRxOn

Definition at line 52 of file ar9003_eeprom.h.

◆ txFrameToXpaOn

u8 txFrameToXpaOn

Definition at line 53 of file ar9003_eeprom.h.

◆ thresh62

u8 thresh62

Definition at line 54 of file ar9003_eeprom.h.

◆ papdRateMaskHt20

uint32_t papdRateMaskHt20

Definition at line 55 of file ar9003_eeprom.h.

◆ papdRateMaskHt40

uint32_t papdRateMaskHt40

Definition at line 56 of file ar9003_eeprom.h.

◆ futureModal

u8 futureModal[10]

Definition at line 57 of file ar9003_eeprom.h.

◆ refPower

int8_t refPower

Definition at line 24 of file ar9003_eeprom.h.

◆ voltMeas

u8 voltMeas

Definition at line 26 of file ar9003_eeprom.h.

◆ tempMeas

u8 tempMeas

Definition at line 28 of file ar9003_eeprom.h.

◆ rxNoisefloorCal

int8_t rxNoisefloorCal

Definition at line 30 of file ar9003_eeprom.h.

◆ rxNoisefloorPower

int8_t rxNoisefloorPower

Definition at line 32 of file ar9003_eeprom.h.

◆ rxTempMeas

u8 rxTempMeas

Definition at line 34 of file ar9003_eeprom.h.

◆ tPow2x

u8 tPow2x

◆ ctlEdges

u8 ctlEdges

◆ ant_div_control

u8 ant_div_control

Definition at line 24 of file ar9003_eeprom.h.

◆ future

u8 future[13]

Definition at line 25 of file ar9003_eeprom.h.

◆ tempSlopeLow

int8_t tempSlopeLow

Definition at line 24 of file ar9003_eeprom.h.

◆ tempSlopeHigh

int8_t tempSlopeHigh

Definition at line 25 of file ar9003_eeprom.h.

◆ xatten1DBLow

u8 xatten1DBLow[AR9300_MAX_CHAINS]

Definition at line 26 of file ar9003_eeprom.h.

◆ xatten1MarginLow

u8 xatten1MarginLow[AR9300_MAX_CHAINS]

Definition at line 27 of file ar9003_eeprom.h.

◆ xatten1DBHigh

u8 xatten1DBHigh[AR9300_MAX_CHAINS]

Definition at line 28 of file ar9003_eeprom.h.

◆ xatten1MarginHigh

u8 xatten1MarginHigh[AR9300_MAX_CHAINS]

Definition at line 29 of file ar9003_eeprom.h.

◆ eepromVersion

u8 eepromVersion

Definition at line 24 of file ar9003_eeprom.h.

◆ templateVersion

u8 templateVersion

Definition at line 25 of file ar9003_eeprom.h.

Referenced by ar9003_eeprom_struct_find_by_id().

◆ macAddr

u8 macAddr[6]

Definition at line 26 of file ar9003_eeprom.h.

◆ custData

Definition at line 27 of file ar9003_eeprom.h.

◆ baseEepHeader

struct ar9300_base_eep_hdr baseEepHeader

Definition at line 29 of file ar9003_eeprom.h.

◆ modalHeader2G

struct ar9300_modal_eep_header modalHeader2G

Definition at line 31 of file ar9003_eeprom.h.

◆ base_ext1

struct ar9300_BaseExtension_1 base_ext1

Definition at line 32 of file ar9003_eeprom.h.

◆ calFreqPier2G

u8 calFreqPier2G[AR9300_NUM_2G_CAL_PIERS]

Definition at line 33 of file ar9003_eeprom.h.

◆ calPierData2G

Definition at line 34 of file ar9003_eeprom.h.

◆ calTarget_freqbin_Cck

u8 calTarget_freqbin_Cck[AR9300_NUM_2G_CCK_TARGET_POWERS]

Definition at line 36 of file ar9003_eeprom.h.

◆ calTarget_freqbin_2G

u8 calTarget_freqbin_2G[AR9300_NUM_2G_20_TARGET_POWERS]

Definition at line 37 of file ar9003_eeprom.h.

◆ calTarget_freqbin_2GHT20

u8 calTarget_freqbin_2GHT20[AR9300_NUM_2G_20_TARGET_POWERS]

Definition at line 38 of file ar9003_eeprom.h.

◆ calTarget_freqbin_2GHT40

u8 calTarget_freqbin_2GHT40[AR9300_NUM_2G_40_TARGET_POWERS]

Definition at line 39 of file ar9003_eeprom.h.

◆ calTargetPowerCck

Definition at line 40 of file ar9003_eeprom.h.

◆ calTargetPower2G

Definition at line 42 of file ar9003_eeprom.h.

◆ calTargetPower2GHT20

struct cal_tgt_pow_ht calTargetPower2GHT20[AR9300_NUM_2G_20_TARGET_POWERS]

Definition at line 44 of file ar9003_eeprom.h.

◆ calTargetPower2GHT40

struct cal_tgt_pow_ht calTargetPower2GHT40[AR9300_NUM_2G_40_TARGET_POWERS]

Definition at line 46 of file ar9003_eeprom.h.

◆ ctlIndex_2G

u8 ctlIndex_2G[AR9300_NUM_CTLS_2G]

Definition at line 48 of file ar9003_eeprom.h.

◆ ctl_freqbin_2G

Definition at line 49 of file ar9003_eeprom.h.

◆ ctlPowerData_2G

struct cal_ctl_data_2g ctlPowerData_2G[AR9300_NUM_CTLS_2G]

Definition at line 50 of file ar9003_eeprom.h.

◆ modalHeader5G

struct ar9300_modal_eep_header modalHeader5G

Definition at line 51 of file ar9003_eeprom.h.

◆ base_ext2

struct ar9300_BaseExtension_2 base_ext2

Definition at line 52 of file ar9003_eeprom.h.

◆ calFreqPier5G

u8 calFreqPier5G[AR9300_NUM_5G_CAL_PIERS]

Definition at line 53 of file ar9003_eeprom.h.

◆ calPierData5G

Definition at line 54 of file ar9003_eeprom.h.

◆ calTarget_freqbin_5G

u8 calTarget_freqbin_5G[AR9300_NUM_5G_20_TARGET_POWERS]

Definition at line 56 of file ar9003_eeprom.h.

◆ calTarget_freqbin_5GHT20

u8 calTarget_freqbin_5GHT20[AR9300_NUM_5G_20_TARGET_POWERS]

Definition at line 57 of file ar9003_eeprom.h.

◆ calTarget_freqbin_5GHT40

u8 calTarget_freqbin_5GHT40[AR9300_NUM_5G_40_TARGET_POWERS]

Definition at line 58 of file ar9003_eeprom.h.

◆ calTargetPower5G

Definition at line 59 of file ar9003_eeprom.h.

◆ calTargetPower5GHT20

struct cal_tgt_pow_ht calTargetPower5GHT20[AR9300_NUM_5G_20_TARGET_POWERS]

Definition at line 61 of file ar9003_eeprom.h.

◆ calTargetPower5GHT40

struct cal_tgt_pow_ht calTargetPower5GHT40[AR9300_NUM_5G_40_TARGET_POWERS]

Definition at line 63 of file ar9003_eeprom.h.

◆ ctlIndex_5G

u8 ctlIndex_5G[AR9300_NUM_CTLS_5G]

Definition at line 65 of file ar9003_eeprom.h.

◆ ctl_freqbin_5G

Definition at line 66 of file ar9003_eeprom.h.

◆ ctlPowerData_5G

struct cal_ctl_data_5g ctlPowerData_5G[AR9300_NUM_CTLS_5G]

Definition at line 67 of file ar9003_eeprom.h.