Merge branches 'acpi-scan', 'acpi-tables', 'acpi-misc' and 'acpi-pm'
[sfrench/cifs-2.6.git] / drivers / staging / rtl8712 / rtl8712_cmd.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
5  *
6  * Modifications for inclusion into the Linux staging tree are
7  * Copyright(c) 2010 Larry Finger. All rights reserved.
8  *
9  * Contact information:
10  * WLAN FAE <wlanfae@realtek.com>
11  * Larry Finger <Larry.Finger@lwfinger.net>
12  *
13  ******************************************************************************/
14 #ifndef __RTL8712_CMD_H_
15 #define __RTL8712_CMD_H_
16
17 #define CMD_HDR_SZ      8
18
19 u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
20 void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
21
22 struct cmd_hdr {
23         u32 cmd_dw0;
24         u32 cmd_dw1;
25 };
26
27 enum rtl8712_h2c_cmd {
28         GEN_CMD_CODE(_Read_MACREG),     /*0*/
29         GEN_CMD_CODE(_Write_MACREG),
30         GEN_CMD_CODE(_Read_BBREG),
31         GEN_CMD_CODE(_Write_BBREG),
32         GEN_CMD_CODE(_Read_RFREG),
33         GEN_CMD_CODE(_Write_RFREG), /*5*/
34         GEN_CMD_CODE(_Read_EEPROM),
35         GEN_CMD_CODE(_Write_EEPROM),
36         GEN_CMD_CODE(_Read_EFUSE),
37         GEN_CMD_CODE(_Write_EFUSE),
38
39         GEN_CMD_CODE(_Read_CAM),        /*10*/
40         GEN_CMD_CODE(_Write_CAM),
41         GEN_CMD_CODE(_setBCNITV),
42         GEN_CMD_CODE(_setMBIDCFG),
43         GEN_CMD_CODE(_JoinBss),   /*14*/
44         GEN_CMD_CODE(_DisConnect), /*15*/
45         GEN_CMD_CODE(_CreateBss),
46         GEN_CMD_CODE(_SetOpMode),
47         GEN_CMD_CODE(_SiteSurvey),  /*18*/
48         GEN_CMD_CODE(_SetAuth),
49
50         GEN_CMD_CODE(_SetKey),  /*20*/
51         GEN_CMD_CODE(_SetStaKey),
52         GEN_CMD_CODE(_SetAssocSta),
53         GEN_CMD_CODE(_DelAssocSta),
54         GEN_CMD_CODE(_SetStaPwrState),
55         GEN_CMD_CODE(_SetBasicRate), /*25*/
56         GEN_CMD_CODE(_GetBasicRate),
57         GEN_CMD_CODE(_SetDataRate),
58         GEN_CMD_CODE(_GetDataRate),
59         GEN_CMD_CODE(_SetPhyInfo),
60
61         GEN_CMD_CODE(_GetPhyInfo),      /*30*/
62         GEN_CMD_CODE(_SetPhy),
63         GEN_CMD_CODE(_GetPhy),
64         GEN_CMD_CODE(_readRssi),
65         GEN_CMD_CODE(_readGain),
66         GEN_CMD_CODE(_SetAtim), /*35*/
67         GEN_CMD_CODE(_SetPwrMode),
68         GEN_CMD_CODE(_JoinbssRpt),
69         GEN_CMD_CODE(_SetRaTable),
70         GEN_CMD_CODE(_GetRaTable),
71
72         GEN_CMD_CODE(_GetCCXReport), /*40*/
73         GEN_CMD_CODE(_GetDTMReport),
74         GEN_CMD_CODE(_GetTXRateStatistics),
75         GEN_CMD_CODE(_SetUsbSuspend),
76         GEN_CMD_CODE(_SetH2cLbk),
77         GEN_CMD_CODE(_AddBAReq), /*45*/
78
79         GEN_CMD_CODE(_SetChannel), /*46*/
80 /* MP_OFFLOAD Start (47~54)*/
81         GEN_CMD_CODE(_SetTxPower),
82         GEN_CMD_CODE(_SwitchAntenna),
83         GEN_CMD_CODE(_SetCrystalCap),
84         GEN_CMD_CODE(_SetSingleCarrierTx), /*50*/
85         GEN_CMD_CODE(_SetSingleToneTx),
86         GEN_CMD_CODE(_SetCarrierSuppressionTx),
87         GEN_CMD_CODE(_SetContinuousTx),
88         GEN_CMD_CODE(_SwitchBandwidth), /*54*/
89 /* MP_OFFLOAD End*/
90         GEN_CMD_CODE(_TX_Beacon), /*55*/
91         GEN_CMD_CODE(_SetPowerTracking),
92         GEN_CMD_CODE(_AMSDU_TO_AMPDU), /*57*/
93         GEN_CMD_CODE(_SetMacAddress), /*58*/
94
95         GEN_CMD_CODE(_DisconnectCtrl), /*59*/
96         GEN_CMD_CODE(_SetChannelPlan), /*60*/
97         GEN_CMD_CODE(_DisconnectCtrlEx), /*61*/
98
99         /* To do, modify these h2c cmd, add or delete */
100         GEN_CMD_CODE(_GetH2cLbk),
101
102         /* WPS extra IE */
103         GEN_CMD_CODE(_SetProbeReqExtraIE),
104         GEN_CMD_CODE(_SetAssocReqExtraIE),
105         GEN_CMD_CODE(_SetProbeRspExtraIE),
106         GEN_CMD_CODE(_SetAssocRspExtraIE),
107
108         /* the following is driver will do */
109         GEN_CMD_CODE(_GetCurDataRate),
110
111         GEN_CMD_CODE(_GetTxRetrycnt),  /* to record times that Tx retry to
112                                         * transmit packet after association
113                                         */
114         GEN_CMD_CODE(_GetRxRetrycnt),  /* to record total number of the
115                                         * received frame with ReTry bit set in
116                                         * the WLAN header
117                                         */
118
119         GEN_CMD_CODE(_GetBCNOKcnt),
120         GEN_CMD_CODE(_GetBCNERRcnt),
121         GEN_CMD_CODE(_GetCurTxPwrLevel),
122
123         GEN_CMD_CODE(_SetDIG),
124         GEN_CMD_CODE(_SetRA),
125         GEN_CMD_CODE(_SetPT),
126         GEN_CMD_CODE(_ReadTSSI),
127
128         MAX_H2CCMD
129 };
130
131
132 #define _GetBBReg_CMD_          _Read_BBREG_CMD_
133 #define _SetBBReg_CMD_          _Write_BBREG_CMD_
134 #define _GetRFReg_CMD_          _Read_RFREG_CMD_
135 #define _SetRFReg_CMD_          _Write_RFREG_CMD_
136 #define _DRV_INT_CMD_           (MAX_H2CCMD + 1)
137 #define _SetRFIntFs_CMD_        (MAX_H2CCMD + 2)
138
139 #ifdef _RTL8712_CMD_C_
140 static struct _cmd_callback     cmd_callback[] = {
141         {GEN_CMD_CODE(_Read_MACREG), NULL}, /*0*/
142         {GEN_CMD_CODE(_Write_MACREG), NULL},
143         {GEN_CMD_CODE(_Read_BBREG), NULL},
144         {GEN_CMD_CODE(_Write_BBREG), NULL},
145         {GEN_CMD_CODE(_Read_RFREG), &r8712_getbbrfreg_cmdrsp_callback},
146         {GEN_CMD_CODE(_Write_RFREG), NULL}, /*5*/
147         {GEN_CMD_CODE(_Read_EEPROM), NULL},
148         {GEN_CMD_CODE(_Write_EEPROM), NULL},
149         {GEN_CMD_CODE(_Read_EFUSE), NULL},
150         {GEN_CMD_CODE(_Write_EFUSE), NULL},
151
152         {GEN_CMD_CODE(_Read_CAM),       NULL},  /*10*/
153         {GEN_CMD_CODE(_Write_CAM),       NULL},
154         {GEN_CMD_CODE(_setBCNITV), NULL},
155         {GEN_CMD_CODE(_setMBIDCFG), NULL},
156         {GEN_CMD_CODE(_JoinBss), &r8712_joinbss_cmd_callback},  /*14*/
157         {GEN_CMD_CODE(_DisConnect), &r8712_disassoc_cmd_callback}, /*15*/
158         {GEN_CMD_CODE(_CreateBss), &r8712_createbss_cmd_callback},
159         {GEN_CMD_CODE(_SetOpMode), NULL},
160         {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback}, /*18*/
161         {GEN_CMD_CODE(_SetAuth), NULL},
162
163         {GEN_CMD_CODE(_SetKey), NULL},  /*20*/
164         {GEN_CMD_CODE(_SetStaKey), &r8712_setstaKey_cmdrsp_callback},
165         {GEN_CMD_CODE(_SetAssocSta), &r8712_setassocsta_cmdrsp_callback},
166         {GEN_CMD_CODE(_DelAssocSta), NULL},
167         {GEN_CMD_CODE(_SetStaPwrState), NULL},
168         {GEN_CMD_CODE(_SetBasicRate), NULL}, /*25*/
169         {GEN_CMD_CODE(_GetBasicRate), NULL},
170         {GEN_CMD_CODE(_SetDataRate), NULL},
171         {GEN_CMD_CODE(_GetDataRate), NULL},
172         {GEN_CMD_CODE(_SetPhyInfo), NULL},
173
174         {GEN_CMD_CODE(_GetPhyInfo), NULL}, /*30*/
175         {GEN_CMD_CODE(_SetPhy), NULL},
176         {GEN_CMD_CODE(_GetPhy), NULL},
177         {GEN_CMD_CODE(_readRssi), NULL},
178         {GEN_CMD_CODE(_readGain), NULL},
179         {GEN_CMD_CODE(_SetAtim), NULL}, /*35*/
180         {GEN_CMD_CODE(_SetPwrMode), NULL},
181         {GEN_CMD_CODE(_JoinbssRpt), NULL},
182         {GEN_CMD_CODE(_SetRaTable), NULL},
183         {GEN_CMD_CODE(_GetRaTable), NULL},
184
185         {GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
186         {GEN_CMD_CODE(_GetDTMReport),   NULL},
187         {GEN_CMD_CODE(_GetTXRateStatistics), NULL},
188         {GEN_CMD_CODE(_SetUsbSuspend), NULL},
189         {GEN_CMD_CODE(_SetH2cLbk), NULL},
190         {GEN_CMD_CODE(_AddBAReq), NULL}, /*45*/
191
192         {GEN_CMD_CODE(_SetChannel), NULL},              /*46*/
193 /* MP_OFFLOAD Start (47~54)*/
194         {GEN_CMD_CODE(_SetTxPower), NULL},
195         {GEN_CMD_CODE(_SwitchAntenna), NULL},
196         {GEN_CMD_CODE(_SetCrystalCap), NULL},
197         {GEN_CMD_CODE(_SetSingleCarrierTx), NULL},      /*50*/
198         {GEN_CMD_CODE(_SetSingleToneTx), NULL},
199         {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
200         {GEN_CMD_CODE(_SetContinuousTx), NULL},
201         {GEN_CMD_CODE(_SwitchBandwidth), NULL},         /*54*/
202 /* MP_OFFLOAD End*/
203         {GEN_CMD_CODE(_TX_Beacon), NULL}, /*55*/
204         {GEN_CMD_CODE(_SetPowerTracking), NULL},
205         {GEN_CMD_CODE(_AMSDU_TO_AMPDU), NULL}, /*57*/
206         {GEN_CMD_CODE(_SetMacAddress), NULL}, /*58*/
207
208         {GEN_CMD_CODE(_DisconnectCtrl), NULL}, /*59*/
209         {GEN_CMD_CODE(_SetChannelPlan), NULL}, /*60*/
210         {GEN_CMD_CODE(_DisconnectCtrlEx), NULL}, /*61*/
211
212         /* To do, modify these h2c cmd, add or delete */
213         {GEN_CMD_CODE(_GetH2cLbk), NULL},
214
215         {_SetProbeReqExtraIE_CMD_, NULL},
216         {_SetAssocReqExtraIE_CMD_, NULL},
217         {_SetProbeRspExtraIE_CMD_, NULL},
218         {_SetAssocRspExtraIE_CMD_, NULL},
219         {_GetCurDataRate_CMD_, NULL},
220         {_GetTxRetrycnt_CMD_, NULL},
221         {_GetRxRetrycnt_CMD_, NULL},
222         {_GetBCNOKcnt_CMD_, NULL},
223         {_GetBCNERRcnt_CMD_, NULL},
224         {_GetCurTxPwrLevel_CMD_, NULL},
225         {_SetDIG_CMD_, NULL},
226         {_SetRA_CMD_, NULL},
227         {_SetPT_CMD_, NULL},
228         {GEN_CMD_CODE(_ReadTSSI), &r8712_readtssi_cmdrsp_callback}
229 };
230 #endif
231
232 #endif