Ali Bahar | cf3e688 | 2011-09-04 03:14:04 +0800 | [diff] [blame] | 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 | ******************************************************************************/ |
Larry Finger | 2865d42 | 2010-08-20 10:15:30 -0500 | [diff] [blame] | 26 | #ifndef __RTL8712_CMD_H_ |
| 27 | #define __RTL8712_CMD_H_ |
| 28 | |
Ali Bahar | f15abb8 | 2011-09-04 03:14:19 +0800 | [diff] [blame] | 29 | #define CMD_HDR_SZ 8 |
| 30 | |
Larry Finger | 2865d42 | 2010-08-20 10:15:30 -0500 | [diff] [blame] | 31 | u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd); |
| 32 | void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag); |
| 33 | |
Ali Bahar | f15abb8 | 2011-09-04 03:14:19 +0800 | [diff] [blame] | 34 | struct cmd_hdr { |
| 35 | u32 cmd_dw0; |
| 36 | u32 cmd_dw1; |
| 37 | }; |
Larry Finger | 2865d42 | 2010-08-20 10:15:30 -0500 | [diff] [blame] | 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*/ |
Ali Bahar | f15abb8 | 2011-09-04 03:14:19 +0800 | [diff] [blame] | 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 | * transmmit 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 | |
Larry Finger | 2865d42 | 2010-08-20 10:15:30 -0500 | [diff] [blame] | 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*/ |
Ali Bahar | f15abb8 | 2011-09-04 03:14:19 +0800 | [diff] [blame] | 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} |
Larry Finger | 2865d42 | 2010-08-20 10:15:30 -0500 | [diff] [blame] | 241 | }; |
| 242 | #endif |
| 243 | |
| 244 | #endif |