Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / rtl8712 / rtl8712_cmd.h
diff --git a/kernel/drivers/staging/rtl8712/rtl8712_cmd.h b/kernel/drivers/staging/rtl8712/rtl8712_cmd.h
new file mode 100644 (file)
index 0000000..67e9e91
--- /dev/null
@@ -0,0 +1,244 @@
+/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ * Modifications for inclusion into the Linux staging tree are
+ * Copyright(c) 2010 Larry Finger. All rights reserved.
+ *
+ * Contact information:
+ * WLAN FAE <wlanfae@realtek.com>
+ * Larry Finger <Larry.Finger@lwfinger.net>
+ *
+ ******************************************************************************/
+#ifndef __RTL8712_CMD_H_
+#define __RTL8712_CMD_H_
+
+#define CMD_HDR_SZ      8
+
+u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd);
+void r8712_fw_cmd_data(struct _adapter *pAdapter, u32 *value, u8 flag);
+
+struct cmd_hdr {
+       u32 cmd_dw0;
+       u32 cmd_dw1;
+};
+
+enum rtl8712_h2c_cmd {
+       GEN_CMD_CODE(_Read_MACREG),     /*0*/
+       GEN_CMD_CODE(_Write_MACREG),
+       GEN_CMD_CODE(_Read_BBREG),
+       GEN_CMD_CODE(_Write_BBREG),
+       GEN_CMD_CODE(_Read_RFREG),
+       GEN_CMD_CODE(_Write_RFREG), /*5*/
+       GEN_CMD_CODE(_Read_EEPROM),
+       GEN_CMD_CODE(_Write_EEPROM),
+       GEN_CMD_CODE(_Read_EFUSE),
+       GEN_CMD_CODE(_Write_EFUSE),
+
+       GEN_CMD_CODE(_Read_CAM),        /*10*/
+       GEN_CMD_CODE(_Write_CAM),
+       GEN_CMD_CODE(_setBCNITV),
+       GEN_CMD_CODE(_setMBIDCFG),
+       GEN_CMD_CODE(_JoinBss),   /*14*/
+       GEN_CMD_CODE(_DisConnect), /*15*/
+       GEN_CMD_CODE(_CreateBss),
+       GEN_CMD_CODE(_SetOpMode),
+       GEN_CMD_CODE(_SiteSurvey),  /*18*/
+       GEN_CMD_CODE(_SetAuth),
+
+       GEN_CMD_CODE(_SetKey),  /*20*/
+       GEN_CMD_CODE(_SetStaKey),
+       GEN_CMD_CODE(_SetAssocSta),
+       GEN_CMD_CODE(_DelAssocSta),
+       GEN_CMD_CODE(_SetStaPwrState),
+       GEN_CMD_CODE(_SetBasicRate), /*25*/
+       GEN_CMD_CODE(_GetBasicRate),
+       GEN_CMD_CODE(_SetDataRate),
+       GEN_CMD_CODE(_GetDataRate),
+       GEN_CMD_CODE(_SetPhyInfo),
+
+       GEN_CMD_CODE(_GetPhyInfo),      /*30*/
+       GEN_CMD_CODE(_SetPhy),
+       GEN_CMD_CODE(_GetPhy),
+       GEN_CMD_CODE(_readRssi),
+       GEN_CMD_CODE(_readGain),
+       GEN_CMD_CODE(_SetAtim), /*35*/
+       GEN_CMD_CODE(_SetPwrMode),
+       GEN_CMD_CODE(_JoinbssRpt),
+       GEN_CMD_CODE(_SetRaTable),
+       GEN_CMD_CODE(_GetRaTable),
+
+       GEN_CMD_CODE(_GetCCXReport), /*40*/
+       GEN_CMD_CODE(_GetDTMReport),
+       GEN_CMD_CODE(_GetTXRateStatistics),
+       GEN_CMD_CODE(_SetUsbSuspend),
+       GEN_CMD_CODE(_SetH2cLbk),
+       GEN_CMD_CODE(_AddBAReq), /*45*/
+
+       GEN_CMD_CODE(_SetChannel), /*46*/
+/* MP_OFFLOAD Start (47~54)*/
+       GEN_CMD_CODE(_SetTxPower),
+       GEN_CMD_CODE(_SwitchAntenna),
+       GEN_CMD_CODE(_SetCrystalCap),
+       GEN_CMD_CODE(_SetSingleCarrierTx), /*50*/
+       GEN_CMD_CODE(_SetSingleToneTx),
+       GEN_CMD_CODE(_SetCarrierSuppressionTx),
+       GEN_CMD_CODE(_SetContinuousTx),
+       GEN_CMD_CODE(_SwitchBandwidth), /*54*/
+/* MP_OFFLOAD End*/
+       GEN_CMD_CODE(_TX_Beacon), /*55*/
+       GEN_CMD_CODE(_SetPowerTracking),
+       GEN_CMD_CODE(_AMSDU_TO_AMPDU), /*57*/
+       GEN_CMD_CODE(_SetMacAddress), /*58*/
+
+       GEN_CMD_CODE(_DisconnectCtrl), /*59*/
+       GEN_CMD_CODE(_SetChannelPlan), /*60*/
+       GEN_CMD_CODE(_DisconnectCtrlEx), /*61*/
+
+       /* To do, modify these h2c cmd, add or delete */
+       GEN_CMD_CODE(_GetH2cLbk),
+
+       /* WPS extra IE */
+       GEN_CMD_CODE(_SetProbeReqExtraIE),
+       GEN_CMD_CODE(_SetAssocReqExtraIE),
+       GEN_CMD_CODE(_SetProbeRspExtraIE),
+       GEN_CMD_CODE(_SetAssocRspExtraIE),
+
+       /* the following is driver will do */
+       GEN_CMD_CODE(_GetCurDataRate),
+
+       GEN_CMD_CODE(_GetTxRetrycnt),  /* to record times that Tx retry to
+                                       * transmit packet after association
+                                       */
+       GEN_CMD_CODE(_GetRxRetrycnt),  /* to record total number of the
+                                       * received frame with ReTry bit set in
+                                       * the WLAN header
+                                       */
+
+       GEN_CMD_CODE(_GetBCNOKcnt),
+       GEN_CMD_CODE(_GetBCNERRcnt),
+       GEN_CMD_CODE(_GetCurTxPwrLevel),
+
+       GEN_CMD_CODE(_SetDIG),
+       GEN_CMD_CODE(_SetRA),
+       GEN_CMD_CODE(_SetPT),
+       GEN_CMD_CODE(_ReadTSSI),
+
+       MAX_H2CCMD
+};
+
+
+#define _GetBBReg_CMD_         _Read_BBREG_CMD_
+#define _SetBBReg_CMD_         _Write_BBREG_CMD_
+#define _GetRFReg_CMD_         _Read_RFREG_CMD_
+#define _SetRFReg_CMD_         _Write_RFREG_CMD_
+#define _DRV_INT_CMD_          (MAX_H2CCMD+1)
+#define _SetRFIntFs_CMD_       (MAX_H2CCMD+2)
+
+#ifdef _RTL8712_CMD_C_
+static struct _cmd_callback    cmd_callback[] = {
+       {GEN_CMD_CODE(_Read_MACREG), NULL}, /*0*/
+       {GEN_CMD_CODE(_Write_MACREG), NULL},
+       {GEN_CMD_CODE(_Read_BBREG), &r8712_getbbrfreg_cmdrsp_callback},
+       {GEN_CMD_CODE(_Write_BBREG), NULL},
+       {GEN_CMD_CODE(_Read_RFREG), &r8712_getbbrfreg_cmdrsp_callback},
+       {GEN_CMD_CODE(_Write_RFREG), NULL}, /*5*/
+       {GEN_CMD_CODE(_Read_EEPROM), NULL},
+       {GEN_CMD_CODE(_Write_EEPROM), NULL},
+       {GEN_CMD_CODE(_Read_EFUSE), NULL},
+       {GEN_CMD_CODE(_Write_EFUSE), NULL},
+
+       {GEN_CMD_CODE(_Read_CAM),       NULL},  /*10*/
+       {GEN_CMD_CODE(_Write_CAM),       NULL},
+       {GEN_CMD_CODE(_setBCNITV), NULL},
+       {GEN_CMD_CODE(_setMBIDCFG), NULL},
+       {GEN_CMD_CODE(_JoinBss), &r8712_joinbss_cmd_callback},  /*14*/
+       {GEN_CMD_CODE(_DisConnect), &r8712_disassoc_cmd_callback}, /*15*/
+       {GEN_CMD_CODE(_CreateBss), &r8712_createbss_cmd_callback},
+       {GEN_CMD_CODE(_SetOpMode), NULL},
+       {GEN_CMD_CODE(_SiteSurvey), &r8712_survey_cmd_callback}, /*18*/
+       {GEN_CMD_CODE(_SetAuth), NULL},
+
+       {GEN_CMD_CODE(_SetKey), NULL},  /*20*/
+       {GEN_CMD_CODE(_SetStaKey), &r8712_setstaKey_cmdrsp_callback},
+       {GEN_CMD_CODE(_SetAssocSta), &r8712_setassocsta_cmdrsp_callback},
+       {GEN_CMD_CODE(_DelAssocSta), NULL},
+       {GEN_CMD_CODE(_SetStaPwrState), NULL},
+       {GEN_CMD_CODE(_SetBasicRate), NULL}, /*25*/
+       {GEN_CMD_CODE(_GetBasicRate), NULL},
+       {GEN_CMD_CODE(_SetDataRate), NULL},
+       {GEN_CMD_CODE(_GetDataRate), NULL},
+       {GEN_CMD_CODE(_SetPhyInfo), NULL},
+
+       {GEN_CMD_CODE(_GetPhyInfo), NULL}, /*30*/
+       {GEN_CMD_CODE(_SetPhy), NULL},
+       {GEN_CMD_CODE(_GetPhy), NULL},
+       {GEN_CMD_CODE(_readRssi), NULL},
+       {GEN_CMD_CODE(_readGain), NULL},
+       {GEN_CMD_CODE(_SetAtim), NULL}, /*35*/
+       {GEN_CMD_CODE(_SetPwrMode), NULL},
+       {GEN_CMD_CODE(_JoinbssRpt), NULL},
+       {GEN_CMD_CODE(_SetRaTable), NULL},
+       {GEN_CMD_CODE(_GetRaTable), NULL},
+
+       {GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
+       {GEN_CMD_CODE(_GetDTMReport),   NULL},
+       {GEN_CMD_CODE(_GetTXRateStatistics), NULL},
+       {GEN_CMD_CODE(_SetUsbSuspend), NULL},
+       {GEN_CMD_CODE(_SetH2cLbk), NULL},
+       {GEN_CMD_CODE(_AddBAReq), NULL}, /*45*/
+
+       {GEN_CMD_CODE(_SetChannel), NULL},              /*46*/
+/* MP_OFFLOAD Start (47~54)*/
+       {GEN_CMD_CODE(_SetTxPower), NULL},
+       {GEN_CMD_CODE(_SwitchAntenna), NULL},
+       {GEN_CMD_CODE(_SetCrystalCap), NULL},
+       {GEN_CMD_CODE(_SetSingleCarrierTx), NULL},      /*50*/
+       {GEN_CMD_CODE(_SetSingleToneTx), NULL},
+       {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
+       {GEN_CMD_CODE(_SetContinuousTx), NULL},
+       {GEN_CMD_CODE(_SwitchBandwidth), NULL},         /*54*/
+/* MP_OFFLOAD End*/
+       {GEN_CMD_CODE(_TX_Beacon), NULL}, /*55*/
+       {GEN_CMD_CODE(_SetPowerTracking), NULL},
+       {GEN_CMD_CODE(_AMSDU_TO_AMPDU), NULL}, /*57*/
+       {GEN_CMD_CODE(_SetMacAddress), NULL}, /*58*/
+
+       {GEN_CMD_CODE(_DisconnectCtrl), NULL}, /*59*/
+       {GEN_CMD_CODE(_SetChannelPlan), NULL}, /*60*/
+       {GEN_CMD_CODE(_DisconnectCtrlEx), NULL}, /*61*/
+
+       /* To do, modify these h2c cmd, add or delete */
+       {GEN_CMD_CODE(_GetH2cLbk), NULL},
+
+       {_SetProbeReqExtraIE_CMD_, NULL},
+       {_SetAssocReqExtraIE_CMD_, NULL},
+       {_SetProbeRspExtraIE_CMD_, NULL},
+       {_SetAssocRspExtraIE_CMD_, NULL},
+       {_GetCurDataRate_CMD_, NULL},
+       {_GetTxRetrycnt_CMD_, NULL},
+       {_GetRxRetrycnt_CMD_, NULL},
+       {_GetBCNOKcnt_CMD_, NULL},
+       {_GetBCNERRcnt_CMD_, NULL},
+       {_GetCurTxPwrLevel_CMD_, NULL},
+       {_SetDIG_CMD_, NULL},
+       {_SetRA_CMD_, NULL},
+       {_SetPT_CMD_, NULL},
+       {GEN_CMD_CODE(_ReadTSSI), &r8712_readtssi_cmdrsp_callback}
+};
+#endif
+
+#endif