?? physet.c
字號:
#include "wtprecomp.h"/*!<br>功能:與1.1G項目相關的<br><br>*/void Set1_1GRF(IN PWT_ADAPTER Adapter){// DBGPRINT(WT_SEND,("1.1G RF set \n")); ////////1M #ifdef __2_4__ WRITE_WT4(0x154,0x0000104a,4); ///////930mHz WRITE_WT4(0x154,0x0000200c,4); ///////930mHz WRITE_WT4(0x154,0x00003027,4); WRITE_WT4(0x154,0x00004c15,4); #endif WRITE_WT4(0x154,0x00001020,4); ///////930mHz WRITE_WT4(0x154,0x00002000,4); ///////930mHz WRITE_WT4(0x154,0x00003027,4); WRITE_WT4(0x154,0x00004c17,4); ////socket D 1# mismatch power 40h //addr is 78000154 ////I mismatch //data is 009f0000 WRITE_WT4(0x154,0x00009f06,4); //addr is 78000154 ////I mismatch //data is 04af0000 WRITE_WT4(0x154,0x0000af30,4); //addr is 78000154 ////q mismatch //data is 00bf0000 WRITE_WT4(0x154,0x0000bf00,4); //addr is 78000154 ////q mismatch //data is 0bcf0000 WRITE_WT4(0x154,0x0000cf01,4); }void Set1_1GAdapterInit(IN PWT_ADAPTER Adapter){ WRITE_WT4(0x170,0x1a23be,4); WRITE_WT4(0x174,0xc2803f,4); WRITE_WT4(0x184,0xd4,1); WRITE_WT4(0x1a4,0xd4,1); WRITE_WT4(0x14c,0x1040,4); WRITE_WT4(0x181,0x01,1); WRITE_WT4(0x188,0x10,1); WRITE_WT4(0x17a,0x02,1); WRITE_WT4(0x17b,0x12,1); WRITE_WT4(0x17e,0x22,1); WRITE_WT4(0x17f,0x26,1); WRITE_WT4(0x182,0x2e,1); WRITE_WT4(0x183,0x2e,1); WRITE_WT4(0x186,0x2e,1); WRITE_WT4(0x18a,0x2b,1); WRITE_WT4(0x18b,0x55,1); WRITE_WT4(0x18e,0xaa,1); WRITE_WT4(0x18f,0xd5,1); WRITE_WT4(0x196,0xff,1); WRITE_WT4(0x197,0xff,1); WRITE_WT4(0x19a,0xff,1); WRITE_WT4(0x19c,0x38,1); //WRITE_WT4(0x19c,0x0a,1); WRITE_WT4(0x1cc,0x5a,1); WRITE_WT4(0x1d8,0x11,1); WRITE_WT4(0x1f0,0x67,1); WRITE_WT4(0x18c,0x20,1); WRITE_WT4(0x178,0xf3,1); WRITE_WT4(0x17c,0x09,1); WRITE_WT4(0x19c,0x38,1);// DBGPRINT(WT_SEND,("1.1G RF set \n"));}/// <summary>/// 功能定義:掃描切換RF2230 rf 的信道/// </summary>///////// <param name="Adapter">適配器上下文環境</param>////// <returns>1</returns>////// <para>///函數實現: 根據信道號,從信道列表中找到對應的參數,然后逐一寫到0x154寄存器即可。int RF2230_set(PWT_ADAPTER Adapter, int Channel){ int channeltotal = 0;// unsigned int data = 0; int i =0; RF_CONF_DAT rf_conf_array[] = { //頻率;信道;寄存器0;寄存器1;寄存器4;保留 {2412, 1, 0x03f790, 0x033331, 0x0, 0x0 }, {2417, 2, 0x03f790, 0x0b3331, 0x0, 0x0 }, {2422, 3, 0x03e790, 0x033331, 0x0, 0x0 }, {2427, 4, 0x03e790, 0x0b3331, 0x0, 0x0 }, {2432, 5, 0x03f7a0, 0x033331, 0x0, 0x0 }, {2437, 6, 0x03f7a0, 0x0b3331, 0x0, 0x0 }, {2442, 7, 0x03e7a0, 0x033331, 0x0, 0x0 }, {2447, 8, 0x03e7a0, 0x0b3331, 0x0, 0x0 }, {2452, 9, 0x03f7b0, 0x033331, 0x0, 0x0 }, {2457, 10, 0x03f7b0, 0x0b3331, 0x0, 0x0 }, {2462, 11, 0x03e7b0, 0x033331, 0x0, 0x0 }, {2467, 12, 0x03e7b0, 0x0b3331, 0x0, 0x0 }, {2472, 13, 0x03f7c0, 0x033331, 0x0, 0x0 }, {2484, 14, 0x03e7c0, 0x066661, 0x0, 0x0 }, //{5180, 36, 0x0ff560, 0x0aaab1, 0x7fd784, 0x0 }, //{5200, 40, 0x0ff570, 0x155551, 0x7fd784, 0x0 }, //{5220, 44, 0x0ff570, 0x000001, 0x6fd784, 0x0 }, //{5240, 48, 0x0ff570, 0x0aaab1, 0x7fd784, 0x0 }, //{5260, 52, 0x0ff580, 0x155551, 0x7fd784, 0x0 }, //{5280, 56, 0x0ff580, 0x000001, 0x6fd784, 0x0 }, //{5300, 60, 0x0ff580, 0x0aaab1, 0x7fd784, 0x0 }, //{5320, 64, 0x0ff590, 0x155551, 0x7fd784, 0x0 }, //japan channel edit by wp 2006.2.6 /*{5170, 34, 0x000ff560, 0x00055551, 0x0007fd784, 0x0}, {5190, 38, 0x000ff570, 0x00100001, 0x0007fd784, 0x0}, {5210, 42, 0x000ff570, 0x001aaab1, 0x0007fd784, 0x0}, {5230, 46, 0x000ff570, 0x00055551, 0x0007fd784, 0x0},*/ }; if(Adapter->RegMacParameter.RfType != RF2230) return FALSE; channeltotal = (sizeof(rf_conf_array)/sizeof(RF_CONF_DAT)); for(i=0; i<channeltotal; i++) { if(rf_conf_array[i].ch_no == Channel) { if(Adapter->RegMacParameter.ABGMode == IEEE80211A_ONLY) { } else {// DBGPRINT(WT_TRACE, ("RFAiroha switch channel %d,\n", Channel)); WRITE_WT4( 0x154, rf_conf_array[i].reg0,4); WRITE_WT4( 0x154, rf_conf_array[i].reg1,4); udelay(SWITCH_CHANNEL_DELAY+6); udelay(SWITCH_CHANNEL_DELAY+6); udelay(SWITCH_CHANNEL_DELAY+6); WRITE_WT4( 0x154, 0x00d80f,4); udelay(SWITCH_CHANNEL_DELAY+6); WRITE_WT4( 0x154, 0x00780f,4); udelay(SWITCH_CHANNEL_DELAY+6); WRITE_WT4( 0x154, 0x00580f,4); } return TRUE; } } return FALSE;}void WtWlanInterMemInit( IN PWT_ADAPTER Adapter){ //TX USHORT nLen = 0; USHORT nHwKeyItemLen = 0; Adapter->MacHwCfg.ulHwHeadLen = MAX_HW_HEAD_LEN; Adapter->MacHwCfg.ulHwTxCellLen = MAX_TX_CELL_LEN; Adapter->MacHwCfg.ulHwRxCellLen = MAX_RX_CELL_LEN; Adapter->MainMemAddress->HwCSMem.SysCfg.TxHeadAddrBank0 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxBodyAddrBank0 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwTxCellLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxHeadAddrBank1 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxBodyAddrBank1 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwTxCellLen;#ifndef WT_11B_SCO Adapter->MainMemAddress->HwCSMem.SysCfg.TxHeadAddrBank2 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxBodyAddrBank2 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwTxCellLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxHeadAddrBank3 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxBodyAddrBank3 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwTxCellLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxHeadAddrBank4 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.TxBodyAddrBank4 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwTxCellLen;#endif //RX Adapter->MainMemAddress->HwCSMem.SysCfg.RxHeadAddrBank0 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.RxBodyAddrBank0 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwRxCellLen; Adapter->MainMemAddress->HwCSMem.SysCfg.RxHeadAddrBank1 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.RxBodyAddrBank1 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwRxCellLen;#ifndef WT_11B_SCO Adapter->MainMemAddress->HwCSMem.SysCfg.RxHeadAddrBank2 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.RxBodyAddrBank2 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwRxCellLen; Adapter->MainMemAddress->HwCSMem.SysCfg.RxHeadAddrBank3 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwHeadLen; Adapter->MainMemAddress->HwCSMem.SysCfg.RxBodyAddrBank3 = host2ieee16( nLen ); nLen+=Adapter->MacHwCfg.ulHwRxCellLen;#endif Adapter->MacHwCfg.HeadLen =Adapter->MacHwCfg.ulHwHeadLen; Adapter->MacHwCfg.BodyLen = ( Adapter->MacHwCfg.ulHwTxCellLen > Adapter->MacHwCfg.ulHwRxCellLen ) ? Adapter->MacHwCfg.ulHwTxCellLen : Adapter->MacHwCfg.ulHwRxCellLen; nHwKeyItemLen = sizeof(WTWLAN_HWKEYTABLE); Adapter->MacHwCfg.KeyMapBaseAddr = nLen ; Adapter->MainMemAddress->HwCSMem.SysCfg.KeyMapAddr = host2ieee16( nLen ); Adapter->MainMemAddress->HwCSMem.SysCfg.KeyMapLen = (MAX_INTERNAL_MEM_LEN - nLen)/nHwKeyItemLen; memset( &(Adapter->MainMemAddress->HwKeyTable), 0, 0x400);}void WtWlanTestInit( IN PWT_ADAPTER Adapter){ // test value: WT_MEMCOPY( Adapter->MainMemAddress->HwCSMem.NetMacAddress.MacAddress, Adapter->PermanentAddress,6); WT_MEMCOPY( Adapter->MainMemAddress->HwCSMem.NetMacAddress.NetAddress, Adapter->PermanentAddress,6);/* WT_MEMSET( &Adapter->MainMemAddress->HwCSMem.NetMacAddress.NetAddress, 6, 0xFF );*/ //WRITE_WT4( 0x1c2, 0x00, 1); //mxx add 06.11.08 if(Adapter->RegMacParameter.RfType == RF2230) { WRITE_WT4( 0x184, 0xd0, 1);//RX vga增益控制輸出 } else { WRITE_WT4( 0x184, 0xd4, 1); } if(Adapter->RegMacParameter.RfType == RFMD) { WRITE_WT4( 0x154, 0xe00000, 4); WRITE_WT4( 0x154, 0xc2bf60, 4); WRITE_WT4( 0x154, 0x9a9010, 4); WRITE_WT4( 0x154, 0x666670, 4); WRITE_WT4( 0x154, 0xfe5688, 4); WRITE_WT4( 0x154, 0xc2bb68, 4); WRITE_WT4( 0x154, 0x9f9818, 4); WRITE_WT4( 0x154, 0x666678, 4); WRITE_WT4( 0x154, 0xf6a284, 4); WRITE_WT4( 0x154, 0x5fe7a4, 4); WRITE_WT4( 0x154, 0x940094, 4); WRITE_WT4( 0x154, 0x34, 4); WRITE_WT4( 0x154, 0x0c, 4); WRITE_WT4( 0x154, 0xec, 4); WRITE_WT4( 0x154, 0xf0781c, 4); WRITE_WT4( 0x154, 0xf00036, 4); WRITE_WT4( 0x17a, 0x05, 1); WRITE_WT4( 0x17b, 0x0d, 1); WRITE_WT4( 0x17e, 0x1d, 1); WRITE_WT4( 0x17f, 0x2d, 1); WRITE_WT4( 0x182, 0x3d, 1); WRITE_WT4( 0x183, 0x4d, 1); WRITE_WT4( 0x186, 0x55, 1); WRITE_WT4( 0x18a, 0xc8, 1); WRITE_WT4( 0x18b, 0xc0, 1); WRITE_WT4( 0x18e, 0xb0, 1);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -