linux/drivers/staging/rtl8712/rtl8712_cmd.h
<<
>>
Prefs
   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
  19u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
  20void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
  21
  22struct cmd_hdr {
  23        u32 cmd_dw0;
  24        u32 cmd_dw1;
  25};
  26
  27enum 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#define _GetBBReg_CMD_          _Read_BBREG_CMD_
 132#define _SetBBReg_CMD_          _Write_BBREG_CMD_
 133#define _GetRFReg_CMD_          _Read_RFREG_CMD_
 134#define _SetRFReg_CMD_          _Write_RFREG_CMD_
 135#define _DRV_INT_CMD_           (MAX_H2CCMD + 1)
 136#define _SetRFIntFs_CMD_        (MAX_H2CCMD + 2)
 137
 138#ifdef _RTL8712_CMD_C_
 139static struct _cmd_callback     cmd_callback[] = {
 140        {GEN_CMD_CODE(_Read_MACREG), NULL}, /*0*/
 141        {GEN_CMD_CODE(_Write_MACREG), NULL},
 142        {GEN_CMD_CODE(_Read_BBREG), NULL},
 143        {GEN_CMD_CODE(_Write_BBREG), NULL},
 144        {GEN_CMD_CODE(_Read_RFREG), &r8712_getbbrfreg_cmdrsp_callback},
 145        {GEN_CMD_CODE(_Write_RFREG), NULL}, /*5*/
 146        {GEN_CMD_CODE(_Read_EEPROM), NULL},
 147        {GEN_CMD_CODE(_Write_EEPROM), NULL},
 148        {GEN_CMD_CODE(_Read_EFUSE), NULL},
 149        {GEN_CMD_CODE(_Write_EFUSE), NULL},
 150
 151        {GEN_CMD_CODE(_Read_CAM),       NULL},  /*10*/
 152        {GEN_CMD_CODE(_Write_CAM),       NULL},
 153        {GEN_CMD_CODE(_setBCNITV), NULL},
 154        {GEN_CMD_CODE(_setMBIDCFG), NULL},
 155        {GEN_CMD_CODE(_JoinBss), &r8712_joinbss_cmd_callback},  /*14*/
 156        {GEN_CMD_CODE(_DisConnect), &r8712_disassoc_cmd_callback}, /*15*/
 157        {GEN_CMD_CODE(_CreateBss), &r8712_createbss_cmd_callback},
 158        {GEN_CMD_CODE(_SetOpMode), NULL},
 159        {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback}, /*18*/
 160        {GEN_CMD_CODE(_SetAuth), NULL},
 161
 162        {GEN_CMD_CODE(_SetKey), NULL},  /*20*/
 163        {GEN_CMD_CODE(_SetStaKey), &r8712_setstaKey_cmdrsp_callback},
 164        {GEN_CMD_CODE(_SetAssocSta), &r8712_setassocsta_cmdrsp_callback},
 165        {GEN_CMD_CODE(_DelAssocSta), NULL},
 166        {GEN_CMD_CODE(_SetStaPwrState), NULL},
 167        {GEN_CMD_CODE(_SetBasicRate), NULL}, /*25*/
 168        {GEN_CMD_CODE(_GetBasicRate), NULL},
 169        {GEN_CMD_CODE(_SetDataRate), NULL},
 170        {GEN_CMD_CODE(_GetDataRate), NULL},
 171        {GEN_CMD_CODE(_SetPhyInfo), NULL},
 172
 173        {GEN_CMD_CODE(_GetPhyInfo), NULL}, /*30*/
 174        {GEN_CMD_CODE(_SetPhy), NULL},
 175        {GEN_CMD_CODE(_GetPhy), NULL},
 176        {GEN_CMD_CODE(_readRssi), NULL},
 177        {GEN_CMD_CODE(_readGain), NULL},
 178        {GEN_CMD_CODE(_SetAtim), NULL}, /*35*/
 179        {GEN_CMD_CODE(_SetPwrMode), NULL},
 180        {GEN_CMD_CODE(_JoinbssRpt), NULL},
 181        {GEN_CMD_CODE(_SetRaTable), NULL},
 182        {GEN_CMD_CODE(_GetRaTable), NULL},
 183
 184        {GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
 185        {GEN_CMD_CODE(_GetDTMReport),   NULL},
 186        {GEN_CMD_CODE(_GetTXRateStatistics), NULL},
 187        {GEN_CMD_CODE(_SetUsbSuspend), NULL},
 188        {GEN_CMD_CODE(_SetH2cLbk), NULL},
 189        {GEN_CMD_CODE(_AddBAReq), NULL}, /*45*/
 190
 191        {GEN_CMD_CODE(_SetChannel), NULL},              /*46*/
 192/* MP_OFFLOAD Start (47~54)*/
 193        {GEN_CMD_CODE(_SetTxPower), NULL},
 194        {GEN_CMD_CODE(_SwitchAntenna), NULL},
 195        {GEN_CMD_CODE(_SetCrystalCap), NULL},
 196        {GEN_CMD_CODE(_SetSingleCarrierTx), NULL},      /*50*/
 197        {GEN_CMD_CODE(_SetSingleToneTx), NULL},
 198        {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
 199        {GEN_CMD_CODE(_SetContinuousTx), NULL},
 200        {GEN_CMD_CODE(_SwitchBandwidth), NULL},         /*54*/
 201/* MP_OFFLOAD End*/
 202        {GEN_CMD_CODE(_TX_Beacon), NULL}, /*55*/
 203        {GEN_CMD_CODE(_SetPowerTracking), NULL},
 204        {GEN_CMD_CODE(_AMSDU_TO_AMPDU), NULL}, /*57*/
 205        {GEN_CMD_CODE(_SetMacAddress), NULL}, /*58*/
 206
 207        {GEN_CMD_CODE(_DisconnectCtrl), NULL}, /*59*/
 208        {GEN_CMD_CODE(_SetChannelPlan), NULL}, /*60*/
 209        {GEN_CMD_CODE(_DisconnectCtrlEx), NULL}, /*61*/
 210
 211        /* To do, modify these h2c cmd, add or delete */
 212        {GEN_CMD_CODE(_GetH2cLbk), NULL},
 213
 214        {_SetProbeReqExtraIE_CMD_, NULL},
 215        {_SetAssocReqExtraIE_CMD_, NULL},
 216        {_SetProbeRspExtraIE_CMD_, NULL},
 217        {_SetAssocRspExtraIE_CMD_, NULL},
 218        {_GetCurDataRate_CMD_, NULL},
 219        {_GetTxRetrycnt_CMD_, NULL},
 220        {_GetRxRetrycnt_CMD_, NULL},
 221        {_GetBCNOKcnt_CMD_, NULL},
 222        {_GetBCNERRcnt_CMD_, NULL},
 223        {_GetCurTxPwrLevel_CMD_, NULL},
 224        {_SetDIG_CMD_, NULL},
 225        {_SetRA_CMD_, NULL},
 226        {_SetPT_CMD_, NULL},
 227        {GEN_CMD_CODE(_ReadTSSI), &r8712_readtssi_cmdrsp_callback}
 228};
 229#endif
 230
 231#endif
 232