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

📄 cf.h

📁 s3c6400 ADS下官方测试程序
💻 H
字号:
#ifndef __CF_H__
#define __CF_H__

#ifdef __cplusplus
extern "C" 
{
#endif

#define	PERF_TEST_PCCARD		1
#define	PERF_TEST_ATA			1
#define	PERF_TEST_PIO			1
#define	PERF_TEST_UDMA		1

#define	INDIRECT_MODE	0	// using EBI path 
#define	DIRECT_MODE	1	// using dedicated path for CF

// define Direct/Indirect Mode
//#define CF_EBI_MODE		INDIRECT_MODE

// ATA, Basic PC card select
#define ATA_MUX				CFCON_BASE+0x1800

#define CF_WRITE_BUF (_DRAM_BaseAddress + 0x1000000)

void Test_ATA(void);
void ATA_Test(void);
void Test_PCCARD(void);		   
void PCCARD_Test(void);		   

/*=========================================================================
 *        	             ATA Commands
 *=========================================================================
 */
typedef enum ATA_COMMANDS
{
	eATA_CMD_IDENTIFYDEVICE		= 0xec,
	eATA_CMD_READSECTOR			= 0x20,
	eATA_CMD_READMULTIPLE		= 0xc4,
	eATA_CMD_READDMA				= 0xc8,
	eATA_CMD_WRITESECTOR		= 0x30,
	eATA_CMD_WRITEMULTIPLE		= 0xc5,
	eATA_CMD_WRITEDMA			= 0xca,
	eATA_CMD_SETFEATURES			= 0xef,
	
}
eATA_COMMANDS;

typedef enum ACCESS_SIZE
{
	eBYTE		= 0,
	eHWORD		= 1,
	eWORD		= 2,
}
eACCESS_SIZE;

typedef enum CF_TASKFILE_Id
{
	eCF_TASKFILE_DATA		= 0,
	eCF_TASKFILE_FEATURE		= 1,
	eCF_TASKFILE_SECTOR		= 2,
	eCF_TASKFILE_LOWLBA		= 3,
	eCF_TASKFILE_MIDLBA		= 4,
	eCF_TASKFILE_HIGHLBA		= 5,
	eCF_TASKFILE_DEVICE		= 6,
	eCF_TASKFILE_STATUS		= 7,
	eCF_TASKFILE_COMMAND 	= 7,
	eCF_TASKFILE_ALTANATE 	= 8,
	eCF_TASKFILE_CONTROL	 	= 8,
}
eCF_TASKFILE_Id;

typedef enum CF_MUX_OUTPUT
{
	eCF_MUX_OUTPUT_ENABLE	= 0,
	eCF_MUX_OUTPUT_DISABLE	= 1,
}
eCF_MUX_OUTPUT;

typedef enum CF_MUX_CARDPWR
{
	eCF_MUX_CARDPWR_ON		= 0,
	eCF_MUX_CARDPWR_OFF	= 1,
}
eCF_MUX_CARDPWR;

typedef enum CF_MUX_IDEMODE
{
	eCF_MUX_MODE_PCCARD		= 0,
	eCF_MUX_MODE_IDE		= 1,
}
eCF_MUX_IDEMODE;
//=========================================================================
//					          	          MUX_REG REGISTER AREA
//=========================================================================
/*---------------------------------- APIs of MUX_REG Registers   ---------------------------------*/
void CF_SetMUXReg(eCF_MUX_OUTPUT, eCF_MUX_CARDPWR, eCF_MUX_IDEMODE);
void CF_SetEBI(u8);
void CF_SetMem(eACCESS_SIZE , u32 , u32 );
#ifdef __cplusplus
}
#endif

#endif // __CF_H__

⌨️ 快捷键说明

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