sdcard.h

来自「嵌入式linux系统下hi3510平台的osd开发源码」· C头文件 代码 · 共 80 行

H
80
字号
/*
 * extdrv/interface/spi_sd/sdcard.h for Linux .
 *
 * History: 
 *      2006-4-11 create this file
 */ 
 
#ifndef __SDCARD_H__
#define __SDCARD_H__

		
	#define SD_WORKQUEUE_NAME "sd_workqueue_name"
	#define KERNEL_SECTOR_SIZE 512
    
	#define MAXNUM		1024
	#define SSPDELAYW	50
	#define SSPDELAYR	10
    
	#define CONFIG_SDCARD_DEBUG 
	#ifdef CONFIG_SDCARD_DEBUG
		#define DBG(x...)	printk( x) /* KERN_DEBUG */
	#else
		#define DBG(x...)	do { } while (0)
	#endif

	
	struct sd_device 
	{
		unsigned long size;
		spinlock_t lock;
	#ifdef CONFIG_SSP_DMA
		char * readbuf;
		char * writebuf;
	#else
	    	char readbuf[MAXNUM*KERNEL_SECTOR_SIZE],writebuf[MAXNUM*KERNEL_SECTOR_SIZE];
	#endif
	    unsigned int mapreadbufaddr,mapwritebufaddr;
	    unsigned int raddr,waddr;
	    unsigned int roffset,woffset;
	    unsigned int rblock_num,wblock_num;
	    unsigned int readlist[MAXNUM][2];
	    unsigned int readlist_offset;
	    struct gendisk *gd;

	    wait_queue_head_t wq;
	    wait_queue_head_t dma_wq;
	    unsigned int media_change;
	    unsigned int users;
	    unsigned int sd_error;
	    unsigned int sd_online;
	    int major_num;
	};
	
	
	#ifdef CONFIG_SSP_DMA
	extern unsigned int sdcard_read(unsigned int addr,unsigned int off,unsigned int block_num);
	#else
	extern unsigned int sdcard_read(unsigned int addr,unsigned char *buf,unsigned int block_num);
	#endif
	#ifdef CONFIG_SSP_DMA
	extern unsigned int sdcard_write(unsigned int addr,unsigned int off,unsigned int block_num);
	#else
	extern unsigned int sdcard_write(unsigned int addr,unsigned char *buf,unsigned int block_num);
	#endif
	extern unsigned int sdcard_init(void);
	extern void sdcard_exit(void);
	extern unsigned int sdcard_csd_read(void);
	extern unsigned int sdcard_cid_read(void);
	extern void sdcard_repower(void);
	extern unsigned char sdcard_read_byte(void);
	extern unsigned char sdcard_write_byte(unsigned char byte);
	#ifdef CONFIG_SSP_DMA
	extern int sd_dmac_ssp_init(unsigned int *readbuf,unsigned int *writebuf);;
	extern void sd_dmac_ssp_exit(void);
	#endif


#endif

⌨️ 快捷键说明

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