linux/drivers/staging/rtl8712/rtl8712_cmd.h
<<
>>
Prefs
   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 ******************************************************************************/
  26#ifndef __RTL8712_CMD_H_
  27#define __RTL8712_CMD_H_
  28
  29#define CMD_HDR_SZ      8
  30
  31u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
  32void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
  33
  34struct cmd_hdr {
  35        u32 cmd_dw0;
  36        u32 cmd_dw1;
  37};
  38
  39enum 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*/
 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                                        * transmit 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
 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_
 152static 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*/
 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}
 241};
 242#endif
 243
 244#endif
 245