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(
11 struct dm_odm_t *pDM_Odm,
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);
50 getvalue = PHY_QueryRFReg(
51 pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
56 while (getvalue != Data) {
75 getvalue = PHY_QueryRFReg(
76 pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
87 void odm_ConfigRF_RadioA_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Data)
89 u32 content = 0x1000; /* RF_Content: radioa_txt */
90 u32 maskforPhySet = (u32)(content&0xE000);
92 odm_ConfigRFReg_8723B(
101 void odm_ConfigMAC_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u8 Data)
103 rtw_write8(pDM_Odm->Adapter, Addr, Data);
106 void odm_ConfigBB_AGC_8723B(
107 struct dm_odm_t *pDM_Odm,
113 PHY_SetBBReg(pDM_Odm->Adapter, Addr, Bitmask, Data);
114 /* Add 1us delay between BB/RF register setting. */
118 void odm_ConfigBB_PHY_REG_PG_8723B(
119 struct dm_odm_t *pDM_Odm,
126 if (Addr == 0xfe || Addr == 0xffe)
129 PHY_StoreTxPowerByRate(pDM_Odm->Adapter, RfPath, Addr, Bitmask, Data);
133 void odm_ConfigBB_PHY_8723B(
134 struct dm_odm_t *pDM_Odm,
142 else if (Addr == 0xfd)
144 else if (Addr == 0xfc)
146 else if (Addr == 0xfb)
148 else if (Addr == 0xfa)
150 else if (Addr == 0xf9)
153 PHY_SetBBReg(pDM_Odm->Adapter, Addr, Bitmask, Data);
156 /* Add 1us delay between BB/RF register setting. */
160 void odm_ConfigBB_TXPWR_LMT_8723B(
161 struct dm_odm_t *pDM_Odm,