~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to ubuntu/rtl8192se/rtl8192s/r8192S_def.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/******************************************************************************
2
 
 * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
3
 
 *
4
 
 * This program is distributed in the hope that it will be useful, but WITHOUT
5
 
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6
 
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
7
 
 * more details.
8
 
 *
9
 
 * You should have received a copy of the GNU General Public License along with
10
 
 * this program; if not, write to the Free Software Foundation, Inc.,
11
 
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
12
 
 *
13
 
 * The full GNU General Public License is included in this distribution in the
14
 
 * file called LICENSE.
15
 
 *
16
 
 * Contact Information:
17
 
 * wlanfae <wlanfae@realtek.com>
18
 
******************************************************************************/
19
 
#ifndef R8192SE_DEF_H
20
 
#define R8192SE_DEF_H
21
 
 
22
 
#include <linux/types.h>
23
 
#include "../rtllib/rtllib_endianfree.h"
24
 
 
25
 
#define HAL_RETRY_LIMIT_INFRA           48      
26
 
#define HAL_RETRY_LIMIT_AP_ADHOC        7
27
 
 
28
 
#define HAL_DM_DIG_DISABLE                              BIT0    
29
 
#define HAL_DM_HIPWR_DISABLE                            BIT1    
30
 
 
31
 
#define RX_DESC_SIZE                            24
32
 
#define RX_DRV_INFO_SIZE_UNIT   8
33
 
 
34
 
 
35
 
#define TX_DESC_SIZE                            32
36
 
 
37
 
#define SET_TX_DESC_PKT_SIZE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 0, 16, __Value)
38
 
#define SET_TX_DESC_OFFSET(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 16, 8, __Value)
39
 
#define SET_TX_DESC_TYPE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 24, 2, __Value)
40
 
#define SET_TX_DESC_LAST_SEG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 26, 1, __Value)
41
 
#define SET_TX_DESC_FIRST_SEG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 27, 1, __Value)
42
 
#define SET_TX_DESC_LINIP(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 28, 1, __Value)
43
 
#define SET_TX_DESC_AMSDU(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 29, 1, __Value)
44
 
#define SET_TX_DESC_GREEN_FIELD(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 30, 1, __Value)
45
 
#define SET_TX_DESC_OWN(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 31, 1, __Value)
46
 
 
47
 
#define SET_TX_DESC_MACID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 0, 5, __Value)
48
 
#define SET_TX_DESC_MORE_DATA(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 5, 1, __Value)
49
 
#define SET_TX_DESC_MORE_FRAG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 6, 1, __Value)
50
 
#define SET_TX_DESC_PIFS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 7, 1, __Value)
51
 
#define SET_TX_DESC_QUEUE_SEL(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 8, 5, __Value)
52
 
#define SET_TX_DESC_ACK_POLICY(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 13, 2, __Value)
53
 
#define SET_TX_DESC_NO_ACM(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 15, 1, __Value)
54
 
#define SET_TX_DESC_NON_QOS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 16, 1, __Value)
55
 
#define SET_TX_DESC_KEY_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 17, 2, __Value)
56
 
#define SET_TX_DESC_OUI(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 19, 1, __Value)
57
 
#define SET_TX_DESC_PKT_TYPE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 20, 1, __Value)
58
 
#define SET_TX_DESC_EN_DESC_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 21, 1, __Value)
59
 
#define SET_TX_DESC_SEC_TYPE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 22, 2, __Value)
60
 
#define SET_TX_DESC_WDS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 24, 1, __Value)
61
 
#define SET_TX_DESC_HTC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 25, 1, __Value)
62
 
#define SET_TX_DESC_PKT_OFFSET(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 26, 5, __Value)
63
 
#define SET_TX_DESC_HWPC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 27, 1, __Value)
64
 
 
65
 
#define SET_TX_DESC_DATA_RETRY_LIMIT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 0, 6, __Value)
66
 
#define SET_TX_DESC_RETRY_LIMIT_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 6, 1, __Value)
67
 
#define SET_TX_DESC_TSFL(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 7, 5, __Value)
68
 
#define SET_TX_DESC_RTS_RETRY_COUNT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 12, 6, __Value)
69
 
#define SET_TX_DESC_DATA_RETRY_COUNT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 18, 6, __Value)
70
 
#define SET_TX_DESC_RSVD_MACID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(((__pTxDesc) + 8), 24, 5, __Value)
71
 
#define SET_TX_DESC_AGG_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 29, 1, __Value)
72
 
#define SET_TX_DESC_AGG_BREAK(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 30, 1, __Value)
73
 
#define SET_TX_DESC_OWN_MAC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 31, 1, __Value)
74
 
 
75
 
#define SET_TX_DESC_NEXT_HEAP_PAGE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 0, 8, __Value)
76
 
#define SET_TX_DESC_TAIL_PAGE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 8, 8, __Value)
77
 
