sdcard.h 1.4 KB
Newer Older
D
dzzxzz@gmail.com 已提交
1 2 3 4 5 6 7 8 9 10 11 12
/*
 * File      : sdcard.h
 * This file is part of RT-Thread RTOS
 * COPYRIGHT (C) 2009 - 2012, RT-Thread Development Team
 *
 * The license and distribution terms for this file may be
 * found in the file LICENSE in this distribution or at
 * http://www.rt-thread.org/license/LICENSE
 *
 * Change Logs:
 * Date           Author       Notes
 */
D
 
dennis.zhang.os@gmail.com 已提交
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

#ifndef __SDCARD_H
#define __SDCARD_H

#include <rtthread.h>

#ifdef RT_USING_DFS
 
#include  <sep4020.h>

#define INICLK	300000
#define SDCLK	24000000	//PCLK=49.392MHz
#define MMCCLK	15000000	//PCLK=49.392MHz

/*struct of the SDC*/
struct 	sd_c
{
D
dzzxzz@gmail.com 已提交
30 31
	__IO rt_uint32_t	clk_ctl;
	__IO rt_uint32_t	soft_rst;
D
 
dennis.zhang.os@gmail.com 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
	__IO rt_uint32_t	arg;
	__IO rt_uint32_t	cmd;
	__IO rt_uint32_t	blk_sz;
	__IO rt_uint32_t	blk_cnt;
	__IO rt_uint32_t	trans_mode;
	__O  rt_uint32_t	response0;
	__O  rt_uint32_t	response1;
	__O  rt_uint32_t	response2;
	__O  rt_uint32_t	response3;
	__IO rt_uint32_t	rd_to_ctl;
	__IO rt_uint32_t	int_stat;
	__IO rt_uint32_t	int_stat_mask;
	__O  rt_uint32_t	rx_fifo;
	__I  rt_uint32_t	tx_fifo;                
};

/*sdcard driver structure*/
struct	sd_device
{
	struct rt_device		*device; 	/*rt_device*/
	struct sd_c			*sdc;	 	/*SDCARD register*/
	struct dfs_partition	*part;		/*dfs partitions*/
	rt_uint8_t		*sec_buf;	/*sdcard buffer*/
	rt_uint32_t		part_num;	/*partiont numbers*/
	rt_uint32_t		buf_size;	/*buffer size*/
};

#endif
#endif