Commit | Line | Data |
---|---|---|
cf3e6881 AB |
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 <wlanfae@realtek.com> | |
23 | * Larry Finger <Larry.Finger@lwfinger.net> | |
24 | * | |
25 | ******************************************************************************/ | |
2865d42c LF |
26 | #ifndef __RTL8712_CMD_H_ |
27 | #define __RTL8712_CMD_H_ | |
28 | ||
f15abb8b AB |
29 | #define CMD_HDR_SZ 8 |
30 | ||
2865d42c LF |
31 | u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd); |
32 | void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag); | |
33 | ||
f15abb8b AB |
34 | struct cmd_hdr { |
35 | u32 cmd_dw0; | |
36 | u32 cmd_dw1; | |
37 | }; | |
2865d42c LF |
38 | |
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), | |
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*/ | |
f15abb8b AB |
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 */ | |
0636b460 | 112 | GEN_CMD_CODE(_GetH2cLbk), |
f15abb8b AB |
113 | |
114 | /* WPS extra IE */ | |
0636b460 MP |
115 | GEN_CMD_CODE(_SetProbeReqExtraIE), |
116 | GEN_CMD_CODE(_SetAssocReqExtraIE), | |
117 | GEN_CMD_CODE(_SetProbeRspExtraIE), | |
118 | GEN_CMD_CODE(_SetAssocRspExtraIE), | |
f15abb8b AB |
119 | |
120 | /* the following is driver will do */ | |
0636b460 | 121 | GEN_CMD_CODE(_GetCurDataRate), |
f15abb8b AB |
122 | |
123 | GEN_CMD_CODE(_GetTxRetrycnt), /* to record times that Tx retry to | |
be10ac2b | 124 | * transmit packet after association |
f15abb8b AB |
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 | ||
2865d42c LF |
140 | MAX_H2CCMD |
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}, | |
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}, | |
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*/ | |
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}, | |
174 | ||
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}, | |
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*/ | |
f15abb8b AB |
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}, | |
240 | {GEN_CMD_CODE(_ReadTSSI), &r8712_readtssi_cmdrsp_callback} | |
2865d42c LF |
241 | }; |
242 | #endif | |
243 | ||
244 | #endif |