Appendix 72, Mb945 user’s manual – IBASE MB945 User Manual
Page 76

APPENDIX
72
MB945 User’s Manual
ucDid = Get_W627DHG_Reg(0x20);
if (ucDid == 0xA0)
{
goto
Init_Finish;
}
else if (ucDid == 0xB0)
//W83627DHG-P??
{
goto
Init_Finish;
}
W627DHG_BASE = 0x2E;
result = W627DHG_BASE;
ucDid = Get_W627DHG_Reg(0x20);
if (ucDid == 0xA0)
{
goto
Init_Finish;
}
else if (ucDid == 0xB0)
//W83627DHG-P??
{
goto
Init_Finish;
}
W627DHG_BASE = 0x00;
result = W627DHG_BASE;
Init_Finish:
return
(result);
}
//---------------------------------------------------------------------------
void Unlock_W627DHG (void)
{
outportb(W627DHG_INDEX_PORT,
W627DHG_UNLOCK);
outportb(W627DHG_INDEX_PORT,
W627DHG_UNLOCK);
}
//---------------------------------------------------------------------------
void Lock_W627DHG (void)
{
outportb(W627DHG_INDEX_PORT,
W627DHG_LOCK);
}
//---------------------------------------------------------------------------
void Set_W627DHG_LD( unsigned char LD)
{
Unlock_W627DHG();
outportb(W627DHG_INDEX_PORT,
W627DHG_REG_LD);
outportb(W627DHG_DATA_PORT,
LD);
Lock_W627DHG();
}
//---------------------------------------------------------------------------
void Set_W627DHG_Reg( unsigned char REG, unsigned char DATA)
{
Unlock_W627DHG();
outportb(W627DHG_INDEX_PORT,
REG);
outportb(W627DHG_DATA_PORT,
DATA);
Lock_W627DHG();
}
//---------------------------------------------------------------------------
unsigned char Get_W627DHG_Reg(unsigned char REG)
{
unsigned char Result;
Unlock_W627DHG();
outportb(W627DHG_INDEX_PORT,
REG);
Result = inportb(W627DHG_DATA_PORT);
Lock_W627DHG();
return
Result;
}
//---------------------------------------------------------------------------