#define SET_TX_DESC_SEQ(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 16, 12, __Value)
78
 
#define SET_TX_DESC_FRAG(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 28, 4, __Value)
79
 
 
80
 
#define SET_TX_DESC_RTS_RATE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 0, 6, __Value)
81
 
#define SET_TX_DESC_DISABLE_RTS_FB(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 6, 1, __Value)
82
 
#define SET_TX_DESC_RTS_RATE_FB_LIMIT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 7, 4, __Value)
83
 
#define SET_TX_DESC_CTS_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 11, 1, __Value)
84
 
#define SET_TX_DESC_RTS_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 12, 1, __Value)
85
 
#define SET_TX_DESC_RA_BRSR_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 13, 3, __Value)
86
 
#define SET_TX_DESC_TXHT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 16, 1, __Value)
87
 
#define SET_TX_DESC_TX_SHORT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 17, 1, __Value)
88
 
#define SET_TX_DESC_TX_BANDWIDTH(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 18, 1, __Value)
89
 
#define SET_TX_DESC_TX_SUB_CARRIER(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 19, 2, __Value)
90
 
#define SET_TX_DESC_TX_STBC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 21, 2, __Value)
91
 
#define SET_TX_DESC_TX_REVERSE_DIRECTION(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 23, 1, __Value)
92
 
#define SET_TX_DESC_RTS_HT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 24, 1, __Value)
93
 
#define SET_TX_DESC_RTS_SHORT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 25, 1, __Value)
94
 
#define SET_TX_DESC_RTS_BANDWIDTH(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 26, 1, __Value)
95
 
#define SET_TX_DESC_RTS_SUB_CARRIER(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 27, 2, __Value)
96
 
#define SET_TX_DESC_RTS_STBC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 29, 2, __Value)
97
 
#define SET_TX_DESC_USER_RATE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 31, 1, __Value)
98
 
 
99
 
#define SET_TX_DESC_PACKET_ID(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 0, 9, __Value)
100
 
#define SET_TX_DESC_TX_RATE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 9, 6, __Value)
101
 
#define SET_TX_DESC_DISABLE_FB(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 15, 1, __Value)
102
 
#define SET_TX_DESC_DATA_RATE_FB_LIMIT(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 16, 5, __Value)
103
 
#define SET_TX_DESC_TX_AGC(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 21, 11, __Value)
104
 
 
105
 
#define SET_TX_DESC_IP_CHECK_SUM(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 0, 16, __Value)
106
 
#define SET_TX_DESC_TCP_CHECK_SUM(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 16, 16, __Value)
107
 
 
108
 
#define SET_TX_DESC_TX_BUFFER_SIZE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 0, 16, __Value)
109
 
#define SET_TX_DESC_IP_HEADER_OFFSET(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 16, 8, __Value)
110
 
#define SET_TX_DESC_TCP_ENABLE(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 31, 1, __Value)
111
 
 
112
 
#define SET_TX_DESC_TX_BUFFER_ADDRESS(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+32, 0, 32, __Value)
113
 
 
114
 
 
115
 
#define TX_DESC_NEXT_DESC_OFFSET        36
116
 
#define CLEAR_PCI_TX_DESC_CONTENT(__pTxDesc, _size)                                                                                     \
117
 
        {                                                                                                                                                                               \
118
 
                if(_size > TX_DESC_NEXT_DESC_OFFSET)                                                                                            \
119
 
                        memset((void*)__pTxDesc, 0, TX_DESC_NEXT_DESC_OFFSET);                                  \
120
 
                else                                                                                                                                                            \
121
 
                        memset((void*)__pTxDesc, 0, _size);                                                                     \
122
 
                if(_size > (TX_DESC_NEXT_DESC_OFFSET + 4))                                                                                      \
123
 
                        memset((void*)(__pTxDesc + (TX_DESC_NEXT_DESC_OFFSET + 4)), 0, (_size - TX_DESC_NEXT_DESC_OFFSET));     \
124
 
        }
125
 
 
126
 
#define C2H_RX_CMD_HDR_LEN              8 
127
 
#define GET_C2H_CMD_CMD_LEN(__pRxHeader)        LE_BITS_TO_4BYTE((__pRxHeader), 0, 16)
128
 
#define GET_C2H_CMD_ELEMENT_ID(__pRxHeader)     LE_BITS_TO_4BYTE((__pRxHeader), 16, 8)
129
 
#define GET_C2H_CMD_CMD_SEQ(__pRxHeader)        LE_BITS_TO_4BYTE((__pRxHeader), 24, 7)
130
 
#define GET_C2H_CMD_CONTINUE(__pRxHeader)       LE_BITS_TO_4BYTE((__pRxHeader), 31, 1)
131
 
#define GET_C2H_CMD_CONTENT(__pRxHeader)        ((u8*)(__pRxHeader) + C2H_RX_CMD_HDR_LEN)
132
 
 
133
 
