1 /******************************************************************************
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
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.
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
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19 ******************************************************************************/
20 #ifndef __HAL_COM_PHYCFG_H__
21 #define __HAL_COM_PHYCFG_H__
23 #define PathA 0x0 // Useless
28 typedef enum _RATE_SECTION {
41 typedef enum _RF_TX_NUM {
47 RF_TX_NUM_NONIMPLEMENT,
50 #define MAX_POWER_INDEX 0x3F
52 typedef enum _REGULATION_TXPWR_LMT {
58 TXPWR_LMT_MAX_REGULATION_NUM = 4
59 } REGULATION_TXPWR_LMT;
61 /*------------------------------Define structure----------------------------*/
62 typedef struct _BB_REGISTER_DEFINITION{
63 u32 rfintfs; // set software control:
64 // 0x870~0x877[8 bytes]
66 u32 rfintfo; // output data:
67 // 0x860~0x86f [16 bytes]
69 u32 rfintfe; // output enable:
70 // 0x860~0x86f [16 bytes]
72 u32 rf3wireOffset; // LSSI data:
73 // 0x840~0x84f [16 bytes]
75 u32 rfHSSIPara2; // wire parameter control2 :
76 // 0x824~0x827,0x82c~0x82f, 0x834~0x837, 0x83c~0x83f [16 bytes]
78 u32 rfLSSIReadBack; //LSSI RF readback data SI mode
79 // 0x8a0~0x8af [16 bytes]
81 u32 rfLSSIReadBackPi; //LSSI RF readback data PI mode 0x8b8-8bc for Path A and B
83 }BB_REGISTER_DEFINITION_T, *PBB_REGISTER_DEFINITION_T;
86 //----------------------------------------------------------------------
90 IN WIRELESS_MODE WirelessMode,
95 PHY_GetTxPowerByRateBase(
100 IN RATE_SECTION RateSection
104 PHY_GetRateSectionIndexOfTxPowerByRate(
105 IN PADAPTER pAdapter,
111 PHY_GetRateValuesOfTxPowerByRate(
112 IN PADAPTER pAdapter,
117 OUT s8* PwrByRateVal,
122 PHY_GetRateIndexOfTxPowerByRate(
127 PHY_SetTxPowerIndexByRateSection(
128 IN PADAPTER pAdapter,
135 PHY_GetTxPowerByRate(
136 IN PADAPTER pAdapter,
144 PHY_SetTxPowerByRate(
145 IN PADAPTER pAdapter,
154 PHY_SetTxPowerLevelByPath(
161 PHY_SetTxPowerIndexByRateArray(
162 IN PADAPTER pAdapter,
164 IN CHANNEL_WIDTH BandWidth,
171 PHY_InitTxPowerByRate(
176 PHY_StoreTxPowerByRate(
177 IN PADAPTER pAdapter,
187 PHY_TxPowerByRateConfiguration(
192 PHY_GetTxPowerIndexBase(
193 IN PADAPTER pAdapter,
196 IN CHANNEL_WIDTH BandWidth,
206 IN CHANNEL_WIDTH Bandwidth,
225 PHY_ConvertTxPowerLimitToPowerIndex(
230 PHY_InitTxPowerLimit(
235 PHY_GetTxPowerTrackingOffset(
243 IN PADAPTER pAdapter,
246 IN CHANNEL_WIDTH BandWidth,
252 IN PADAPTER pAdapter,
259 Hal_ChannelPlanToRegulation(
264 #ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
265 #define MAX_PARA_FILE_BUF_LEN 25600
267 #define LOAD_MAC_PARA_FILE BIT0
268 #define LOAD_BB_PARA_FILE BIT1
269 #define LOAD_BB_PG_PARA_FILE BIT2
270 #define LOAD_BB_MP_PARA_FILE BIT3
271 #define LOAD_RF_PARA_FILE BIT4
272 #define LOAD_RF_TXPWR_TRACK_PARA_FILE BIT5
273 #define LOAD_RF_TXPWR_LMT_PARA_FILE BIT6
275 int phy_ConfigMACWithParaFile(IN PADAPTER Adapter, IN char* pFileName);
277 int phy_ConfigBBWithParaFile(IN PADAPTER Adapter, IN char* pFileName, IN u32 ConfigType);
279 int phy_ConfigBBWithPgParaFile(IN PADAPTER Adapter, IN char* pFileName);
281 int phy_ConfigBBWithMpParaFile(IN PADAPTER Adapter, IN char* pFileName);
283 int PHY_ConfigRFWithParaFile(IN PADAPTER Adapter, IN char* pFileName, IN u8 eRFPath);
285 int PHY_ConfigRFWithTxPwrTrackParaFile(IN PADAPTER Adapter, IN char* pFileName);
287 int PHY_ConfigRFWithPowerLimitTableParaFile(IN PADAPTER Adapter, IN char* pFileName);
291 #endif //__HAL_COMMON_H__