39#include "ar9002/ar9287.ini"
75 const struct ieee80211_channel *chan);
87 .totalSizeDesired = { -55, -55, -55, -55, -62 },
88 .coarseHigh = { -14, -14, -14, -14, -12 },
89 .coarseLow = { -64, -64, -64, -64, -70 },
90 .firpwr = { -78, -78, -78, -78, -80 },
91 .maxSpurImmunityLevel = 7,
92 .cycPwrThr1 = { 2, 4, 6, 8, 10, 12, 14, 16 },
94 .firstep = { 0, 4, 8 },
104 AH5416(ah)->ah_ani_function &= ~ HAL_ANI_NOISE_IMMUNITY_LEVEL;
125 int8_t pwr_table_offset;
128 __func__, sc, (
void*) st, (
void*) sh);
134 "%s: cannot allocate memory for state block\n", __func__);
200 "%s: ID 0x%x VERSION 0x%x TYPE 0x%x REVISION 0x%x\n",
222 ar9287PciePhy_clkreq_always_on_L1_9287_1_1, 2);
229 ar9287PciePhy_clkreq_off_L1_9287_1_1, 2);
234 ar9287Common_normal_cck_fir_coeff_9287_1_1, 2);
236 ar9287Common_japan_2484_cck_fir_coeff_9287_1_1, 2);
279 "%s: 5G Radio Chip Rev 0x%02X is not supported by "
280 "this driver\n", __func__,
299 " isn't supported.\n");
310 ath_hal_printf(ah,
"[ath]: default pwr offset: %d dBm != EEPROM pwr offset: %d dBm; curves will be adjusted.\n",
330 "%s: error getting mac address from EEPROM\n", __func__);
392 u_int modesIndex, freqIndex;
397 if (IEEE80211_IS_CHAN_2GHZ(chan)) {
399 if (IEEE80211_IS_CHAN_HT40(chan))
401 else if (IEEE80211_IS_CHAN_108G(chan))
407 if (IEEE80211_IS_CHAN_HT40(chan) ||
408 IEEE80211_IS_CHAN_TURBO(chan))
440 pCap->halWowMatchPatternDword =
AH_TRUE;
489 return "Atheros 9227";
491 return "Atheros 9287";
HAL_BOOL ath_hal_EepromDataRead(struct ath_hal *ah, u_int off, uint16_t *data)
int ath_hal_ini_write(struct ath_hal *ah, const HAL_INI_ARRAY *ia, int col, int regWr)
#define ATHEROS_VENDOR_ID
#define AR9287_DEVID_PCIE
HAL_STATUS ath_hal_9287EepromAttach(struct ath_hal *ah)
@ AR_EEP_PWR_TABLE_OFFSET
#define AR9287_RDEXT_DEFAULT
#define AR5416_PWR_TABLE_OFFSET_DB
#define OS_REG_SET_BIT(_a, _r, _f)
#define HAL_INI_INIT(_ia, _data, _cols)
#define ath_hal_eepromGet(_ah, _param, _val)
void * ath_hal_malloc(size_t)
#define HALDEBUG(_ah, __m,...)
#define ath_hal_eepromGetFlag(_ah, _param)
void ath_hal_printf(struct ath_hal *, const char *,...)
bus_space_tag_t HAL_BUS_TAG
#define OS_REG_WRITE(_ah, _reg, _val)
bus_space_handle_t HAL_BUS_HANDLE
#define OS_REG_READ(_ah, _reg)
HAL_BOOL ar5212ChipTest(struct ath_hal *ah)
#define AR_RADIO_SREV_MAJOR
void ar5416InitState(struct ath_hal_5416 *, uint16_t devid, HAL_SOFTC sc, HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status)
HAL_BOOL ar5416ChipReset(struct ath_hal *ah, const struct ieee80211_channel *, HAL_RESET_TYPE)
HAL_BOOL ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip)
void ar5416AttachPCIE(struct ath_hal *ah)
HAL_BOOL ar5416FillCapabilityInfo(struct ath_hal *ah)
void ar5416AniAttach(struct ath_hal *, const struct ar5212AniParams *, const struct ar5212AniParams *, HAL_BOOL ena)
HAL_BOOL ar5416SetResetReg(struct ath_hal *, uint32_t type)
uint32_t ar5416GetRadioRev(struct ath_hal *ah)
void ar5416InitNfHistBuff(struct ar5212NfCalHist *h)
#define PER_MAX_LOG_COUNT
void ar5416AdcDcCalCollect(struct ath_hal *ah)
void ar5416AdcDcCalibration(struct ath_hal *ah, uint8_t numChains)
void ar5416AdcGainCalibration(struct ath_hal *ah, uint8_t numChains)
void ar5416AdcGainCalCollect(struct ath_hal *ah)
void ar5416IQCalCollect(struct ath_hal *ah)
#define PER_MIN_LOG_COUNT
void ar5416IQCalibration(struct ath_hal *ah, uint8_t numChains)
#define AR_PHY_SEL_INTERNAL_ADDAC
#define AR_PHY_ADC_SERIAL_CTL
#define AR_RAD5133_SREV_MAJOR
#define AR_PCIE_PM_CTRL_ENA
#define AR9285_WA_DEFAULT
#define AR_RAD2133_SREV_MAJOR
#define AR_XSREV_TYPE_HOST_MODE
#define AR_XSREV_REVISION
#define AR_SREV_KIWI_12_OR_LATER(_ah)
void ar9280InitPLL(struct ath_hal *ah, const struct ieee80211_channel *chan)
void ar9280SpurMitigate(struct ath_hal *, const struct ieee80211_channel *)
HAL_BOOL ar9287RfAttach(struct ath_hal *ah, HAL_STATUS *status)
#define AR9287_DEFAULT_RXCHAINMASK
#define AR_PHY_CCA_MAX_GOOD_VAL_9287_5GHZ
#define AR_PHY_CCA_NOM_VAL_9287_5GHZ
#define AR_PHY_CCA_MAX_GOOD_VAL_9287_2GHZ
#define AR9287_DEFAULT_TXCHAINMASK
#define AR_PHY_CCA_MIN_GOOD_VAL_9287_5GHZ
#define AR_PHY_CCA_NOM_VAL_9287_2GHZ
#define AR_PHY_CCA_MIN_GOOD_VAL_9287_2GHZ
static HAL_BOOL ar9287FillCapabilityInfo(struct ath_hal *ah)
static void ar9287WriteIni(struct ath_hal *ah, const struct ieee80211_channel *chan)
static void ar9287DisablePCIE(struct ath_hal *ah)
static void ar9287AniSetup(struct ath_hal *ah)
static const HAL_PERCAL_DATA ar9287_iq_cal
static const HAL_PERCAL_DATA ar9287_adc_dc_cal
static void ar9287ConfigPCIE(struct ath_hal *ah, HAL_BOOL restore, HAL_BOOL power_off)
static const HAL_PERCAL_DATA ar9287_adc_gain_cal
static const char * ar9287Probe(uint16_t vendorid, uint16_t devid)
static const HAL_PERCAL_DATA ar9287_adc_init_dc_cal
AH_CHIP(AR9287, ar9287Probe, ar9287Attach)
static struct ath_hal * ar9287Attach(uint16_t devid, HAL_SOFTC sc, HAL_BUS_TAG st, HAL_BUS_HANDLE sh, uint16_t *eepromdata, HAL_OPS_CONFIG *ah_config, HAL_STATUS *status)
HAL_BOOL ar9287SetAntennaSwitch(struct ath_hal *ah, HAL_ANT_SETTING settings)
HAL_BOOL ar9287InitCalHardware(struct ath_hal *ah, const struct ieee80211_channel *chan)
void ar9287PACal(struct ath_hal *ah, HAL_BOOL is_reset)
void ar9287olcTemperatureCompensation(struct ath_hal *ah)
void ar9287olcInit(struct ath_hal *ah)
HAL_BOOL ar9287SetBoardValues(struct ath_hal *ah, const struct ieee80211_channel *chan)
HAL_BOOL ar9287SetTransmitPower(struct ath_hal *ah, const struct ieee80211_channel *chan, uint16_t *rfXpdGain)
uint32_t halWowMatchPatternExact
uint32_t halAutoSleepSupport
uint32_t halTxStbcSupport
uint32_t halRifsTxSupport
uint32_t halUseCombinedRadarRssi
uint32_t halRxStbcSupport
uint32_t halBtCoexSupport
uint32_t halExtChanDfsSupport
uint32_t halSpectralScanSupport
uint32_t halHasRxSelfLinkedTail
uint32_t halRifsRxSupport
uint32_t halHTSGI20Support
uint32_t hal4kbSplitTransSupport
uint32_t halEnhancedDfsSupport
int maxNoiseImmunityLevel
HAL_INI_ARRAY ah_ini_common
uint8_t ah_macaddr[IEEE80211_ADDR_LEN]
struct ath_hal_private ah_priv
HAL_INI_ARRAY ah_ini_modes
HAL_INI_ARRAY ah_ini_txgain
HAL_INI_ARRAY ah_ini_cckFirNormal
HAL_INI_ARRAY ah_ini_rxgain
HAL_INI_ARRAY ah_ini_cckFirJapan2484
HAL_BOOL __ahdecl(* ah_setTxPower)(struct ath_hal *, const struct ieee80211_channel *, uint16_t *)
HAL_BOOL __ahdecl(* ah_setAntennaSwitch)(struct ath_hal *, HAL_ANT_SETTING)
uint16_t ah_analog5GhzRev
void __ahdecl(* ah_detach)(struct ath_hal *)
void __ahdecl(* ah_disablePCIE)(struct ath_hal *)
void __ahdecl(* ah_configPCIE)(struct ath_hal *, HAL_BOOL restore, HAL_BOOL power_off)
HAL_BOOL __ahdecl(* ah_setBoardValues)(struct ath_hal *, const struct ieee80211_channel *)