xref: /dflybsd-src/sys/dev/netif/ath/ath_hal/ar9002/ar9285.h (revision 572ff6f6e8b95055988f178b6ba12ce77bb5b3c2)
1*572ff6f6SMatthew Dillon /*
2*572ff6f6SMatthew Dillon  * Copyright (c) 2008-2009 Sam Leffler, Errno Consulting
3*572ff6f6SMatthew Dillon  *
4*572ff6f6SMatthew Dillon  * Permission to use, copy, modify, and/or distribute this software for any
5*572ff6f6SMatthew Dillon  * purpose with or without fee is hereby granted, provided that the above
6*572ff6f6SMatthew Dillon  * copyright notice and this permission notice appear in all copies.
7*572ff6f6SMatthew Dillon  *
8*572ff6f6SMatthew Dillon  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*572ff6f6SMatthew Dillon  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*572ff6f6SMatthew Dillon  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*572ff6f6SMatthew Dillon  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*572ff6f6SMatthew Dillon  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*572ff6f6SMatthew Dillon  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*572ff6f6SMatthew Dillon  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*572ff6f6SMatthew Dillon  *
16*572ff6f6SMatthew Dillon  * $FreeBSD$
17*572ff6f6SMatthew Dillon  */
18*572ff6f6SMatthew Dillon #ifndef _ATH_AR9285_H_
19*572ff6f6SMatthew Dillon #define _ATH_AR9285_H_
20*572ff6f6SMatthew Dillon 
21*572ff6f6SMatthew Dillon #include "ar5416/ar5416.h"
22*572ff6f6SMatthew Dillon 
23*572ff6f6SMatthew Dillon struct ath_hal_9285 {
24*572ff6f6SMatthew Dillon 	struct ath_hal_5416 ah_5416;
25*572ff6f6SMatthew Dillon 
26*572ff6f6SMatthew Dillon 	HAL_INI_ARRAY	ah_ini_txgain;
27*572ff6f6SMatthew Dillon 	HAL_INI_ARRAY	ah_ini_rxgain;
28*572ff6f6SMatthew Dillon 
29*572ff6f6SMatthew Dillon 	struct {
30*572ff6f6SMatthew Dillon 		int32_t prev_offset;	/* Previous value of PA offset value */
31*572ff6f6SMatthew Dillon 		int8_t max_skipcount;	/* Max No. of times PACAL can be skipped */
32*572ff6f6SMatthew Dillon 		int8_t skipcount;	/* No. of times the PACAL to be skipped */
33*572ff6f6SMatthew Dillon 	} pacal_info;
34*572ff6f6SMatthew Dillon };
35*572ff6f6SMatthew Dillon #define	AH9285(_ah)	((struct ath_hal_9285 *)(_ah))
36*572ff6f6SMatthew Dillon 
37*572ff6f6SMatthew Dillon #define	AR9285_DEFAULT_RXCHAINMASK	1
38*572ff6f6SMatthew Dillon #define	AR9285_DEFAULT_TXCHAINMASK	1
39*572ff6f6SMatthew Dillon 
40*572ff6f6SMatthew Dillon #define	AR_PHY_CCA_NOM_VAL_9285_2GHZ		-118
41*572ff6f6SMatthew Dillon #define	AR_PHY_CCA_MIN_GOOD_VAL_9285_2GHZ	-127
42*572ff6f6SMatthew Dillon #define	AR_PHY_CCA_MAX_GOOD_VAL_9285_2GHZ	-108
43*572ff6f6SMatthew Dillon 
44*572ff6f6SMatthew Dillon HAL_BOOL ar9285RfAttach(struct ath_hal *, HAL_STATUS *);
45*572ff6f6SMatthew Dillon 
46*572ff6f6SMatthew Dillon extern	HAL_BOOL ar9285SetTransmitPower(struct ath_hal *,
47*572ff6f6SMatthew Dillon 		const struct ieee80211_channel *, uint16_t *);
48*572ff6f6SMatthew Dillon extern HAL_BOOL ar9285SetBoardValues(struct ath_hal *,
49*572ff6f6SMatthew Dillon 		const struct ieee80211_channel *);
50*572ff6f6SMatthew Dillon 
51*572ff6f6SMatthew Dillon /* ar9285_btcoex.h */
52*572ff6f6SMatthew Dillon extern	void ar9285BTCoexAntennaDiversity(struct ath_hal *ah);
53*572ff6f6SMatthew Dillon extern	void ar9285BTCoexSetParameter(struct ath_hal *ah,
54*572ff6f6SMatthew Dillon 		u_int32_t value, u_int32_t type);
55*572ff6f6SMatthew Dillon 
56*572ff6f6SMatthew Dillon #endif	/* _ATH_AR9285_H_ */
57