#define GET_C2H_CMD_FEEDBACK_ELEMENT_ID(__pCmdFBHeader) LE_BITS_TO_4BYTE((__pCmdFBHeader), 0, 8)
134
 
#define GET_C2H_CMD_FEEDBACK_CCX_LEN(__pCmdFBHeader)    LE_BITS_TO_4BYTE((__pCmdFBHeader), 8, 8)
135
 
#define GET_C2H_CMD_FEEDBACK_CCX_CMD_CNT(__pCmdFBHeader)        LE_BITS_TO_4BYTE((__pCmdFBHeader), 16, 16)
136
 
#define GET_C2H_CMD_FEEDBACK_CCX_MAC_ID(__pCmdFBHeader) LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 0, 5)
137
 
#define GET_C2H_CMD_FEEDBACK_CCX_VALID(__pCmdFBHeader)  LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 7, 1)
138
 
#define GET_C2H_CMD_FEEDBACK_CCX_RETRY_CNT(__pCmdFBHeader)      LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 8, 5)
139
 
#define GET_C2H_CMD_FEEDBACK_CCX_TOK(__pCmdFBHeader)    LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 15, 1)
140
 
#define GET_C2H_CMD_FEEDBACK_CCX_QSEL(__pCmdFBHeader)   LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 16, 4)
141
 
#define GET_C2H_CMD_FEEDBACK_CCX_SEQ(__pCmdFBHeader)    LE_BITS_TO_4BYTE(((__pCmdFBHeader) + 4), 20, 12)
142
 
 
143
 
 
144
 
#if 0
145
 
#define BK_QUEUE                                        0               
146
 
#define BE_QUEUE                                        1               
147
 
#define VI_QUEUE                                        2               
148
 
#define VO_QUEUE                                3       
149
 
#define BEACON_QUEUE                    4
150
 
#define TXCMD_QUEUE                             5               
151
 
#define MGNT_QUEUE                              6       
152
 
#define HIGH_QUEUE                              7       
153
 
#define HCCA_QUEUE                              8       
154
 
 
155
 
#define LOW_QUEUE                               BE_QUEUE
156
 
#define NORMAL_QUEUE                    MGNT_QUEUE
157
 
#endif
158
 
 
159
 
#define RX_MPDU_QUEUE                   0
160
 
#define RX_CMD_QUEUE                    1
161
 
#define RX_MAX_QUEUE                    2
162
 
 
163
 
 
164
 
typedef enum _rtl819x_loopback{
165
 
        RTL819X_NO_LOOPBACK = 0,
166
 
        RTL819X_MAC_LOOPBACK = 1,
167
 
        RTL819X_DMA_LOOPBACK = 2,
168
 
        RTL819X_CCK_LOOPBACK = 3,
169
 
}rtl819x_loopback_e;
170
 
 
171
 
#define RESET_DELAY_8185                20
172
 
 
173
 
#define RT_IBSS_INT_MASKS               0
174
 
 
175
 
#define DESC92S_RATE1M                  0x00
176
 
#define DESC92S_RATE2M                  0x01
177
 
#define DESC92S_RATE5_5M                0x02
178
 
#define DESC92S_RATE11M                 0x03
179
 
#define DESC92S_RATE6M                  0x04
180
 
#define DESC92S_RATE9M                  0x05
181
 
#define DESC92S_RATE12M                 0x06
182
 
#define DESC92S_RATE18M                 0x07
183
 
#define DESC92S_RATE24M                 0x08
184
 
#define DESC92S_RATE36M                 0x09
185
 
#define DESC92S_RATE48M                 0x0a
186
 
#define DESC92S_RATE54M                 0x0b
187
 
#define DESC92S_RATEMCS0                0x0c
188
 
#define DESC92S_RATEMCS1                0x0d
189
 
#define DESC92S_RATEMCS2                0x0e
190
 
#define DESC92S_RATEMCS3                0x0f
191
 
#define DESC92S_RATEMCS4                0x10
192
 
#define DESC92S_RATEMCS5                0x11
193
 
#define DESC92S_RATEMCS6                0x12
194
 
#define DESC92S_RATEMCS7                0x13
195
 
#define DESC92S_RATEMCS8                0x14
196
 
#define DESC92S_RATEMCS9                0x15
197
 
#define DESC92S_RATEMCS10               0x16
198
 
#define DESC92S_RATEMCS11               0x17
199
 
#define DESC92S_RATEMCS12               0x18
200
 
#define DESC92S_RATEMCS13               0x19
201
 
#define DESC92S_RATEMCS14               0x1a
202
 
#define DESC92S_RATEMCS15               0x1b
203
 
#define DESC92S_RATEMCS15_SG    0x1c
204
 
#define DESC92S_RATEMCS32               0x20    
205
 
 
206
 
#define SHORT_SLOT_TIME                 9
207
 
