SDIO Interface for SAM4S.
Copyright (c) 2018 Microchip Technology Inc. and its subsidiaries.
#include "common/include/nm_common.h"
#include "bus_wrapper/include/sdio_sam4s.h"
#include "../../memory/sd_mmc/sd_mmc.h"
#include "../../memory/sd_mmc/sd_mmc_protocol.h"
#include "hsmci.h"
#include <board.h>
#include <gpio.h>
#include <ioport.h>
#include "asf.h"
Functions | |
static void | check_card_exist (void) |
static void | main_display_info_card (uint8_t slot) |
Display basic information of the card. More... | |
int8_t | nmi_sdio_cmd52 (tstrNmSdioCmd52 *cmd) |
int8_t | nmi_sdio_cmd53 (tstrNmSdioCmd53 *cmd) |
int8_t | sam4s_sdio_init (void) |
Sam4s SDIO Init. More... | |
static int8_t | wilc_cmd52 (uint8_t rw_flag, uint8_t func_nb, uint32_t reg_addr, uint8_t rd_after_wr, uint8_t *io_data) |
static int8_t | wilc_cmd53 (uint8_t rw_flag, uint8_t func_nb, uint32_t reg_addr, uint8_t inc_addr, uint8_t BlkMode, uint32_t Blksize, uint32_t nb_block, bool access_block) |
static int8_t | wilc_cmd53_compact (uint8_t rw_flag, uint8_t func_nb, uint32_t reg_addr, uint8_t inc_addr, uint32_t size, bool access_block) |
References delay_ms, sd_mmc_check(), SD_MMC_ERR_NO_CARD, SD_MMC_INIT_ONGOING, and SD_MMC_OK.
Referenced by sam4s_sdio_init(), wilc_cmd52(), wilc_cmd53(), and wilc_cmd53_compact().
|
static |
Display basic information of the card.
slot | SD/MMC slot to test |
References CARD_TYPE_HC, CARD_TYPE_MMC, CARD_TYPE_SD, CARD_TYPE_SD_COMBO, CARD_TYPE_SDIO, CARD_TYPE_UNKNOWN, sd_mmc_get_capacity(), and sd_mmc_get_type().
Referenced by sam4s_sdio_init().
int8_t nmi_sdio_cmd52 | ( | tstrNmSdioCmd52 * | cmd | ) |
int8_t nmi_sdio_cmd53 | ( | tstrNmSdioCmd53 * | cmd | ) |
References tstrNmSdioCmd53::address, tstrNmSdioCmd53::block_mode, tstrNmSdioCmd53::block_size, tstrNmSdioCmd53::buffer, tstrNmSdioCmd53::count, tstrNmSdioCmd53::function, hsmci_start_read_blocks(), hsmci_start_write_blocks(), hsmci_wait_end_of_read_blocks(), hsmci_wait_end_of_write_blocks(), tstrNmSdioCmd53::increment, M2M_SUCCESS, tstrNmSdioCmd53::read_write, SDIO_CMD53_READ_FLAG, SDIO_CMD53_WRITE_FLAG, wilc_cmd53(), and wilc_cmd53_compact().
Referenced by nm_bus_ioctl().
sam4s_sdio_init | ( | void | ) |
Sam4s SDIO Init.
References check_card_exist(), gpio_configure_pin, M2M_SUCCESS, main_display_info_card(), PIN_HSMCI_MCCDA_FLAGS, PIN_HSMCI_MCCDA_GPIO, PIN_HSMCI_MCCK_FLAGS, PIN_HSMCI_MCCK_GPIO, PIN_HSMCI_MCDA0_FLAGS, PIN_HSMCI_MCDA0_GPIO, PIN_HSMCI_MCDA1_FLAGS, PIN_HSMCI_MCDA1_GPIO, PIN_HSMCI_MCDA2_FLAGS, PIN_HSMCI_MCDA2_GPIO, PIN_HSMCI_MCDA3_FLAGS, PIN_HSMCI_MCDA3_GPIO, SD_MMC_0_CD_FLAGS, SD_MMC_0_CD_GPIO, and sd_mmc_init().
Referenced by nm_bus_init().
|
static |
|
static |
References check_card_exist(), hsmci_adtc_start(), M2M_ERR_BUS_FAIL, M2M_SUCCESS, SDIO_CMD53_BLOCK_MODE, SDIO_CMD53_COUNT, SDIO_CMD53_FUNCTION_NUM, SDIO_CMD53_IO_R_BLOCK_EXTENDED, SDIO_CMD53_IO_W_BLOCK_EXTENDED, SDIO_CMD53_OP_CODE, SDIO_CMD53_READ_FLAG, SDIO_CMD53_REG_ADDR, and SDIO_CMD53_RW_FLAG.
Referenced by nmi_sdio_cmd53().
|
static |
References check_card_exist(), hsmci_adtc_start(), M2M_ERR_BUS_FAIL, M2M_SUCCESS, SDIO_CMD53_BLOCK_MODE, SDIO_CMD53_COUNT, SDIO_CMD53_FUNCTION_NUM, SDIO_CMD53_IO_R_BYTE_EXTENDED, SDIO_CMD53_IO_W_BYTE_EXTENDED, SDIO_CMD53_OP_CODE, SDIO_CMD53_READ_FLAG, SDIO_CMD53_REG_ADDR, and SDIO_CMD53_RW_FLAG.
Referenced by nmi_sdio_cmd53().