Microchip® Advanced Software Framework

sd_mmc_mci_mem.c File Reference
#include "conf_access.h"
#include "conf_sd_mmc_mci.h"
#include "sd_mmc_mci.h"
#include "sd_mmc_mci_mem.h"
#include "conf_usb.h"
#include "usb_drv.h"
#include "scsi_decoder.h"

Macros

#define Sd_mmc_mci_access_signal_off()
 
#define Sd_mmc_mci_access_signal_on()
 

Functions

Control Interface
Ctrl_status sd_mmc_mci_test_unit_ready (uint8_t slot)
 Tests the memory state and initializes the memory if required. More...
 
Ctrl_status sd_mmc_mci_test_unit_ready_0 (void)
 Instance Declaration for sd_mmc_mci_test_unit_ready Slot O. More...
 
Ctrl_status sd_mmc_mci_test_unit_ready_1 (void)
 Instance Declaration for sd_mmc_mci_test_unit_ready Slot 1. More...
 
Ctrl_status sd_mmc_mci_read_capacity (uint8_t slot, uint32_t *nb_sector)
 Returns the address of the last valid sector in the memory. More...
 
Ctrl_status sd_mmc_mci_read_capacity_0 (uint32_t *nb_sector)
 Instance Declaration for sd_mmc_mci_read_capacity Slot O. More...
 
Ctrl_status sd_mmc_mci_read_capacity_1 (uint32_t *nb_sector)
 Instance Declaration for sd_mmc_mci_read_capacity Slot 1. More...
 
bool sd_mmc_mci_wr_protect (uint8_t slot)
 Returns the write-protection state of the memory. More...
 
bool sd_mmc_mci_wr_protect_0 (void)
 Instance Declaration for sd_mmc_mci_wr_protect Slot O. More...
 
bool sd_mmc_mci_wr_protect_1 (void)
 Instance Declaration for sd_mmc_mci_wr_protect Slot 1. More...
 
bool sd_mmc_mci_removal (uint8_t slot)
 Tells whether the memory is removable. More...
 
bool sd_mmc_mci_removal_0 (void)
 Instance Declaration for sd_mmc_mci_removal Slot O. More...
 
bool sd_mmc_mci_removal_1 (void)
 Instance Declaration for sd_mmc_mci_removal Slot 1. More...
 
MEM <-> USB Interface
Ctrl_status sd_mmc_mci_usb_read_10 (uint8_t slot, uint32_t addr, uint16_t nb_sector)
 Transfers data from the memory to USB. More...
 
Ctrl_status sd_mmc_mci_usb_read_10_0 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_mci_usb_read_10 Slot O. More...
 
Ctrl_status sd_mmc_mci_usb_read_10_1 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_mci_usb_read_10 Slot 1. More...
 
void sd_mmc_mci_read_multiple_sector_callback (const void *psector)
 Callback function invoked after each sector read during sd_mmc_mci_read_multiple_sector. More...
 
Ctrl_status sd_mmc_mci_usb_write_10 (uint8_t slot, uint32_t addr, uint16_t nb_sector)
 Transfers data from USB to the memory. More...
 
Ctrl_status sd_mmc_mci_usb_write_10_0 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_mci_usb_write_10 Slot O. More...
 
Ctrl_status sd_mmc_mci_usb_write_10_1 (uint32_t addr, uint16_t nb_sector)
 Instance Declaration for sd_mmc_mci_usb_write_10 Slot 1. More...
 
void sd_mmc_mci_write_multiple_sector_callback (void *psector)
 Callback function invoked before each sector write during sd_mmc_mci_write_multiple_sector. More...
 
MEM <-> RAM Interface
Ctrl_status sd_mmc_mci_mem_2_ram (uint8_t slot, uint32_t addr, void *ram)
 Copies 1 data sector from the memory to RAM. More...
 
Ctrl_status sd_mmc_mci_dma_mem_2_ram (uint8_t slot, uint32_t addr, void *ram)
 
Ctrl_status sd_mmc_mci_mem_2_ram_0 (uint32_t addr, void *ram)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot O. More...
 
Ctrl_status sd_mmc_mci_mem_2_ram_1 (uint32_t addr, void *ram)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot 1. More...
 
Ctrl_status sd_mmc_mci_multiple_mem_2_ram (uint8_t slot, uint32_t addr, void *ram, uint32_t nb_sectors)
 Copies nb_sectors data sector from the memory to RAM. More...
 
Ctrl_status sd_mmc_mci_dma_multiple_mem_2_ram (uint8_t slot, uint32_t addr, void *ram, uint32_t nb_sectors)
 
Ctrl_status sd_mmc_mci_multiple_mem_2_ram_0 (uint32_t addr, void *ram, uint32_t nb_sectors)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot O. More...
 
Ctrl_status sd_mmc_mci_multiple_mem_2_ram_1 (uint32_t addr, void *ram, uint32_t nb_sectors)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot 1. More...
 
Ctrl_status sd_mmc_mci_ram_2_mem (uint8_t slot, uint32_t addr, const void *ram)
 Copies 1 data sector from RAM to the memory. More...
 
Ctrl_status sd_mmc_mci_dma_ram_2_mem (uint8_t slot, uint32_t addr, const void *ram)
 
Ctrl_status sd_mmc_mci_ram_2_mem_0 (uint32_t addr, const void *ram)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot O. More...
 
Ctrl_status sd_mmc_mci_ram_2_mem_1 (uint32_t addr, const void *ram)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot 1. More...
 
Ctrl_status sd_mmc_mci_multiple_ram_2_mem (uint8_t slot, uint32_t addr, const void *ram, uint32_t nb_sectors)
 Copies nb_sectors data sector from RAM to the memory. More...
 
Ctrl_status sd_mmc_mci_dma_multiple_ram_2_mem (uint8_t slot, uint32_t addr, const void *ram, uint32_t nb_sectors)
 
Ctrl_status sd_mmc_mci_multiple_ram_2_mem_0 (uint32_t addr, const void *ram, uint32_t nb_sectors)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot O. More...
 
Ctrl_status sd_mmc_mci_multiple_ram_2_mem_1 (uint32_t addr, const void *ram, uint32_t nb_sectors)
 Instance Declaration for sd_mmc_mci_mem_2_ram Slot 1. More...
 

Variables

uint32_t g_card_size [MCI_NR_SLOTS]
 SD/MMC Card Size per Slot. More...
 
bool sd_mmc_mci_init_done [MCI_NR_SLOTS]
 Initialization sequence status per Slot. More...
 
static uint8_t sd_mmc_mci_presence_status [MCI_NR_SLOTS] = {SD_MMC_INSERTED, SD_MMC_INSERTED}
 SD/MMC Card Presence status per Slot. More...
 

uint32_t g_card_size[MCI_NR_SLOTS]

SD/MMC Card Size per Slot.

Referenced by sd_mmc_get_ext_csd(), sd_mmc_mci_get_csd(), and sd_mmc_mci_read_capacity().

bool sd_mmc_mci_init_done[MCI_NR_SLOTS]

Initialization sequence status per Slot.

Referenced by sd_mmc_mci_card_init(), sd_mmc_mci_mem_check(), and sd_mmc_mci_test_unit_ready().

uint8_t sd_mmc_mci_presence_status[MCI_NR_SLOTS] = {SD_MMC_INSERTED, SD_MMC_INSERTED}
static

SD/MMC Card Presence status per Slot.

Referenced by sd_mmc_mci_test_unit_ready().