Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nu11secur1ty
GitHub Repository: nu11secur1ty/Kali-Linux
Path: blob/master/ALFA-W1F1/RTL8814AU/hal/rtl8814a/rtl8814a_rf6052.c
1307 views
1
/******************************************************************************
2
*
3
* Copyright(c) 2007 - 2017 Realtek Corporation.
4
*
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms of version 2 of the GNU General Public License as
7
* published by the Free Software Foundation.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
*****************************************************************************/
15
#define _RTL8814A_RF6052_C_
16
17
/* #include <drv_types.h> */
18
#include <rtl8814a_hal.h>
19
20
21
/*-----------------------------------------------------------------------------
22
* Function: PHY_RF6052SetBandwidth()
23
*
24
* Overview: This function is called by SetBWModeCallback8190Pci() only
25
*
26
* Input: PADAPTER Adapter
27
* WIRELESS_BANDWIDTH_E Bandwidth //20M or 40M
28
*
29
* Output: NONE
30
*
31
* Return: NONE
32
*
33
* Note: For RF type 0222D
34
*---------------------------------------------------------------------------*/
35
void
36
PHY_RF6052SetBandwidth8814A(
37
PADAPTER Adapter,
38
enum channel_width Bandwidth) /* 20M or 40M */
39
{
40
switch (Bandwidth) {
41
case CHANNEL_WIDTH_20:
42
/*RTW_INFO("PHY_RF6052SetBandwidth8814A(), set 20MHz\n");*/
43
phy_set_rf_reg(Adapter, RF_PATH_A, RF_CHNLBW_Jaguar, BIT11 | BIT10, 3);
44
phy_set_rf_reg(Adapter, RF_PATH_B, RF_CHNLBW_Jaguar, BIT11 | BIT10, 3);
45
phy_set_rf_reg(Adapter, RF_PATH_C, RF_CHNLBW_Jaguar, BIT11 | BIT10, 3);
46
phy_set_rf_reg(Adapter, RF_PATH_D, RF_CHNLBW_Jaguar, BIT11 | BIT10, 3);
47
break;
48
49
case CHANNEL_WIDTH_40:
50
/*RTW_INFO("PHY_RF6052SetBandwidth8814A(), set 40MHz\n");*/
51
phy_set_rf_reg(Adapter, RF_PATH_A, RF_CHNLBW_Jaguar, BIT11 | BIT10, 1);
52
phy_set_rf_reg(Adapter, RF_PATH_B, RF_CHNLBW_Jaguar, BIT11 | BIT10, 1);
53
phy_set_rf_reg(Adapter, RF_PATH_C, RF_CHNLBW_Jaguar, BIT11 | BIT10, 1);
54
phy_set_rf_reg(Adapter, RF_PATH_D, RF_CHNLBW_Jaguar, BIT11 | BIT10, 1);
55
break;
56
57
case CHANNEL_WIDTH_80:
58
/*RTW_INFO("PHY_RF6052SetBandwidth8814A(), set 80MHz\n");*/
59
phy_set_rf_reg(Adapter, RF_PATH_A, RF_CHNLBW_Jaguar, BIT11 | BIT10, 0);
60
phy_set_rf_reg(Adapter, RF_PATH_B, RF_CHNLBW_Jaguar, BIT11 | BIT10, 0);
61
phy_set_rf_reg(Adapter, RF_PATH_C, RF_CHNLBW_Jaguar, BIT11 | BIT10, 0);
62
phy_set_rf_reg(Adapter, RF_PATH_D, RF_CHNLBW_Jaguar, BIT11 | BIT10, 0);
63
break;
64
65
default:
66
RTW_INFO("PHY_RF6052SetBandwidth8814A(): unknown Bandwidth: %#X\n", Bandwidth);
67
break;
68
}
69
}
70
71
static int
72
phy_RF6052_Config_ParaFile_8814A(
73
PADAPTER Adapter
74
)
75
{
76
u32 u4RegValue = 0;
77
enum rf_path eRFPath;
78
int rtStatus = _SUCCESS;
79
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
80
81
/* 3 */ /* ----------------------------------------------------------------- */
82
/* 3 */ /* <2> Initialize RF */
83
/* 3 */ /* ----------------------------------------------------------------- */
84
/* for(eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++) */
85
for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++) {
86
/*----Initialize RF fom connfiguration file----*/
87
switch (eRFPath) {
88
case RF_PATH_A:
89
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
90
if (PHY_ConfigRFWithParaFile(Adapter, PHY_FILE_RADIO_A, eRFPath) == _FAIL)
91
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
92
{
93
#ifdef CONFIG_EMBEDDED_FWIMG
94
if (odm_config_rf_with_header_file(&pHalData->odmpriv, CONFIG_RF_RADIO, eRFPath) == HAL_STATUS_FAILURE)
95
rtStatus = _FAIL;
96
#endif /* CONFIG_EMBEDDED_FWIMG */
97
}
98
break;
99
case RF_PATH_B:
100
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
101
if (PHY_ConfigRFWithParaFile(Adapter, PHY_FILE_RADIO_B, eRFPath) == _FAIL)
102
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
103
{
104
#ifdef CONFIG_EMBEDDED_FWIMG
105
if (odm_config_rf_with_header_file(&pHalData->odmpriv, CONFIG_RF_RADIO, eRFPath) == HAL_STATUS_FAILURE)
106
rtStatus = _FAIL;
107
#endif /* CONFIG_EMBEDDED_FWIMG */
108
}
109
break;
110
case RF_PATH_C:
111
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
112
if (PHY_ConfigRFWithParaFile(Adapter, PHY_FILE_RADIO_C, eRFPath) == _FAIL)
113
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
114
{
115
#ifdef CONFIG_EMBEDDED_FWIMG
116
if (odm_config_rf_with_header_file(&pHalData->odmpriv, CONFIG_RF_RADIO, eRFPath) == HAL_STATUS_FAILURE)
117
rtStatus = _FAIL;
118
#endif /* CONFIG_EMBEDDED_FWIMG */
119
}
120
break;
121
case RF_PATH_D:
122
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
123
if (PHY_ConfigRFWithParaFile(Adapter, PHY_FILE_RADIO_D, eRFPath) == _FAIL)
124
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
125
{
126
#ifdef CONFIG_EMBEDDED_FWIMG
127
if (odm_config_rf_with_header_file(&pHalData->odmpriv, CONFIG_RF_RADIO, eRFPath) == HAL_STATUS_FAILURE)
128
rtStatus = _FAIL;
129
#endif /* CONFIG_EMBEDDED_FWIMG */
130
}
131
break;
132
default:
133
break;
134
}
135
136
if (rtStatus != _SUCCESS) {
137
RTW_INFO("%s():Radio[%d] Fail!!", __FUNCTION__, eRFPath);
138
goto phy_RF6052_Config_ParaFile_Fail;
139
}
140
141
}
142
143
u4RegValue = phy_query_rf_reg(Adapter, RF_PATH_A, RF_RCK1_Jaguar, bRFRegOffsetMask);
144
phy_set_rf_reg(Adapter, RF_PATH_B, RF_RCK1_Jaguar, bRFRegOffsetMask, u4RegValue);
145
phy_set_rf_reg(Adapter, RF_PATH_C, RF_RCK1_Jaguar, bRFRegOffsetMask, u4RegValue);
146
phy_set_rf_reg(Adapter, RF_PATH_D, RF_RCK1_Jaguar, bRFRegOffsetMask, u4RegValue);
147
148
/* 3 ----------------------------------------------------------------- */
149
/* 3 Configuration of Tx Power Tracking */
150
/* 3 ----------------------------------------------------------------- */
151
152
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
153
if (PHY_ConfigRFWithTxPwrTrackParaFile(Adapter, PHY_FILE_TXPWR_TRACK) == _FAIL)
154
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
155
{
156
#ifdef CONFIG_EMBEDDED_FWIMG
157
odm_config_rf_with_tx_pwr_track_header_file(&pHalData->odmpriv);
158
#endif
159
}
160
161
162
phy_RF6052_Config_ParaFile_Fail:
163
return rtStatus;
164
}
165
166
167
int
168
PHY_RF6052_Config_8814A(
169
PADAPTER Adapter)
170
{
171
int rtStatus = _SUCCESS;
172
173
/* */
174
/* Config BB and RF */
175
/* */
176
rtStatus = phy_RF6052_Config_ParaFile_8814A(Adapter);
177
178
return rtStatus;
179
}
180
181
182
/* End of HalRf6052.c */
183
184