net: wireless: rockchip_wlan: add rtl8723bs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / include / rtl8188e_hal.h
old mode 100755 (executable)
new mode 100644 (file)
index df06a09..3aa5b2e
 #define __RTL8188E_HAL_H__\r
 \r
 //#include "hal_com.h"\r
-#if 1\r
 #include "hal_data.h"\r
-#else\r
-#include "../hal/OUTSRC/odm_precomp.h"\r
-#endif\r
 \r
 //include HAL Related header after HAL Related compiling flags \r
 #include "rtl8188e_spec.h"\r
 \r
 \r
 #if 1 // download firmware related data structure\r
+#define MAX_FW_8188E_SIZE                      0x8000 //32768,32k / 16384,16k\r
+\r
 #define FW_8188E_SIZE                          0x4000 //16384,16k\r
+#define FW_8188E_SIZE_2                        0x8000 //32768,32k \r
+\r
 #define FW_8188E_START_ADDRESS 0x1000\r
 #define FW_8188E_END_ADDRESS           0x1FFF //0x5FFF\r
 \r
 \r
-\r
-\r
 #define IS_FW_HEADER_EXIST_88E(_pFwHdr)        ((le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88E0)\r
 \r
 typedef struct _RT_FIRMWARE_8188E {\r
@@ -94,7 +92,7 @@ typedef struct _RT_FIRMWARE_8188E {
 #ifdef CONFIG_EMBEDDED_FWIMG\r
        u8*                     szFwBuffer;\r
 #else\r
-       u8                      szFwBuffer[FW_8188E_SIZE];\r
+       u8                      szFwBuffer[MAX_FW_8188E_SIZE];\r
 #endif\r
        u32                     ulFwLength;\r
 } RT_FIRMWARE_8188E, *PRT_FIRMWARE_8188E;\r
@@ -140,12 +138,20 @@ typedef struct _RT_8188E_FIRMWARE_HDR
 #define BCN_DMA_ATIME_INT_TIME_8188E           0x02\r
 \r
 \r
-#define MAX_RX_DMA_BUFFER_SIZE_88E           0x2400 //9k for 88E nornal chip , //MaxRxBuff=10k-max(TxReportSize(64*8), WOLPattern(16*24))\r
-//#define MAX_RX_DMA_BUFFER_SIZE_88E(__Adapter)        ((!IS_VENDOR_8188E_I_CUT_SERIES(__Adapter))?0x2400:0x3C00)\r
+//#define MAX_RX_DMA_BUFFER_SIZE_88E         0x2400 //9k for 88E nornal chip , //MaxRxBuff=10k-max(TxReportSize(64*8), WOLPattern(16*24))\r
+#define RX_DMA_SIZE_88E(__Adapter) ((!IS_VENDOR_8188E_I_CUT_SERIES(__Adapter))?0x2800:0x4000)\r
+\r
+#ifdef CONFIG_WOWLAN\r
+#define RESV_FMWF      WKFMCAM_SIZE*MAX_WKFM_NUM /* 16 entries, for each is 24 bytes*/\r
+#else\r
+#define RESV_FMWF      0\r
+#endif\r
 \r
+#define RX_DMA_RESERVD_FW_FEATURE      0x200 /* for tx report (64*8) */\r
 \r
-#define MAX_TX_REPORT_BUFFER_SIZE                      0x0400 // 1k \r
+#define MAX_RX_DMA_BUFFER_SIZE_88E(__Adapter) RX_DMA_SIZE_88E(__Adapter)-RX_DMA_RESERVD_FW_FEATURE\r
 \r
+#define MAX_TX_REPORT_BUFFER_SIZE                      0x0400 /* 1k */\r
 \r
 // Note: We will divide number of page equally for each queue other than public queue!\r
 // 22k = 22528 bytes = 176 pages (@page =  128 bytes)\r
@@ -161,17 +167,23 @@ typedef struct _RT_8188E_FIRMWARE_HDR
 #define WOWLAN_PAGE_NUM_88E    0x00\r
 #endif\r
 \r
-#define TX_TOTAL_PAGE_NUMBER_88E       (0xB0 - BCNQ_PAGE_NUM_88E - WOWLAN_PAGE_NUM_88E)\r
-#define TX_PAGE_BOUNDARY_88E           (TX_TOTAL_PAGE_NUMBER_88E + 1)\r
+/* Note: \r
+Tx FIFO Size : previous CUT:22K /I_CUT after:32KB\r
+Tx page Size : 128B\r
+Total page numbers : 176(0xB0) / 256(0x100)\r
+*/\r
+#define TOTAL_PAGE_NUMBER_88E(_Adapter)        ((IS_VENDOR_8188E_I_CUT_SERIES(_Adapter)?0x100:0xB0) - 1)/* must reserved 1 page for dma issue */\r
+#define TX_TOTAL_PAGE_NUMBER_88E(_Adapter)     (TOTAL_PAGE_NUMBER_88E(_Adapter) - BCNQ_PAGE_NUM_88E - WOWLAN_PAGE_NUM_88E)\r
+#define TX_PAGE_BOUNDARY_88E(_Adapter)         (TX_TOTAL_PAGE_NUMBER_88E(_Adapter) + 1) /* beacon header start address */\r
 \r
-#define WMM_NORMAL_TX_TOTAL_PAGE_NUMBER_88E    TX_TOTAL_PAGE_NUMBER_88E\r
-#define WMM_NORMAL_TX_PAGE_BOUNDARY_88E                (WMM_NORMAL_TX_TOTAL_PAGE_NUMBER_88E + 1)\r
+#define WMM_NORMAL_TX_TOTAL_PAGE_NUMBER_88E(_Adapter)  TX_TOTAL_PAGE_NUMBER_88E(_Adapter)\r
+#define WMM_NORMAL_TX_PAGE_BOUNDARY_88E(_Adapter)              (WMM_NORMAL_TX_TOTAL_PAGE_NUMBER_88E(_Adapter) + 1)\r
 \r
 // For Normal Chip Setting\r
 // (HPQ + LPQ + NPQ + PUBQ) shall be TX_TOTAL_PAGE_NUMBER_8723B\r
-#define NORMAL_PAGE_NUM_HPQ_88E                0x00\r
+#define NORMAL_PAGE_NUM_HPQ_88E                0x0\r
 #define NORMAL_PAGE_NUM_LPQ_88E                0x09\r
-#define NORMAL_PAGE_NUM_NPQ_88E                0x00\r
+#define NORMAL_PAGE_NUM_NPQ_88E                0x0\r
 \r
 // Note: For Normal Chip Setting, modify later\r
 #define WMM_NORMAL_PAGE_NUM_HPQ_88E            0x29\r
@@ -239,6 +251,17 @@ typedef struct _RT_8188E_FIRMWARE_HDR
 //#define RT_IS_FUNC_DISABLED(__pAdapter, __FuncBits) ( (__pAdapter)->DisabledFunctions & (__FuncBits) )\r
 \r
 #ifdef CONFIG_PCI_HCI\r
+ /* according to the define in the rtw_xmit.h, rtw_recv.h */\r
+#define TX_DESC_NUM_8188EE  TXDESC_NUM   /* 128 */\r
+#ifdef CONFIG_CONCURRENT_MODE\r
+/*#define BE_QUEUE_TX_DESC_NUM_8188EE  (TXDESC_NUM<<1)*/               /* 256 */\r
+#define BE_QUEUE_TX_DESC_NUM_8188EE  ((TXDESC_NUM<<1)+(TXDESC_NUM>>1))    /* 320 */\r
+/*#define BE_QUEUE_TX_DESC_NUM_8188EE  ((TXDESC_NUM<<1)+TXDESC_NUM)*/    /* 384 */\r
+#else\r
+#define BE_QUEUE_TX_DESC_NUM_8188EE  TXDESC_NUM /* 128 */\r
+/*#define BE_QUEUE_TX_DESC_NUM_8188EE  (TXDESC_NUM+(TXDESC_NUM>>1)) *//* 192 */\r
+#endif\r
+\r
 void InterruptRecognized8188EE(PADAPTER Adapter, PRT_ISR_CONTENT pIsrContent);\r
 void UpdateInterruptMask8188EE(PADAPTER Adapter, u32 AddMSR, u32 AddMSR1, u32 RemoveMSR, u32 RemoveMSR1);\r
 #endif //CONFIG_PCI_HCI\r
@@ -266,22 +289,25 @@ void Hal_ReadThermalMeter_88E(PADAPTER    Adapter,u8* PROMContent,BOOLEAN         Autoload
 void Hal_EfuseParseXtal_8188E(PADAPTER pAdapter,u8* hwinfo,BOOLEAN AutoLoadFail);\r
 void Hal_EfuseParseBoardType88E(PADAPTER pAdapter,u8* hwinfo,BOOLEAN AutoLoadFail);\r
 void Hal_ReadPowerSavingMode88E(PADAPTER pAdapter,u8* hwinfo,BOOLEAN AutoLoadFail);\r
+void Hal_ReadPAType_8188E(PADAPTER Adapter, u8 *PROMContent, BOOLEAN AutoloadFail);\r
+void Hal_ReadAmplifierType_8188E(PADAPTER Adapter, u8 *PROMContent, BOOLEAN AutoloadFail);\r
+void Hal_ReadRFEType_8188E(PADAPTER Adapter, u8 *PROMContent, BOOLEAN AutoloadFail);\r
 \r
 BOOLEAN HalDetectPwrDownMode88E(PADAPTER Adapter);\r
        \r
-#ifdef CONFIG_WOWLAN\r
+#if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN)\r
 void Hal_DetectWoWMode(PADAPTER pAdapter);\r
 #endif //CONFIG_WOWLAN\r
-//RT_CHANNEL_DOMAIN rtl8723a_HalMapChannelPlan(PADAPTER padapter, u8 HalChannelPlan);\r
-//VERSION_8192C rtl8723a_ReadChipVersion(PADAPTER padapter);\r
-//void rtl8723a_ReadBluetoothCoexistInfo(PADAPTER padapter, u8 *PROMContent, BOOLEAN AutoloadFail);\r
-void Hal_InitChannelPlan(PADAPTER padapter);\r
+\r
 \r
 #ifdef CONFIG_RF_GAIN_OFFSET\r
 void Hal_ReadRFGainOffset(PADAPTER pAdapter,u8* hwinfo,BOOLEAN AutoLoadFail);\r
 #endif //CONFIG_RF_GAIN_OFFSET\r
 \r
+void rtl8188e_init_default_value(_adapter *adapter);\r
+\r
 void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc);\r
+void init_hal_spec_8188e(_adapter *adapter);\r
 \r
 // register\r
 void SetBcnCtrlReg(PADAPTER padapter, u8 SetBits, u8 ClearBits);\r