#define NON_SHORT_SLOT_TIME     20
208
 
 
209
 
 
210
 
#define MAX_LINES_HWCONFIG_TXT                  1000
211
 
#define MAX_BYTES_LINE_HWCONFIG_TXT             256
212
 
 
213
 
#define SW_THREE_WIRE                   0
214
 
#define HW_THREE_WIRE                   2
215
 
 
216
 
#define BT_DEMO_BOARD                   0 
217
 
#define BT_QA_BOARD                             1 
218
 
#define BT_FPGA                                 2 
219
 
 
220
 
#define Rx_Smooth_Factor                        20
221
 
 
222
 
#define QSLT_BK                                 0x2
223
 
#define QSLT_BE                                 0x0
224
 
#define QSLT_VI                                 0x5
225
 
#define QSLT_VO                                 0x7
226
 
#define QSLT_BEACON                             0x10
227
 
#define QSLT_HIGH                               0x11
228
 
#define QSLT_MGNT                               0x12
229
 
#define QSLT_CMD                                0x13
230
 
 
231
 
#define NUM_OF_FIRMWARE_QUEUE                           10
232
 
#define NUM_OF_PAGES_IN_FW                                      0x100
233
 
#define NUM_OF_PAGE_IN_FW_QUEUE_BK              0x07
234
 
#define NUM_OF_PAGE_IN_FW_QUEUE_BE              0x07
235
 
#define NUM_OF_PAGE_IN_FW_QUEUE_VI              0x07
236
 
#define NUM_OF_PAGE_IN_FW_QUEUE_VO              0x07
237
 
#define NUM_OF_PAGE_IN_FW_QUEUE_HCCA            0x0
238
 
#define NUM_OF_PAGE_IN_FW_QUEUE_CMD             0x0
239
 
#define NUM_OF_PAGE_IN_FW_QUEUE_MGNT            0x02
240
 
#define NUM_OF_PAGE_IN_FW_QUEUE_HIGH            0x02
241
 
#define NUM_OF_PAGE_IN_FW_QUEUE_BCN             0x2
242
 
#define NUM_OF_PAGE_IN_FW_QUEUE_PUB             0xA1
243
 
 
244
 
#define NUM_OF_PAGE_IN_FW_QUEUE_BK_DTM  0x026
245
 
#define NUM_OF_PAGE_IN_FW_QUEUE_BE_DTM  0x048
246
 
#define NUM_OF_PAGE_IN_FW_QUEUE_VI_DTM  0x048
247
 
#define NUM_OF_PAGE_IN_FW_QUEUE_VO_DTM  0x026
248
 
#define NUM_OF_PAGE_IN_FW_QUEUE_PUB_DTM 0x00
249
 
                                                
250
 
#define HAL_PRIME_CHNL_OFFSET_DONT_CARE 0
251
 
#define HAL_PRIME_CHNL_OFFSET_LOWER             1
252
 
#define HAL_PRIME_CHNL_OFFSET_UPPER             2
253
 
 
254
 
 
255
 
 
256
 
#define         MAX_SILENT_RESET_RX_SLOT_NUM    10
257
 
typedef enum tag_Rf_OpType
258
 
{    
259
 
    RF_OP_By_SW_3wire = 0,
260
 
    RF_OP_By_FW,   
261
 
    RF_OP_MAX
262
 
}RF_OpType_E;
263
 
 
264
 
 
265
 
typedef enum _POWER_SAVE_MODE   
266
 
{
267
 
        POWER_SAVE_MODE_ACTIVE,
268
 
        POWER_SAVE_MODE_SAVE,
269
 
}POWER_SAVE_MODE;
270
 
 
271
 
typedef enum _INTERFACE_SELECT_8190PCI{
272
 
        INTF_SEL1_MINICARD      = 0,            
273
 
        INTF_SEL0_PCIE                  = 1,            
274
 
        INTF_SEL2_RSV                   = 2,            
275
 
        INTF_SEL3_RSV                   = 3,            
276
 
} INTERFACE_SELECT_8190PCI, *PINTERFACE_SELECT_8190PCI;
277
 
 
278
 
 
279
 
typedef struct _BB_REGISTER_DEFINITION{
280
 
        u32 rfintfs;                    
281
 
        u32 rfintfi;                    
282
 
        u32 rfintfo;                    
283
 
        u32 rfintfe;                    
284
 
        u32 rf3wireOffset;              
285
 
        u32 rfLSSI_Select;              
286
 
        u32 rfTxGainStage;              
287
 
        u32 rfHSSIPara1;                
288
 
        u32 rfHSSIPara2;                
289
 
        u32 rfSwitchControl;    
290
 
        u32 rfAGCControl1;      
291
 
        u32 rfAGCControl2;      
292
 
        u32 rfRxIQImbalance;    
293
 
        u32 rfRxAFE;                    
294
 
        u32 rfTxIQImbalance;    
295
 
        u32 rfTxAFE;                    
296
 
        u32 rfLSSIReadBack;     
297
 
        u32 rfLSSIReadBackPi;   
298
 
}BB_REGISTER_DEFINITION_T, *PBB_REGISTER_DEFINITION_T;
299
 
 
300
 
 
301
 
 
302
 
 
303
 
