1 /** 2 ****************************************************************************** 3 * @file stm32l5xx_hal_mmc_ex.h 4 * @author MCD Application Team 5 * @brief Header file of SD HAL extended module. 6 ****************************************************************************** 7 * @attention 8 * 9 * <h2><center>© Copyright (c) 2019 STMicroelectronics. 10 * All rights reserved.</center></h2> 11 * 12 * This software component is licensed by ST under BSD 3-Clause license, 13 * the "License"; You may not use this file except in compliance with the 14 * License. You may obtain a copy of the License at: 15 * opensource.org/licenses/BSD-3-Clause 16 * 17 ****************************************************************************** 18 */ 19 20 /* Define to prevent recursive inclusion -------------------------------------*/ 21 #ifndef STM32L5xx_HAL_MMC_EX_H 22 #define STM32L5xx_HAL_MMC_EX_H 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /* Includes ------------------------------------------------------------------*/ 29 #include "stm32l5xx_hal_def.h" 30 31 /** @addtogroup STM32L5xx_HAL_Driver 32 * @{ 33 */ 34 35 /** @addtogroup MMCEx 36 * @brief SD HAL extended module driver 37 * @{ 38 */ 39 40 /* Exported types ------------------------------------------------------------*/ 41 /** @defgroup MMCEx_Exported_Types MMCEx Exported Types 42 * @{ 43 */ 44 45 /** @defgroup MMCEx_Exported_Types_Group1 MMC Internal DMA Buffer structure 46 * @{ 47 */ 48 typedef enum 49 { 50 MMC_DMA_BUFFER0 = 0x00U, /*!< selects MMC internal DMA Buffer 0 */ 51 MMC_DMA_BUFFER1 = 0x01U, /*!< selects MMC internal DMA Buffer 1 */ 52 53 } HAL_MMCEx_DMABuffer_MemoryTypeDef; 54 55 56 /** 57 * @} 58 */ 59 60 /** 61 * @} 62 */ 63 /* Exported functions --------------------------------------------------------*/ 64 /** @defgroup MMCEx_Exported_Functions MMCEx Exported Functions 65 * @{ 66 */ 67 68 /** @defgroup MMCEx_Exported_Functions_Group1 MultiBuffer functions 69 * @{ 70 */ 71 HAL_StatusTypeDef HAL_MMCEx_ConfigDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t *pDataBuffer0, 72 uint32_t *pDataBuffer1, uint32_t BufferSize); 73 HAL_StatusTypeDef HAL_MMCEx_ReadBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, 74 uint32_t NumberOfBlocks); 75 HAL_StatusTypeDef HAL_MMCEx_WriteBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd, 76 uint32_t NumberOfBlocks); 77 HAL_StatusTypeDef HAL_MMCEx_ChangeDMABuffer(MMC_HandleTypeDef *hmmc, HAL_MMCEx_DMABuffer_MemoryTypeDef Buffer, 78 uint32_t *pDataBuffer); 79 80 void HAL_MMCEx_Read_DMADoubleBuf0CpltCallback(MMC_HandleTypeDef *hmmc); 81 void HAL_MMCEx_Read_DMADoubleBuf1CpltCallback(MMC_HandleTypeDef *hmmc); 82 void HAL_MMCEx_Write_DMADoubleBuf0CpltCallback(MMC_HandleTypeDef *hmmc); 83 void HAL_MMCEx_Write_DMADoubleBuf1CpltCallback(MMC_HandleTypeDef *hmmc); 84 85 /** 86 * @} 87 */ 88 89 /** 90 * @} 91 */ 92 93 /* Private types -------------------------------------------------------------*/ 94 /* Private defines -----------------------------------------------------------*/ 95 /* Private variables ---------------------------------------------------------*/ 96 /* Private constants ---------------------------------------------------------*/ 97 /* Private macros ------------------------------------------------------------*/ 98 /* Private functions prototypes ----------------------------------------------*/ 99 /* Private functions ---------------------------------------------------------*/ 100 101 /** 102 * @} 103 */ 104 105 /** 106 * @} 107 */ 108 #ifdef __cplusplus 109 } 110 #endif 111 112 113 #endif /* STM32L5xx_HAL_MMCEx_H */ 114 115 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 116