?? zdhw.c
字號:
HW_Set_IF_Synthesizer(pObj, 0x0a0000);
HW_Set_IF_Synthesizer(pObj, GRF5101T[ChannelNo]);
HW_Set_IF_Synthesizer(pObj, 0x06e380);
HW_Set_IF_Synthesizer(pObj, 0x16cb94);
HW_Set_IF_Synthesizer(pObj, 0x0e1740);
HW_Set_IF_Synthesizer(pObj, 0x014980);
HW_Set_IF_Synthesizer(pObj, 0x116240);
HW_Set_IF_Synthesizer(pObj, 0x090000);
HW_Set_IF_Synthesizer(pObj, 0x192304);
HW_Set_IF_Synthesizer(pObj, 0x05112f);
HW_Set_IF_Synthesizer(pObj, 0x0d54a8);
HW_Set_IF_Synthesizer(pObj, 0x0f8000);
HW_Set_IF_Synthesizer(pObj, 0x1c0008);
HW_Set_IF_Synthesizer(pObj, 0x1c0000);
HW_Set_IF_Synthesizer(pObj, GRF5101T[ChannelNo]);
HW_Set_IF_Synthesizer(pObj, 0x1c0008);
HW_Set_IF_Synthesizer(pObj, 0x150000);
HW_Set_IF_Synthesizer(pObj, 0x0c7000);
HW_Set_IF_Synthesizer(pObj, 0x150800);
HW_Set_IF_Synthesizer(pObj, 0x150000);
}
else{
HW_Set_IF_Synthesizer(pObj, 0x1c0000);
HW_Set_IF_Synthesizer(pObj, GRF5101T[ChannelNo]);
HW_Set_IF_Synthesizer(pObj, 0x1c0008);
}
}
void
HW_Set_AL2210MPVB_Chips(zd_80211Obj_t *pObj, U32 ChannelNo, U8 InitChOnly)
{
void *reg = pObj->reg;
U32 tmpvalue;
pObj->SetReg(reg, ZD_PE1_PE2, 2);
if (!InitChOnly){
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR9, 0xe0);
pObj->SetReg(reg, ZD_CR10, 0x91);
pObj->SetReg(reg, ZD_CR12, 0x90);
pObj->SetReg(reg, ZD_CR15, 0xd0);
pObj->SetReg(reg, ZD_CR16, 0x40);
pObj->SetReg(reg, ZD_CR17, 0x58);
pObj->SetReg(reg, ZD_CR18, 0x04);
pObj->SetReg(reg, ZD_CR23, 0x66);
pObj->SetReg(reg, ZD_CR24, 0x14);
pObj->SetReg(reg, ZD_CR26, 0x90);
pObj->SetReg(reg, ZD_CR27, 0x30);
pObj->SetReg(reg, ZD_CR31, 0x80);
pObj->SetReg(reg, ZD_CR34, 0x06);
pObj->SetReg(reg, ZD_CR35, 0x3e);
pObj->SetReg(reg, ZD_CR38, 0x38);
pObj->SetReg(reg, ZD_CR46, 0x90);
pObj->SetReg(reg, ZD_CR47, 0x1E);
pObj->SetReg(reg, ZD_CR64, 0x64);
pObj->SetReg(reg, ZD_CR79, 0xb5);
pObj->SetReg(reg, ZD_CR80, 0x38);
pObj->SetReg(reg, ZD_CR81, 0x30);
pObj->SetReg(reg, ZD_CR113, 0xc0);
pObj->SetReg(reg, ZD_CR127, 0x03);
UnLockPhyReg(pObj);
HW_Set_IF_Synthesizer(pObj, AL2210TB[ChannelNo]);
HW_Set_IF_Synthesizer(pObj, 0x00fcb1);
HW_Set_IF_Synthesizer(pObj, 0x358132);
HW_Set_IF_Synthesizer(pObj, 0x0108b3);
HW_Set_IF_Synthesizer(pObj, 0xc77804);
HW_Set_IF_Synthesizer(pObj, 0x456415);
HW_Set_IF_Synthesizer(pObj, 0xff2226);
HW_Set_IF_Synthesizer(pObj, 0x806667);
HW_Set_IF_Synthesizer(pObj, 0x7860f8);
HW_Set_IF_Synthesizer(pObj, 0xbb01c9);
HW_Set_IF_Synthesizer(pObj, 0x00000A);
HW_Set_IF_Synthesizer(pObj, 0x00000B);
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR47, 0x1E);
tmpvalue = pObj->GetReg(reg, ZD_RADIO_PD);
tmpvalue &= ~BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
tmpvalue |= BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
pObj->SetReg(reg, ZD_RFCFG, 0x5);
pObj->DelayUs(100);
pObj->SetReg(reg, ZD_RFCFG, 0x0);
pObj->SetReg(reg, ZD_CR47, 0x1E);
UnLockPhyReg(pObj);
}
else {
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR47, 0x1E);
tmpvalue = pObj->GetReg(reg, ZD_RADIO_PD);
tmpvalue &= ~BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
tmpvalue |= BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
pObj->SetReg(reg, ZD_RFCFG, 0x5);
pObj->DelayUs(100);
pObj->SetReg(reg, ZD_RFCFG, 0x0);
pObj->SetReg(reg, ZD_CR47, 0x1E);
UnLockPhyReg(pObj);
HW_Set_IF_Synthesizer(pObj, AL2210TB[ChannelNo]);
}
pObj->SetReg(reg, ZD_PE1_PE2, 3);
}
void
HW_Set_AL2210_Chips(zd_80211Obj_t *pObj, U32 ChannelNo, U8 InitChOnly)
{
void *reg = pObj->reg;
U32 tmpvalue;
pObj->SetReg(reg, ZD_PE1_PE2, 2);
if (!InitChOnly){
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR9, 0xe0);
pObj->SetReg(reg, ZD_CR10, 0x91);
pObj->SetReg(reg, ZD_CR12, 0x90);
pObj->SetReg(reg, ZD_CR15, 0xd0);
pObj->SetReg(reg, ZD_CR16, 0x40);
pObj->SetReg(reg, ZD_CR17, 0x58);
pObj->SetReg(reg, ZD_CR18, 0x04);
pObj->SetReg(reg, ZD_CR23, 0x66);
pObj->SetReg(reg, ZD_CR24, 0x14);
pObj->SetReg(reg, ZD_CR26, 0x90);
pObj->SetReg(reg, ZD_CR31, 0x80);
pObj->SetReg(reg, ZD_CR34, 0x06);
pObj->SetReg(reg, ZD_CR35, 0x3e);
pObj->SetReg(reg, ZD_CR38, 0x38);
pObj->SetReg(reg, ZD_CR46, 0x90);
pObj->SetReg(reg, ZD_CR47, 0x1E);
pObj->SetReg(reg, ZD_CR64, 0x64);
pObj->SetReg(reg, ZD_CR79, 0xb5);
pObj->SetReg(reg, ZD_CR80, 0x38);
pObj->SetReg(reg, ZD_CR81, 0x30);
pObj->SetReg(reg, ZD_CR113, 0xc0);
pObj->SetReg(reg, ZD_CR127, 0x3);
UnLockPhyReg(pObj);
HW_Set_IF_Synthesizer(pObj, AL2210TB[ChannelNo]);
HW_Set_IF_Synthesizer(pObj, 0x00fcb1);
HW_Set_IF_Synthesizer(pObj, 0x358132);
HW_Set_IF_Synthesizer(pObj, 0x0108b3);
HW_Set_IF_Synthesizer(pObj, 0xc77804);
HW_Set_IF_Synthesizer(pObj, 0x456415);
HW_Set_IF_Synthesizer(pObj, 0xff2226);
HW_Set_IF_Synthesizer(pObj, 0x806667);
HW_Set_IF_Synthesizer(pObj, 0x7860f8);
HW_Set_IF_Synthesizer(pObj, 0xbb01c9);
HW_Set_IF_Synthesizer(pObj, 0x00000A);
HW_Set_IF_Synthesizer(pObj, 0x00000B);
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR47, 0x1E);
tmpvalue = pObj->GetReg(reg, ZD_RADIO_PD);
tmpvalue &= ~BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
tmpvalue |= BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
pObj->SetReg(reg, ZD_RFCFG, 0x5);
pObj->DelayUs(100);
pObj->SetReg(reg, ZD_RFCFG, 0x0);
pObj->SetReg(reg, ZD_CR47, 0x1E);
UnLockPhyReg(pObj);
}
else {
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR47, 0x1E);
tmpvalue = pObj->GetReg(reg, ZD_RADIO_PD);
tmpvalue &= ~BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
tmpvalue |= BIT_0;
pObj->SetReg(reg, ZD_RADIO_PD, tmpvalue);
pObj->SetReg(reg, ZD_RFCFG, 0x5);
pObj->DelayUs(100);
pObj->SetReg(reg, ZD_RFCFG, 0x0);
pObj->SetReg(reg, ZD_CR47, 0x1E);
UnLockPhyReg(pObj);
HW_Set_IF_Synthesizer(pObj, AL2210TB[ChannelNo]);
}
pObj->SetReg(reg, ZD_PE1_PE2, 3);
}
*/
//------------------------------------------------------------------------------
// Procedure: HW_Set_UW2453_RF_Chips
//
// Description:
//
// Arguments:
// Adapter - ptr to Adapter object instance
// ChannelNo
// Initial Channel only
//
// Returns: (none)
//
// Note:
//-------------------------------------------------------------------------------
void
HW_Set_UW2453_RF_Chips(zd_80211Obj_t *pObj, U32 ChannelNo, U8 InitChOnly)
{
U32 tmpvalue;
U32 ChannelNo_temp;
int i;
BOOLEAN bLocked;
void *reg = pObj->reg;
#if !( (defined(OFDM) && defined(GCCK)) || defined(ECCK_60_5) )
pObj->SetReg(reg, PE1_PE2, 2);
#else
LockPhyReg(pObj);
//pObj->GetReg(reg, ZD_CR203, &tmpvalue);
tmpvalue &= ~BIT_4;
//pObj->SetReg(reg, ZD_CR203, tmpvalue);
UnLockPhyReg(pObj);
#endif
/*
if(pObj->UW2453MiniCard)
{
if(pObj->UW2453NoTXfollowRX)
{
LockPhyReg(pObj);
if(pObj->CardSetting.BSSType != PSEUDO_IBSS)
{
if(!pObj->UWDeafaltAntennt)
{
if(!(pObj->UW2453ChannelSelectAntennaAUX[ChannelNo-1]))
{
ZD1205_WRITE_REGISTER(Adapter, CR9, 0xe0);
}
if(pObj->UW2453ChannelSelectAntennaAUX[ChannelNo-1])
{
ZD1205_WRITE_REGISTER(Adapter, CR9, 0xe4);
}
}
else
{
if(!(pObj->UW2453ChannelSelectAntennaAUX[ChannelNo-1]))
{
ZD1205_WRITE_REGISTER(Adapter, CR9, 0xe4);
}
if(pObj->UW2453ChannelSelectAntennaAUX[ChannelNo-1])
{
ZD1205_WRITE_REGISTER(Adapter, CR9, 0xe0);
}
}
pObj->UW2453SWDeafaultAntenna = TRUE;
}
UnLockPhyReg(pObj);
}
}
*/
if (!InitChOnly){
LockPhyReg(pObj);
pObj->SetReg(reg, ZD_CR10, 0x89);
pObj->SetReg(reg, ZD_CR15, 0x20);
pObj->SetReg(reg, ZD_CR17, 0x28); //6112 no change
pObj->SetReg(reg, ZD_CR23, 0x38);
pObj->SetReg(reg, ZD_CR24, 0x20);
pObj->SetReg(reg, ZD_CR26, 0x93);
pObj->SetReg(reg, ZD_CR27, 0x15);
pObj->SetReg(reg, ZD_CR28, 0x3e);
pObj->SetReg(reg, ZD_CR29, 0x00);
pObj->SetReg(reg, ZD_CR33, 0x28);
pObj->SetReg(reg, ZD_CR34, 0x30);
pObj->SetReg(reg, ZD_CR35, 0x43); //6112 3E->43
pObj->SetReg(reg, ZD_CR41, 0x24);
pObj->SetReg(reg, ZD_CR44, 0x32);
pObj->SetReg(reg, ZD_CR46, 0x92); //6112 96->92
pObj->SetReg(reg, ZD_CR47, 0x1E);
pObj->SetReg(reg, ZD_CR48, 0x04); //5602 Roger
pObj->SetReg(reg, ZD_CR49, 0xfa);
pObj->SetReg(reg, ZD_CR79, 0x58);
pObj->SetReg(reg, ZD_CR80, 0x30);
pObj->SetReg(reg, ZD_CR81, 0x30);
pObj->SetReg(reg, ZD_CR87, 0x0A);
pObj->SetReg(reg, ZD_CR89, 0x04);
pObj->SetReg(reg, ZD_CR91, 0x00);
pObj->SetReg(reg, ZD_CR92, 0x0a);
pObj->SetReg(reg, ZD_CR98, 0x8d);
pObj->SetReg(reg, ZD_CR99, 0x28);
pObj->SetReg(reg, ZD_CR100, 0x02);
pObj->SetReg(reg, ZD_CR101, 0x09); //6112 13->1f //6220 1f->13 //6407 13->9
pObj->SetReg(reg, ZD_CR102, 0x27);
pObj->SetReg(reg, ZD_CR106, 0x1c); //5d07 //6112 1f->1c //6220 1c->1f //6221 1f->1c
pObj->SetReg(reg, ZD_CR107, 0x1c); //6220 1c->1a //6221 1a->1c
pObj->SetReg(reg, ZD_CR109, 0x13);
pObj->SetReg(reg, ZD_CR110, 0x1f); //6112 13->1f //6221 1f->13 //6407 13->0x09
pObj->SetReg(reg, ZD_CR111, 0x13);
pObj->SetReg(reg, ZD_CR112, 0x1f);
pObj->SetReg(reg, ZD_CR113, 0x27);
pObj->SetReg(reg, ZD_CR114, 0x23); //6221 27->23
pObj->SetReg(reg, ZD_CR115, 0x24); //6112 24->1c //6220 1c->24
pObj->SetReg(reg, ZD_CR116, 0x24); //6220 1c->24
pObj->SetReg(reg, ZD_CR117, 0xfa); //6112 fa->f8 //6220 f8->f4 //6220 f4->fa
pObj->SetReg(reg, ZD_CR118, 0xf0); //5d07 //6112 f0->f2 //6220 f2->f0
pObj->SetReg(reg, ZD_CR119, 0x1a); //6112 1a->10 //6220 10->14 //6220 14->1a
pObj->SetReg(reg, ZD_CR120, 0x4f);
pObj->SetReg(reg, ZD_CR121, 0x1f); //6220 4f->1f
pObj->SetReg(reg, ZD_CR122, 0xf0);
pObj->SetReg(reg, ZD_CR123, 0x57);
pObj->SetReg(reg, ZD_CR125, 0xad);
pObj->SetReg(reg, ZD_CR126, 0x6c);
pObj->SetReg(reg, ZD_CR127, 0x03);
pObj->SetReg(reg, ZD_CR128, 0x14); //6302 12->11
pObj->SetReg(reg, ZD_CR129, 0x12); //6301 10->0F
pObj->SetReg(reg, ZD_CR130, 0x10);
pObj->SetReg(reg, ZD_CR137, 0x50);
pObj->SetReg(reg, ZD_CR138, 0xa8);
pObj->SetReg(reg, ZD_CR144, 0xac);
pObj->SetReg(reg, ZD_CR146, 0x20);
pObj->SetReg(reg, ZD_CR252, 0xff);
pObj->SetReg(reg, ZD_CR253, 0xff);
UnLockPhyReg(pObj);
HW_Set_IF_Synthesizer(pObj, 0x40002b);
HW_Set_IF_Synthesizer(pObj, 0x519e4f);
//Set_IF_Synthesizer(Adapter, 0x509e4f); //5d02
HW_Set_IF_Synthesizer(pObj, 0x6f81AD); //6221 6f81ac-> 6f81ff //6418 6f81ff -> 6f81ac
HW_Set_IF_Synthesizer(pObj, 0x73fffe);
//Set_IF_Synthesizer(Adapter, 0x025fcc); // 5d01 cal_fil
HW_Set_IF_Synthesizer(pObj, 0x025f9c); // 5d01 cal_fil
HW_Set_IF_Synthesizer(pObj, 0x100047);
HW_Set_IF_Synthesizer(pObj, 0x200999);
HW_Set_IF_Synthesizer(pObj, 0x307602); //5d01
HW_Set_IF_Synthesizer(pObj, 0x346063);
HW_Set_IF_Synthesizer(pObj, 0x025f98); //idle
HW_Set_IF_Synthesizer(pObj, 0x025f9a); //cal_vco
HW_Set_IF_Synthesizer(pObj, 0x025f94); //rxtx_en (4)
HW_Set_IF_Synthesizer(pObj, 0x027FD4);
//Set_IF_Synthesizer(Adapter, 0x307602); //5d01 //6109
//Auto Lock RF Procedure
pObj->UW2453RFTableIndex=0;
bLocked=FALSE;
for (i=0;i<10;i++) {
//always try channel 1
/*
if(pObj->UW2453MiniCard)
{
Set_IF_Synthesizer(Adapter, UW2453RF_minicard[i][1*3]);
Set_IF_Synthesizer(Adapter, UW2453RF_minicard[i][1*3+1]);
Set_IF_Synthesizer(Adapter, UW2453RF_minicard[i][1*3+2]);
}
else
*/
{
HW_Set_IF_Synthesizer(pObj, UW2453RF_dongle[i][1*3]);
HW_Set_IF_Synthesizer(pObj, UW2453RF_dongle[i][1*3+1]);
HW_Set_IF_Synthesizer(pObj, UW2453RF_dongle[i][1*3+2]);
}
//ack interrupt event
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -