Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:35

0001 /**
0002   ******************************************************************************
0003   * @file    stm32h7xx_hal_mmc_ex.h
0004   * @author  MCD Application Team
0005   * @brief   Header file of SD HAL extended module.
0006   ******************************************************************************
0007   * @attention
0008   *
0009   * Copyright (c) 2017 STMicroelectronics.
0010   * All rights reserved.
0011   *
0012   * This software is licensed under terms that can be found in the LICENSE file
0013   * in the root directory of this software component.
0014   * If no LICENSE file comes with this software, it is provided AS-IS.
0015   *
0016   ******************************************************************************
0017   */
0018 
0019 /* Define to prevent recursive inclusion -------------------------------------*/
0020 #ifndef STM32H7xx_HAL_MMC_EX_H
0021 #define STM32H7xx_HAL_MMC_EX_H
0022 
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026 
0027 /* Includes ------------------------------------------------------------------*/
0028 #include "stm32h7xx_hal_def.h"
0029 
0030 /** @addtogroup STM32H7xx_HAL_Driver
0031   * @{
0032   */
0033 
0034 /** @addtogroup MMCEx
0035   * @brief SD HAL extended module driver
0036   * @{
0037   */
0038 
0039 /* Exported types ------------------------------------------------------------*/
0040 /** @defgroup MMCEx_Exported_Types MMCEx Exported Types
0041   * @ingroup RTEMSBSPsARMSTM32H7
0042   * @{
0043   */
0044 
0045 /** @defgroup MMCEx_Exported_Types_Group1 MMC Internal DMA Buffer structure
0046   * @ingroup RTEMSBSPsARMSTM32H7
0047   * @{
0048   */
0049 typedef enum
0050 {
0051   MMC_DMA_BUFFER0      = 0x00U,    /*!< selects MMC internal DMA Buffer 0     */
0052   MMC_DMA_BUFFER1      = 0x01U,    /*!< selects MMC internal DMA Buffer 1     */
0053 
0054 } HAL_MMCEx_DMABuffer_MemoryTypeDef;
0055 
0056 
0057 /**
0058   * @}
0059   */
0060 
0061 /**
0062   * @}
0063   */
0064 /* Exported functions --------------------------------------------------------*/
0065 /** @defgroup MMCEx_Exported_Functions MMCEx Exported Functions
0066   * @ingroup RTEMSBSPsARMSTM32H7
0067   * @{
0068   */
0069 
0070 /** @defgroup MMCEx_Exported_Functions_Group1 MultiBuffer functions
0071   * @ingroup RTEMSBSPsARMSTM32H7
0072   * @{
0073   */
0074 HAL_StatusTypeDef HAL_MMCEx_ConfigDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t *pDataBuffer0,
0075                                                  uint32_t *pDataBuffer1, uint32_t BufferSize);
0076 HAL_StatusTypeDef HAL_MMCEx_ReadBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd,
0077                                                      uint32_t NumberOfBlocks);
0078 HAL_StatusTypeDef HAL_MMCEx_WriteBlocksDMAMultiBuffer(MMC_HandleTypeDef *hmmc, uint32_t BlockAdd,
0079                                                       uint32_t NumberOfBlocks);
0080 HAL_StatusTypeDef HAL_MMCEx_ChangeDMABuffer(MMC_HandleTypeDef *hmmc, HAL_MMCEx_DMABuffer_MemoryTypeDef Buffer,
0081                                             uint32_t *pDataBuffer);
0082 
0083 void HAL_MMCEx_Read_DMADoubleBuf0CpltCallback(MMC_HandleTypeDef *hmmc);
0084 void HAL_MMCEx_Read_DMADoubleBuf1CpltCallback(MMC_HandleTypeDef *hmmc);
0085 void HAL_MMCEx_Write_DMADoubleBuf0CpltCallback(MMC_HandleTypeDef *hmmc);
0086 void HAL_MMCEx_Write_DMADoubleBuf1CpltCallback(MMC_HandleTypeDef *hmmc);
0087 
0088 /**
0089   * @}
0090   */
0091 
0092 /**
0093   * @}
0094   */
0095 
0096 /* Private types -------------------------------------------------------------*/
0097 /* Private defines -----------------------------------------------------------*/
0098 /* Private variables ---------------------------------------------------------*/
0099 /* Private constants ---------------------------------------------------------*/
0100 /* Private macros ------------------------------------------------------------*/
0101 /* Private functions prototypes ----------------------------------------------*/
0102 /* Private functions ---------------------------------------------------------*/
0103 
0104 /**
0105   * @}
0106   */
0107 
0108 /**
0109   * @}
0110   */
0111 #ifdef __cplusplus
0112 }
0113 #endif
0114 
0115 
0116 #endif /* STM32H7xx_HAL_MMCEx_H */