AM62Px MCU+ SDK  10.01.00
MMCSD

Multi-Media Card Secure Digital (MMCSD) peripheral is a driver which provides an interface with storage devices which follows MMC/SD/SDIO protocol. The driver supports single bit, four bit and eight bit data lines to communicate with the connected media.

The MMCSD controller provides accessibility to external MMC/SD/SDIO devices using a programmed IO method or DMA data transfer method. There are two MMCSD modules inside the SOC - MMCSD0 and MMCSD1.

Features Supported

  • Integrated DMA Controller supporting SD Advanced DMA - SDMA, ADMA2 and ADMA3
  • 64-bit data, address width System Bus Interface
  • MMC0 interface is compliant with the JEDEC eMMC electrical standard v5.1 (JESD84-B51) and it supports the following eMMC applications: Legacy SDR, High Speed SDR, High Speed DDR, HS200 and HS400
  • MMC0 interface is also compliant with the SD Host Controller Standard Specification 4.10 and SD Physical Layer Specification v3.01 as well as SDIO Specification v3.00 and it supports the following SD Card applications: UHS–I SDR12, UHS–I SDR25, UHS–I SDR50, UHS–I DDR50 and UHS–I SDR104
  • MMC1/MMC2 interface is compliant with the SD Host Controller Standard Specification 4.10 and SD Physical Layer Specification v3.01 as well as SDIO Specification v3.00 and it supports the following SD Card applications: Default speed, High speed, UHS–I SDR12, UHS–I SDR25, UHS–I SDR50, UHS–I DDR50 and UHS–I SDR104

SysConfig Features

Note
It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle.

Example Usage

Include the below file to access the APIs

#include <stdio.h>
#include <drivers/mmcsd.h>

Instance Open Example

MMCSD_Params mmcsdParams;
MMCSD_Params_init(&mmcsdParams);
gMmcsdHandle = MMCSD_open(0, &mmcsdParams);
DebugP_assert(gMmcsdHandle != NULL);

Instance Close Example

MMCSD_close(gMmcsdHandle);

API

APIs for MMCSD

MMCSD_open
MMCSD_Handle MMCSD_open(uint32_t index, const MMCSD_Params *openParams)
This function opens a given MMCSD peripheral.
NULL
#define NULL
Define NULL if not defined.
Definition: csl_types.h:100
MMCSD_Params
MMCSD instance attributes - used during init time.
Definition: mmcsd/v0/mmcsd.h:200
MMCSD_Params_init
void MMCSD_Params_init(MMCSD_Params *mmcsdParams)
Initialize data structure with defaults.
mmcsd.h
MMCSD_close
void MMCSD_close(MMCSD_Handle handle)
Function to close a MMCSD peripheral specified by the MMCSD handle.
DebugP_assert
#define DebugP_assert(expression)
Function to call for assert check.
Definition: DebugP.h:175