0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef __RTL8712_CMD_H_
0015 #define __RTL8712_CMD_H_
0016
0017 #define CMD_HDR_SZ 8
0018
0019 u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
0020 void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
0021
0022 struct cmd_hdr {
0023 u32 cmd_dw0;
0024 u32 cmd_dw1;
0025 };
0026
0027 enum rtl8712_h2c_cmd {
0028 GEN_CMD_CODE(_Read_MACREG),
0029 GEN_CMD_CODE(_Write_MACREG),
0030 GEN_CMD_CODE(_Read_BBREG),
0031 GEN_CMD_CODE(_Write_BBREG),
0032 GEN_CMD_CODE(_Read_RFREG),
0033 GEN_CMD_CODE(_Write_RFREG),
0034 GEN_CMD_CODE(_Read_EEPROM),
0035 GEN_CMD_CODE(_Write_EEPROM),
0036 GEN_CMD_CODE(_Read_EFUSE),
0037 GEN_CMD_CODE(_Write_EFUSE),
0038
0039 GEN_CMD_CODE(_Read_CAM),
0040 GEN_CMD_CODE(_Write_CAM),
0041 GEN_CMD_CODE(_setBCNITV),
0042 GEN_CMD_CODE(_setMBIDCFG),
0043 GEN_CMD_CODE(_JoinBss),
0044 GEN_CMD_CODE(_DisConnect),
0045 GEN_CMD_CODE(_CreateBss),
0046 GEN_CMD_CODE(_SetOpMode),
0047 GEN_CMD_CODE(_SiteSurvey),
0048 GEN_CMD_CODE(_SetAuth),
0049
0050 GEN_CMD_CODE(_SetKey),
0051 GEN_CMD_CODE(_SetStaKey),
0052 GEN_CMD_CODE(_SetAssocSta),
0053 GEN_CMD_CODE(_DelAssocSta),
0054 GEN_CMD_CODE(_SetStaPwrState),
0055 GEN_CMD_CODE(_SetBasicRate),
0056 GEN_CMD_CODE(_GetBasicRate),
0057 GEN_CMD_CODE(_SetDataRate),
0058 GEN_CMD_CODE(_GetDataRate),
0059 GEN_CMD_CODE(_SetPhyInfo),
0060
0061 GEN_CMD_CODE(_GetPhyInfo),
0062 GEN_CMD_CODE(_SetPhy),
0063 GEN_CMD_CODE(_GetPhy),
0064 GEN_CMD_CODE(_readRssi),
0065 GEN_CMD_CODE(_readGain),
0066 GEN_CMD_CODE(_SetAtim),
0067 GEN_CMD_CODE(_SetPwrMode),
0068 GEN_CMD_CODE(_JoinbssRpt),
0069 GEN_CMD_CODE(_SetRaTable),
0070 GEN_CMD_CODE(_GetRaTable),
0071
0072 GEN_CMD_CODE(_GetCCXReport),
0073 GEN_CMD_CODE(_GetDTMReport),
0074 GEN_CMD_CODE(_GetTXRateStatistics),
0075 GEN_CMD_CODE(_SetUsbSuspend),
0076 GEN_CMD_CODE(_SetH2cLbk),
0077 GEN_CMD_CODE(_AddBAReq),
0078
0079 GEN_CMD_CODE(_SetChannel),
0080
0081 GEN_CMD_CODE(_SetTxPower),
0082 GEN_CMD_CODE(_SwitchAntenna),
0083 GEN_CMD_CODE(_SetCrystalCap),
0084 GEN_CMD_CODE(_SetSingleCarrierTx),
0085 GEN_CMD_CODE(_SetSingleToneTx),
0086 GEN_CMD_CODE(_SetCarrierSuppressionTx),
0087 GEN_CMD_CODE(_SetContinuousTx),
0088 GEN_CMD_CODE(_SwitchBandwidth),
0089
0090 GEN_CMD_CODE(_TX_Beacon),
0091 GEN_CMD_CODE(_SetPowerTracking),
0092 GEN_CMD_CODE(_AMSDU_TO_AMPDU),
0093 GEN_CMD_CODE(_SetMacAddress),
0094
0095 GEN_CMD_CODE(_DisconnectCtrl),
0096 GEN_CMD_CODE(_SetChannelPlan),
0097 GEN_CMD_CODE(_DisconnectCtrlEx),
0098
0099
0100 GEN_CMD_CODE(_GetH2cLbk),
0101
0102
0103 GEN_CMD_CODE(_SetProbeReqExtraIE),
0104 GEN_CMD_CODE(_SetAssocReqExtraIE),
0105 GEN_CMD_CODE(_SetProbeRspExtraIE),
0106 GEN_CMD_CODE(_SetAssocRspExtraIE),
0107
0108
0109 GEN_CMD_CODE(_GetCurDataRate),
0110
0111 GEN_CMD_CODE(_GetTxRetrycnt),
0112
0113
0114 GEN_CMD_CODE(_GetRxRetrycnt),
0115
0116
0117
0118
0119 GEN_CMD_CODE(_GetBCNOKcnt),
0120 GEN_CMD_CODE(_GetBCNERRcnt),
0121 GEN_CMD_CODE(_GetCurTxPwrLevel),
0122
0123 GEN_CMD_CODE(_SetDIG),
0124 GEN_CMD_CODE(_SetRA),
0125 GEN_CMD_CODE(_SetPT),
0126 GEN_CMD_CODE(_ReadTSSI),
0127
0128 MAX_H2CCMD
0129 };
0130
0131 #define _GetBBReg_CMD_ _Read_BBREG_CMD_
0132 #define _SetBBReg_CMD_ _Write_BBREG_CMD_
0133 #define _GetRFReg_CMD_ _Read_RFREG_CMD_
0134 #define _SetRFReg_CMD_ _Write_RFREG_CMD_
0135 #define _DRV_INT_CMD_ (MAX_H2CCMD + 1)
0136 #define _SetRFIntFs_CMD_ (MAX_H2CCMD + 2)
0137
0138 #ifdef _RTL8712_CMD_C_
0139 static struct _cmd_callback cmd_callback[] = {
0140 {GEN_CMD_CODE(_Read_MACREG), NULL},
0141 {GEN_CMD_CODE(_Write_MACREG), NULL},
0142 {GEN_CMD_CODE(_Read_BBREG), NULL},
0143 {GEN_CMD_CODE(_Write_BBREG), NULL},
0144 {GEN_CMD_CODE(_Read_RFREG), &r8712_getbbrfreg_cmdrsp_callback},
0145 {GEN_CMD_CODE(_Write_RFREG), NULL},
0146 {GEN_CMD_CODE(_Read_EEPROM), NULL},
0147 {GEN_CMD_CODE(_Write_EEPROM), NULL},
0148 {GEN_CMD_CODE(_Read_EFUSE), NULL},
0149 {GEN_CMD_CODE(_Write_EFUSE), NULL},
0150
0151 {GEN_CMD_CODE(_Read_CAM), NULL},
0152 {GEN_CMD_CODE(_Write_CAM), NULL},
0153 {GEN_CMD_CODE(_setBCNITV), NULL},
0154 {GEN_CMD_CODE(_setMBIDCFG), NULL},
0155 {GEN_CMD_CODE(_JoinBss), &r8712_joinbss_cmd_callback},
0156 {GEN_CMD_CODE(_DisConnect), &r8712_disassoc_cmd_callback},
0157 {GEN_CMD_CODE(_CreateBss), &r8712_createbss_cmd_callback},
0158 {GEN_CMD_CODE(_SetOpMode), NULL},
0159 {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback},
0160 {GEN_CMD_CODE(_SetAuth), NULL},
0161
0162 {GEN_CMD_CODE(_SetKey), NULL},
0163 {GEN_CMD_CODE(_SetStaKey), &r8712_setstaKey_cmdrsp_callback},
0164 {GEN_CMD_CODE(_SetAssocSta), &r8712_setassocsta_cmdrsp_callback},
0165 {GEN_CMD_CODE(_DelAssocSta), NULL},
0166 {GEN_CMD_CODE(_SetStaPwrState), NULL},
0167 {GEN_CMD_CODE(_SetBasicRate), NULL},
0168 {GEN_CMD_CODE(_GetBasicRate), NULL},
0169 {GEN_CMD_CODE(_SetDataRate), NULL},
0170 {GEN_CMD_CODE(_GetDataRate), NULL},
0171 {GEN_CMD_CODE(_SetPhyInfo), NULL},
0172
0173 {GEN_CMD_CODE(_GetPhyInfo), NULL},
0174 {GEN_CMD_CODE(_SetPhy), NULL},
0175 {GEN_CMD_CODE(_GetPhy), NULL},
0176 {GEN_CMD_CODE(_readRssi), NULL},
0177 {GEN_CMD_CODE(_readGain), NULL},
0178 {GEN_CMD_CODE(_SetAtim), NULL},
0179 {GEN_CMD_CODE(_SetPwrMode), NULL},
0180 {GEN_CMD_CODE(_JoinbssRpt), NULL},
0181 {GEN_CMD_CODE(_SetRaTable), NULL},
0182 {GEN_CMD_CODE(_GetRaTable), NULL},
0183
0184 {GEN_CMD_CODE(_GetCCXReport), NULL},
0185 {GEN_CMD_CODE(_GetDTMReport), NULL},
0186 {GEN_CMD_CODE(_GetTXRateStatistics), NULL},
0187 {GEN_CMD_CODE(_SetUsbSuspend), NULL},
0188 {GEN_CMD_CODE(_SetH2cLbk), NULL},
0189 {GEN_CMD_CODE(_AddBAReq), NULL},
0190
0191 {GEN_CMD_CODE(_SetChannel), NULL},
0192
0193 {GEN_CMD_CODE(_SetTxPower), NULL},
0194 {GEN_CMD_CODE(_SwitchAntenna), NULL},
0195 {GEN_CMD_CODE(_SetCrystalCap), NULL},
0196 {GEN_CMD_CODE(_SetSingleCarrierTx), NULL},
0197 {GEN_CMD_CODE(_SetSingleToneTx), NULL},
0198 {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
0199 {GEN_CMD_CODE(_SetContinuousTx), NULL},
0200 {GEN_CMD_CODE(_SwitchBandwidth), NULL},
0201
0202 {GEN_CMD_CODE(_TX_Beacon), NULL},
0203 {GEN_CMD_CODE(_SetPowerTracking), NULL},
0204 {GEN_CMD_CODE(_AMSDU_TO_AMPDU), NULL},
0205 {GEN_CMD_CODE(_SetMacAddress), NULL},
0206
0207 {GEN_CMD_CODE(_DisconnectCtrl), NULL},
0208 {GEN_CMD_CODE(_SetChannelPlan), NULL},
0209 {GEN_CMD_CODE(_DisconnectCtrlEx), NULL},
0210
0211
0212 {GEN_CMD_CODE(_GetH2cLbk), NULL},
0213
0214 {_SetProbeReqExtraIE_CMD_, NULL},
0215 {_SetAssocReqExtraIE_CMD_, NULL},
0216 {_SetProbeRspExtraIE_CMD_, NULL},
0217 {_SetAssocRspExtraIE_CMD_, NULL},
0218 {_GetCurDataRate_CMD_, NULL},
0219 {_GetTxRetrycnt_CMD_, NULL},
0220 {_GetRxRetrycnt_CMD_, NULL},
0221 {_GetBCNOKcnt_CMD_, NULL},
0222 {_GetBCNERRcnt_CMD_, NULL},
0223 {_GetCurTxPwrLevel_CMD_, NULL},
0224 {_SetDIG_CMD_, NULL},
0225 {_SetRA_CMD_, NULL},
0226 {_SetPT_CMD_, NULL},
0227 {GEN_CMD_CODE(_ReadTSSI), &r8712_readtssi_cmdrsp_callback}
0228 };
0229 #endif
0230
0231 #endif