Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-btrfs-devel.git] / drivers / staging / rtl8712 / rtl8712_cmd.h
blob766a6463266a59f783f9010afe52fb292ac65d2d
1 /******************************************************************************
3 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
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.
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.
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
18 * Modifications for inclusion into the Linux staging tree are
19 * Copyright(c) 2010 Larry Finger. All rights reserved.
21 * Contact information:
22 * WLAN FAE <wlanfae@realtek.com>
23 * Larry Finger <Larry.Finger@lwfinger.net>
25 ******************************************************************************/
26 #ifndef __RTL8712_CMD_H_
27 #define __RTL8712_CMD_H_
29 #define CMD_HDR_SZ 8
31 u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
32 void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
34 struct cmd_hdr {
35 u32 cmd_dw0;
36 u32 cmd_dw1;
39 enum rtl8712_h2c_cmd {
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),
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),
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),
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),
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*/
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*/
107 GEN_CMD_CODE(_DisconnectCtrl), /*59*/
108 GEN_CMD_CODE(_SetChannelPlan), /*60*/
109 GEN_CMD_CODE(_DisconnectCtrlEx), /*61*/
111 /* To do, modify these h2c cmd, add or delete */
112 GEN_CMD_CODE(_GetH2cLbk) ,
114 /* WPS extra IE */
115 GEN_CMD_CODE(_SetProbeReqExtraIE) ,
116 GEN_CMD_CODE(_SetAssocReqExtraIE) ,
117 GEN_CMD_CODE(_SetProbeRspExtraIE) ,
118 GEN_CMD_CODE(_SetAssocRspExtraIE) ,
120 /* the following is driver will do */
121 GEN_CMD_CODE(_GetCurDataRate) ,
123 GEN_CMD_CODE(_GetTxRetrycnt), /* to record times that Tx retry to
124 * transmmit packet after association
126 GEN_CMD_CODE(_GetRxRetrycnt), /* to record total number of the
127 * received frame with ReTry bit set in
128 * the WLAN header
131 GEN_CMD_CODE(_GetBCNOKcnt),
132 GEN_CMD_CODE(_GetBCNERRcnt),
133 GEN_CMD_CODE(_GetCurTxPwrLevel),
135 GEN_CMD_CODE(_SetDIG),
136 GEN_CMD_CODE(_SetRA),
137 GEN_CMD_CODE(_SetPT),
138 GEN_CMD_CODE(_ReadTSSI),
140 MAX_H2CCMD
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)
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},
155 {GEN_CMD_CODE(_Read_BBREG), &r8712_getbbrfreg_cmdrsp_callback},
156 {GEN_CMD_CODE(_Write_BBREG), NULL},
157 {GEN_CMD_CODE(_Read_RFREG), &r8712_getbbrfreg_cmdrsp_callback},
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},
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*/
170 {GEN_CMD_CODE(_CreateBss), &r8712_createbss_cmd_callback},
171 {GEN_CMD_CODE(_SetOpMode), NULL},
172 {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback}, /*18*/
173 {GEN_CMD_CODE(_SetAuth), NULL},
175 {GEN_CMD_CODE(_SetKey), NULL}, /*20*/
176 {GEN_CMD_CODE(_SetStaKey), &r8712_setstaKey_cmdrsp_callback},
177 {GEN_CMD_CODE(_SetAssocSta), &r8712_setassocsta_cmdrsp_callback},
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},
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},
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*/
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*/
220 {GEN_CMD_CODE(_DisconnectCtrl), NULL}, /*59*/
221 {GEN_CMD_CODE(_SetChannelPlan), NULL}, /*60*/
222 {GEN_CMD_CODE(_DisconnectCtrlEx), NULL}, /*61*/
224 /* To do, modify these h2c cmd, add or delete */
225 {GEN_CMD_CODE(_GetH2cLbk), NULL},
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},
240 {GEN_CMD_CODE(_ReadTSSI), &r8712_readtssi_cmdrsp_callback}
242 #endif
244 #endif