Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rtl8712_cmd.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17  *
18  * Modifications for inclusion into the Linux staging tree are
19  * Copyright(c) 2010 Larry Finger. All rights reserved.
20  *
21  * Contact information:
22  * WLAN FAE <[email protected]>
23  * Larry Finger <[email protected]>
24  *
25  ******************************************************************************/
26 #ifndef __RTL8712_CMD_H_
27 #define __RTL8712_CMD_H_
28 
29 #define CMD_HDR_SZ 8
30 
31 u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
32 void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
33 
34 struct cmd_hdr {
37 };
38 
40  GEN_CMD_CODE(_Read_MACREG), /*0*/
41  GEN_CMD_CODE(_Write_MACREG),
42  GEN_CMD_CODE(_Read_BBREG),
43  GEN_CMD_CODE(_Write_BBREG),
44  GEN_CMD_CODE(_Read_RFREG),
45  GEN_CMD_CODE(_Write_RFREG), /*5*/
46  GEN_CMD_CODE(_Read_EEPROM),
47  GEN_CMD_CODE(_Write_EEPROM),
48  GEN_CMD_CODE(_Read_EFUSE),
49  GEN_CMD_CODE(_Write_EFUSE),
50 
51  GEN_CMD_CODE(_Read_CAM), /*10*/
52  GEN_CMD_CODE(_Write_CAM),
53  GEN_CMD_CODE(_setBCNITV),
54  GEN_CMD_CODE(_setMBIDCFG),
55  GEN_CMD_CODE(_JoinBss), /*14*/
56  GEN_CMD_CODE(_DisConnect), /*15*/
57  GEN_CMD_CODE(_CreateBss),
58  GEN_CMD_CODE(_SetOpMode),
59  GEN_CMD_CODE(_SiteSurvey), /*18*/
60  GEN_CMD_CODE(_SetAuth),
61 
62  GEN_CMD_CODE(_SetKey), /*20*/
63  GEN_CMD_CODE(_SetStaKey),
64  GEN_CMD_CODE(_SetAssocSta),
65  GEN_CMD_CODE(_DelAssocSta),
66  GEN_CMD_CODE(_SetStaPwrState),
67  GEN_CMD_CODE(_SetBasicRate), /*25*/
68  GEN_CMD_CODE(_GetBasicRate),
69  GEN_CMD_CODE(_SetDataRate),
70  GEN_CMD_CODE(_GetDataRate),
71  GEN_CMD_CODE(_SetPhyInfo),
72 
73  GEN_CMD_CODE(_GetPhyInfo), /*30*/
74  GEN_CMD_CODE(_SetPhy),
75  GEN_CMD_CODE(_GetPhy),
76  GEN_CMD_CODE(_readRssi),
77  GEN_CMD_CODE(_readGain),
78  GEN_CMD_CODE(_SetAtim), /*35*/
79  GEN_CMD_CODE(_SetPwrMode),
80  GEN_CMD_CODE(_JoinbssRpt),
81  GEN_CMD_CODE(_SetRaTable),
82  GEN_CMD_CODE(_GetRaTable),
83 
84  GEN_CMD_CODE(_GetCCXReport), /*40*/
85  GEN_CMD_CODE(_GetDTMReport),
86  GEN_CMD_CODE(_GetTXRateStatistics),
87  GEN_CMD_CODE(_SetUsbSuspend),
88  GEN_CMD_CODE(_SetH2cLbk),
89  GEN_CMD_CODE(_AddBAReq), /*45*/
90 
91  GEN_CMD_CODE(_SetChannel), /*46*/
92 /* MP_OFFLOAD Start (47~54)*/
93  GEN_CMD_CODE(_SetTxPower),
94  GEN_CMD_CODE(_SwitchAntenna),
95  GEN_CMD_CODE(_SetCrystalCap),
96  GEN_CMD_CODE(_SetSingleCarrierTx), /*50*/
97  GEN_CMD_CODE(_SetSingleToneTx),
98  GEN_CMD_CODE(_SetCarrierSuppressionTx),
99  GEN_CMD_CODE(_SetContinuousTx),
100  GEN_CMD_CODE(_SwitchBandwidth), /*54*/
101 /* MP_OFFLOAD End*/
102  GEN_CMD_CODE(_TX_Beacon), /*55*/
103  GEN_CMD_CODE(_SetPowerTracking),
104  GEN_CMD_CODE(_AMSDU_TO_AMPDU), /*57*/
105  GEN_CMD_CODE(_SetMacAddress), /*58*/
106 
107  GEN_CMD_CODE(_DisconnectCtrl), /*59*/
108  GEN_CMD_CODE(_SetChannelPlan), /*60*/
109  GEN_CMD_CODE(_DisconnectCtrlEx), /*61*/
110 
111  /* To do, modify these h2c cmd, add or delete */
112  GEN_CMD_CODE(_GetH2cLbk) ,
113 
114  /* WPS extra IE */
115  GEN_CMD_CODE(_SetProbeReqExtraIE) ,
116  GEN_CMD_CODE(_SetAssocReqExtraIE) ,
117  GEN_CMD_CODE(_SetProbeRspExtraIE) ,
118  GEN_CMD_CODE(_SetAssocRspExtraIE) ,
119 
120  /* the following is driver will do */
121  GEN_CMD_CODE(_GetCurDataRate) ,
122 
123  GEN_CMD_CODE(_GetTxRetrycnt), /* to record times that Tx retry to
124  * transmit packet after association
125  */
126  GEN_CMD_CODE(_GetRxRetrycnt), /* to record total number of the
127  * received frame with ReTry bit set in
128  * the WLAN header
129  */
130 
131  GEN_CMD_CODE(_GetBCNOKcnt),
132  GEN_CMD_CODE(_GetBCNERRcnt),
133  GEN_CMD_CODE(_GetCurTxPwrLevel),
134 
135  GEN_CMD_CODE(_SetDIG),
136  GEN_CMD_CODE(_SetRA),
137  GEN_CMD_CODE(_SetPT),
138  GEN_CMD_CODE(_ReadTSSI),
139 
141 };
142 
143 
144 #define _GetBBReg_CMD_ _Read_BBREG_CMD_
145 #define _SetBBReg_CMD_ _Write_BBREG_CMD_
146 #define _GetRFReg_CMD_ _Read_RFREG_CMD_
147 #define _SetRFReg_CMD_ _Write_RFREG_CMD_
148 #define _DRV_INT_CMD_ (MAX_H2CCMD+1)
149 #define _SetRFIntFs_CMD_ (MAX_H2CCMD+2)
150 
151 #ifdef _RTL8712_CMD_C_
152 static struct _cmd_callback cmd_callback[] = {
153  {GEN_CMD_CODE(_Read_MACREG), NULL}, /*0*/
154  {GEN_CMD_CODE(_Write_MACREG), NULL},
156  {GEN_CMD_CODE(_Write_BBREG), NULL},
158  {GEN_CMD_CODE(_Write_RFREG), NULL}, /*5*/
159  {GEN_CMD_CODE(_Read_EEPROM), NULL},
160  {GEN_CMD_CODE(_Write_EEPROM), NULL},
161  {GEN_CMD_CODE(_Read_EFUSE), NULL},
162  {GEN_CMD_CODE(_Write_EFUSE), NULL},
163 
164  {GEN_CMD_CODE(_Read_CAM), NULL}, /*10*/
165  {GEN_CMD_CODE(_Write_CAM), NULL},
166  {GEN_CMD_CODE(_setBCNITV), NULL},
167  {GEN_CMD_CODE(_setMBIDCFG), NULL},
168  {GEN_CMD_CODE(_JoinBss), &r8712_joinbss_cmd_callback}, /*14*/
169  {GEN_CMD_CODE(_DisConnect), &r8712_disassoc_cmd_callback}, /*15*/
171  {GEN_CMD_CODE(_SetOpMode), NULL},
172  {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback}, /*18*/
173  {GEN_CMD_CODE(_SetAuth), NULL},
174 
175  {GEN_CMD_CODE(_SetKey), NULL}, /*20*/
178  {GEN_CMD_CODE(_DelAssocSta), NULL},
179  {GEN_CMD_CODE(_SetStaPwrState), NULL},
180  {GEN_CMD_CODE(_SetBasicRate), NULL}, /*25*/
181  {GEN_CMD_CODE(_GetBasicRate), NULL},
182  {GEN_CMD_CODE(_SetDataRate), NULL},
183  {GEN_CMD_CODE(_GetDataRate), NULL},
184  {GEN_CMD_CODE(_SetPhyInfo), NULL},
185 
186  {GEN_CMD_CODE(_GetPhyInfo), NULL}, /*30*/
187  {GEN_CMD_CODE(_SetPhy), NULL},
188  {GEN_CMD_CODE(_GetPhy), NULL},
189  {GEN_CMD_CODE(_readRssi), NULL},
190  {GEN_CMD_CODE(_readGain), NULL},
191  {GEN_CMD_CODE(_SetAtim), NULL}, /*35*/
192  {GEN_CMD_CODE(_SetPwrMode), NULL},
193  {GEN_CMD_CODE(_JoinbssRpt), NULL},
194  {GEN_CMD_CODE(_SetRaTable), NULL},
195  {GEN_CMD_CODE(_GetRaTable), NULL},
196 
197  {GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
198  {GEN_CMD_CODE(_GetDTMReport), NULL},
199  {GEN_CMD_CODE(_GetTXRateStatistics), NULL},
200  {GEN_CMD_CODE(_SetUsbSuspend), NULL},
201  {GEN_CMD_CODE(_SetH2cLbk), NULL},
202  {GEN_CMD_CODE(_AddBAReq), NULL}, /*45*/
203 
204  {GEN_CMD_CODE(_SetChannel), NULL}, /*46*/
205 /* MP_OFFLOAD Start (47~54)*/
206  {GEN_CMD_CODE(_SetTxPower), NULL},
207  {GEN_CMD_CODE(_SwitchAntenna), NULL},
208  {GEN_CMD_CODE(_SetCrystalCap), NULL},
209  {GEN_CMD_CODE(_SetSingleCarrierTx), NULL}, /*50*/
210  {GEN_CMD_CODE(_SetSingleToneTx), NULL},
211  {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
212  {GEN_CMD_CODE(_SetContinuousTx), NULL},
213  {GEN_CMD_CODE(_SwitchBandwidth), NULL}, /*54*/
214 /* MP_OFFLOAD End*/
215  {GEN_CMD_CODE(_TX_Beacon), NULL}, /*55*/
216  {GEN_CMD_CODE(_SetPowerTracking), NULL},
217  {GEN_CMD_CODE(_AMSDU_TO_AMPDU), NULL}, /*57*/
218  {GEN_CMD_CODE(_SetMacAddress), NULL}, /*58*/
219 
220  {GEN_CMD_CODE(_DisconnectCtrl), NULL}, /*59*/
221  {GEN_CMD_CODE(_SetChannelPlan), NULL}, /*60*/
222  {GEN_CMD_CODE(_DisconnectCtrlEx), NULL}, /*61*/
223 
224  /* To do, modify these h2c cmd, add or delete */
225  {GEN_CMD_CODE(_GetH2cLbk), NULL},
226 
227  {_SetProbeReqExtraIE_CMD_, NULL},
228  {_SetAssocReqExtraIE_CMD_, NULL},
229  {_SetProbeRspExtraIE_CMD_, NULL},
230  {_SetAssocRspExtraIE_CMD_, NULL},
231  {_GetCurDataRate_CMD_, NULL},
232  {_GetTxRetrycnt_CMD_, NULL},
233  {_GetRxRetrycnt_CMD_, NULL},
234  {_GetBCNOKcnt_CMD_, NULL},
235  {_GetBCNERRcnt_CMD_, NULL},
236  {_GetCurTxPwrLevel_CMD_, NULL},
237  {_SetDIG_CMD_, NULL},
238  {_SetRA_CMD_, NULL},
239  {_SetPT_CMD_, NULL},
241 };
242 #endif
243 
244 #endif