diff options
Diffstat (limited to 'drivers/net/wireless/bcm43xx/bcm43xx_radio.h')
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_radio.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_radio.h b/drivers/net/wireless/bcm43xx/bcm43xx_radio.h new file mode 100644 index 000000000000..89fe29282140 --- /dev/null +++ b/drivers/net/wireless/bcm43xx/bcm43xx_radio.h | |||
@@ -0,0 +1,93 @@ | |||
1 | /* | ||
2 | |||
3 | Broadcom BCM43xx wireless driver | ||
4 | |||
5 | Copyright (c) 2005 Martin Langer <martin-langer@gmx.de>, | ||
6 | Stefano Brivio <st3@riseup.net> | ||
7 | Michael Buesch <mbuesch@freenet.de> | ||
8 | Danny van Dyk <kugelfang@gentoo.org> | ||
9 | Andreas Jaggi <andreas.jaggi@waterwave.ch> | ||
10 | |||
11 | Some parts of the code in this file are derived from the ipw2200 | ||
12 | driver Copyright(c) 2003 - 2004 Intel Corporation. | ||
13 | |||
14 | This program is free software; you can redistribute it and/or modify | ||
15 | it under the terms of the GNU General Public License as published by | ||
16 | the Free Software Foundation; either version 2 of the License, or | ||
17 | (at your option) any later version. | ||
18 | |||
19 | This program is distributed in the hope that it will be useful, | ||
20 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | GNU General Public License for more details. | ||
23 | |||
24 | You should have received a copy of the GNU General Public License | ||
25 | along with this program; see the file COPYING. If not, write to | ||
26 | the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, | ||
27 | Boston, MA 02110-1301, USA. | ||
28 | |||
29 | */ | ||
30 | |||
31 | #ifndef BCM43xx_RADIO_H_ | ||
32 | #define BCM43xx_RADIO_H_ | ||
33 | |||
34 | #include "bcm43xx.h" | ||
35 | |||
36 | |||
37 | #define BCM43xx_RADIO_DEFAULT_CHANNEL_A 36 | ||
38 | #define BCM43xx_RADIO_DEFAULT_CHANNEL_BG 6 | ||
39 | |||
40 | /* Force antenna 0. */ | ||
41 | #define BCM43xx_RADIO_TXANTENNA_0 0 | ||
42 | /* Force antenna 1. */ | ||
43 | #define BCM43xx_RADIO_TXANTENNA_1 1 | ||
44 | /* Use the RX antenna, that was selected for the most recently | ||
45 | * received good PLCP header. | ||
46 | */ | ||
47 | #define BCM43xx_RADIO_TXANTENNA_LASTPLCP 3 | ||
48 | #define BCM43xx_RADIO_TXANTENNA_DEFAULT BCM43xx_RADIO_TXANTENNA_LASTPLCP | ||
49 | |||
50 | #define BCM43xx_RADIO_INTERFMODE_NONE 0 | ||
51 | #define BCM43xx_RADIO_INTERFMODE_NONWLAN 1 | ||
52 | #define BCM43xx_RADIO_INTERFMODE_MANUALWLAN 2 | ||
53 | #define BCM43xx_RADIO_INTERFMODE_AUTOWLAN 3 | ||
54 | |||
55 | |||
56 | void bcm43xx_radio_lock(struct bcm43xx_private *bcm); | ||
57 | void bcm43xx_radio_unlock(struct bcm43xx_private *bcm); | ||
58 | |||
59 | u16 bcm43xx_radio_read16(struct bcm43xx_private *bcm, u16 offset); | ||
60 | void bcm43xx_radio_write16(struct bcm43xx_private *bcm, u16 offset, u16 val); | ||
61 | |||
62 | u16 bcm43xx_radio_init2050(struct bcm43xx_private *bcm); | ||
63 | void bcm43xx_radio_init2060(struct bcm43xx_private *bcm); | ||
64 | |||
65 | void bcm43xx_radio_turn_on(struct bcm43xx_private *bcm); | ||
66 | void bcm43xx_radio_turn_off(struct bcm43xx_private *bcm); | ||
67 | |||
68 | int bcm43xx_radio_selectchannel(struct bcm43xx_private *bcm, u8 channel, | ||
69 | int synthetic_pu_workaround); | ||
70 | |||
71 | void bcm43xx_radio_set_txpower_a(struct bcm43xx_private *bcm, u16 txpower); | ||
72 | void bcm43xx_radio_set_txpower_bg(struct bcm43xx_private *bcm, | ||
73 | u16 baseband_attenuation, u16 attenuation, | ||
74 | u16 txpower); | ||
75 | void bcm43xx_radio_set_txantenna(struct bcm43xx_private *bcm, u32 val); | ||
76 | |||
77 | void bcm43xx_radio_clear_tssi(struct bcm43xx_private *bcm); | ||
78 | |||
79 | u8 bcm43xx_radio_aci_detect(struct bcm43xx_private *bcm, u8 channel); | ||
80 | u8 bcm43xx_radio_aci_scan(struct bcm43xx_private *bcm); | ||
81 | |||
82 | int bcm43xx_radio_set_interference_mitigation(struct bcm43xx_private *bcm, int mode); | ||
83 | |||
84 | void bcm43xx_calc_nrssi_slope(struct bcm43xx_private *bcm); | ||
85 | void bcm43xx_calc_nrssi_threshold(struct bcm43xx_private *bcm); | ||
86 | s16 bcm43xx_nrssi_hw_read(struct bcm43xx_private *bcm, u16 offset); | ||
87 | void bcm43xx_nrssi_hw_write(struct bcm43xx_private *bcm, u16 offset, s16 val); | ||
88 | void bcm43xx_nrssi_hw_update(struct bcm43xx_private *bcm, u16 val); | ||
89 | void bcm43xx_nrssi_mem_update(struct bcm43xx_private *bcm); | ||
90 | |||
91 | void bcm43xx_radio_set_tx_iq(struct bcm43xx_private *bcm); | ||
92 | |||
93 | #endif /* BCM43xx_RADIO_H_ */ | ||