/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* Copyright (c) 2008 Atheros Communications Inc.
*
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _ARN_HW_H
#define _ARN_HW_H
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(1)
struct ar5416_desc {
union {
struct {
} tx;
struct {
} rx;
} u;
};
#pragma pack()
#define AR_BurstDur_S 0
#define AR_XmitRate0_S 0
#define AR_PacketDur0_S 0
#define AR_PacketDur2_S 0
#define AR_AggrLen_S 0
#define AR_TxRSSIAnt00_S 0
#define AR_TxRSSIAnt10_S 0
#define AR_RxRSSIAnt00_S 0
#define AR_RxRSSIAnt10_S 0
AR_RTSCTSQual##_index : 0))
struct ar5416AniState {
struct ath9k_channel c;
};
struct ar5416Stats {
};
#define EEP_RFSILENT_ENABLED_S 0
/* 2.6.30 */
/* Rx gain type values */
#define AR5416_EEP_RXGAIN_23DB_BACKOFF 0
/* Tx gain type values */
#define AR5416_EEP_TXGAIN_ORIGINAL 0
enum eeprom_param {
EEP_NFTHRESH_5 = 0,
};
enum ar5416_rates {
};
enum ath9k_hal_freq_band {
};
#pragma pack(1)
/* 2.6.30 */
struct base_eep_header {
};
struct base_eep_header_4k {
};
struct spur_chan {
};
struct modal_eep_header {
};
struct modal_eep_4k_header {
};
struct cal_data_per_freq {
};
struct cal_data_per_freq_4k {
};
struct cal_target_power_leg {
};
struct cal_target_power_ht {
};
#ifdef __BIG_ENDIAN_BITFIELD
struct cal_ctl_edges {
};
#else
struct cal_ctl_edges {
};
#endif
struct cal_ctl_data {
struct cal_ctl_edges
};
struct cal_ctl_data_4k {
struct cal_ctl_edges
};
struct ar5416_eeprom_def {
struct cal_data_per_freq
struct cal_data_per_freq
struct cal_target_power_leg
struct cal_target_power_ht
struct cal_target_power_ht
struct cal_target_power_leg
struct cal_target_power_leg
struct cal_target_power_ht
struct cal_target_power_ht
};
struct ar5416_eeprom_4k {
struct cal_data_per_freq_4k
struct cal_target_power_leg
struct cal_target_power_leg
struct cal_target_power_ht
struct cal_target_power_ht
};
#pragma pack()
struct ar5416IniArray {
};
} while (0)
} while (0)
do { \
(_ahp)->ah_cal_list = \
} else { \
} \
} while (0)
enum hal_cal_types {
};
enum hal_cal_state {
};
struct hal_percal_data {
};
struct hal_cal_list {
};
/*
* Enum to indentify the eeprom mappings
*/
enum hal_eep_map {
};
struct ath_hal_5416 {
union {
} ah_eeprom;
/* Calibration */
union {
} ah_Meas0;
union {
} ah_Meas1;
union {
} ah_Meas2;
union {
} ah_Meas3;
enum {
/* RF */
/* ANI */
/* To indicate EEPROM mapping used */
};
} while (0)
/* 2.6.30 */
#define DO_DELAY(x) do { \
if ((++(x) % 64) == 0) \
drv_usecwait(1); \
} while (0)
int r; \
} \
} while (0)
#define AR5416_EEPROM_START_ADDR \
/* EEPROM 4K bit map definations */
#ifdef __BIG_ENDIAN
#else
#endif
#define ATH9K_ANI_FIRSTEP_LVL 0
enum eeprom_param param);
#ifdef __cplusplus
}
#endif
#endif /* _ARN_HW_H */