8723BU: Update 8723BU wifi driver to version v4.3.16_14189.20150519_BTCOEX2015119...
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bu / include / rtw_efuse.h
index 9dbab56fa0ca474fc67ec25d481b17340d9df106..be32193383c878027a770d3f7b62276ff2c13634 100755 (executable)
@@ -59,6 +59,18 @@ enum _EFUSE_DEF_TYPE {
 
 #define                EFUSE_REPEAT_THRESHOLD_                 3
 
+#define IS_MASKED_MP(ic, txt, offset) (EFUSE_IsAddressMasked_MP_##ic##txt(offset))
+#define IS_MASKED_TC(ic, txt, offset) (EFUSE_IsAddressMasked_TC_##ic##txt(offset))
+#define GET_MASK_ARRAY_LEN_MP(ic, txt) (EFUSE_GetArrayLen_MP_##ic##txt())
+#define GET_MASK_ARRAY_LEN_TC(ic, txt) (EFUSE_GetArrayLen_TC_##ic##txt())
+#define GET_MASK_ARRAY_MP(ic, txt, offset) (EFUSE_GetMaskArray_MP_##ic##txt(offset))
+#define GET_MASK_ARRAY_TC(ic, txt, offset) (EFUSE_GetMaskArray_TC_##ic##txt(offset))
+
+
+#define IS_MASKED(ic, txt, offset) ( IS_MASKED_MP(ic,txt, offset) )
+#define GET_MASK_ARRAY_LEN(ic, txt) ( GET_MASK_ARRAY_LEN_MP(ic,txt) )
+#define GET_MASK_ARRAY(ic, txt, out) do { GET_MASK_ARRAY_MP(ic,txt, out);} while(0)
+
 //=============================================
 //     The following is for BT Efuse definition
 //=============================================
@@ -77,6 +89,21 @@ typedef struct PG_PKT_STRUCT_A{
        u8 word_cnts;
 }PGPKT_STRUCT,*PPGPKT_STRUCT;
 
+typedef enum
+{
+       ERR_SUCCESS = 0,
+       ERR_DRIVER_FAILURE,
+       ERR_IO_FAILURE,
+       ERR_WI_TIMEOUT,
+       ERR_WI_BUSY,
+       ERR_BAD_FORMAT,
+       ERR_INVALID_DATA,
+       ERR_NOT_ENOUGH_SPACE,
+       ERR_WRITE_PROTECT,
+       ERR_READ_BACK_FAIL,
+       ERR_OUT_OF_RANGE
+} ERROR_CODE;
+
 /*------------------------------Define structure----------------------------*/ 
 typedef struct _EFUSE_HAL{
        u8      fakeEfuseBank;
@@ -84,7 +111,9 @@ typedef struct _EFUSE_HAL{
        u8      fakeEfuseContent[EFUSE_MAX_HW_SIZE];
        u8      fakeEfuseInitMap[EFUSE_MAX_MAP_LEN];
        u8      fakeEfuseModifiedMap[EFUSE_MAX_MAP_LEN];
-
+       u32     EfuseUsedBytes;
+       u8      EfuseUsedPercentage;
+       
        u16     BTEfuseUsedBytes;
        u8      BTEfuseUsedPercentage;
        u8      BTEfuseContent[EFUSE_MAX_BT_BANK][EFUSE_MAX_HW_SIZE];
@@ -95,8 +124,32 @@ typedef struct _EFUSE_HAL{
        u8      fakeBTEfuseContent[EFUSE_MAX_BT_BANK][EFUSE_MAX_HW_SIZE];
        u8      fakeBTEfuseInitMap[EFUSE_BT_MAX_MAP_LEN];
        u8      fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN];
+
+       // EFUSE Configuration, initialized in HAL_CmnInitPGData().
+       const u16  MaxSecNum_WiFi;
+       const u16  MaxSecNum_BT;        
+       const u16  WordUnit;    
+       const u16  PhysicalLen_WiFi;
+       const u16  PhysicalLen_BT;      
+       const u16  LogicalLen_WiFi;
+       const u16  LogicalLen_BT;       
+       const u16  BankSize;
+       const u16  TotalBankNum;
+       const u16  BankNum_WiFi;
+       const u16  BankNum_BT;  
+       const u16  OOBProtectBytes;
+       const u16  ProtectBytes;
+       const u16  BankAvailBytes;      
+       const u16  TotalAvailBytes_WiFi;
+       const u16  TotalAvailBytes_BT;  
+       const u16  HeaderRetry; 
+       const u16  DataRetry;   
+
+       ERROR_CODE        Status;
+       
 }EFUSE_HAL, *PEFUSE_HAL;
 
+extern u8 maskfileBuffer[32];
 
 /*------------------------Export global variable----------------------------*/
 extern u8 fakeEfuseBank;
@@ -119,6 +172,7 @@ extern u8 fakeBTEfuseModifiedMap[];
 u8     efuse_GetCurrentSize(PADAPTER padapter, u16 *size);
 u16    efuse_GetMaxSize(PADAPTER padapter);
 u8     rtw_efuse_access(PADAPTER padapter, u8 bRead, u16 start_addr, u16 cnts, u8 *data);
+u8     rtw_efuse_mask_map_read(PADAPTER padapter, u16 addr, u16 cnts, u8 *data);
 u8     rtw_efuse_map_read(PADAPTER padapter, u16 addr, u16 cnts, u8 *data);
 u8     rtw_efuse_map_write(PADAPTER padapter, u16 addr, u16 cnts, u8 *data);
 u8     rtw_BT_efuse_map_read(PADAPTER padapter, u16 addr, u16 cnts, u8 *data);
@@ -143,6 +197,7 @@ void        EFUSE_ShadowMapUpdate(PADAPTER pAdapter, u8 efuseType, BOOLEAN bPseudoTest)
 void   EFUSE_ShadowRead(PADAPTER pAdapter, u8 Type, u16 Offset, u32 *Value);
 void Rtw_Hal_ReadMACAddrFromFile(PADAPTER padapter);
 u32 Rtw_Hal_readPGDataFromConfigFile(PADAPTER  padapter);
+u8 rtw_efuse_file_read(PADAPTER padapter,u8 *filepatch,u8 *buf, u32 len);
 
 #endif