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

📄 sdi.h

📁 三星2443芯片
💻 H
字号:
#ifndef __SD_H__
#define __SD_H__

#ifdef __cplusplus
extern "C" {
#endif

// Function prototypes
void Test_SDI(void);
void set_system_clock(void);
int SD_card_init(void);

void Rd_cid_csd(char reg);

int Check_status(char type);



void TR_Buf_new(void);

void Card_sel_desel(char sel_desel);

void CMD0(void);
int CMD55(void);

void Rd_CSD(void);
void Rd_CID(void);

void Rd_Block(void);
void Rd_Stream(void);
void Wt_Block(void);
void Wt_Stream(void);

void Set_Prt(void);
void Clr_Prt(void);

void Flush_Rx_buf(void);
void SetBus(void);
void Set_1bit_bus(void);
void Set_4bit_bus(void);
void View_Rx_buf(void);
void View_Tx_buf(void);
//////////////////////////////////////////////////////////////////////////////////


void SDIO_TypeSetting(U32 ClkType, U32 ByteType);
void SDIO_BlockSizeSetting(U32 Size);
void SDIO_Command(U32 CmdArg, U32 Command, U32 WaitResp, U32 LongResp, U32 WithData);
int Check_CMDend(int cmd, int be_resp);
void SDIO_PrescalerSetting(U32 BaudRate);
void CARD_SEL_DESEL(U8 sel_desel);
void SET_BUSWIDTH(void);
void SDIO_WriteTest(void);
void SDIO_ReadTest(void);
void SDIO_EraseBlock(void);
void SD_MMC_SETGPIO(void);
int Check_SD_OCR(void);
void CalculationBPS_NORMALSD_MMC(int Time);

int Check_DATend(void);
int Check_BUSYend(void);
int Check_MMC_OCR(void);
void __irq Rd_Int(void);
void __irq Wt_Int(void);

void SET_BUSWIDTH_MoviNand(void);
void Set_4bit_bus_MoviNand(void);

#define 	Idle_State					 0
#define	Ready_State					 1
#define	Identification_State		 2
#define	StandBy_State				 3
#define	Transmit_State				4
#define	Data_State					5
#define	Receive_State				6
#define	Progress_State				7
#define	Dis_State					8
#define	PowerUp_State				9

#define  SDIO_SD_TYPE	0
#define  SDIO_MMC_TYPE	1

#define  SDIO_TYPE_A	0
#define  SDIO_TYPE_B	1

#define SDIO_NO_RESP			0
#define SDIO_WAIT_RESP			1
#define SDIO_SHORT_RESP			0
#define SDIO_LONG_RESP			1
#define SDIO_WITHOUT_DATA		0
#define SDIO_WITH_DATA			1

//rSDICON
#define CLOCK_TYPE		(1<<5)
#define BYTE_ORDER		(1<<4)
#define ENCLK			(1<<0)

//rSDICSTA		
#define RESP_INDEX			(0xFF<<0)
#define DATA_TIMEOUT		(1<<5)
#define CMD_ON				(1<<8)
#define RESP_END			(1<<9)
#define CMD_TOUT			(1<<10)
#define CMD_END				(1<<11)
#define RESP_CRC_FAIL		(1<<12)

//rSDIDSTA		
#define CRC_STAT_FAIL		(0x1<<7)
#define RECEIVE_CRC_FAIL		(1<<6)
#define DATA_TOUT			(1<<5)
#define DATA_FINISH			(1<<4)
#define BUSY_FINISH			(1<<3)

//SDIDCON
#define BLOCK_NUM				(0xFFF<<0)
#define DATA_TRANSMIT_MODE		(3<<12)
#define ONLYBUSY_CHECK		(1<<12)
#define DATA_RECEIVE_MODE		(1<<13)
#define DATA_TRANSMIT_START		(1<<14)
#define DMA_EN					(1<<15)
#define WIDE_BUS_EN			(1<<16)
#define WIDE_BUS_DIS			(0<<16)
#define STREAM_TRANSFER		(0<<17)
#define BLOCK_TRANSFER			(1<<17)
#define BUSY_AFTER_CMD			(1<<18)
#define RCV_AFTER_CMD			(1<<19)
#define TRANS_AFTER_RESP		(1<<20)
#define INT_PERIOD_TYPE			(1<<21)
#define BYTE_TRANSFER			(0<<22)
#define HALFWORD_TRANSFER		(1<<22)
#define WORD_TRANSFER			(1<<23)
#define BURST4_EN				(1<<24)

//SDIFSTA
#define TX_FIFO_HALF_FULL				(1<<11)
#define TX_FIFO_AVAILABLE_DETECT		(1<<13)
#define RX_FIFO_AVAILABLE_DETECT		(1<<12)


#ifdef __cplusplus
}
#endif
#endif /*__SD_H___*/

⌨️ 快捷键说明

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