beautypg.com

IBASE FWA8208 User Manual

Page 36

background image

35

//---------------------------------------------------------------------------
#include "F81866.H"
#include
//---------------------------------------------------------------------------
unsigned int F81866_BASE;
void Unlock_F81866 (void);
void Lock_F81866 (void);
//---------------------------------------------------------------------------
unsigned int Init_F81866(void)
{

unsigned int result;

unsigned char ucDid;


F81866_BASE = 0x4E;

result = F81866_BASE;

ucDid = Get_F81866_Reg(0x20);

if (ucDid == 0x07)

//Fintek 81866

{

goto Init_Finish; }


F81866_BASE = 0x2E;

result = F81866_BASE;

ucDid = Get_F81866_Reg(0x20);

if (ucDid == 0x07)

//Fintek 81866

{

goto Init_Finish; }


F81866_BASE = 0x00;

result = F81866_BASE;


Init_Finish:

return (result);

}
//---------------------------------------------------------------------------
void Unlock_F81866 (void)
{

outportb(F81866_INDEX_PORT, F81866_UNLOCK);

outportb(F81866_INDEX_PORT, F81866_UNLOCK);

}
//---------------------------------------------------------------------------
void Lock_F81866 (void)
{

outportb(F81866_INDEX_PORT, F81866_LOCK);

}
//---------------------------------------------------------------------------
void Set_F81866_LD( unsigned char LD)
{

Unlock_F81866();

outportb(F81866_INDEX_PORT, F81866_REG_LD);

outportb(F81866_DATA_PORT, LD);

Lock_F81866();

}
//---------------------------------------------------------------------------
void Set_F81866_Reg( unsigned char REG, unsigned char DATA)
{

Unlock_F81866();

outportb(F81866_INDEX_PORT, REG);

outportb(F81866_DATA_PORT, DATA);

Lock_F81866();

}
//---------------------------------------------------------------------------
unsigned char Get_F81866_Reg(unsigned char REG)
{

unsigned char Result;

Unlock_F81866();

outportb(F81866_INDEX_PORT, REG);

Result = inportb(F81866_DATA_PORT);

Lock_F81866();