⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcmciapd.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
字号:
/*

  Copyright(c) 1998,1999 SIC/Hitachi,Ltd.

	Module Name:

		pcmciapd.h

	Revision History:

		26th April		1999		Released
		23rd September	1999		Fixed minor bug

*/

#ifndef _PCMCIAPD_H_
#define _PCMCIAPD_H_

#ifdef DEBUG

#define ZONE_PDD				DEBUGZONE(8)
#define ZONE_POWER				DEBUGZONE(9)

#endif

typedef struct _PCMCIA_REGISTER_LAYOUT {
	PVBYTE		pISR;							// Interface Staus Reg 
	PVBYTE		pGCR;							// General Control Reg 
	PVBYTE		pCSCR;							// Card Status Change reg 
	PVBYTE		pCSCIER;						// Card Status Change Int Enable Reg 
	PVBYTE		pSCR;							// Software Control register 
	PVBYTE		pPSR;							// Serial Power Switch Control Register 
} PCMCIA_REGISTER_LAYOUT, *PPCMCIA_REGISTER_LAYOUT;

typedef struct _POWER_REGISTER_LAYOUT {
	PVUSHORT	pCC_PACR;						// CC_Port A control Reg 
	PVUSHORT	pDUMMY1;
	PVUSHORT	pCC_PADR;						// CC_Port A Data Reg 
	PVBYTE		pDUMMY2;
}POWER_REGISTER_LAYOUT, *PPOWER_REGISTER_LAYOUT;

typedef struct _POWER_REGISTER_VALUES {
	int			bValid;							// is this a balid soution ?
	BYTE		SCR;							// Software Control Register
	BYTE		PSR;							// Serial Power Switch Control Register
}POWER_REGISTER_VALUES, *PPOWER_REGISTER_VALUES;

typedef UINT8 PCMCIA_POWER_SETTING;

BOOL SetPower(int uSock, int VCC_index, int VPP_index, BOOL bReEnable, BOOL bKernelMode);

#define SOCKET0_SHIFT					0
#define SOCKET0_MASK					0xF
#define SOCKET1_SHIFT					4
#define SOCKET1_MASK					0xF0
#define BAD_VCC							0xFF
#define BAD_VPP							0xFE

#define PCMCIA_RDY_POLL_INT				50
#define PCMCIA_MAX_RDY_WAIT_TIME		2000

#define NUM_SOCKETS						2
#define NUM_POWER_ENTRIES				4	

#define MASK_16MB_AVAIL					0x03000000
#define MASK_16MB_UPPER					0xFF000000

#define POWER_REG1						(READ_REGISTER_USHORT(PcmciaRegisters[0].pPSR))
#define POWER_REG2						(READ_REGISTER_USHORT(PcmciaRegisters[0].pSCR)&CC_PCMCIA_SCR_SHDN_ENB)
#define ENABLED_AVCC(uSock)				((!uSock)&&(POWER_REG1&CC_PCMCIA_PSR_AVCC_AVPP)&&(POWER_REG2))
#define ENABLED_BVCC(uSock)				((uSock)&&(POWER_REG1&CC_PCMCIA_PSR_BVCC_BVPP)&&(POWER_REG2))
#define POWER_ENABLED(uSock)			(ENABLED_AVCC(uSock)||ENABLED_BVCC(uSock))

//#define PCMCIA_NUM_WINDOWS							6	

#endif // _PCMCIAPD_H_ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -