1 /****************************************************************************** 2 * 3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. 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 * 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 17 * 18 * 19 ******************************************************************************/ 20 #ifndef __INC_HAL8814PHYCFG_H__ 21 #define __INC_HAL8814PHYCFG_H__ 22 23 24 /*--------------------------Define Parameters-------------------------------*/ 25 #define LOOP_LIMIT 5 26 #define MAX_STALL_TIME 50 //us 27 #define AntennaDiversityValue 0x80 //(Adapter->bSoftwareAntennaDiversity ? 0x00:0x80) 28 #define MAX_TXPWR_IDX_NMODE_92S 63 29 #define Reset_Cnt_Limit 3 30 31 32 #ifdef CONFIG_PCI_HCI 33 #define MAX_AGGR_NUM 0x0B 34 #else 35 #define MAX_AGGR_NUM 0x07 36 #endif // CONFIG_PCI_HCI 37 38 39 /*--------------------------Define Parameters-------------------------------*/ 40 41 /*------------------------------Define structure----------------------------*/ 42 43 44 /* BB/RF related */ 45 46 #define SIC_ENABLE 0 47 48 /*------------------------------Define structure----------------------------*/ 49 50 51 /*------------------------Export global variable----------------------------*/ 52 /*------------------------Export global variable----------------------------*/ 53 54 55 /*------------------------Export Marco Definition---------------------------*/ 56 /*------------------------Export Marco Definition---------------------------*/ 57 58 59 /*--------------------------Exported Function prototype---------------------*/ 60 //1. BB register R/W API 61 62 extern u32 63 PHY_QueryBBReg8814A( IN PADAPTER Adapter, 64 IN u32 RegAddr, 65 IN u32 BitMask ); 66 67 68 VOID 69 PHY_SetBBReg8814A( IN PADAPTER Adapter, 70 IN u32 RegAddr, 71 IN u32 BitMask, 72 IN u32 Data ); 73 74 75 extern u32 76 PHY_QueryRFReg8814A( IN PADAPTER Adapter, 77 IN u8 eRFPath, 78 IN u32 RegAddr, 79 IN u32 BitMask ); 80 81 82 void 83 PHY_SetRFReg8814A( IN PADAPTER Adapter, 84 IN u8 eRFPath, 85 IN u32 RegAddr, 86 IN u32 BitMask, 87 IN u32 Data ); 88 89 //1 3. Initial BB/RF config by reading MAC/BB/RF txt. 90 s32 91 phy_BB8814A_Config_ParaFile( 92 IN PADAPTER Adapter 93 ); 94 95 96 RT_STATUS 97 PHY_BBConfigMP_8814A( 98 IN PADAPTER Adapter 99 ); 100 101 VOID 102 PHY_ConfigBB_8814A( 103 IN PADAPTER Adapter 104 ); 105 106 107 VOID 108 phy_ADC_CLK_8814A( 109 IN PADAPTER Adapter 110 ); 111 112 s32 113 PHY_RFConfig8814A( 114 IN PADAPTER Adapter 115 ); 116 117 // 118 // RF Power setting 119 // 120 //BOOLEAN PHY_SetRFPowerState8814A(PADAPTER Adapter, rt_rf_power_state eRFPowerState); 121 122 //1 5. Tx Power setting API 123 124 VOID 125 PHY_GetTxPowerLevel8814( 126 IN PADAPTER Adapter, 127 OUT ps4Byte powerlevel 128 ); 129 130 VOID 131 PHY_SetTxPowerLevel8814( 132 IN PADAPTER Adapter, 133 IN u8 Channel 134 ); 135 136 u8 137 PHY_GetTxPowerIndex_8814A( 138 IN PADAPTER Adapter, 139 IN u8 RFPath, 140 IN u8 Rate, 141 IN CHANNEL_WIDTH BandWidth, 142 IN u8 Channel 143 ); 144 145 VOID 146 PHY_SetTxPowerIndex_8814A( 147 IN PADAPTER Adapter, 148 IN u32 PowerIndex, 149 IN u8 RFPath, 150 IN u8 Rate 151 ); 152 153 154 BOOLEAN 155 PHY_UpdateTxPowerDbm8814A( 156 IN PADAPTER Adapter, 157 IN s4Byte powerInDbm 158 ); 159 160 161 u32 162 PHY_GetTxBBSwing_8814A( 163 IN PADAPTER Adapter, 164 IN BAND_TYPE Band, 165 IN u8 RFPath 166 ); 167 168 169 170 //1 6. Channel setting API 171 172 VOID 173 PHY_SwChnlTimerCallback8814A( 174 IN PRT_TIMER pTimer 175 ); 176 177 VOID 178 PHY_SwChnlWorkItemCallback8814A( 179 IN PVOID pContext 180 ); 181 182 183 VOID 184 HAL_HandleSwChnl8814A( 185 IN PADAPTER pAdapter, 186 IN u8 channel 187 ); 188 189 VOID 190 PHY_SwChnlSynchronously8814A( IN PADAPTER pAdapter, 191 IN u8 channel ); 192 193 VOID 194 PHY_SwChnlAndSetBWModeCallback8814A(IN PVOID pContext); 195 196 197 VOID 198 PHY_HandleSwChnlAndSetBW8814A( 199 IN PADAPTER Adapter, 200 IN BOOLEAN bSwitchChannel, 201 IN BOOLEAN bSetBandWidth, 202 IN u8 ChannelNum, 203 IN CHANNEL_WIDTH ChnlWidth, 204 IN u8 ChnlOffsetOf40MHz, 205 IN u8 ChnlOffsetOf80MHz, 206 IN u8 CenterFrequencyIndex1 207 ); 208 209 210 BOOLEAN 211 PHY_QueryRFPathSwitch_8814A( IN PADAPTER pAdapter); 212 213 214 215 //VOID PHY_SetMonitorMode8814A(PADAPTER pAdapter, BOOLEAN bEnableMonitorMode); 216 217 218 #if (USE_WORKITEM) 219 VOID 220 RtCheckForHangWorkItemCallback8814A( 221 IN PVOID pContext 222 ); 223 #endif 224 225 BOOLEAN 226 SetAntennaConfig8814A( 227 IN PADAPTER Adapter, 228 IN u8 DefaultAnt 229 ); 230 231 VOID 232 PHY_SetRFEReg8814A( 233 IN PADAPTER Adapter, 234 IN BOOLEAN bInit, 235 IN u8 Band 236 ); 237 238 239 s32 240 PHY_SwitchWirelessBand8814A( 241 IN PADAPTER Adapter, 242 IN u8 Band 243 ); 244 245 VOID 246 PHY_SetIO_8814A( 247 PADAPTER pAdapter 248 ); 249 250 VOID 251 PHY_SetBWMode8814( 252 IN PADAPTER Adapter, 253 IN CHANNEL_WIDTH Bandwidth, // 20M or 40M 254 IN u8 Offset // Upper, Lower, or Don't care 255 ); 256 257 VOID 258 PHY_SwChnl8814( 259 IN PADAPTER Adapter, 260 IN u8 channel 261 ); 262 263 VOID 264 PHY_SetSwChnlBWMode8814( 265 IN PADAPTER Adapter, 266 IN u8 channel, 267 IN CHANNEL_WIDTH Bandwidth, 268 IN u8 Offset40, 269 IN u8 Offset80 270 ); 271 272 s32 PHY_MACConfig8814(PADAPTER Adapter); 273 int PHY_BBConfig8814(PADAPTER Adapter); 274 VOID PHY_Set_SecCCATH_by_RXANT_8814A(PADAPTER pAdapter, u4Byte ulAntennaRx); 275 276 277 278 /*--------------------------Exported Function prototype---------------------*/ 279 280 /*--------------------------Exported Function prototype---------------------*/ 281 #endif // __INC_HAL8192CPHYCFG_H 282 283