rtl8188eu: update driver to v4.3.0.8_13968.20150417
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8188eu / hal / rtl8188e / rtl8188e_phycfg.c
index b4445d2340c5ee7c6511ae68a2405ebe16f9d965..d573cd26d6b58f1ad6aafbcc4ef0d5c16d7fa545 100755 (executable)
@@ -867,40 +867,6 @@ phy_InitBBRFRegisterDefinition(
 \r
 }\r
 \r
-//****************************************\r
-// The following is for High Power PA\r
-//****************************************\r
-VOID\r
-phy_ConfigBBExternalPA(\r
-       IN      PADAPTER                        Adapter\r
-)\r
-{\r
-#ifdef CONFIG_USB_HCI\r
-       HAL_DATA_TYPE   *pHalData = GET_HAL_DATA(Adapter);\r
-       u16 i=0;\r
-       u32 temp=0;\r
-\r
-       if(!pHalData->ExternalPA)\r
-       {\r
-               return;\r
-       }\r
-\r
-       // 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the\r
-       // same code as SU. It is already updated in PHY_REG_1T_HP.txt.\r
-#if 0\r
-       PHY_SetBBReg(Adapter, 0xee8, BIT28, 1);\r
-       temp = PHY_QueryBBReg(Adapter, 0x860, bMaskDWord);\r
-       temp |= (BIT26|BIT21|BIT10|BIT5);\r
-       PHY_SetBBReg(Adapter, 0x860, bMaskDWord, temp);\r
-       PHY_SetBBReg(Adapter, 0x870, BIT10, 0);\r
-       PHY_SetBBReg(Adapter, 0xc80, bMaskDWord, 0x20000080);\r
-       PHY_SetBBReg(Adapter, 0xc88, bMaskDWord, 0x40000100);\r
-#endif\r
-\r
-#endif\r
-}\r
-\r
-\r
 VOID\r
 storePwrIndexDiffRateOffset(\r
        IN      PADAPTER        Adapter,\r
@@ -1070,7 +1036,6 @@ phy_BB8188E_Config_ParaFile(
        IN      PADAPTER        Adapter\r
        )\r
 {\r
-       EEPROM_EFUSE_PRIV       *pEEPROM = GET_EEPROM_EFUSE_PRIV(Adapter);\r
        HAL_DATA_TYPE           *pHalData = GET_HAL_DATA(Adapter);\r
        int                     rtStatus = _SUCCESS;\r
 \r
@@ -1258,7 +1223,6 @@ PHY_BBConfig8188E(
 \r
 #ifdef CONFIG_PCI_HCI\r
        // Force use left antenna by default for 88C.\r
-       //      if(!IS_92C_SERIAL(pHalData->VersionID) || IS_92C_1T2R(pHalData->VersionID))\r
        if(Adapter->ledpriv.LedStrategy != SW_LED_MODE10)\r
        {\r
                RegVal = rtw_read32(Adapter, REG_LEDCFG0);\r
@@ -1367,36 +1331,6 @@ u32 Rtl8192S_HighPower_RadioA_Array[HighPowerRadioAArrayLen] = {
 0x013,0x00000240,\r
 };\r
 \r
-int\r
-PHY_ConfigRFExternalPA(\r
-       IN      PADAPTER                Adapter,\r
-       IN      u8                              eRFPath\r
-)\r
-{\r
-       int     rtStatus = _SUCCESS;\r
-#ifdef CONFIG_USB_HCI\r
-       HAL_DATA_TYPE   *pHalData = GET_HAL_DATA(Adapter);\r
-       u16 i=0;\r
-\r
-       if(!pHalData->ExternalPA)\r
-       {\r
-               return rtStatus;\r
-       }\r
-\r
-       // 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the\r
-       // same code as SU. It is already updated in radio_a_1T_HP.txt.\r
-#if 0\r
-       //add for SU High Power PA\r
-       for(i = 0;i<HighPowerRadioAArrayLen; i=i+2)\r
-       {\r
-               RT_TRACE(COMP_INIT, DBG_LOUD, ("External PA, write RF 0x%lx=0x%lx\n", Rtl8192S_HighPower_RadioA_Array[i], Rtl8192S_HighPower_RadioA_Array[i+1]));\r
-               PHY_SetRFReg(Adapter, eRFPath, Rtl8192S_HighPower_RadioA_Array[i], bRFRegOffsetMask, Rtl8192S_HighPower_RadioA_Array[i+1]);\r
-       }\r
-#endif\r
-\r
-#endif\r
-       return rtStatus;\r
-}\r
 //****************************************\r
 /*-----------------------------------------------------------------------------\r
  * Function:    GetTxPowerLevel8190()\r
@@ -1626,8 +1560,8 @@ PHY_GetTxPowerIndex_8188E(
                txPower = MAX_POWER_INDEX;\r
 \r
        if (0)\r
-       DBG_871X("RF-%c ch%d TxPwrIdx = %d(0x%X) [%2u %2d %2d %2d]\n"\r
-               , ((RFPath==0)?'A':'B'), Channel, txPower, txPower, base_index, by_rate_diff, track_diff, extra_bias);\r
+               DBG_871X("RF-%c ch%d TxPwrIdx = %d(0x%X) [%2u %2d %2d %2d]\n"\r
+                       , ((RFPath==0)?'A':'B'), Channel, txPower, txPower, base_index, by_rate_diff, track_diff, extra_bias);\r
 \r
        return (u8)txPower;     \r
 }\r
@@ -1687,22 +1621,19 @@ phy_SpurCalibration_8188E(
 {\r
        HAL_DATA_TYPE   *pHalData = GET_HAL_DATA(Adapter);\r
        \r
-       if(pHalData->CurrentChannelBW == CHANNEL_WIDTH_20 && pHalData->CurrentChannel == 13){\r
-               PHY_SetBBReg(Adapter, rOFDM1_CFOTracking, BIT(28), 0x1); //enable CSI Mask\r
-               PHY_SetBBReg(Adapter, rOFDM1_csi_fix_mask1, BIT(26)|BIT(25), 0x3); //Fix CSI Mask Tone\r
-               PHY_SetBBReg(Adapter, rOFDM1_csi_fix_mask2, BIT(26)|BIT(25), 0x0); \r
+       //DbgPrint("===> phy_SpurCalibration_8188E  CurrentChannelBW = %d, CurrentChannel = %d\n", pHalData->CurrentChannelBW, pHalData->CurrentChannel);\r
+       if(pHalData->CurrentChannelBW == CHANNEL_WIDTH_20 &&( pHalData->CurrentChannel == 13 || pHalData->CurrentChannel == 14)){\r
+               PHY_SetBBReg(Adapter, rOFDM0_RxDSP, BIT(9), 0x1);                       //enable notch filter\r
+               PHY_SetBBReg(Adapter, rOFDM1_IntfDet, BIT(8)|BIT(7)|BIT(6), 0x2);       //intf_TH\r
        }\r
        else if(pHalData->CurrentChannelBW == CHANNEL_WIDTH_40 && pHalData->CurrentChannel == 11){\r
-               PHY_SetBBReg(Adapter, rOFDM1_CFOTracking, BIT(28), 0x1); //enable CSI Mask\r
-               PHY_SetBBReg(Adapter, rOFDM1_csi_fix_mask1, BIT(26)|BIT(25), 0x0); \r
-               PHY_SetBBReg(Adapter, rOFDM1_csi_fix_mask2, BIT(26)|BIT(25), 0x3); //Fix CSI Mask Tone\r
+               PHY_SetBBReg(Adapter, rOFDM0_RxDSP, BIT(9), 0x1);                       //enable notch filter\r
+               PHY_SetBBReg(Adapter, rOFDM1_IntfDet, BIT(8)|BIT(7)|BIT(6), 0x2);       //intf_TH\r
        }\r
        else{\r
-               PHY_SetBBReg(Adapter, rOFDM1_CFOTracking, BIT(28), 0x0); //disable CSI Mask\r
-               PHY_SetBBReg(Adapter, rOFDM1_csi_fix_mask1, BIT(26)|BIT(25), 0x0); \r
-               PHY_SetBBReg(Adapter, rOFDM1_csi_fix_mask2, BIT(26)|BIT(25), 0x0); \r
+               if(Adapter->registrypriv.notch_filter == 0)\r
+                       PHY_SetBBReg(Adapter, rOFDM0_RxDSP, BIT(9), 0x0);       //disable notch filter\r
        }\r
-\r
 }\r
 \r
 /*-----------------------------------------------------------------------------\r
@@ -1939,8 +1870,10 @@ PHY_SetBWMode8188E(
        #else\r
                _PHY_SetBWMode88E(Adapter);\r
        #endif\r
-               if (IS_VENDOR_8188E_I_CUT_SERIES(Adapter)&& IS_HARDWARE_TYPE_8188ES(Adapter))\r
+       #if defined(CONFIG_USB_HCI) || defined(CONFIG_SDIO_HCI)\r
+               if(IS_VENDOR_8188E_I_CUT_SERIES(Adapter))\r
                        phy_SpurCalibration_8188E( Adapter);\r
+       #endif\r
        }\r
        else\r
        {\r
@@ -2002,6 +1935,11 @@ PHY_SwChnl8188E( // Call after initialization
        //if(pHalData->SetBWModeInProgress)\r
        //      return;\r
 \r
+       while(pHalData->odmpriv.RFCalibrateInfo.bLCKInProgress) {\r
+               DBG_871X_LEVEL(_drv_always_, FUNC_ADPT_FMT" bLCKInProgress\n", FUNC_ADPT_ARG(Adapter));\r
+               rtw_msleep_os(50);\r
+       }       \r
+\r
        //--------------------------------------------\r
        switch(pHalData->CurrentWirelessMode)\r
        {\r
@@ -2042,8 +1980,11 @@ PHY_SwChnl8188E( // Call after initialization
                _PHY_SwChnl8188E(Adapter, channel);\r
                #endif\r
 \r
-               if (IS_VENDOR_8188E_I_CUT_SERIES(Adapter)&& IS_HARDWARE_TYPE_8188ES(Adapter))\r
+               #if defined(CONFIG_USB_HCI) || defined(CONFIG_SDIO_HCI)\r
+               if(IS_VENDOR_8188E_I_CUT_SERIES(Adapter))\r
                        phy_SpurCalibration_8188E( Adapter);\r
+               #endif\r
+\r
                \r
 \r
                if(bResult)\r