typedef struct  _rx_fwinfo_8192s{
304
 
        
305
 
        /*u32                   gain_0:7;
306
 
        u32                     trsw_0:1;
307
 
        u32                     gain_1:7;
308
 
        u32                     trsw_1:1;
309
 
        u32                     gain_2:7;
310
 
        u32                     trsw_2:1;
311
 
        u32                     gain_3:7;
312
 
        u32                     trsw_3:1;       */
313
 
        u8                      gain_trsw[4];
314
 
 
315
 
        /*u32                   pwdb_all:8;
316
 
        u32                     cfosho_0:8;
317
 
        u32                     cfosho_1:8;
318
 
        u32                     cfosho_2:8;*/
319
 
        u8                      pwdb_all;
320
 
        u8                      cfosho[4];
321
 
 
322
 
        /*u32                   cfosho_3:8;
323
 
        u32                     cfotail_0:8;
324
 
        u32                     cfotail_1:8;
325
 
        u32                     cfotail_2:8;*/
326
 
        u8                      cfotail[4];
327
 
 
328
 
        /*u32                   cfotail_3:8;
329
 
        u32                     rxevm_0:8;
330
 
        u32                     rxevm_1:8;
331
 
        u32                     rxsnr_0:8;*/
332
 
        s8                      rxevm[2];
333
 
        s8                      rxsnr[4];
334
 
 
335
 
        /*u32                   rxsnr_1:8;
336
 
        u32                     rxsnr_2:8;
337
 
        u32                     rxsnr_3:8;
338
 
        u32                     pdsnr_0:8;*/
339
 
        u8                      pdsnr[2];
340
 
 
341
 
        /*u32                   pdsnr_1:8;
342
 
        u32                     csi_current_0:8;
343
 
        u32                     csi_current_1:8;
344
 
        u32                     csi_target_0:8;*/
345
 
        u8                      csi_current[2];
346
 
        u8                      csi_target[2];
347
 
 
348
 
        /*u32                   csi_target_1:8;
349
 
        u32                     sigevm:8;
350
 
        u32                     max_ex_pwr:8;
351
 
        u32                     ex_intf_flag:1;
352
 
        u32                     sgi_en:1;
353
 
        u32                     rxsc:2;
354
 
        u32                     reserve:4;*/
355
 
        u8                      sigevm;
356
 
        u8                      max_ex_pwr;
357
 
        u8                      ex_intf_flag:1;
358
 
        u8                      sgi_en:1;
359
 
        u8                      rxsc:2;
360
 
        u8                      reserve:4;
361
 
        
362
 
}rx_fwinfo, *prx_fwinfo;
363
 
 
364
 
typedef struct _LOG_INTERRUPT_8190
365
 
{
366
 
        u32     nIMR_COMDOK;
367
 
        u32     nIMR_MGNTDOK;
368
 
        u32     nIMR_HIGH;
369
 
        u32     nIMR_VODOK;
370
 
        u32     nIMR_VIDOK;
371
 
        u32     nIMR_BEDOK;
372
 
        u32     nIMR_BKDOK;
373
 
        u32     nIMR_ROK;
374
 
        u32     nIMR_RCOK;
375
 
        u32     nIMR_TBDOK;
376
 
        u32     nIMR_BDOK;
377
 
        u32     nIMR_RXFOVW;
378
 
} LOG_INTERRUPT_8190_T, *PLOG_INTERRUPT_8190_T;
379
 
 
380
 
typedef struct _phy_cck_rx_status_report_819xpci
381
 
{
382
 
        u8      adc_pwdb_X[4];
383
 
        u8      sq_rpt; 
384
 
        u8      cck_agc_rpt;
385
 
}phy_sts_cck_819xpci_t, phy_sts_cck_8192s_t;
386
 
 
387
 
#define         PHY_RSSI_SLID_WIN_MAX                           100
388
 
#define         PHY_LINKQUALITY_SLID_WIN_MAX            20
389
 
#define         PHY_Beacon_RSSI_SLID_WIN_MAX            10
390
 
 
391
 
