1 // SPDX-License-Identifier: GPL-2.0
2 /******************************************************************************
4 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
6 ******************************************************************************/
8 #include "odm_precomp.h"
10 void odm_ConfigRFReg_8723B(
14 ODM_RF_RADIO_PATH_E RF_PATH,
18 if (Addr == 0xfe || Addr == 0xffe)
21 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr, bRFRegOffsetMask, Data);
22 /* Add 1us delay between BB/RF register setting. */
25 /* For disable/enable test in high temperature, the B6 value will fail to fill. Suggestion by BB Stanley, 2013.06.25. */
30 getvalue = PHY_QueryRFReg(
31 pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
36 while ((getvalue>>8) != (Data>>8)) {
38 PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr, bRFRegOffsetMask, Data);
40 getvalue = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord);
46 "===> ODM_ConfigRFWithHeaderFile: [B6] getvalue 0x%x, Data 0x%x, count %d\n",
61 getvalue = PHY_QueryRFReg(
62 pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
67 while (getvalue != Data) {
86 getvalue = PHY_QueryRFReg(
87 pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
94 "===> ODM_ConfigRFWithHeaderFile: [B2] getvalue 0x%x, Data 0x%x, count %d\n",
109 void odm_ConfigRF_RadioA_8723B(PDM_ODM_T pDM_Odm, u32 Addr, u32 Data)
111 u32 content = 0x1000; /* RF_Content: radioa_txt */
112 u32 maskforPhySet = (u32)(content&0xE000);
114 odm_ConfigRFReg_8723B(
127 "===> ODM_ConfigRFWithHeaderFile: [RadioA] %08X %08X\n",
134 void odm_ConfigMAC_8723B(PDM_ODM_T pDM_Odm, u32 Addr, u8 Data)
136 rtw_write8(pDM_Odm->Adapter, Addr, Data);
142 "===> ODM_ConfigMACWithHeaderFile: [MAC_REG] %08X %08X\n",
149 void odm_ConfigBB_AGC_8723B(
156 PHY_SetBBReg(pDM_Odm->Adapter, Addr, Bitmask, Data);
157 /* Add 1us delay between BB/RF register setting. */
165 "===> ODM_ConfigBBWithHeaderFile: [AGC_TAB] %08X %08X\n",
172 void odm_ConfigBB_PHY_REG_PG_8723B(
182 if (Addr == 0xfe || Addr == 0xffe)
185 PHY_StoreTxPowerByRate(pDM_Odm->Adapter, Band, RfPath, TxNum, Addr, Bitmask, Data);
192 "===> ODM_ConfigBBWithHeaderFile: [PHY_REG] %08X %08X %08X\n",
200 void odm_ConfigBB_PHY_8723B(
209 else if (Addr == 0xfd)
211 else if (Addr == 0xfc)
213 else if (Addr == 0xfb)
215 else if (Addr == 0xfa)
217 else if (Addr == 0xf9)
220 PHY_SetBBReg(pDM_Odm->Adapter, Addr, Bitmask, Data);
223 /* Add 1us delay between BB/RF register setting. */
225 ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("===> ODM_ConfigBBWithHeaderFile: [PHY_REG] %08X %08X\n", Addr, Data));
228 void odm_ConfigBB_TXPWR_LMT_8723B(