?? physet.c
字號:
WRITE_WT4( 0x18f, 0xa0, 1); WRITE_WT4( 0x196, 0x90, 1); WRITE_WT4( 0x197, 0x80, 1); WRITE_WT4( 0x19a, 0x78, 1); } //just for test by hk 2005.11.24 WRITE_WT4( 0x178, 0x33, 1); WRITE_WT4( 0x12c, 0x12, 1); WRITE_WT4( 0x6e, 0x30, 1); WRITE_WT4( 0x70, 0x04, 1); WRITE_WT4( 0x74, 0x1fffff, 4); WRITE_WT4( 0xb8, 0x0201, 2); WRITE_WT4( 0xc4, 0x61a8, 2); WRITE_WT4( 0xc0, 0x01, 1); WRITE_WT4( 0x194, 0x64, 1);#ifdef WT_1_1G_ADAPTER Set1_1GAdapterInit(Adapter);#endif //WT_1_1G_ADAPTER}void RF2230Init(IN PWT_ADAPTER Adapter){ printk("enter RF2230Init \n");// WRITE_WT4( 0x14c, 0x80002004, 4); WRITE_WT4( 0x14c, 0x80002044, 4); WRITE_WT4( 0x154, 0x03f790,4); WRITE_WT4( 0x154, 0x033331,4); WRITE_WT4( 0x154, 0x01b802,4); WRITE_WT4( 0x154, 0x00fff3,4); WRITE_WT4( 0x154, 0x0005a4,4); WRITE_WT4( 0x154, 0x044dc5,4); WRITE_WT4( 0x154, 0x0805b6,4); WRITE_WT4( 0x154, 0x0146c7,4); WRITE_WT4( 0x154, 0x000688,4); WRITE_WT4( 0x154, 0x0403b9,4); WRITE_WT4( 0x154, 0x00dbba,4); WRITE_WT4( 0x154, 0x00099b,4); WRITE_WT4( 0x154, 0x0bdffc,4); WRITE_WT4( 0x154, 0x00000d,4); WRITE_WT4( 0x154, 0x00580f,4); 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);}/////初始化RFAL2230 rf//add by YUYS 2007.06.11void RFAL2230Init(IN PWT_ADAPTER Adapter){ //WRITE_WT4( 0x14c, 0x80002044, 4); WRITE_WT4( 0x14c, 0x80002044, 4); WRITE_WT4( 0x154, 0x03f790,4); WRITE_WT4( 0x154, 0x033331,4); WRITE_WT4( 0x154, 0x01a002,4);// WRITE_WT4( 0x154, 0x00fff3,4); WRITE_WT4( 0x154, 0x0005a4,4); WRITE_WT4( 0x154, 0x0f4dc5,4);// WRITE_WT4( 0x154, 0x0805b6,4); WRITE_WT4( 0x154, 0x0146c7,4); WRITE_WT4( 0x154, 0x000688,4); WRITE_WT4( 0x154, 0x0403b9,4); WRITE_WT4( 0x154, 0x00dbba,4); WRITE_WT4( 0x154, 0x00099b,4); WRITE_WT4( 0x154, 0x0bdffc,4); WRITE_WT4( 0x154, 0x00000d,4); WRITE_WT4( 0x154, 0x00580f,4); 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);}void WtWlanInitWtRf(WT_ADAPTER *Adapter){ FN_ENTER; WRITE_WT4( 0x00, 0x28, 1); //chip frequence WtWlanHwRFReset(Adapter); WtWlanInterMemInit( Adapter ); WtWlanTestInit( Adapter ); WRITE_WT4( 0x5c, 0x09, 1); WRITE_WT4( 0x60, 0x10, 1); WRITE_WT4( 0x64, 0x140, 2); WRITE_WT4( 0x68, 0x30, 1); WRITE_WT4( 0x6c, 0x90, 1); WRITE_WT4( 0x70, 0x04, 1); WRITE_WT4( 0x74, 0x14, 1); WRITE_WT4( 0xb8, 0x00, 2); WRITE_WT4( 0xc4, 0x61a8, 2); WRITE_WT4( 0xc0, 0x01, 1); //WRITE_WT4( 0x12c, 0x12, 1); WRITE_WT4( 0x12c, 0x92, 1); WRITE_WT4( 0x14c, 0x1204, 2);//1206 WRITE_WT4( 0x170, 0x36, 1); WRITE_WT4( 0x174, 0x25, 1); WRITE_WT4( 0x178, 0xf3, 1); WRITE_WT4( 0x188, 0x08, 1); WRITE_WT4( 0x18c, 0x18, 1); WRITE_WT4( 0x194, 0x64, 1); WRITE_WT4( 0x19c, 0x38, 1); WRITE_WT4( 0x1cc, 0x28, 1); WRITE_WT4( 0x154, 0x2a9a6, 4); WRITE_WT4( 0x154, 0x33cc3, 4); WRITE_WT4( 0x154, 0x8ccc, 4); WRITE_WT4( 0x154, 0x214c0, 4); FN_EXIT(0,0);}//check endianvoid WtWlanSoftReset( IN PWT_ADAPTER Adapter)//like hardware reset{ CHIPCTRL RegCtrl; udelay( NIC_DELAY_DURING_RESET ); RegCtrl.RegChipCtrl = ieee2host16(Adapter->MainMemAddress->HwCSMem.CSRAddress.ChipCtrl.RegChipCtrl); udelay( NIC_DELAY_DURING_RESET ); RegCtrl.RegChipCtrl &= (~(unsigned short)MASK_SOFT_RESET); Adapter->MainMemAddress->HwCSMem.CSRAddress.ChipCtrl.RegChipCtrl = host2ieee16(RegCtrl.RegChipCtrl); udelay( NIC_DELAY_DURING_RESET ); RegCtrl.RegChipCtrl |=MASK_SOFT_RESET; Adapter->MainMemAddress->HwCSMem.CSRAddress.ChipCtrl.RegChipCtrl = host2ieee16(RegCtrl.RegChipCtrl); udelay( NIC_DELAY_DURING_RESET ); RegCtrl.RegChipCtrl &= (~(unsigned short)MASK_SOFT_RESET); Adapter->MainMemAddress->HwCSMem.CSRAddress.ChipCtrl.RegChipCtrl = host2ieee16(RegCtrl.RegChipCtrl); udelay( NIC_DELAY_DURING_RESET );}//對硬件進行復位void WtWlanHardRest(IN PWT_ADAPTER Adapter){ //NdisStallExecution( HARDWARE_RESET_DELAY ); //Adapter->MainMemAddress->HwCSMem.CSRAddress.ChipCtrl.RegChipCtrl |= 0x01; //NdisStallExecution( HARDWARE_RESET_DELAY ); //NdisStallExecution( 50 ); //NdisStallExecution( HARDWARE_RESET_DELAY ); //Adapter->MainMemAddress->HwCSMem.BBCSMem.OFDMCmdEn |= 0x0040; //NdisStallExecution( HARDWARE_RESET_DELAY ); //Adapter->MainMemAddress->HwCSMem.BBCSMem.OFDMCmdEn &= ~0x0040; //NdisStallExecution( HARDWARE_RESET_DELAY ); //NdisStallExecution( 50 ); //NdisStallExecution( 50 );}void WtWlanHwRFReset( IN PWT_ADAPTER Adapter){#if 0#define MASK_RF_SHUTDOWN 0X01#define MASK_RF_RADIOPE 0X02#define MASK_RF_RESET 0X04#endif //0x150 Adapter->MainMemAddress->HwCSMem.CSRAddress.RFIfCtrl = 4; udelay( NIC_RF_RESET_DELAY ); Adapter->MainMemAddress->HwCSMem.CSRAddress.RFIfCtrl =0; udelay( NIC_RF_RESET_DELAY ); Adapter->MainMemAddress->HwCSMem.CSRAddress.RFIfCtrl = 3; udelay( NIC_RF_RESET_DELAY ); }void WtWlanSetTTL( IN PWT_ADAPTER Adapter, ULONG MsduTTL){ Adapter->Ndis80211Parameter.dot11MaxReceiveLifetime = MsduTTL; Adapter->MainMemAddress->HwCSMem.ProtoParam.MsduTTL = host2ieee32( MsduTTL&0xFFFFFF );}void WtWlanSetHwSeq( IN PWT_ADAPTER Adapter, USHORT seq, UCHAR step){ Adapter->MacParameter.mSeqNum = seq; Adapter->MacParameter.mStep = step; Adapter->MainMemAddress->HwCSMem.ProtoParam.FrmSN = host2ieee16( seq ); Adapter->MainMemAddress->HwCSMem.ProtoParam.FrmSeqStep = step; Adapter->MacParameter.bHwSeq = TRUE;}void WtWlanPrivacyInit( IN PWT_ADAPTER Adapter){ Adapter->MainMemAddress->HwCSMem.EncyptCSMem.DecryptModeUnicast = ENCRYPT_NONE; Adapter->MainMemAddress->HwCSMem.EncyptCSMem.DecryptModeMulticast = ENCRYPT_NONE;}void WtWlanHwMacAddrInit( IN PWT_ADAPTER Adapter){ //78 WT_MEMCOPY( &Adapter->MainMemAddress->HwCSMem.NetMacAddress.MacAddress, Adapter->MacParameter.dot11MacAddress,6 ); //80 WT_MEMCOPY( &Adapter->MainMemAddress->HwCSMem.NetMacAddress.NetAddress, Adapter->MacParameter.mBssid,6 ); /* WT_MEMSET( &Adapter->MainMemAddress->HwCSMem.NetMacAddress.NetAddress, 6, 0xFF ); */ }void Test64BitReadAndWrite( IN PWT_ADAPTER Adapter){ unsigned long long systime, testa; testa = 0x0123456789abcdefull; WRITE64_WT4( OFFSET_SYSTIMER, 0x0123456789abcdefull ); READ64_WT4( OFFSET_SYSTIMER, systime); Dump((char *)(&systime), 8, TRUE, 1 ); Dump((char *)(&testa), 8, TRUE, 1 );}void WtWlanHwTimerInit( IN PWT_ADAPTER Adapter){ //a8 WRITE64_WT4( OFFSET_SYSTIMER, 0x12ull );// random data to initialize //b8 Adapter->MainMemAddress->HwCSMem.ProtoParam.HwNavTime = host2ieee16( 0x201 );}void WtWlanHwIntInit( IN PWT_ADAPTER Adapter){#if 0#define MASK_INT_ALL 0X01#define MASK_INT_TXEND 0X02#define MASK_INT_RXSTART 0X04#define MASK_INT_RXEND 0X08#define MASK_INT_TIMER_BEACON 0X10
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -