📄 mmc_ptt.h
字号:
/******************************************************************************
C H E A D E R F I L E
(c) Copyright Motorola Semiconductors Hong Kong Limited 1999 - 2002
ALL RIGHTS RESERVED
*******************************************************************************
Project Name : Portable Personal System Manager - GT version 2.0
Project No. : PDAPSM05
Title :
File Name : MMC_ptt.h
Last Modified: Jan 31, 2002
Description :
Assumptions :
Dependency Comments :
Project Specific Data :
******************************************************************************/
#ifndef MMC_PTT_123416734563456
#define MMC_PTT_123416734563456
//#include "os.h"
#include "rtoshdrs.h"
#include "mmc_typ.h"
#include "Fls_dd.h"
#include "debug.h"
/*****************Interface Function with Devive Manage********/
int MMCInit(DEVICE *dev);
int MMCRead( U32 log_sect, PCFM_BUFFER *bufp );
int MMCWrite( U32 log_sect, PCFM_BUFFER *bufp );
int MMCFormat( DEVICE *devp, int cylinder, int head,int nsects, void *bufp );
int MMCRawRead( DEVICE *devp, int cylinder, int head, int sector,int nsects, void *bufp );
int MMCRawWrite( DEVICE *devp, int cylinder, int head, int sector,int nsects, void *bufp );
void MMCTimeStamp( uint16 *time );
int MMCDiskChange( DEVICE *devp );
STATUS MMCIoctl(U16 Key,P_VOID pAgu,P_U32 pSize);
int _MMCErrorConvert(MMC_STATUS status);
STATUS _MmcSetupDriver();
int _MMCDelay();
/**************************************************************/
/************************ MMC Driver***************************/
MMC_STATUS _MMCInitCard( MMC_CARD *cardinfo );
MMC_STATUS _MMCGetInfo( MMC_CARD *cardinfo );
MMC_STATUS _MMCSetSectLen(MMC_CARD *cardinfo );
MMC_STATUS _MMCReadSect( U8 card_no, U32 log_sect, U16 nsects,U8 *buff, MMC_CARD *cardinfo );
MMC_STATUS _MMCEraseSect(U8 card_no, U32 log_sect, U16 nsects, MMC_CARD *cardinfo );
MMC_STATUS _MMCWriteSect( U8 card_no, U32 log_sect, U16 nsects,U8 *buff, MMC_CARD *cardinfo );
MMC_STATUS _MMCCheckCardInfo( MMC_CSD *csd, U8 *cid );
MMC_STATUS _MMCBPBCheck( U8 card_no, MMC_CARD *cardinfo, U8 *check,U32 bpb_addr );
MMC_STATUS _MMCMBRCheck( U8 card_no, MMC_CARD *cardinfo, U8 *check,U32 *bpb_addr );
void _MMCMBRDataMake( U8 card_no );
void _MMCBPBDataMake( U8 card_no );
void _MMCFATDataMake( U8 card_no );
void _MMCTimeSet( U16 *time );
MMC_STATUS _MMCGetStatus( U8 card_no, MMC_CARD_INFO *cardinfo );
void _MMCSetCSD(MMC_CARD *cardinfo,int i,P_U8 Csd_buff);
void _MMCSetCID(MMC_CARD *cardinfo,int i,P_U8 Cid_buff);
MMC_STATUS _MMCCSDCheck( U8 *csdbuff );
MMC_STATUS _SDCSDCheck( U8 *csdbuff );
MMC_STATUS _MMCCIDCheck( U8 *cidbuff );
MMC_STATUS _SDCIDCheck( U8 *cidbuff );
MMC_STATUS _MMCWaitUntilCardReady(P_MMC_CARD_INFO pCurrentCardInfo);
MMC_STATUS _MMCSetBusWidth(MMC_CARD_INFO *cardinfo);
MMC_STATUS _MMCReadSectOneCard(U32 log_sect, U16 nsects,U8 *buff) ;
MMC_STATUS _MMCWriteSectOneCard(U32 log_sect, U16 nsects,U8 *buff) ;
/**************************************************************/
/****************************MMC CMD***************************/
MMC_STATUS _MMCGoIdleState();
MMC_STATUS _MMCSendOpCond(U32 voltage);
MMC_STATUS _MMCAllSendCID(P_U8 pCidBuff);
MMC_STATUS _MMCSetRelativeAddr(U32 addr);
MMC_STATUS _SDGetRelativeAddr(U32 *addr);
MMC_STATUS _SDSetBusWidth(U8 buswidth);
MMC_STATUS _MMCSelectDeselectCard(U32 addr);
MMC_STATUS _MMCSendCSD(U32 addr,P_U8 pBuff);
MMC_STATUS _MMCSendCID(U32 addr,P_U8 pBuff);
MMC_STATUS _SDSendSCR(P_U8 pSCR);
MMC_STATUS _MMCSendStatus(U32 addr,P_U32 pStatus);
MMC_STATUS _MMCSetBlockLen(U32 size);
MMC_STATUS _MMCWriteSingleBlock(P_MMC_CARD_INFO,U32 addr,P_U8 buff);
MMC_STATUS _MMCTagSectorEnd(U32 addr);
MMC_STATUS _MMCErase();
MMC_STATUS _SDSendOpCond(U32 voltage);
MMC_STATUS _MMCAppCmd(U32 addr);
MMC_STATUS _MMCNoDataCommand(U8 cmd, U32 arg,U32);
MMC_STATUS _MMCWaitDataTransDone();
MMC_STATUS _MMCStopTransmission();
MMC_STATUS _MMCReadBlock(P_MMC_CARD_INFO pCurrentCardInfo,U32 start_addr,U16 nsects, P_U8 buff );
MMC_STATUS _MMCWriteBlock(P_MMC_CARD_INFO,U32 start_addr,U16 nsects, P_U8 buff );
void _MMCTransferEnd(U16 state); //callback function
void _MMCIrptHandle();
MMC_STATUS _SDSendStatus(P_U8 pBuff);
/*************************Interface Function with Hardware*****/
MMC_STATUS _MMCChectHardwareRevision();
MMC_STATUS _MMCSoftReset();
void _MMCSetCmd(U8 cmd,U32 arg,U32 ctrl);
U8 _MMCIsRun();
void _MMCGetResponses(MMC_RESPONSES *pRS,U8 rsType);
void _MMCSetBlockLenReg(U16 size);
void _MMCSetNumberOfBlockReg(U16 num);
void _MMCStopClk();
void _MMCStartClk();
void _MMCClockSet(U8 speed);
void _PortRsetting();
/*************************One Card******************************/
MMC_STATUS _MMCInitOneCard(MMC_CARD_INFO *cardinfo);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -