ar9285.h revision 302408
1228940Sdelphij/*
2228940Sdelphij * Copyright (c) 2008-2009 Sam Leffler, Errno Consulting
3228940Sdelphij *
4228940Sdelphij * Permission to use, copy, modify, and/or distribute this software for any
5228940Sdelphij * purpose with or without fee is hereby granted, provided that the above
6228940Sdelphij * copyright notice and this permission notice appear in all copies.
7228940Sdelphij *
8228940Sdelphij * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9228940Sdelphij * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10228940Sdelphij * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11228940Sdelphij * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12228940Sdelphij * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13228940Sdelphij * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14228940Sdelphij * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15228940Sdelphij *
16228940Sdelphij * $FreeBSD: stable/11/sys/dev/ath/ath_hal/ar9002/ar9285.h 251655 2013-06-12 14:52:57Z adrian $
17228940Sdelphij */
18228940Sdelphij#ifndef _ATH_AR9285_H_
19228940Sdelphij#define _ATH_AR9285_H_
20228940Sdelphij
21228940Sdelphij#include "ar5416/ar5416.h"
22228940Sdelphij
23228940Sdelphijstruct ath_hal_9285 {
24228940Sdelphij	struct ath_hal_5416 ah_5416;
25228940Sdelphij
26228940Sdelphij	HAL_INI_ARRAY	ah_ini_txgain;
27228940Sdelphij	HAL_INI_ARRAY	ah_ini_rxgain;
28228940Sdelphij
29228940Sdelphij	struct {
30228940Sdelphij		int32_t prev_offset;	/* Previous value of PA offset value */
31228940Sdelphij		int8_t max_skipcount;	/* Max No. of times PACAL can be skipped */
32228940Sdelphij		int8_t skipcount;	/* No. of times the PACAL to be skipped */
33228940Sdelphij	} pacal_info;
34228940Sdelphij};
35228940Sdelphij#define	AH9285(_ah)	((struct ath_hal_9285 *)(_ah))
36228940Sdelphij
37228940Sdelphij#define	AR9285_DEFAULT_RXCHAINMASK	1
38228940Sdelphij#define	AR9285_DEFAULT_TXCHAINMASK	1
39228940Sdelphij
40228940Sdelphij#define	AR_PHY_CCA_NOM_VAL_9285_2GHZ		-118
41228940Sdelphij#define	AR_PHY_CCA_MIN_GOOD_VAL_9285_2GHZ	-127
42228940Sdelphij#define	AR_PHY_CCA_MAX_GOOD_VAL_9285_2GHZ	-108
43228940Sdelphij
44228940SdelphijHAL_BOOL ar9285RfAttach(struct ath_hal *, HAL_STATUS *);
45228940Sdelphij
46228940Sdelphijextern	HAL_BOOL ar9285SetTransmitPower(struct ath_hal *,
47228940Sdelphij		const struct ieee80211_channel *, uint16_t *);
48228940Sdelphijextern HAL_BOOL ar9285SetBoardValues(struct ath_hal *,
49228940Sdelphij		const struct ieee80211_channel *);
50228940Sdelphij
51228940Sdelphij/* ar9285_btcoex.h */
52228940Sdelphijextern	void ar9285BTCoexAntennaDiversity(struct ath_hal *ah);
53228940Sdelphijextern	void ar9285BTCoexSetParameter(struct ath_hal *ah,
54228940Sdelphij		u_int32_t value, u_int32_t type);
55228940Sdelphij
56228940Sdelphij#endif	/* _ATH_AR9285_H_ */
57228940Sdelphij