1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
4 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
6 * Modifications for inclusion into the Linux staging tree are
7 * Copyright(c) 2010 Larry Finger. All rights reserved.
10 * WLAN FAE <wlanfae@realtek.com>
11 * Larry Finger <Larry.Finger@lwfinger.net>
13 ******************************************************************************/
14 #ifndef __RTL8712_CMD_H_
15 #define __RTL8712_CMD_H_
19 u8
r8712_fw_cmd(struct _adapter
*pAdapter
, u32 cmd
);
20 void r8712_fw_cmd_data(struct _adapter
*pAdapter
, u32
*value
, u8 flag
);
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
),
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
),
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
),
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
),
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*/
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*/
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*/
95 GEN_CMD_CODE(_DisconnectCtrl
), /*59*/
96 GEN_CMD_CODE(_SetChannelPlan
), /*60*/
97 GEN_CMD_CODE(_DisconnectCtrlEx
), /*61*/
99 /* To do, modify these h2c cmd, add or delete */
100 GEN_CMD_CODE(_GetH2cLbk
),
103 GEN_CMD_CODE(_SetProbeReqExtraIE
),
104 GEN_CMD_CODE(_SetAssocReqExtraIE
),
105 GEN_CMD_CODE(_SetProbeRspExtraIE
),
106 GEN_CMD_CODE(_SetAssocRspExtraIE
),
108 /* the following is driver will do */
109 GEN_CMD_CODE(_GetCurDataRate
),
111 GEN_CMD_CODE(_GetTxRetrycnt
), /* to record times that Tx retry to
112 * transmit packet after association
114 GEN_CMD_CODE(_GetRxRetrycnt
), /* to record total number of the
115 * received frame with ReTry bit set in
119 GEN_CMD_CODE(_GetBCNOKcnt
),
120 GEN_CMD_CODE(_GetBCNERRcnt
),
121 GEN_CMD_CODE(_GetCurTxPwrLevel
),
123 GEN_CMD_CODE(_SetDIG
),
124 GEN_CMD_CODE(_SetRA
),
125 GEN_CMD_CODE(_SetPT
),
126 GEN_CMD_CODE(_ReadTSSI
),
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)
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
), &r8712_getbbrfreg_cmdrsp_callback
},
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
},
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
},
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
},
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
},
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*/
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*/
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*/
208 {GEN_CMD_CODE(_DisconnectCtrl
), NULL
}, /*59*/
209 {GEN_CMD_CODE(_SetChannelPlan
), NULL
}, /*60*/
210 {GEN_CMD_CODE(_DisconnectCtrlEx
), NULL
}, /*61*/
212 /* To do, modify these h2c cmd, add or delete */
213 {GEN_CMD_CODE(_GetH2cLbk
), NULL
},
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
},
228 {GEN_CMD_CODE(_ReadTSSI
), &r8712_readtssi_cmdrsp_callback
}