2 * Copyright (c) 2010 Atheros Communications, Inc.
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 #ifndef _ATH_AR9287_H_
20 #define _ATH_AR9287_H_
22 #include "ar5416/ar5416.h"
25 * This is a chip thing, but it's used here as part of the
26 * ath_hal_9287 struct; so it's convienent to locate the
29 #define AR9287_TX_GAIN_TABLE_SIZE 22
32 struct ath_hal_5416 ah_5416;
34 HAL_INI_ARRAY ah_ini_xmodes;
35 HAL_INI_ARRAY ah_ini_rxgain;
36 HAL_INI_ARRAY ah_ini_txgain;
38 HAL_INI_ARRAY ah_ini_cckFirNormal;
39 HAL_INI_ARRAY ah_ini_cckFirJapan2484;
43 uint32_t originalGain[AR9287_TX_GAIN_TABLE_SIZE];
45 #define AH9287(_ah) ((struct ath_hal_9287 *)(_ah))
47 #define AR9287_DEFAULT_RXCHAINMASK 3
48 #define AR9285_DEFAULT_RXCHAINMASK 1
49 #define AR9287_DEFAULT_TXCHAINMASK 3
50 #define AR9285_DEFAULT_TXCHAINMASK 1
52 #define AR_PHY_CCA_NOM_VAL_9287_2GHZ -112
53 #define AR_PHY_CCA_NOM_VAL_9287_5GHZ -112
54 #define AR_PHY_CCA_MIN_GOOD_VAL_9287_2GHZ -127
55 #define AR_PHY_CCA_MIN_GOOD_VAL_9287_5GHZ -122
56 #define AR_PHY_CCA_MAX_GOOD_VAL_9287_2GHZ -97
57 #define AR_PHY_CCA_MAX_GOOD_VAL_9287_5GHZ -102
59 extern HAL_BOOL ar9287RfAttach(struct ath_hal *, HAL_STATUS *);
60 extern HAL_BOOL ar9287SetAntennaSwitch(struct ath_hal *, HAL_ANT_SETTING);
62 #endif /* _ATH_AR9287_H_ */