SAMV71 Xplained Ultra Software Package 1.4

sdmmc_hal.h

Go to the documentation of this file.
00001 /* ----------------------------------------------------------------------------
00002  *         ATMEL Microcontroller Software Support
00003  * ----------------------------------------------------------------------------
00004  * Copyright (c) 2010, Atmel Corporation
00005  *
00006  * All rights reserved.
00007  *
00008  * Redistribution and use in source and binary forms, with or without
00009  * modification, are permitted provided that the following conditions are met:
00010  *
00011  * - Redistributions of source code must retain the above copyright notice,
00012  * this list of conditions and the disclaimer below.
00013  *
00014  * Atmel's name may not be used to endorse or promote products derived from
00015  * this software without specific prior written permission.
00016  *
00017  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00019  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
00020  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00022  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
00023  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00024  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00025  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00026  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  * ----------------------------------------------------------------------------
00028  */
00029 
00030 /** \file */
00031 
00032 #ifndef _SDMMC_HAL_H
00033 #define _SDMMC_HAL_H
00034 /** \addtogroup libsdmmc_module
00035  *@{
00036  *  \defgroup sdmmc_hal SD/MMC Lib HardwareAccessLayer(HAL) Interface
00037  *  Defines the HAL interface for lower layer to support SD/MMC library.
00038  *
00039  *  \section Usage
00040  *  -# Implement HAL functions as and \ref sSdHalFunctions instance.
00041  *  -# Invoke SDD_Initialize() to initialize \ref sSdCard instance with
00042  *     implemented HAL functions.
00043  *     -# The default SD/MMC bus HAL initialize function name is
00044  *        SDD_InitializeSdmmcMode(), which invokes SDD_Initialize()
00045  *     -# The default SPI bus HAL initialize function name is
00046  *        SDD_InitializeSpiMode(), which invokes SDD_Initialize()
00047  *
00048  *  @{
00049  *    \defgroup sdmmc_hal_def SD/MMC Low Level Definitions
00050  *    @{
00051  *      Defines structs, functions and constants for SD/MMC lower layer
00052  *      implement, to support SD/MMC library.
00053  *    @}
00054  */
00055 
00056 /*------------------------------------------------------------------------------
00057  *      Includes
00058  *----------------------------------------------------------------------------*/
00059 
00060 #include <stdint.h>
00061 #include "sdmmc_cmd.h"
00062 #include "compiler.h"
00063 
00064 /*----------------------------------------------------------------------------
00065  *      Functions
00066  *----------------------------------------------------------------------------*/
00067 
00068 extern void SDD_Initialize(sSdCard *pSd,
00069                            const void* pDrv, uint8_t bSlot,
00070                            const sSdHalFunctions *pHalFunctions);
00071 
00072 /** Initialize the SD/MMC card driver struct for SD/MMC bus mode
00073  *  \note defined in SD/MMC bus mode low level
00074  */
00075 extern void SDD_InitializeSdmmcMode(sSdCard *pSd,
00076                                     void* pDrv, uint8_t bSlot);
00077 
00078 /** Initialize the SD/MMC card driver struct for SPI bus mode
00079  *  \note defined in SD/MMC SPI bus mode low level
00080  */
00081 extern void SDD_InitializeSpiMode(sSdCard *pSd,
00082                                   void* pDrv, uint8_t bSlot);
00083 /** @}*/
00084 /**@}*/
00085 #endif /* #define _SDMMC_HAL_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines