SAMV71 Xplained Ultra Software Package 1.5

sdmmc_hal.h

Go to the documentation of this file.
00001 /* ---------------------------------------------------------------------------- */
00002 /*                  Atmel Microcontroller Software Support                      */
00003 /*                       SAM Software Package License                           */
00004 /* ---------------------------------------------------------------------------- */
00005 /* Copyright (c) 2015, Atmel Corporation                                        */
00006 /*                                                                              */
00007 /* All rights reserved.                                                         */
00008 /*                                                                              */
00009 /* Redistribution and use in source and binary forms, with or without           */
00010 /* modification, are permitted provided that the following condition is met:    */
00011 /*                                                                              */
00012 /* - Redistributions of source code must retain the above copyright notice,     */
00013 /* this list of conditions and the disclaimer below.                            */
00014 /*                                                                              */
00015 /* Atmel's name may not be used to endorse or promote products derived from     */
00016 /* this software without specific prior written permission.                     */
00017 /*                                                                              */
00018 /* DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR   */
00019 /* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
00020 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE   */
00021 /* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,      */
00022 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
00023 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,  */
00024 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    */
00025 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING         */
00026 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
00027 /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                           */
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