typedef struct _tx_desc_8192se{
392
 
 
393
 
        u32             PktSize:16;
394
 
        u32             Offset:8;
395
 
        u32             Type:2; 
396
 
        u32             LastSeg:1;
397
 
        u32             FirstSeg:1;
398
 
        u32             LINIP:1;
399
 
        u32             AMSDU:1;
400
 
        u32             GF:1;
401
 
        u32             OWN:1;  
402
 
        
403
 
        u32             MacID:5;                        
404
 
        u32             MoreData:1;
405
 
        u32             MoreFrag:1;
406
 
        u32             PIFS:1;
407
 
        u32             QueueSel:5;
408
 
        u32             AckPolicy:2;
409
 
        u32             NoACM:1;
410
 
        u32             NonQos:1;
411
 
        u32             KeyID:2;
412
 
        u32             OUI:1;
413
 
        u32             PktType:1;
414
 
        u32             EnDescID:1;
415
 
        u32             SecType:2;
416
 
        u32             HTC:1;  
417
 
        u32             WDS:1;  
418
 
        u32             PktOffset:5;    
419
 
        u32             HWPC:1;         
420
 
        
421
 
        u32             DataRetryLmt:6;
422
 
        u32             RetryLmtEn:1;
423
 
        u32             TSFL:5; 
424
 
        u32             RTSRC:6;        
425
 
        u32             DATARC:6;       
426
 
        u32             Rsvd_MacID:5;
427
 
        u32             AggEn:1;
428
 
        u32             BK:1;   
429
 
        u32             OwnMAC:1;
430
 
        
431
 
        u32             NextHeadPage:8;
432
 
        u32             TailPage:8;
433
 
        u32             Seq:12;
434
 
        u32             Frag:4; 
435
 
 
436
 
        u32             RTSRate:6;
437
 
        u32             DisRTSFB:1;
438
 
        u32             RTSRateFBLmt:4;
439
 
        u32             CTS2Self:1;
440
 
        u32             RTSEn:1;
441
 
        u32             RaBRSRID:3;     
442
 
        u32             TXHT:1;
443
 
        u32             TxShort:1;
444
 
        u32             TxBw:1;
445
 
        u32             TXSC:2;
446
 
        u32             STBC:2;
447
 
        u32             RD:1;
448
 
        u32             RTSHT:1;
449
 
        u32             RTSShort:1;
450
 
        u32             RTSBW:1;
451
 
        u32             RTSSC:2;
452
 
        u32             RTSSTBC:2;
453
 
        u32             UserRate:1;     
454
 
 
455
 
        u32             PktID:9;
456
 
        u32             TxRate:6;
457
 
        u32             DISFB:1;
458
 
        u32             DataRateFBLmt:5;
459
 
        u32             TxAGC:11;
460
 
 
461
 
        u32             IPChkSum:16;
462
 
        u32             TCPChkSum:16;
463
 
 
464
 
        u32             TxBufferSize:16;
465
 
        u32             IPHdrOffset:8;
466
 
        u32             Rsvd3:7;
467
 
        u32             TCPEn:1;
468
 
 
469
 
        u32             TxBuffAddr;
470
 
 
471
 
        u32             NextDescAddress;
472
 
 
473
 
        u32             Reserve_Pass_92S_PCIE_MM_Limit[6];
474
 
        
475
 
} tx_desc, *ptx_desc;
476
 
 
477
 
 
478
 
typedef struct _tx_desc_cmd_8192se{  
479
 
        u32             PktSize:16;
480
 
        u32             Offset:8;       
481
 
        u32             Rsvd0:2;
482
 
        u32             FirstSeg:1;
483
 
        u32             LastSeg:1;
484
 
        u32             LINIP:1;
485
 
        u32             Rsvd1:2;
486
 
        u32             OWN:1;  
487
 
        
488
 
        u32             Rsvd2;
489
 
        u32             Rsvd3;
490
 
        u32             Rsvd4;
491
 
        u32             Rsvd5;
492
 
        u32             Rsvd6;
493
 
        u32             Rsvd7;  
494
 
 
495
 
        u32             TxBufferSize:16;
496
 
        u32             Rsvd8:16;
497
 
 
498
 
        u32             TxBufferAddr;
499
 
 
500
 
        u32             NextTxDescAddress;
501
 
 
502
 
        u32             Reserve_Pass_92S_PCIE_MM_Limit[6];
503
 
        
504
 
}tx_desc_cmd, *ptx_desc_cmd;
505
 
 
506
 
 
507
 
