net: wireless: rockchip_wlan: add rtl8188fu support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8188fu / include / Hal8188EPhyCfg.h
diff --git a/drivers/net/wireless/rockchip_wlan/rtl8188fu/include/Hal8188EPhyCfg.h b/drivers/net/wireless/rockchip_wlan/rtl8188fu/include/Hal8188EPhyCfg.h
new file mode 100644 (file)
index 0000000..404e1fa
--- /dev/null
@@ -0,0 +1,278 @@
+/******************************************************************************\r
+ *\r
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify it\r
+ * under the terms of version 2 of the GNU General Public License as\r
+ * published by the Free Software Foundation.\r
+ *\r
+ * This program is distributed in the hope that it will be useful, but WITHOUT\r
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
+ * more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License along with\r
+ * this program; if not, write to the Free Software Foundation, Inc.,\r
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
+ *\r
+ *\r
+ ******************************************************************************/\r
+#ifndef __INC_HAL8188EPHYCFG_H__\r
+#define __INC_HAL8188EPHYCFG_H__\r
+\r
+\r
+/*--------------------------Define Parameters-------------------------------*/\r
+#define LOOP_LIMIT                             5\r
+#define MAX_STALL_TIME                 50              //us\r
+#define AntennaDiversityValue          0x80    //(Adapter->bSoftwareAntennaDiversity ? 0x00:0x80)\r
+#define MAX_TXPWR_IDX_NMODE_92S        63\r
+#define Reset_Cnt_Limit                        3\r
+\r
+#ifdef CONFIG_PCI_HCI\r
+#define MAX_AGGR_NUM   0x0B\r
+#else\r
+#define MAX_AGGR_NUM   0x07\r
+#endif // CONFIG_PCI_HCI\r
+\r
+\r
+/*--------------------------Define Parameters-------------------------------*/\r
+\r
+\r
+/*------------------------------Define structure----------------------------*/ \r
+\r
+#define        MAX_TX_COUNT_8188E                      1\r
+\r
+/* BB/RF related */\r
+\r
+\r
+/*------------------------------Define structure----------------------------*/ \r
+\r
+\r
+/*------------------------Export global variable----------------------------*/\r
+/*------------------------Export global variable----------------------------*/\r
+\r
+\r
+/*------------------------Export Marco Definition---------------------------*/\r
+/*------------------------Export Marco Definition---------------------------*/\r
+\r
+\r
+/*--------------------------Exported Function prototype---------------------*/\r
+//\r
+// BB and RF register read/write\r
+//\r
+u32    PHY_QueryBBReg8188E(    IN      PADAPTER        Adapter,\r
+                                                               IN      u32             RegAddr,\r
+                                                               IN      u32             BitMask );\r
+void   PHY_SetBBReg8188E(      IN      PADAPTER        Adapter,\r
+                                                               IN      u32             RegAddr,\r
+                                                               IN      u32             BitMask,\r
+                                                               IN      u32             Data    );\r
+u32    PHY_QueryRFReg8188E(    IN      PADAPTER        Adapter,\r
+                                                               IN      u8                              eRFPath,\r
+                                                               IN      u32                             RegAddr,\r
+                                                               IN      u32                             BitMask );\r
+void   PHY_SetRFReg8188E(      IN      PADAPTER                Adapter,\r
+                                                               IN      u8                              eRFPath,\r
+                                                               IN      u32                             RegAddr,\r
+                                                               IN      u32                             BitMask,\r
+                                                               IN      u32                             Data    );\r
+\r
+//\r
+// Initialization related function\r
+//\r
+/* MAC/BB/RF HAL config */\r
+int    PHY_MACConfig8188E(IN   PADAPTER        Adapter );\r
+int    PHY_BBConfig8188E(IN    PADAPTER        Adapter );\r
+int    PHY_RFConfig8188E(IN    PADAPTER        Adapter );\r
+\r
+/* RF config */\r
+int    rtl8188e_PHY_ConfigRFWithParaFile(IN PADAPTER Adapter, IN u8 * pFileName, u8 eRFPath);\r
+\r
+//\r
+// RF Power setting\r
+//\r
+//extern       BOOLEAN PHY_SetRFPowerState(IN  PADAPTER                        Adapter, \r
+//                                                                     IN      RT_RF_POWER_STATE       eRFPowerState);\r
+\r
+//\r
+// BB TX Power R/W\r
+//\r
+void   PHY_GetTxPowerLevel8188E(       IN      PADAPTER                Adapter,\r
+                                                                                       OUT s32*                powerlevel      );\r
+void   PHY_SetTxPowerLevel8188E(       IN      PADAPTER                Adapter,\r
+                                                                                       IN      u8                      channel );\r
+BOOLEAN        PHY_UpdateTxPowerDbm8188E(      IN      PADAPTER        Adapter,\r
+                                                                                       IN      int             powerInDbm      );\r
+\r
+VOID\r
+PHY_SetTxPowerIndex_8188E(\r
+       IN      PADAPTER                        Adapter,\r
+       IN      u32                                     PowerIndex,\r
+       IN      u8                                      RFPath, \r
+       IN      u8                                      Rate\r
+       );\r
+\r
+u8\r
+PHY_GetTxPowerIndex_8188E(\r
+       IN      PADAPTER                pAdapter,\r
+       IN      u8                              RFPath,\r
+       IN      u8                              Rate,   \r
+       IN      CHANNEL_WIDTH   BandWidth,      \r
+       IN      u8                              Channel\r
+       );\r
+\r
+//\r
+// Switch bandwidth for 8192S\r
+//\r
+//extern       void    PHY_SetBWModeCallback8192C(     IN      PRT_TIMER               pTimer  );\r
+void   PHY_SetBWMode8188E(     IN      PADAPTER                        pAdapter,\r
+                                                                       IN      CHANNEL_WIDTH   ChnlWidth,\r
+                                                                       IN      unsigned char   Offset  );\r
+\r
+//\r
+// Set FW CMD IO for 8192S.\r
+//\r
+//extern       BOOLEAN HalSetIO8192C(  IN      PADAPTER                        Adapter,\r
+//                                                                     IN      IO_TYPE                         IOType);\r
+\r
+//\r
+// Set A2 entry to fw for 8192S\r
+//\r
+extern void FillA2Entry8192C(          IN      PADAPTER                        Adapter,\r
+                                                                               IN      u8                              index,\r
+                                                                               IN      u8*                             val);\r
+\r
+\r
+//\r
+// channel switch related funciton\r
+//\r
+//extern       void    PHY_SwChnlCallback8192C(        IN      PRT_TIMER               pTimer  );\r
+void   PHY_SwChnl8188E(        IN      PADAPTER                pAdapter,\r
+                                                                       IN      u8                      channel );\r
+\r
+VOID\r
+PHY_SetSwChnlBWMode8188E(\r
+       IN      PADAPTER                        Adapter,\r
+       IN      u8                                      channel,\r
+       IN      CHANNEL_WIDTH   Bandwidth,\r
+       IN      u8                                      Offset40,\r
+       IN      u8                                      Offset80\r
+);\r
+\r
+VOID\r
+PHY_SetRFEReg_8188E(\r
+       IN PADAPTER             Adapter\r
+);\r
+//\r
+// BB/MAC/RF other monitor API\r
+//\r
+void   PHY_SetMonitorMode8192C(IN      PADAPTER        pAdapter,\r
+                                                                               IN      BOOLEAN         bEnableMonitorMode      );\r
+\r
+BOOLEAN        PHY_CheckIsLegalRfPath8192C(IN  PADAPTER        pAdapter,\r
+                                                                                       IN      u32             eRFPath );\r
+\r
+VOID PHY_SetRFPathSwitch_8188E(IN      PADAPTER        pAdapter, IN    BOOLEAN         bMain);\r
+\r
+extern VOID\r
+PHY_SwitchEphyParameter(\r
+       IN      PADAPTER                        Adapter\r
+       );\r
+\r
+extern VOID\r
+PHY_EnableHostClkReq(\r
+       IN      PADAPTER                        Adapter\r
+       );\r
+\r
+BOOLEAN\r
+SetAntennaConfig92C(\r
+       IN      PADAPTER        Adapter,\r
+       IN      u8              DefaultAnt      \r
+       );\r
+\r
+VOID\r
+storePwrIndexDiffRateOffset(\r
+       IN      PADAPTER        Adapter,\r
+       IN      u32             RegAddr,\r
+       IN      u32             BitMask,\r
+       IN      u32             Data\r
+       );\r
+/*--------------------------Exported Function prototype---------------------*/\r
+\r
+//\r
+// Initialization related function\r
+//\r
+/* MAC/BB/RF HAL config */\r
+//extern s32 PHY_MACConfig8723(PADAPTER padapter);\r
+//s32 PHY_BBConfig8723(PADAPTER padapter);\r
+//s32 PHY_RFConfig8723(PADAPTER padapter);\r
+\r
+\r
+\r
+//==================================================================\r
+// Note: If SIC_ENABLE under PCIE, because of the slow operation\r
+//     you should \r
+//     2) "#define RTL8723_FPGA_VERIFICATION   1"                              in Precomp.h.WlanE.Windows\r
+//     3) "#define RTL8190_Download_Firmware_From_Header       0"      in Precomp.h.WlanE.Windows if needed.\r
+//\r
+#if (RTL8188E_SUPPORT == 1) && (RTL8188E_FPGA_TRUE_PHY_VERIFICATION == 1)\r
+#define        SIC_ENABLE                              1\r
+#define        SIC_HW_SUPPORT          1\r
+#else\r
+#define        SIC_ENABLE                              0\r
+#define        SIC_HW_SUPPORT          0\r
+#endif\r
+//==================================================================\r
+\r
+\r
+#define        SIC_MAX_POLL_CNT                5\r
+\r
+#if(SIC_HW_SUPPORT == 1)\r
+#define        SIC_CMD_READY                   0\r
+#define        SIC_CMD_PREWRITE                0x1\r
+#if(RTL8188E_SUPPORT == 1)\r
+#define        SIC_CMD_WRITE                   0x40\r
+#define        SIC_CMD_PREREAD         0x2\r
+#define        SIC_CMD_READ                    0x80\r
+#define        SIC_CMD_INIT                    0xf0\r
+#define        SIC_INIT_VAL                    0xff\r
+\r
+#define        SIC_INIT_REG                    0x1b7\r
+#define        SIC_CMD_REG                     0x1EB           // 1byte\r
+#define        SIC_ADDR_REG                    0x1E8           // 1b4~1b5, 2 bytes\r
+#define        SIC_DATA_REG                    0x1EC           // 1b0~1b3\r
+#else\r
+#define        SIC_CMD_WRITE                   0x11\r
+#define        SIC_CMD_PREREAD         0x2\r
+#define        SIC_CMD_READ                    0x12\r
+#define        SIC_CMD_INIT                    0x1f\r
+#define        SIC_INIT_VAL                    0xff\r
+\r
+#define        SIC_INIT_REG                    0x1b7\r
+#define        SIC_CMD_REG                     0x1b6           // 1byte\r
+#define        SIC_ADDR_REG                    0x1b4           // 1b4~1b5, 2 bytes\r
+#define        SIC_DATA_REG                    0x1b0           // 1b0~1b3\r
+#endif\r
+#else\r
+#define        SIC_CMD_READY                   0\r
+#define        SIC_CMD_WRITE                   1\r
+#define        SIC_CMD_READ                    2\r
+\r
+#if(RTL8188E_SUPPORT == 1)\r
+#define        SIC_CMD_REG                     0x1EB           // 1byte\r
+#define        SIC_ADDR_REG                    0x1E8           // 1b9~1ba, 2 bytes\r
+#define        SIC_DATA_REG                    0x1EC           // 1bc~1bf\r
+#else\r
+#define        SIC_CMD_REG                     0x1b8           // 1byte\r
+#define        SIC_ADDR_REG                    0x1b9           // 1b9~1ba, 2 bytes\r
+#define        SIC_DATA_REG                    0x1bc           // 1bc~1bf\r
+#endif\r
+#endif\r
+\r
+#if(SIC_ENABLE == 1)\r
+VOID SIC_Init(IN PADAPTER Adapter);\r
+#endif\r
+\r
+\r
+#endif // __INC_HAL8192CPHYCFG_H\r
+\r