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

📄 sdreg.h

📁 ssd192Xv1 液晶驱动程序 驱动程序 彩屏液晶
💻 H
字号:
#ifndef __SDREG_H__
#define __SDREG_H__



unsigned long _sdhc_get_card_type(void);
unsigned long _sdhc_get_card_capacity(void);
int sdhc_set_blklen (unsigned long blklen);
int sdhc_dev_ioctl (unsigned long base, unsigned long arg);
int sdhc_ioctl (int fd, SDHC_IOCTL_ARG_T *arg);
int sdhc_init (unsigned short* prca);
int sdhc_reg_test (unsigned long base);
int sdhc_status_test (void);
int sdhc_cmd_test (void);
int sdhc_read_scr (unsigned short rca, SCR_T *scr);
int sdhc_get_wr_blk_count (unsigned short rca, long *nblk);
int sdhc_set_width (unsigned short rca, int width);
int sdhc_erase (unsigned long cardtype, unsigned short rca, unsigned long start_addr, int nblk);
//int sdhc_detect_test ();
//int sdhc_err_test ();
//int sdhc_reset_test (unsigned long base, unsigned char reset_type);
int sdhc_card_select (unsigned short rca, unsigned short select);
int sdhc_card_init (unsigned short *rca, unsigned long *ocr, CID_T *cid, CSD_T *csd);

int sdhc_reset (unsigned char reset_type);

int io_reset (void);
int io_read_byte (int fn, unsigned long addr, unsigned char *data);
int io_write_byte (int fn, int raw, unsigned long addr, unsigned char data);
int io_read_direct (int fn, unsigned long addr, unsigned char *data, int len);
int io_write_direct (int fn, unsigned long addr, unsigned char *data, int len);

int reg_test (
	unsigned long addr, 		// address of register
	unsigned short access_size, 	// access size: 8 | 16 | 32
	unsigned short access_type,	// 1=RW, 0=RO, WO
	unsigned long def_val, 	// default POR value
	unsigned long bitmask, 	// reserved bit mask, 0 = all bits are valid
	unsigned char *name	// register string name
	);

int reg_def_test (unsigned long base);

int clock_cntl (unsigned short clocks, unsigned short div, int enable);
int bus_pwr (int pwr);
int card_detect (void);
int send_cmd_SD (	unsigned short idx, 
		unsigned short type, 
		unsigned short rsp, 
		int data_prsnt,
		int crc_check, 
		int idx_check, 
		unsigned long arg[4]);
int send_app_cmd (
		unsigned short idx, 
		unsigned short type, 
		unsigned short rsp, 
		int crc_check, 
		int idx_check, 
		unsigned long arg[4]);

int sdhc_read_ex (
		unsigned long addr, 
		unsigned long data, 
		int blklen, 
		long nblk, 
		unsigned long flags,
		void *param);

int sdhc_write_ex (
		unsigned long addr, 
		unsigned long data, 
		int blklen, 
		long nblk, 
		unsigned long flags,
		void *param);

/*
int fifo_reset (SDHCEXT_T *);
int fifo_readback (SDHCEXT_T *ext, int n, unsigned char *data, int len);
*/
/*
int sdhc_cli (unsigned long base, char *s);
int read_cli (SDHC_T *sdhc, char *s, unsigned long nblk, unsigned long iomem);
int write_cli (SDHC_T *sdhc, char *s, unsigned long nblk, unsigned long iomem);
int sdhc_io_cli (SDHC_T	*sdhc, char *p);
*/
// counter functions for timing
int counter_init (unsigned long base);
int counter_start (void);
int counter_stop (void);
int counter_reset (void);
unsigned long counter_read (void);


#if 0
int erase_data (SDHC_T *sdhc, 
		unsigned long addr, 
		int nblk);
#endif

int read_scr (unsigned short rca, SCR_T *scr);
int get_wr_blk_count (unsigned short rca, long *nblk);
int calc_dat_timeout (CSD_T *csd, int clk_div, int wr);

void decode_r1 (unsigned long);
void decode_r5 (unsigned long);
void decode_r6 (unsigned short);
void decode_csd (CSD_T *p, unsigned long cardtype);
//void decode_cid (CID_T *p, unsigned long cardtype);
//void decode_scr (SCR_T *p);
//void decode_cis (unsigned char *p, unsigned long len);
//void decode_cccr (CCCR_T *p);
//void decode_fbr (FBR_T *p);
//void decode_cardtype (unsigned long cardtype);
//void decode_reg ();
//void decode_ext (SDHCEXT_T *ext);
//void dump_data (unsigned char *p, int offset, int len);
//void dump_extension (unsigned long base);


#endif

⌨️ 快捷键说明

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