typedef struct _tx_status_desc_8192se{ 
508
 
 
509
 
        u32             PktSize:16;
510
 
        u32             Offset:8;
511
 
        u32             Type:2; 
512
 
        u32             LastSeg:1;
513
 
        u32             FirstSeg:1;
514
 
        u32             LINIP:1;
515
 
        u32             AMSDU:1;
516
 
        u32             GF:1;
517
 
        u32             OWN:1;  
518
 
        
519
 
        u32             MacID:5;                        
520
 
        u32             MoreData:1;
521
 
        u32             MoreFrag:1;
522
 
        u32             PIFS:1;
523
 
        u32             QueueSel:5;
524
 
        u32             AckPolicy:2;
525
 
        u32             NoACM:1;
526
 
        u32             NonQos:1;
527
 
        u32             KeyID:2;
528
 
        u32             OUI:1;
529
 
        u32             PktType:1;
530
 
        u32             EnDescID:1;
531
 
        u32             SecType:2;
532
 
        u32             HTC:1;  
533
 
        u32             WDS:1;  
534
 
        u32             PktOffset:5;    
535
 
        u32             HWPC:1;         
536
 
        
537
 
        u32             DataRetryLmt:6;
538
 
        u32             RetryLmtEn:1;
539
 
        u32             TSFL:5; 
540
 
        u32             RTSRC:6;        
541
 
        u32             DATARC:6;       
542
 
        u32             Rsvd1:5;
543
 
        u32             AggEn:1;
544
 
        u32             BK:1;   
545
 
        u32             OwnMAC:1;
546
 
        
547
 
        u32             NextHeadPage:8;
548
 
        u32             TailPage:8;
549
 
        u32             Seq:12;
550
 
        u32             Frag:4; 
551
 
 
552
 
        u32             RTSRate:6;
553
 
        u32             DisRTSFB:1;
554
 
        u32             RTSRateFBLmt:4;
555
 
        u32             CTS2Self:1;
556
 
        u32             RTSEn:1;
557
 
        u32             RaBRSRID:3;     
558
 
        u32             TXHT:1;
559
 
        u32             TxShort:1;
560
 
        u32             TxBw:1;
561
 
        u32             TXSC:2;
562
 
        u32             STBC:2;
563
 
        u32             RD:1;
564
 
        u32             RTSHT:1;
565
 
        u32             RTSShort:1;
566
 
        u32             RTSBW:1;
567
 
        u32             RTSSC:2;
568
 
        u32             RTSSTBC:2;
569
 
        u32             UserRate:1;     
570
 
 
571
 
        u32             PktID:9;
572
 
        u32             TxRate:6;
573
 
        u32             DISFB:1;
574
 
        u32             DataRateFBLmt:5;
575
 
        u32             TxAGC:11;       
576
 
 
577
 
        u32             IPChkSum:16;
578
 
        u32             TCPChkSum:16;
579
 
 
580
 
        u32             TxBufferSize:16;
581
 
        u32             IPHdrOffset:8;
582
 
        u32             Rsvd2:7;
583
 
        u32             TCPEn:1;
584
 
 
585
 
        u32             TxBufferAddr;
586
 
 
587
 
        u32             NextDescAddress;
588
 
 
589
 
        u32             Reserve_Pass_92S_PCIE_MM_Limit[6];
590
 
 
591
 
}tx_status_desc, *ptx_status_desc;
592
 
 
593
 
 
594
 
typedef struct _rx_desc_8192se{
595
 
        u32             Length:14;
596
 
        u32             CRC32:1;
597
 
        u32             ICVError:1;
598
 
        u32             DrvInfoSize:4;
599
 
        u32             Security:3;
600
 
        u32             Qos:1;
601
 
        u32             Shift:2;
602
 
        u32             PHYStatus:1;
603
 
        u32             SWDec:1;
604
 
        u32             LastSeg:1;
605
 
        u32             FirstSeg:1;
606
 
        u32             EOR:1;
607
 
        u32             OWN:1;  
608
 
 
609
 
        u32             MACID:5;
610
 
        u32             TID:4;
611
 
        u32             HwRsvd:5;
612
 
        u32             PAGGR:1;
613
 
        u32             FAGGR:1;
614
 
        u32             A1_FIT:4;
615
 
        u32             A2_FIT:4;
616
 
        u32             PAM:1;
617
 
        u32             PWR:1;
618
 
        u32             MoreData:1;
619
 
        u32             MoreFrag:1;
620
 
        u32             Type:2;
621
 
        u32             MC:1;
622
 
        u32             BC:1;
623
 
 
624
 
        u32             Seq:12;
625
 
        u32             Frag:4;
626
 
        u32             NextPktLen:14;
627
 
        u32             NextIND:1;
628
 
        u32             Rsvd:1;
629
 
 
630
 
        u32             RxMCS:6;
631
 
        u32             RxHT:1;
632
 
        u32             AMSDU:1;
633
 
        u32             SPLCP:1;
634
 
        u32             BandWidth:1;
635
 
        u32             HTC:1;
636
 
        u32             TCPChkRpt:1;
637
 
        u32             IPChkRpt:1;
638
 
        u32             TCPChkValID:1;
639
 
        u32             HwPCErr:1;
640
 
        u32             HwPCInd:1;
641
 
        u32             IV0:16;
642
 
 
643
 
        u32             IV1;
644
 
 
645
 
        u32             TSFL;
646
 
 
647
 
        u32             BufferAddress;
648
 
 
649
 
        u32             NextRxDescAddress;
650
 
 
651
 
#if 0           
652
 
        u32             BA_SSN:12;
653
 
        u32             BA_VLD:1;
654
 
        u32             RSVD:19;
655
 
#endif
656
 
 
657
 
} rx_desc, *prx_desc;
658
 
 
659
 
 
660
 
 
661
 
