]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/ath/ath_hal/ar9002/ar9280.h
dts: Import DTS from Linux 5.6
[FreeBSD/FreeBSD.git] / sys / dev / ath / ath_hal / ar9002 / ar9280.h
1 /*-
2  * SPDX-License-Identifier: ISC
3  *
4  * Copyright (c) 2008-2009 Sam Leffler, Errno Consulting
5  *
6  * Permission to use, copy, modify, and/or distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  *
18  * $FreeBSD$
19  */
20 #ifndef _ATH_AR9280_H_
21 #define _ATH_AR9280_H_
22
23 #include "ar5416/ar5416.h"
24
25 /*
26  * This is a chip thing, but it's used here as part of the
27  * ath_hal_9280 struct; so it's convienent to locate the
28  * define here.
29  */
30 #define AR9280_TX_GAIN_TABLE_SIZE               22
31
32 struct ath_hal_9280 {
33         struct ath_hal_5416 ah_5416;
34
35         HAL_INI_ARRAY   ah_ini_xmodes;
36         HAL_INI_ARRAY   ah_ini_rxgain;
37         HAL_INI_ARRAY   ah_ini_txgain;
38
39         int PDADCdelta;
40
41         uint32_t        originalGain[AR9280_TX_GAIN_TABLE_SIZE];
42 };
43 #define AH9280(_ah)     ((struct ath_hal_9280 *)(_ah))
44
45 #define AR9280_DEFAULT_RXCHAINMASK      3
46 #define AR9285_DEFAULT_RXCHAINMASK      1
47 #define AR9280_DEFAULT_TXCHAINMASK      1
48 #define AR9285_DEFAULT_TXCHAINMASK      1
49
50 #define AR_PHY_CCA_NOM_VAL_9280_2GHZ            -112
51 #define AR_PHY_CCA_NOM_VAL_9280_5GHZ            -112
52 #define AR_PHY_CCA_MIN_GOOD_VAL_9280_2GHZ       -127
53 #define AR_PHY_CCA_MIN_GOOD_VAL_9280_5GHZ       -122
54 #define AR_PHY_CCA_MAX_GOOD_VAL_9280_2GHZ       -97
55 #define AR_PHY_CCA_MAX_GOOD_VAL_9280_5GHZ       -102
56
57 HAL_BOOL ar9280RfAttach(struct ath_hal *, HAL_STATUS *);
58
59 struct ath_hal;
60
61 HAL_BOOL        ar9280SetAntennaSwitch(struct ath_hal *, HAL_ANT_SETTING);
62 void            ar9280SpurMitigate(struct ath_hal *,
63                         const struct ieee80211_channel *);
64 void            ar9280InitPLL(struct ath_hal *ah, 
65                         const struct ieee80211_channel *chan);
66 #endif  /* _ATH_AR9280_H_ */