📄 pcmcia_emu.h
字号:
#ifndef __PCMCIA_H__
#define __PCMCIA_H__
typedef unsigned char U8;
typedef unsigned char *P_U8;
typedef unsigned short U16;
typedef unsigned short *P_U16;
typedef unsigned long U32;
typedef unsigned long *P_U32;
typedef char S8;
typedef char *P_S8;
typedef short s16;
typedef short *P_S16;
typedef long S32;
typedef long *P_S32;
//typedef unsigned short word ;
//typedef unsigned char byte
//teypdef U8 byte ;
//typedef unsigned char BYTE ;
/**** added by chilong 11/11/2001 ****/
//#define PCMCIA_DEBUG
#define BIG_ENDIAN
/**** added by chilong 11/11/2001 ****/
#define PCMCIA_EVENT 11
#define CARD_IN 1
#define CARD_OUT 2
#define NO_CHANGE 3
#define PCMCIA_INT 1
#define PCMCIA_COLD_START 2
#define PCMCIA_POWER_DOWN 3
#define PCMCIA_POWER_UP 4
#define ZCOMRFINT 5
#ifdef __cplusplus
extern "C" {
#endif
///* marked by chilong
void init_pcmcia(void);
void powerDown_PCMCIA(void);
void powerUp_PCMCIA(void);
void dump_cis(unsigned char s);
void tpl_parse(unsigned char s,unsigned char *addr);
void dump_cis_value_byte(void);
void dump_io_value_byte(void);
void dump_cis_value_uint(void);
void powerOn_card(void);
void powerOff_card(void);
void pack_resource(int sock);
void show_resource(U8 sock);
int CFInit(void);
// marked by chilong */
/*
*/
///* marked by chilong
void CFTplParse(U8 socket, P_U8 tplBaseAddr);
U8 resource_check(U8 sock);
void tplCISTPL_NULL(void);
void tplCISTPL_DEVICE(U8 socket, unsigned char* pContent);
void tplCISTPL_LONGLINK_CB(void);
void tplCISTPL_CONFIG_CB(void);
void tplCISTPL_CFTABLE_ENTRY_CB(void);
void tplCISTPL_LONGLINK_MFC(void);
void tplCISTPL_BAR(void);
void tplCISTPL_CHECKSUM(void);
void tplCISTPL_LONGLINK_A(void);
void tplCISTPL_LONGLINK_C(void);
void tplCISTPL_LINKTARGET(void);
void tplCISTPL_NO_LINK(void);
void tplCISTPL_VERS_1(U8 socket, unsigned char* pContent, U16 tplLength);
void tplCISTPL_ALTSTR(void);
void tplCISTPL_JEDEC_C(void);
void tplCISTPL_JEDEC_A(void);
void tplCISTPL_CONFIG(U8 socket, unsigned char* pContent);
int tplCISTPL_CFTABLE_ENTRY(U8 socket, unsigned char* pContent);
void tplCISTPL_DEVICE_OC(void);
void tplCISTPL_DEVICE_OA(void);
void tplCISTPL_DEVICE_GEO(void);
void tplCISTPL_DEVICE_GEO_A(void);
void tplCISTPL_MANFID(U8 socket, unsigned char* pContent);
void tplCISTPL_FUNCID(U8 socket, unsigned char* pContent);
void tplCISTPL_FUNCE(U8 socket, unsigned char* pContent);
void tplCISTPL_SWIL(void);
void tplCISTPL_VERS_2(void);
void tplCISTPL_FORMAT(void);
void tplCISTPL_GEOMETRY(void);
void tplCISTPL_BYTEORDER(void);
void tplCISTPL_DATE(void);
void tplCISTPL_BATTERY(void);
void tplCISTPL_ORG(void);
void tplCISTPL_END(void);
void tplSetConfig(U8 socket, unsigned char *tplBaseAddr);
// marked by chilong */
/**** added by chilong 11/6/2001 ****/
void system_CF_init();
/**** added by chilong 11/6/2001 ****/
#ifdef __cplusplus
}
#endif
/**** added by chilong 11/5/2001 ****/
#define SETBIT(register,bit) register |= (0x1 << bit)
#define CLRBIT(register,bit) register &= ~(0x1 << bit)
#define TESTBIT(register,bit) (register & (0x1 << bit))
/**** added by chilong 11/5/2001 ****/
#define CF_CIS_ADDR 0xb1000000
#define CF_CONFIG_ADDR 0xb1000200
#define CF_TASK_FILE_ADDR 0xb1000000
// old-versioned
//#define CF_RESET_IDX 3
#define CF_RESET_IDX 5
// if true (high) , CF not inserted
/* marked b ychilong 04/30/2002
//!NOTE: these definitions are old-versioned
#define BIT_CF_CD1 TESTBIT(*M328_PMDATA, 5)
#define BIT_CF_CD2 TESTBIT(*M328_PMDATA, 5)
#define BIT_CF_READY TESTBIT(*M328_PDDATA, 7)
marked b ychilong 04/30/2002 */
#ifdef MACHINE_TYPE_MIPS_ARTI
#else
#define BIT_CF_CD1 TESTBIT(*M328_PDDATA, 7)
#define BIT_CF_CD2 TESTBIT(*M328_PDDATA, 7)
#define BIT_CF_READY TESTBIT(*M328_PDDATA, 5)
#endif
/* end file */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -