SPI Mode MMC Interface
[AT91 Support]

Collaboration diagram for SPI Mode MMC Interface:
SPI mode MMC interface registers. More...

Defines

#define MMC_PIO_ASR   PIOA_ASR
#define MMC_PIO_BSR   PIOA_BSR
#define MMC_PIO_PDR   PIOA_PDR
#define MMC_PINS_A   (_BV(MMC_DATAOUT_BIT) | _BV(MMC_DATAIN_BIT) | _BV(MMC_CLK_BIT))
#define MMC_PINS_B   0
#define MMC_CS_PER   PIOA_PER
#define MMC_CS_OER   PIOA_OER
#define MMC_CS_SODR   PIOA_SODR
#define MMC_CS_CODR   PIOA_CODR
#define MMC_SPI_CR   SPI0_CR
#define MMC_SPI_MR   SPI0_MR
#define MMC_SPI_RDR   SPI0_RDR
#define MMC_SPI_TDR   SPI0_TDR
#define MMC_SPI_SR   SPI0_SR
#define MMC_SPI_CSR1   SPI0_CSR1
#define MMC_SPI_ID   SPI0_ID

Functions

int At91SpiMmCard0Avail (void)
 Check if card is available in slot 0.
int At91SpiMmCard0WrProt (void)
 Check if card in slot 0 is write protected.

Variables

NUTDEVICE devAt91SpiMmc0
 Multimedia card device information structure.
NUTDEVICE devAt91SpiMmc0
 Multimedia card device information structure.

Detailed Description

SPI mode MMC interface registers.

Low Level Multimedia Card Access.

Low level MMC hardware routines, tested on the AT91SAM7X.

These routines support SPI mode only and are required by the basic MMC driver.

 *
 * $Log: spimmc_at91.c,v $
 * Revision 1.6  2008/08/11 06:59:13  haraldkipp
 * BSD types replaced by stdint types (feature request #1282721).
 *
 * Revision 1.5  2008/08/06 12:51:01  haraldkipp
 * Added support for Ethernut 5 (AT91SAM9XE reference design).
 *
 * Revision 1.4  2008/02/15 16:59:02  haraldkipp
 * Spport for AT91SAM7SE512 added.
 *
 * Revision 1.3  2008/01/31 09:16:03  haraldkipp
 * Failed to compile for SAM7S. Added some default settings.
 *
 * Revision 1.2  2006/09/05 12:27:55  haraldkipp
 * Added support for the AT91SAM9260.
 *
 * Revision 1.1  2006/07/26 11:20:08  haraldkipp
 * Added MMC/SD-Card support for AT91SAM7X Evaluation Kit.
 *
 *
 * 

Define Documentation

#define MMC_PIO_ASR   PIOA_ASR

Definition at line 115 of file spimmc_at91.c.

#define MMC_PIO_BSR   PIOA_BSR

Definition at line 119 of file spimmc_at91.c.

#define MMC_PIO_PDR   PIOA_PDR

Definition at line 123 of file spimmc_at91.c.

#define MMC_PINS_A   (_BV(MMC_DATAOUT_BIT) | _BV(MMC_DATAIN_BIT) | _BV(MMC_CLK_BIT))

Definition at line 127 of file spimmc_at91.c.

#define MMC_PINS_B   0

Definition at line 131 of file spimmc_at91.c.

#define MMC_CS_PER   PIOA_PER

Definition at line 135 of file spimmc_at91.c.

#define MMC_CS_OER   PIOA_OER

Definition at line 139 of file spimmc_at91.c.

#define MMC_CS_SODR   PIOA_SODR

Definition at line 143 of file spimmc_at91.c.

#define MMC_CS_CODR   PIOA_CODR

Definition at line 147 of file spimmc_at91.c.

#define MMC_SPI_CR   SPI0_CR

Definition at line 151 of file spimmc_at91.c.

#define MMC_SPI_MR   SPI0_MR

Definition at line 155 of file spimmc_at91.c.

#define MMC_SPI_RDR   SPI0_RDR

Definition at line 159 of file spimmc_at91.c.

#define MMC_SPI_TDR   SPI0_TDR

Definition at line 163 of file spimmc_at91.c.

#define MMC_SPI_SR   SPI0_SR

Definition at line 167 of file spimmc_at91.c.

#define MMC_SPI_CSR1   SPI0_CSR1

Definition at line 171 of file spimmc_at91.c.

#define MMC_SPI_ID   SPI0_ID

Definition at line 175 of file spimmc_at91.c.


Function Documentation

int At91SpiMmCard0Avail ( void   ) 

Check if card is available in slot 0.

Todo:
Card change should verify the card identifier. Right now any detection of removing and re-inserting a card counts as a card change.
Returns:
0 if no card is detected, 1 if a card is available or 2 if a card change had been detected after the last mount.

Definition at line 255 of file spimmc_at91.c.

int At91SpiMmCard0WrProt ( void   ) 

Check if card in slot 0 is write protected.

Todo:
Not implemented.
Returns:
Always 0.

Definition at line 267 of file spimmc_at91.c.


Variable Documentation

NUTDEVICE devAt91SpiMmc0

Multimedia card device information structure.

A pointer to this structure must be passed to NutRegisterDevice() to bind this driver to the Nut/OS kernel. An application may then call /verbatim _open("MMC0:", _O_RDWR | _O_BINARY); /endverbatim to mount the first active primary partition with any previously registered file system driver (typically devPhat0).

Definition at line 329 of file spimmc_at91.c.

NUTDEVICE devAt91SpiMmc0

Initial value:

 {
    0,                          
    {'M', 'M', 'C', '0', 0, 0, 0, 0, 0}
    ,                           
    0,                          
    0,                          
    0,                          
    &mmc0_ifc,                  
    0,                          
    At91SpiMmcIfcInit,          
    MmCardIOCtl,                
    MmCardBlockRead,            
    MmCardBlockWrite,           

    MmCardBlockWrite_P,         

    MmCardMount,                
    MmCardUnmount,              
    0                           
}
Multimedia card device information structure.

A pointer to this structure must be passed to NutRegisterDevice() to bind this driver to the Nut/OS kernel. An application may then call /verbatim _open("MMC0:", _O_RDWR | _O_BINARY); /endverbatim to mount the first active primary partition with any previously registered file system driver (typically devPhat0).

Definition at line 329 of file spimmc_at91.c.


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