File nut/arch/arm/dev/at91_mci.c

References Functions: At91MciBlockRead() nut/arch/arm/dev/at91_mci.c
  At91MciBlockWrite() nut/arch/arm/dev/at91_mci.c
  At91MciIOCtrl() nut/arch/arm/dev/at91_mci.c
  At91MciInit() nut/arch/arm/dev/at91_mci.c
  At91MciMount() nut/arch/arm/dev/at91_mci.c
  At91MciUnmount() nut/arch/arm/dev/at91_mci.c
References Variables: mci0_info nut/arch/arm/dev/at91_mci.c

Included Files


Preprocessor definitions

#define MMC_BLOCK_SIZE 512

#define MMC_PINS_A

#define MMC_PINS_B

#define MCICMD_ALL_SEND_CID

#define MCICMD_DESELECT_CARD MMCMD_SELECT_CARD

#define MCICMD_GO_IDLE_STATE MMCMD_GO_IDLE_STATE

#define MCICMD_READ_SINGLE_BLOCK

#define MCICMD_SELECT_CARD

#define MCICMD_SEND_APP_CMD

#define MCICMD_SEND_APP_OP_COND

#define MCICMD_SEND_OP_COND

#define MCICMD_SEND_RELATIVE_ADDR

#define MCICMD_SEND_STATUS

#define MCICMD_SET_BLOCKLEN

#define MCICMD_WRITE_BLOCK

#define MCICMD_ERROR

#define MCIFLG_SDCARD 0x00000001

#define MCIFLG_4BIT 0x00000010


Typedef MCIFC

typedef struct _MCIFC MCIFC
struct _MCIFC  
   {  
      uint32_t ifc_config;  
      uint32_t ifc_opcond;  
      uint32_t ifc_reladdr;  
      uint8_t* ifc_buff;  
      uint32_t ifc_resp[4];  
      uint32_t ifc_cid[4];  
   }  

Typedef MCIFCB

typedef struct _MCIFCB MCIFCB
struct _MCIFCB  
   {  
      NUTDEVICE* fcb_fsdev;  
      DOSPART fcb_part;  
      uint32_t fcb_blknum;  
      uint8_t fcb_blkbuf[512];  
   }  

Global Variable devAt91Mci0

NUTDEVICE devAt91Mci0
Visible in:   nut/arch/arm/dev/at91_mci.c

Local Variables

mutex
static HANDLE mutex
Used in: At91MciMount()  
  At91MciReadSingle()  
  At91MciWriteSingle()  

mci0_info
static MCIFC mci0_info

Used in:   nut/arch/arm/dev/at91_mci.c

Local Function At91MciBlockRead()

static int At91MciBlockRead ( NUTFILE* nfp, void* buffer, int num )
Calls: At91MciReadSingle() nut/arch/arm/dev/at91_mci.c
  At91MciReset() nut/arch/arm/dev/at91_mci.c
Used in:   nut/arch/arm/dev/at91_mci.c

Local Function At91MciBlockWrite()

static int At91MciBlockWrite ( NUTFILE* nfp, const void* buffer, int num )
Calls: At91MciWriteSingle() nut/arch/arm/dev/at91_mci.c
Used in:   nut/arch/arm/dev/at91_mci.c

Local Function At91MciDiscover()

static int At91MciDiscover ( MCIFC* ifc )
Calls: At91MciTxCmd() nut/arch/arm/dev/at91_mci.c
  NutSleep(), memcpy(), outr()
Called by: At91MciMount() nut/arch/arm/dev/at91_mci.c

Local Function At91MciIOCtrl()

static int At91MciIOCtrl ( NUTDEVICE* dev, int req, void* conf )
Used in:   nut/arch/arm/dev/at91_mci.c

Local Function At91MciInit()

static int At91MciInit ( NUTDEVICE* dev )
Calls: At91MciReset() nut/arch/arm/dev/at91_mci.c
  outr()
Used in:   nut/arch/arm/dev/at91_mci.c

Local Function At91MciMount()

static NUTFILE* At91MciMount ( NUTDEVICE* dev, const char* name, int mode, int acc )
Calls: At91MciDiscover() nut/arch/arm/dev/at91_mci.c
  At91MciReadSingle() nut/arch/arm/dev/at91_mci.c
  At91MciUnmount() nut/arch/arm/dev/at91_mci.c
  NutEventPost(), NutHeapRootAlloc(), NutHeapRootAllocClear(), NutHeapRootFree(), atoi(), strcmp()
Used in:   nut/arch/arm/dev/at91_mci.c
References Variables: mutex nut/arch/arm/dev/at91_mci.c

Local Function At91MciReadSingle()

static int At91MciReadSingle ( MCIFC* ifc, uint32_t blk, uint8_t* buf )
Calls: At91MciTxCmd() nut/arch/arm/dev/at91_mci.c
  NutEventPost(), NutEventWait()
Called by: At91MciBlockRead() nut/arch/arm/dev/at91_mci.c
  At91MciMount() nut/arch/arm/dev/at91_mci.c
References Variables: mutex nut/arch/arm/dev/at91_mci.c

Local Function At91MciReset()

static void At91MciReset ( int init )
Calls: inr(), outr()
Called by: At91MciBlockRead() nut/arch/arm/dev/at91_mci.c
  At91MciInit() nut/arch/arm/dev/at91_mci.c

Local Function At91MciTxCmd()

static uint32_t At91MciTxCmd ( MCIFC* ifc, uint32_t cmd, uint32_t param )
Calls: inr(), outr()
Called by: At91MciDiscover() nut/arch/arm/dev/at91_mci.c
  At91MciReadSingle() nut/arch/arm/dev/at91_mci.c
  At91MciWriteSingle() nut/arch/arm/dev/at91_mci.c

Local Function At91MciUnmount()

static int At91MciUnmount ( NUTFILE* nfp )
Calls: NutHeapRootFree()
Called by: At91MciMount() nut/arch/arm/dev/at91_mci.c
Used in:   nut/arch/arm/dev/at91_mci.c

Local Function At91MciWriteSingle()

static int At91MciWriteSingle ( MCIFC* ifc, uint32_t blk, const uint8_t* buf )
Calls: At91MciTxCmd() nut/arch/arm/dev/at91_mci.c
  NutEventPost(), NutEventWait()
Called by: At91MciBlockWrite() nut/arch/arm/dev/at91_mci.c
References Variables: mutex nut/arch/arm/dev/at91_mci.c