Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /******************************************************************************
0003  *
0004  * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
0005  *
0006  * Modifications for inclusion into the Linux staging tree are
0007  * Copyright(c) 2010 Larry Finger. All rights reserved.
0008  *
0009  * Contact information:
0010  * WLAN FAE <wlanfae@realtek.com>
0011  * Larry Finger <Larry.Finger@lwfinger.net>
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), /*0*/
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), /*5*/
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),    /*10*/
0040     GEN_CMD_CODE(_Write_CAM),
0041     GEN_CMD_CODE(_setBCNITV),
0042     GEN_CMD_CODE(_setMBIDCFG),
0043     GEN_CMD_CODE(_JoinBss),   /*14*/
0044     GEN_CMD_CODE(_DisConnect), /*15*/
0045     GEN_CMD_CODE(_CreateBss),
0046     GEN_CMD_CODE(_SetOpMode),
0047     GEN_CMD_CODE(_SiteSurvey),  /*18*/
0048     GEN_CMD_CODE(_SetAuth),
0049 
0050     GEN_CMD_CODE(_SetKey),  /*20*/
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), /*25*/
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),  /*30*/
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), /*35*/
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), /*40*/
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), /*45*/
0078 
0079     GEN_CMD_CODE(_SetChannel), /*46*/
0080 /* MP_OFFLOAD Start (47~54)*/
0081     GEN_CMD_CODE(_SetTxPower),
0082     GEN_CMD_CODE(_SwitchAntenna),
0083     GEN_CMD_CODE(_SetCrystalCap),
0084     GEN_CMD_CODE(_SetSingleCarrierTx), /*50*/
0085     GEN_CMD_CODE(_SetSingleToneTx),
0086     GEN_CMD_CODE(_SetCarrierSuppressionTx),
0087     GEN_CMD_CODE(_SetContinuousTx),
0088     GEN_CMD_CODE(_SwitchBandwidth), /*54*/
0089 /* MP_OFFLOAD End*/
0090     GEN_CMD_CODE(_TX_Beacon), /*55*/
0091     GEN_CMD_CODE(_SetPowerTracking),
0092     GEN_CMD_CODE(_AMSDU_TO_AMPDU), /*57*/
0093     GEN_CMD_CODE(_SetMacAddress), /*58*/
0094 
0095     GEN_CMD_CODE(_DisconnectCtrl), /*59*/
0096     GEN_CMD_CODE(_SetChannelPlan), /*60*/
0097     GEN_CMD_CODE(_DisconnectCtrlEx), /*61*/
0098 
0099     /* To do, modify these h2c cmd, add or delete */
0100     GEN_CMD_CODE(_GetH2cLbk),
0101 
0102     /* WPS extra IE */
0103     GEN_CMD_CODE(_SetProbeReqExtraIE),
0104     GEN_CMD_CODE(_SetAssocReqExtraIE),
0105     GEN_CMD_CODE(_SetProbeRspExtraIE),
0106     GEN_CMD_CODE(_SetAssocRspExtraIE),
0107 
0108     /* the following is driver will do */
0109     GEN_CMD_CODE(_GetCurDataRate),
0110 
0111     GEN_CMD_CODE(_GetTxRetrycnt),  /* to record times that Tx retry to
0112                     * transmit packet after association
0113                     */
0114     GEN_CMD_CODE(_GetRxRetrycnt),  /* to record total number of the
0115                     * received frame with ReTry bit set in
0116                     * the WLAN header
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}, /*0*/
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}, /*5*/
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},  /*10*/
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},  /*14*/
0156     {GEN_CMD_CODE(_DisConnect), &r8712_disassoc_cmd_callback}, /*15*/
0157     {GEN_CMD_CODE(_CreateBss), &r8712_createbss_cmd_callback},
0158     {GEN_CMD_CODE(_SetOpMode), NULL},
0159     {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback}, /*18*/
0160     {GEN_CMD_CODE(_SetAuth), NULL},
0161 
0162     {GEN_CMD_CODE(_SetKey), NULL},  /*20*/
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}, /*25*/
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}, /*30*/
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}, /*35*/
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}, /*40*/
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}, /*45*/
0190 
0191     {GEN_CMD_CODE(_SetChannel), NULL},      /*46*/
0192 /* MP_OFFLOAD Start (47~54)*/
0193     {GEN_CMD_CODE(_SetTxPower), NULL},
0194     {GEN_CMD_CODE(_SwitchAntenna), NULL},
0195     {GEN_CMD_CODE(_SetCrystalCap), NULL},
0196     {GEN_CMD_CODE(_SetSingleCarrierTx), NULL},  /*50*/
0197     {GEN_CMD_CODE(_SetSingleToneTx), NULL},
0198     {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
0199     {GEN_CMD_CODE(_SetContinuousTx), NULL},
0200     {GEN_CMD_CODE(_SwitchBandwidth), NULL},     /*54*/
0201 /* MP_OFFLOAD End*/
0202     {GEN_CMD_CODE(_TX_Beacon), NULL}, /*55*/
0203     {GEN_CMD_CODE(_SetPowerTracking), NULL},
0204     {GEN_CMD_CODE(_AMSDU_TO_AMPDU), NULL}, /*57*/
0205     {GEN_CMD_CODE(_SetMacAddress), NULL}, /*58*/
0206 
0207     {GEN_CMD_CODE(_DisconnectCtrl), NULL}, /*59*/
0208     {GEN_CMD_CODE(_SetChannelPlan), NULL}, /*60*/
0209     {GEN_CMD_CODE(_DisconnectCtrlEx), NULL}, /*61*/
0210 
0211     /* To do, modify these h2c cmd, add or delete */
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