typedef struct _rx_desc_status_8192se{
662
 
        u32             Length:14;
663
 
        u32             CRC32:1;
664
 
        u32             ICVError:1;
665
 
        u32             DrvInfoSize:4;
666
 
        u32             Security:3;
667
 
        u32             Qos:1;
668
 
        u32             Shift:2;
669
 
        u32             PHYStatus:1;
670
 
        u32             SWDec:1;
671
 
        u32             LastSeg:1;
672
 
        u32             FirstSeg:1;
673
 
        u32             EOR:1;
674
 
        u32             OWN:1;  
675
 
 
676
 
        u32             MACID:5;
677
 
        u32             TID:4;
678
 
        u32             HwRsvd:5;
679
 
        u32             PAGGR:1;
680
 
        u32             FAGGR:1;
681
 
        u32             A1_FIT:4;
682
 
        u32             A2_FIT:4;
683
 
        u32             PAM:1;
684
 
        u32             PWR:1;
685
 
        u32             MoreData:1;
686
 
        u32             MoreFrag:1;
687
 
        u32             Type:2;
688
 
        u32             MC:1;
689
 
        u32             BC:1;
690
 
 
691
 
        u32             Seq:12;
692
 
        u32             Frag:4;
693
 
        u32             NextPktLen:14;
694
 
        u32             NextIND:1;
695
 
        u32             Rsvd:1;
696
 
 
697
 
        u32             RxMCS:6;
698
 
        u32             RxHT:1;
699
 
        u32             AMSDU:1;
700
 
        u32             SPLCP:1;
701
 
        u32             BW:1;
702
 
        u32             HTC:1;
703
 
        u32             TCPChkRpt:1;
704
 
        u32             IPChkRpt:1;
705
 
        u32             TCPChkValID:1;
706
 
        u32             HwPCErr:1;
707
 
        u32             HwPCInd:1;
708
 
        u32             IV0:16;
709
 
 
710
 
        u32             IV1;
711
 
 
712
 
        u32             TSFL;
713
 
 
714
 
 
715
 
        u32             BufferAddress;
716
 
 
717
 
        u32             NextRxDescAddress;
718
 
 
719
 
#if 0           
720
 
        u32             BA_SSN:12;
721
 
        u32             BA_VLD:1;
722
 
        u32             RSVD:19;
723
 
#endif
724
 
}rx_desc_status, *prx_desc_status;
725
 
 
726
 
typedef enum _HAL_FW_C2H_CMD_ID
727
 
{
728
 
        HAL_FW_C2H_CMD_Read_MACREG = 0,
729
 
        HAL_FW_C2H_CMD_Read_BBREG = 1,
730
 
        HAL_FW_C2H_CMD_Read_RFREG = 2,
731
 
        HAL_FW_C2H_CMD_Read_EEPROM = 3,
732
 
        HAL_FW_C2H_CMD_Read_EFUSE = 4,
733
 
        HAL_FW_C2H_CMD_Read_CAM = 5,
734
 
        HAL_FW_C2H_CMD_Get_BasicRate = 6,                       
735
 
        HAL_FW_C2H_CMD_Get_DataRate = 7,                                
736
 
        HAL_FW_C2H_CMD_Survey = 8 ,
737
 
        HAL_FW_C2H_CMD_SurveyDone = 9,
738
 
        HAL_FW_C2H_CMD_JoinBss = 10,
739
 
        HAL_FW_C2H_CMD_AddSTA = 11,
740
 
        HAL_FW_C2H_CMD_DelSTA = 12,
741
 
        HAL_FW_C2H_CMD_AtimDone = 13,
742
 
        HAL_FW_C2H_CMD_TX_Report = 14,
743
 
        HAL_FW_C2H_CMD_CCX_Report = 15,
744
 
        HAL_FW_C2H_CMD_DTM_Report = 16,
745
 
        HAL_FW_C2H_CMD_TX_Rate_Statistics = 17,
746
 
        HAL_FW_C2H_CMD_C2HLBK = 18,
747
 
        HAL_FW_C2H_CMD_C2HDBG = 19,
748
 
        HAL_FW_C2H_CMD_C2HFEEDBACK = 20,
749
 
        HAL_FW_C2H_CMD_BT_State = 25,
750
 
        HAL_FW_C2H_CMD_BT_Service = 26,
751
 
        HAL_FW_C2H_CMD_MAX
752
 
}HAL_FW_C2H_CMD_ID;
753
 
 
754
 
#define HAL_FW_C2H_CMD_C2HFEEDBACK_CCX_PER_PKT_RPT                      0x04
755
 
#define HAL_FW_C2H_CMD_C2HFEEDBACK_DTM_TX_STATISTICS_RPT        0x05
756
 
#endif