Lines Matching refs:pDM_Odm

45 	struct dm_odm_t *pDM_Odm,  in setIqkMatrix_8723B()  argument
77 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32); in setIqkMatrix_8723B()
80 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32); in setIqkMatrix_8723B()
83 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT24, value32); in setIqkMatrix_8723B()
90 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32); in setIqkMatrix_8723B()
93 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32); in setIqkMatrix_8723B()
96 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT28, value32); in setIqkMatrix_8723B()
105 …PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable_New[OFDM_index]); in setIqkMatrix_8723B()
106 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00); in setIqkMatrix_8723B()
107 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT24, 0x00); in setIqkMatrix_8723B()
111 …PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable_New[OFDM_index]); in setIqkMatrix_8723B()
112 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00); in setIqkMatrix_8723B()
113 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT28, 0x00); in setIqkMatrix_8723B()
123 static void setCCKFilterCoefficient(struct dm_odm_t *pDM_Odm, u8 CCKSwingIndex) in setCCKFilterCoefficient() argument
125 if (!pDM_Odm->RFCalibrateInfo.bCCKinCH14) { in setCCKFilterCoefficient()
126 rtw_write8(pDM_Odm->Adapter, 0xa22, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][0]); in setCCKFilterCoefficient()
127 rtw_write8(pDM_Odm->Adapter, 0xa23, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][1]); in setCCKFilterCoefficient()
128 rtw_write8(pDM_Odm->Adapter, 0xa24, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][2]); in setCCKFilterCoefficient()
129 rtw_write8(pDM_Odm->Adapter, 0xa25, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][3]); in setCCKFilterCoefficient()
130 rtw_write8(pDM_Odm->Adapter, 0xa26, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][4]); in setCCKFilterCoefficient()
131 rtw_write8(pDM_Odm->Adapter, 0xa27, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][5]); in setCCKFilterCoefficient()
132 rtw_write8(pDM_Odm->Adapter, 0xa28, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][6]); in setCCKFilterCoefficient()
133 rtw_write8(pDM_Odm->Adapter, 0xa29, CCKSwingTable_Ch1_Ch13_New[CCKSwingIndex][7]); in setCCKFilterCoefficient()
135 rtw_write8(pDM_Odm->Adapter, 0xa22, CCKSwingTable_Ch14_New[CCKSwingIndex][0]); in setCCKFilterCoefficient()
136 rtw_write8(pDM_Odm->Adapter, 0xa23, CCKSwingTable_Ch14_New[CCKSwingIndex][1]); in setCCKFilterCoefficient()
137 rtw_write8(pDM_Odm->Adapter, 0xa24, CCKSwingTable_Ch14_New[CCKSwingIndex][2]); in setCCKFilterCoefficient()
138 rtw_write8(pDM_Odm->Adapter, 0xa25, CCKSwingTable_Ch14_New[CCKSwingIndex][3]); in setCCKFilterCoefficient()
139 rtw_write8(pDM_Odm->Adapter, 0xa26, CCKSwingTable_Ch14_New[CCKSwingIndex][4]); in setCCKFilterCoefficient()
140 rtw_write8(pDM_Odm->Adapter, 0xa27, CCKSwingTable_Ch14_New[CCKSwingIndex][5]); in setCCKFilterCoefficient()
141 rtw_write8(pDM_Odm->Adapter, 0xa28, CCKSwingTable_Ch14_New[CCKSwingIndex][6]); in setCCKFilterCoefficient()
142 rtw_write8(pDM_Odm->Adapter, 0xa29, CCKSwingTable_Ch14_New[CCKSwingIndex][7]); in setCCKFilterCoefficient()
147 struct dm_odm_t *pDM_Odm, in DoIQK_8723B() argument
173 struct dm_odm_t *pDM_Odm, in ODM_TxPwrTrackSetPwr_8723B() argument
179 struct adapter *Adapter = pDM_Odm->Adapter; in ODM_TxPwrTrackSetPwr_8723B()
188 u16 rate = *(pDM_Odm->pForcedDataRate); in ODM_TxPwrTrackSetPwr_8723B()
191 if (pDM_Odm->TxRate != 0xFF) in ODM_TxPwrTrackSetPwr_8723B()
192 TxRate = HwRateToMRate(pDM_Odm->TxRate); in ODM_TxPwrTrackSetPwr_8723B()
217 PwrTrackingLimit_OFDM = pDM_Odm->DefaultOfdmIndex; /* Default OFDM index = 30 */ in ODM_TxPwrTrackSetPwr_8723B()
221 struct adapter *Adapter = pDM_Odm->Adapter; in ODM_TxPwrTrackSetPwr_8723B()
223 pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = pDM_Odm->Absolute_OFDMSwingIdx[RFPath]; in ODM_TxPwrTrackSetPwr_8723B()
225 pDM_Odm->Modify_TxAGC_Flag_PathA = true; in ODM_TxPwrTrackSetPwr_8723B()
226 pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = true; in ODM_TxPwrTrackSetPwr_8723B()
232 Final_OFDM_Swing_Index = pDM_Odm->DefaultOfdmIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath]; in ODM_TxPwrTrackSetPwr_8723B()
233 Final_CCK_Swing_Index = pDM_Odm->DefaultCckIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath]; in ODM_TxPwrTrackSetPwr_8723B()
243 else if (pDM_Odm->BbSwingIdxCck <= 0) in ODM_TxPwrTrackSetPwr_8723B()
246 setIqkMatrix_8723B(pDM_Odm, Final_OFDM_Swing_Index, RFPath, in ODM_TxPwrTrackSetPwr_8723B()
247 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0], in ODM_TxPwrTrackSetPwr_8723B()
248 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]); in ODM_TxPwrTrackSetPwr_8723B()
250 setCCKFilterCoefficient(pDM_Odm, Final_CCK_Swing_Index); in ODM_TxPwrTrackSetPwr_8723B()
253 Final_OFDM_Swing_Index = pDM_Odm->DefaultOfdmIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath]; in ODM_TxPwrTrackSetPwr_8723B()
254 Final_CCK_Swing_Index = pDM_Odm->DefaultCckIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath]; in ODM_TxPwrTrackSetPwr_8723B()
257 pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = Final_OFDM_Swing_Index - PwrTrackingLimit_OFDM; in ODM_TxPwrTrackSetPwr_8723B()
259 setIqkMatrix_8723B(pDM_Odm, PwrTrackingLimit_OFDM, RFPath, in ODM_TxPwrTrackSetPwr_8723B()
260 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0], in ODM_TxPwrTrackSetPwr_8723B()
261 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]); in ODM_TxPwrTrackSetPwr_8723B()
263 pDM_Odm->Modify_TxAGC_Flag_PathA = true; in ODM_TxPwrTrackSetPwr_8723B()
267 pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = Final_OFDM_Swing_Index; in ODM_TxPwrTrackSetPwr_8723B()
269 setIqkMatrix_8723B(pDM_Odm, 0, RFPath, in ODM_TxPwrTrackSetPwr_8723B()
270 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0], in ODM_TxPwrTrackSetPwr_8723B()
271 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]); in ODM_TxPwrTrackSetPwr_8723B()
273 pDM_Odm->Modify_TxAGC_Flag_PathA = true; in ODM_TxPwrTrackSetPwr_8723B()
277 setIqkMatrix_8723B(pDM_Odm, Final_OFDM_Swing_Index, RFPath, in ODM_TxPwrTrackSetPwr_8723B()
278 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0], in ODM_TxPwrTrackSetPwr_8723B()
279 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]); in ODM_TxPwrTrackSetPwr_8723B()
281 if (pDM_Odm->Modify_TxAGC_Flag_PathA) { /* If TxAGC has changed, reset TxAGC again */ in ODM_TxPwrTrackSetPwr_8723B()
282 pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = 0; in ODM_TxPwrTrackSetPwr_8723B()
285 pDM_Odm->Modify_TxAGC_Flag_PathA = false; in ODM_TxPwrTrackSetPwr_8723B()
290 pDM_Odm->Remnant_CCKSwingIdx = Final_CCK_Swing_Index - PwrTrackingLimit_CCK; in ODM_TxPwrTrackSetPwr_8723B()
291 setCCKFilterCoefficient(pDM_Odm, PwrTrackingLimit_CCK); in ODM_TxPwrTrackSetPwr_8723B()
292 pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = true; in ODM_TxPwrTrackSetPwr_8723B()
295 pDM_Odm->Remnant_CCKSwingIdx = Final_CCK_Swing_Index; in ODM_TxPwrTrackSetPwr_8723B()
296 setCCKFilterCoefficient(pDM_Odm, 0); in ODM_TxPwrTrackSetPwr_8723B()
297 pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = true; in ODM_TxPwrTrackSetPwr_8723B()
300 setCCKFilterCoefficient(pDM_Odm, Final_CCK_Swing_Index); in ODM_TxPwrTrackSetPwr_8723B()
302 if (pDM_Odm->Modify_TxAGC_Flag_PathA_CCK) { /* If TxAGC has changed, reset TxAGC again */ in ODM_TxPwrTrackSetPwr_8723B()
303 pDM_Odm->Remnant_CCKSwingIdx = 0; in ODM_TxPwrTrackSetPwr_8723B()
305 pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = false; in ODM_TxPwrTrackSetPwr_8723B()
313 struct dm_odm_t *pDM_Odm, in GetDeltaSwingTable_8723B() argument
320 struct adapter *Adapter = pDM_Odm->Adapter; in GetDeltaSwingTable_8723B()
321 struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo; in GetDeltaSwingTable_8723B()
323 u16 rate = *(pDM_Odm->pForcedDataRate); in GetDeltaSwingTable_8723B()
374 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in phy_PathA_IQK_8723B() local
377 Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); in phy_PathA_IQK_8723B()
380 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_IQK_8723B()
383 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in phy_PathA_IQK_8723B()
384 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); in phy_PathA_IQK_8723B()
385 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); in phy_PathA_IQK_8723B()
386 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); in phy_PathA_IQK_8723B()
393 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, 0x01007c00); in phy_PathA_IQK_8723B()
394 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); in phy_PathA_IQK_8723B()
396 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x18008c1c); in phy_PathA_IQK_8723B()
397 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c); in phy_PathA_IQK_8723B()
398 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathA_IQK_8723B()
399 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathA_IQK_8723B()
401 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea); in phy_PathA_IQK_8723B()
402 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); in phy_PathA_IQK_8723B()
403 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); in phy_PathA_IQK_8723B()
404 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); in phy_PathA_IQK_8723B()
407 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x00462911); in phy_PathA_IQK_8723B()
410 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathA_IQK_8723B()
415 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000000); in phy_PathA_IQK_8723B()
418 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathA_IQK_8723B()
421 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); in phy_PathA_IQK_8723B()
424 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf9000000); in phy_PathA_IQK_8723B()
425 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); in phy_PathA_IQK_8723B()
432 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); in phy_PathA_IQK_8723B()
434 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800); in phy_PathA_IQK_8723B()
437 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_IQK_8723B()
441 regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); in phy_PathA_IQK_8723B()
442 regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord); in phy_PathA_IQK_8723B()
443 regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord); in phy_PathA_IQK_8723B()
474 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in phy_PathA_RxIQK8723B() local
477 Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); in phy_PathA_RxIQK8723B()
480 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_RxIQK8723B()
483 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in phy_PathA_RxIQK8723B()
484 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); in phy_PathA_RxIQK8723B()
485 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); in phy_PathA_RxIQK8723B()
487 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7); in phy_PathA_RxIQK8723B()
489 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathA_RxIQK8723B()
492 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, 0x01007c00); in phy_PathA_RxIQK8723B()
493 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); in phy_PathA_RxIQK8723B()
496 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x18008c1c); in phy_PathA_RxIQK8723B()
497 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c); in phy_PathA_RxIQK8723B()
498 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathA_RxIQK8723B()
499 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathA_RxIQK8723B()
502 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0); in phy_PathA_RxIQK8723B()
503 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); in phy_PathA_RxIQK8723B()
504 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); in phy_PathA_RxIQK8723B()
505 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); in phy_PathA_RxIQK8723B()
508 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x0046a911); in phy_PathA_RxIQK8723B()
511 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathA_RxIQK8723B()
516 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000000); in phy_PathA_RxIQK8723B()
519 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathA_RxIQK8723B()
522 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); in phy_PathA_RxIQK8723B()
525 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf9000000); in phy_PathA_RxIQK8723B()
526 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); in phy_PathA_RxIQK8723B()
533 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); in phy_PathA_RxIQK8723B()
535 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800); in phy_PathA_RxIQK8723B()
538 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_RxIQK8723B()
541 regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); in phy_PathA_RxIQK8723B()
542 regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord); in phy_PathA_RxIQK8723B()
543 regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord); in phy_PathA_RxIQK8723B()
563 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, u4tmp); in phy_PathA_RxIQK8723B()
566 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_RxIQK8723B()
567 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in phy_PathA_RxIQK8723B()
568 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); in phy_PathA_RxIQK8723B()
569 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); in phy_PathA_RxIQK8723B()
571 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77); in phy_PathA_RxIQK8723B()
575 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); in phy_PathA_RxIQK8723B()
576 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x55, bRFRegOffsetMask, 0x4021f); in phy_PathA_RxIQK8723B()
580 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); in phy_PathA_RxIQK8723B()
583 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x38008c1c); in phy_PathA_RxIQK8723B()
584 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x18008c1c); in phy_PathA_RxIQK8723B()
585 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathA_RxIQK8723B()
586 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathA_RxIQK8723B()
588 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000); in phy_PathA_RxIQK8723B()
590 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f); in phy_PathA_RxIQK8723B()
591 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); in phy_PathA_RxIQK8723B()
592 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); in phy_PathA_RxIQK8723B()
595 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x0046a8d1); in phy_PathA_RxIQK8723B()
598 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathA_RxIQK8723B()
603 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000000); in phy_PathA_RxIQK8723B()
606 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathA_RxIQK8723B()
609 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); in phy_PathA_RxIQK8723B()
612 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf9000000); in phy_PathA_RxIQK8723B()
613 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); in phy_PathA_RxIQK8723B()
620 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); in phy_PathA_RxIQK8723B()
622 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800); in phy_PathA_RxIQK8723B()
625 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_RxIQK8723B()
628 regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); in phy_PathA_RxIQK8723B()
629 regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord); in phy_PathA_RxIQK8723B()
633 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathA_RxIQK8723B()
634 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0x780); in phy_PathA_RxIQK8723B()
660 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in phy_PathB_IQK_8723B() local
663 Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); in phy_PathB_IQK_8723B()
666 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathB_IQK_8723B()
674 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); in phy_PathB_IQK_8723B()
675 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30fc1); in phy_PathB_IQK_8723B()
681 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, 0x01007c00); in phy_PathB_IQK_8723B()
682 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); in phy_PathB_IQK_8723B()
684 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x18008c1c); in phy_PathB_IQK_8723B()
685 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c); in phy_PathB_IQK_8723B()
686 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathB_IQK_8723B()
687 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathB_IQK_8723B()
690 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea); in phy_PathB_IQK_8723B()
691 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); in phy_PathB_IQK_8723B()
692 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); in phy_PathB_IQK_8723B()
693 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); in phy_PathB_IQK_8723B()
696 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x00462911); in phy_PathB_IQK_8723B()
699 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathB_IQK_8723B()
702 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathB_IQK_8723B()
706 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); in phy_PathB_IQK_8723B()
709 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf9000000); in phy_PathB_IQK_8723B()
710 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); in phy_PathB_IQK_8723B()
717 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); in phy_PathB_IQK_8723B()
719 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800); in phy_PathB_IQK_8723B()
722 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathB_IQK_8723B()
725 regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); in phy_PathB_IQK_8723B()
726 regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord); in phy_PathB_IQK_8723B()
727 regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord); in phy_PathB_IQK_8723B()
753 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in phy_PathB_RxIQK8723B() local
756 Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); in phy_PathB_RxIQK8723B()
758 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathB_RxIQK8723B()
761 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathB_RxIQK8723B()
763 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in phy_PathB_RxIQK8723B()
764 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); in phy_PathB_RxIQK8723B()
765 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); in phy_PathB_RxIQK8723B()
766 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7); in phy_PathB_RxIQK8723B()
768 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); in phy_PathB_RxIQK8723B()
769 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30fcd); in phy_PathB_RxIQK8723B()
773 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, 0x01007c00); in phy_PathB_RxIQK8723B()
774 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); in phy_PathB_RxIQK8723B()
778 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x18008c1c); in phy_PathB_RxIQK8723B()
779 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c); in phy_PathB_RxIQK8723B()
780 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathB_RxIQK8723B()
781 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathB_RxIQK8723B()
784 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0); in phy_PathB_RxIQK8723B()
785 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); in phy_PathB_RxIQK8723B()
786 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); in phy_PathB_RxIQK8723B()
787 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); in phy_PathB_RxIQK8723B()
790 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x0046a911); in phy_PathB_RxIQK8723B()
793 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathB_RxIQK8723B()
796 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathB_RxIQK8723B()
800 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); in phy_PathB_RxIQK8723B()
803 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf9000000); in phy_PathB_RxIQK8723B()
804 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); in phy_PathB_RxIQK8723B()
812 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); in phy_PathB_RxIQK8723B()
814 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800); in phy_PathB_RxIQK8723B()
817 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathB_RxIQK8723B()
820 regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); in phy_PathB_RxIQK8723B()
821 regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord); in phy_PathB_RxIQK8723B()
822 regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord); in phy_PathB_RxIQK8723B()
842 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, u4tmp); in phy_PathB_RxIQK8723B()
846 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathB_RxIQK8723B()
847 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in phy_PathB_RxIQK8723B()
848 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); in phy_PathB_RxIQK8723B()
849 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); in phy_PathB_RxIQK8723B()
850 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77); in phy_PathB_RxIQK8723B()
854 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); in phy_PathB_RxIQK8723B()
855 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30ebd); in phy_PathB_RxIQK8723B()
862 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); in phy_PathB_RxIQK8723B()
865 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x38008c1c); in phy_PathB_RxIQK8723B()
866 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x18008c1c); in phy_PathB_RxIQK8723B()
867 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathB_RxIQK8723B()
868 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); in phy_PathB_RxIQK8723B()
870 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000); in phy_PathB_RxIQK8723B()
872 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f); in phy_PathB_RxIQK8723B()
873 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); in phy_PathB_RxIQK8723B()
874 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); in phy_PathB_RxIQK8723B()
877 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x0046a8d1); in phy_PathB_RxIQK8723B()
880 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); in phy_PathB_RxIQK8723B()
883 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280); in phy_PathB_RxIQK8723B()
887 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); in phy_PathB_RxIQK8723B()
890 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf9000000); in phy_PathB_RxIQK8723B()
891 PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); in phy_PathB_RxIQK8723B()
898 PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); in phy_PathB_RxIQK8723B()
900 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800); in phy_PathB_RxIQK8723B()
903 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_PathB_RxIQK8723B()
906 regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); in phy_PathB_RxIQK8723B()
907 regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord); in phy_PathB_RxIQK8723B()
945 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_PathAFillIQKMatrix8723B() local
947 struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo; in _PHY_PathAFillIQKMatrix8723B()
953 Oldval_0 = (PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord) >> 22) & 0x3FF; in _PHY_PathAFillIQKMatrix8723B()
959 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, 0x3FF, TX0_A); in _PHY_PathAFillIQKMatrix8723B()
961 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(31), ((X*Oldval_0>>7) & 0x1)); in _PHY_PathAFillIQKMatrix8723B()
969 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, 0xF0000000, ((TX0_C&0x3C0)>>6)); in _PHY_PathAFillIQKMatrix8723B()
971 …pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC94][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_X… in _PHY_PathAFillIQKMatrix8723B()
973 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, 0x003F0000, (TX0_C&0x3F)); in _PHY_PathAFillIQKMatrix8723B()
975 …pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_X… in _PHY_PathAFillIQKMatrix8723B()
977 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(29), ((Y*Oldval_0>>7) & 0x1)); in _PHY_PathAFillIQKMatrix8723B()
979 …pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC4C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_E… in _PHY_PathAFillIQKMatrix8723B()
984 …pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] = 0xfffffff & PHY_QueryBBReg(pDM_Odm->Adapt… in _PHY_PathAFillIQKMatrix8723B()
994 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, 0x3FF, reg); in _PHY_PathAFillIQKMatrix8723B()
996 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, 0xFC00, reg); in _PHY_PathAFillIQKMatrix8723B()
998 …pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_X… in _PHY_PathAFillIQKMatrix8723B()
1001 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, 0xF0000000, reg); in _PHY_PathAFillIQKMatrix8723B()
1003 …pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_R… in _PHY_PathAFillIQKMatrix8723B()
1019 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_PathBFillIQKMatrix8723B() local
1021 struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo; in _PHY_PathBFillIQKMatrix8723B()
1027 Oldval_1 = (PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF; in _PHY_PathBFillIQKMatrix8723B()
1034 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, 0x3FF, TX1_A); in _PHY_PathBFillIQKMatrix8723B()
1036 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(27), ((X*Oldval_1>>7) & 0x1)); in _PHY_PathBFillIQKMatrix8723B()
1045 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, 0xF0000000, ((TX1_C&0x3C0)>>6)); in _PHY_PathBFillIQKMatrix8723B()
1049 …pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_X… in _PHY_PathBFillIQKMatrix8723B()
1051 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, 0x003F0000, (TX1_C&0x3F)); in _PHY_PathBFillIQKMatrix8723B()
1053 …pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_X… in _PHY_PathBFillIQKMatrix8723B()
1055 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(25), ((Y*Oldval_1>>7) & 0x1)); in _PHY_PathBFillIQKMatrix8723B()
1057 …pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC4C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_E… in _PHY_PathBFillIQKMatrix8723B()
1064 …pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = 0x0fffffff & PHY_QueryBBReg(pDM_Odm->Adap… in _PHY_PathBFillIQKMatrix8723B()
1070 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, 0x3FF, reg); in _PHY_PathBFillIQKMatrix8723B()
1072 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, 0xFC00, reg); in _PHY_PathBFillIQKMatrix8723B()
1074 …pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_X… in _PHY_PathBFillIQKMatrix8723B()
1079 …pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = (reg << 28)|(PHY_QueryBBReg(pDM_Odm->Adap… in _PHY_PathBFillIQKMatrix8723B()
1088 void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath) in ODM_SetIQCbyRFpath() argument
1091 struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo; in ODM_SetIQCbyRFpath()
1101 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1102 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1103 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC4C][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1105 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1106 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1109 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC94][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1110 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1111 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC4C][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1113 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1114 …PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY], bMaskDWord,… in ODM_SetIQCbyRFpath()
1133 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_SaveADDARegisters8723B() local
1139 ADDABackup[i] = PHY_QueryBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord); in _PHY_SaveADDARegisters8723B()
1150 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_SaveMACRegisters8723B() local
1153 MACBackup[i] = rtw_read8(pDM_Odm->Adapter, MACReg[i]); in _PHY_SaveMACRegisters8723B()
1155 MACBackup[i] = rtw_read32(pDM_Odm->Adapter, MACReg[i]); in _PHY_SaveMACRegisters8723B()
1169 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_ReloadADDARegisters8723B() local
1172 PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord, ADDABackup[i]); in _PHY_ReloadADDARegisters8723B()
1198 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_PathADDAOn8723B() local
1203 PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[0], bMaskDWord, 0x01c00014); in _PHY_PathADDAOn8723B()
1205 PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[0], bMaskDWord, pathOn); in _PHY_PathADDAOn8723B()
1209 PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord, pathOn); in _PHY_PathADDAOn8723B()
1220 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in _PHY_MACSettingCalibration8723B() local
1222 rtw_write8(pDM_Odm->Adapter, MACReg[i], 0x3F); in _PHY_MACSettingCalibration8723B()
1225 rtw_write8(pDM_Odm->Adapter, MACReg[i], (u8)(MACBackup[i]&(~BIT3))); in _PHY_MACSettingCalibration8723B()
1227 rtw_write8(pDM_Odm->Adapter, MACReg[i], (u8)(MACBackup[i]&(~BIT5))); in _PHY_MACSettingCalibration8723B()
1323 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in phy_IQCalibrate_8723B() local
1327 u8 tmp0xc50 = (u8)PHY_QueryBBReg(pDM_Odm->Adapter, 0xC50, bMaskByte0); in phy_IQCalibrate_8723B()
1328 u8 tmp0xc58 = (u8)PHY_QueryBBReg(pDM_Odm->Adapter, 0xC58, bMaskByte0); in phy_IQCalibrate_8723B()
1376 …_PHY_SaveADDARegisters8723B(padapter, ADDA_REG, pDM_Odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG… in phy_IQCalibrate_8723B()
1377 _PHY_SaveMACRegisters8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup); in phy_IQCalibrate_8723B()
1378 …_PHY_SaveADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_… in phy_IQCalibrate_8723B()
1390 _PHY_MACSettingCalibration8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup); in phy_IQCalibrate_8723B()
1394 PHY_SetBBReg(pDM_Odm->Adapter, rCCK0_AFESetting, 0x0f000000, 0xf); in phy_IQCalibrate_8723B()
1395 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRxPathEnable, bMaskDWord, 0x03a05600); in phy_IQCalibrate_8723B()
1396 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRMuxPar, bMaskDWord, 0x000800e4); in phy_IQCalibrate_8723B()
1397 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XCD_RFInterfaceSW, bMaskDWord, 0x22204000); in phy_IQCalibrate_8723B()
1408 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_IQCalibrate_8723B()
1409 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in phy_IQCalibrate_8723B()
1410 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x30000); in phy_IQCalibrate_8723B()
1411 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); in phy_IQCalibrate_8723B()
1412 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7); in phy_IQCalibrate_8723B()
1413 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); in phy_IQCalibrate_8723B()
1414 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x60fbd); in phy_IQCalibrate_8723B()
1422 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_IQCalibrate_8723B()
1423pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A] = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x8, bRFRe… in phy_IQCalibrate_8723B()
1425 …result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>1… in phy_IQCalibrate_8723B()
1426 …result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; in phy_IQCalibrate_8723B()
1437 …result[t][2] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>… in phy_IQCalibrate_8723B()
1438 …result[t][3] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>… in phy_IQCalibrate_8723B()
1454 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); in phy_IQCalibrate_8723B()
1455pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_B] = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_B, 0x8, bRFRe… in phy_IQCalibrate_8723B()
1457 …result[t][4] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>1… in phy_IQCalibrate_8723B()
1458 …result[t][5] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; in phy_IQCalibrate_8723B()
1469 …result[t][6] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>… in phy_IQCalibrate_8723B()
1470 …result[t][7] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>… in phy_IQCalibrate_8723B()
1479 PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0); in phy_IQCalibrate_8723B()
1483 …_PHY_ReloadADDARegisters8723B(padapter, ADDA_REG, pDM_Odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_R… in phy_IQCalibrate_8723B()
1486 _PHY_ReloadMACRegisters8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup); in phy_IQCalibrate_8723B()
1488 …_PHY_ReloadADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQ… in phy_IQCalibrate_8723B()
1496 PHY_SetBBReg(pDM_Odm->Adapter, 0xc50, bMaskByte0, 0x50); in phy_IQCalibrate_8723B()
1497 PHY_SetBBReg(pDM_Odm->Adapter, 0xc50, bMaskByte0, tmp0xc50); in phy_IQCalibrate_8723B()
1499 PHY_SetBBReg(pDM_Odm->Adapter, 0xc58, bMaskByte0, 0x50); in phy_IQCalibrate_8723B()
1500 PHY_SetBBReg(pDM_Odm->Adapter, 0xc58, bMaskByte0, tmp0xc58); in phy_IQCalibrate_8723B()
1504 PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x01008c00); in phy_IQCalibrate_8723B()
1505 PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x01008c00); in phy_IQCalibrate_8723B()
1512 static void phy_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm, bool is2T) in phy_LCCalibrate_8723B() argument
1516 struct adapter *padapter = pDM_Odm->Adapter; in phy_LCCalibrate_8723B()
1519 tmpReg = rtw_read8(pDM_Odm->Adapter, 0xd03); in phy_LCCalibrate_8723B()
1522 rtw_write8(pDM_Odm->Adapter, 0xd03, tmpReg&0x8F); /* disable all continuous TX */ in phy_LCCalibrate_8723B()
1524 rtw_write8(pDM_Odm->Adapter, REG_TXPAUSE, 0xFF); /* block all queues */ in phy_LCCalibrate_8723B()
1537 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_AC, bMask12Bits, (RF_Amode&0x8FFFF)|0x10000); in phy_LCCalibrate_8723B()
1541 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_AC, bMask12Bits, (RF_Bmode&0x8FFFF)|0x10000); in phy_LCCalibrate_8723B()
1548 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xB0, bRFRegOffsetMask, 0xDFBE0); /* LDO ON */ in phy_LCCalibrate_8723B()
1549 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_CHNLBW, bMask12Bits, LC_Cal|0x08000); in phy_LCCalibrate_8723B()
1553 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xB0, bRFRegOffsetMask, 0xDFFE0); /* LDO OFF */ in phy_LCCalibrate_8723B()
1556 if (pDM_Odm->SupportInterface == ODM_ITRF_SDIO && pDM_Odm->PackageType >= 0x2) { in phy_LCCalibrate_8723B()
1557 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_CHNLBW, bMask12Bits, LC_Cal); in phy_LCCalibrate_8723B()
1563 rtw_write8(pDM_Odm->Adapter, 0xd03, tmpReg); in phy_LCCalibrate_8723B()
1564 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_AC, bMask12Bits, RF_Amode); in phy_LCCalibrate_8723B()
1568 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_AC, bMask12Bits, RF_Bmode); in phy_LCCalibrate_8723B()
1570 rtw_write8(pDM_Odm->Adapter, REG_TXPAUSE, 0x00); in phy_LCCalibrate_8723B()
1585 struct dm_odm_t *pDM_Odm = &pHalData->odmpriv; in PHY_IQCalibrate_8723B() local
1610 if (!(pDM_Odm->SupportAbility & ODM_RF_CALIBRATION)) in PHY_IQCalibrate_8723B()
1617 if (pDM_Odm->RFCalibrateInfo.bIQKInProgress) in PHY_IQCalibrate_8723B()
1621 pDM_Odm->RFCalibrateInfo.bIQKInProgress = true; in PHY_IQCalibrate_8723B()
1626 struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo; in PHY_IQCalibrate_8723B()
1628 …path = (PHY_QueryBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskByte0) == 0x00) ? RF_PATH_A : RF_P… in PHY_IQCalibrate_8723B()
1638 PHY_SetBBReg(pDM_Odm->Adapter, offset, bMaskDWord, data); in PHY_IQCalibrate_8723B()
1649 PHY_SetBBReg(pDM_Odm->Adapter, offset, bMaskDWord, data); in PHY_IQCalibrate_8723B()
1652 if (pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A] == 0) { in PHY_IQCalibrate_8723B()
1655 …PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXM_IDAC, bRFRegOffsetMask, pDM_Odm->RFCalibrateInfo.… in PHY_IQCalibrate_8723B()
1656 …PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_TXM_IDAC, bRFRegOffsetMask, pDM_Odm->RFCalibrateInfo.… in PHY_IQCalibrate_8723B()
1664 …_PHY_ReloadADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup_rec… in PHY_IQCalibrate_8723B()
1669 GNT_BT_default = PHY_QueryBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord); in PHY_IQCalibrate_8723B()
1738 pDM_Odm->RFCalibrateInfo.RegE94 = RegE94 = result[final_candidate][0]; in PHY_IQCalibrate_8723B()
1739 pDM_Odm->RFCalibrateInfo.RegE9C = RegE9C = result[final_candidate][1]; in PHY_IQCalibrate_8723B()
1741 pDM_Odm->RFCalibrateInfo.RegEB4 = RegEB4 = result[final_candidate][4]; in PHY_IQCalibrate_8723B()
1742 pDM_Odm->RFCalibrateInfo.RegEBC = RegEBC = result[final_candidate][5]; in PHY_IQCalibrate_8723B()
1746 pDM_Odm->RFCalibrateInfo.RegE94 = pDM_Odm->RFCalibrateInfo.RegEB4 = 0x100; /* X default value */ in PHY_IQCalibrate_8723B()
1747 pDM_Odm->RFCalibrateInfo.RegE9C = pDM_Odm->RFCalibrateInfo.RegEBC = 0x0; /* Y default value */ in PHY_IQCalibrate_8723B()
1763 pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[0][i] = result[final_candidate][i]; in PHY_IQCalibrate_8723B()
1766 …_PHY_SaveADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup_recov… in PHY_IQCalibrate_8723B()
1769 PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, GNT_BT_default); in PHY_IQCalibrate_8723B()
1775 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); in PHY_IQCalibrate_8723B()
1776 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); in PHY_IQCalibrate_8723B()
1777 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); in PHY_IQCalibrate_8723B()
1778 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xe6177); in PHY_IQCalibrate_8723B()
1779 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); in PHY_IQCalibrate_8723B()
1780 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x300bd); in PHY_IQCalibrate_8723B()
1788 ODM_SetIQCbyRFpath(pDM_Odm, 0); in PHY_IQCalibrate_8723B()
1790 ODM_SetIQCbyRFpath(pDM_Odm, 1); in PHY_IQCalibrate_8723B()
1793 pDM_Odm->RFCalibrateInfo.bIQKInProgress = false; in PHY_IQCalibrate_8723B()
1797 void PHY_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm) in PHY_LCCalibrate_8723B() argument
1802 if (!(pDM_Odm->SupportAbility & ODM_RF_CALIBRATION)) in PHY_LCCalibrate_8723B()
1809 while (*(pDM_Odm->pbScanInProcess) && timecount < timeout) { in PHY_LCCalibrate_8723B()
1814 pDM_Odm->RFCalibrateInfo.bLCKInProgress = true; in PHY_LCCalibrate_8723B()
1817 phy_LCCalibrate_8723B(pDM_Odm, false); in PHY_LCCalibrate_8723B()
1820 pDM_Odm->RFCalibrateInfo.bLCKInProgress = false; in PHY_LCCalibrate_8723B()