mmcard.h File Reference


Detailed Description

Header file for basic multimedia card driver.

 *
 * $Log: mmcard.h,v $
 * Revision 1.1  2006/01/05 16:32:10  haraldkipp
 * First check-in.
 *
 *
 * 


Data Structures

struct  _MMCIFC
 Low level access information structure. More...
struct  _MMC_CID
 Multimedia card identification register. More...
struct  _MMC_CSD
 Multimedia card identification register. More...

Control Codes

#define MMCARD_GETSTATUS
 Retrieve card status.
#define MMCARD_GETOCR
 Retrieve operation condition register.
#define MMCARD_GETCID
 Retrieve card identification.
#define MMCARD_GETCSD
 Retrieve card specific data.

Defines

#define MMCMD_HOST
#define MMCMD_RESET_CRC
#define MMCMD_GO_IDLE_STATE
 Reset card to idle state.
#define MMCMD_SEND_OP_COND
 Activate card's initialization process.
#define MMCMD_SEND_CSD
 Query card's CSD.
#define MMCMD_SEND_CID
 Query card's CID.
#define MMCMD_STOP_TRANSMISSION
 Stop multiple block transmission.
#define MMCMD_SEND_STATUS
 Query card's status register.
#define MMCMD_SET_BLOCKLEN
 Select block length for following read/write commands.
#define MMCMD_READ_SINGLE_BLOCK
 Initiate single block read.
#define MMCMD_READ_MULTIPLE_BLOCK
 Initiate continuous block read.
#define MMCMD_WRITE_BLOCK
 Initiate single block write.
#define MMCMD_WRITE_MULTIPLE_BLOCK
 Initiate continuous block write.
#define MMCMD_PROGRAM_CSD
 Initiate programming of programmable CSD bits.
#define MMCMD_SET_WRITE_PROTECT
 Enable card's optional write protection.
#define MMCMD_CLR_WRITE_PROTECT
 Disable card's write protection.
#define MMCMD_SEND_WRITE_PROTECT
 Query card's write protect status.
#define MMCMD_TAG_ERASE_GROUP_START
 Set address of the first erase group.
#define MMCMD_TAG_ERASE_GROUP_END
 Set address of the last erase group.
#define MMCMD_ERASE
 Erase previously selected sectors.
#define MMCMD_LOCK_UNLOCK
 Set/clear password or lock/unlock the card.
#define MMCMD_READ_OCR
 Query card's operating condition register.
#define MMCMD_CRC_ON_OFF
 Enable or disable CRC mode.
#define MMR1_IDLE_STATE
 Card is idle.
#define MMR1_NOT_IDLE
 Card is busy.
#define MMR1_ERASE_RESET
 Erase sequence was cleared before execution.
#define MMR1_ILLEGAL_COMMAND
 Illegal command code detected.
#define MMR1_COM_CRC_ERROR
 Bad command CRC detected.
#define MMR1_ERASE_SEQ_ERROR
 Bad erase sequence.
#define MMR1_ADDRESS_ERROR
 Misaligned address did not match block length.
#define MMR1_PARAMETER_ERROR
 Command parameter is out of range.
#define MMR2_CARD_LOCKED
 Card is locked.
#define MMR2_WP_ERASE_SKIP
 Erasing write protected sector or password error.
#define MMR2_ERROR
 General or unknown error occured.
#define MMR2_CC_ERROR
 Internal card controller error.
#define MMR2_ECC_FAILED
 Bad internal ECC.
#define MMR2_WP_VIOLATION
 Failed to write to protected block.
#define MMR2_ERASE_PARAMETER
 Invalid erase parameter.
#define MMR2_OUT_OF_RANGE
 Command parameter is out of range.
#define MMCSR_OUT_OF_RANGE
#define MMCSR_ADDRESS_ERROR
#define MMCSR_BLOCK_LEN_ERROR
#define MMCSR_ERASE_SEQ_ERROR
#define MMCSR_ERASE_PARAM
#define MMCSR_WP_VIOLATION
#define MMCSR_COM_CRC_ERROR
#define MMCSR_ILLEGAL_COMMAND
#define MMCSR_ERROR
#define MMCSR_CIDCSD_OVERWRITE
#define MMCSR_WP_ERASE_SKIP
#define MMCSR_CARD_ECC_DISABLED
#define MMCSR_ERASE_RESET
#define MMCSR_STATE_MASK
#define MMCSR_READY_FOR_DATA
#define MMCSR_IS_IDLE
#define MMCSR_IS_READY
#define MMCSR_IS_IDENT
#define MMCSR_IS_STBY
#define MMCSR_IS_TRAN
#define MMCSR_IS_DATA
#define MMCSR_IS_RCV
#define MMCSR_IS_PRG
#define MMCSR_IS_DIS
#define MMDR_ACCEPTED
#define MMDR_CRC_ERROR
#define MMDR_WRITE_ERROR
#define MMCARD_CIDR_SIZE
 Number of bytes in the CID register.
#define MMCARD_CSDR_SIZE
 Number of bytes in the CSD register.
#define MMCARD_OCR_SIZE
 Number of bytes in the operating condition register.

Typedefs

typedef _MMCIFC MMCIFC
 Low level access information structure.
typedef _MMC_CID MMC_CID
 Multimedia card identification register.
typedef _MMC_CSD MMC_CSD
 Multimedia card identification register.

Functions

int MmCardDevInit (NUTDEVICE *dev)
 Initialize high level MMC driver.
int MmCardIOCtl (NUTDEVICE *dev, int req, void *conf)
 Perform MMC control functions.
int MmCardBlockRead (NUTFILE *nfp, void *buffer, int num)
 Read data blocks from a mounted partition.
int MmCardBlockWrite (NUTFILE *nfp, CONST void *buffer, int num)
 Write data blocks to a mounted partition.
NUTFILEMmCardMount (NUTDEVICE *dev, CONST char *name, int mode, int acc)
 Mount a partition.
int MmCardUnmount (NUTFILE *nfp)
 Unmount a previously mounted partition.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/