]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL/ST_Library/include/stm32f7xx_hal_sdram.h
Update version number ready for V8.2.1 release.
[freertos] / FreeRTOS / Demo / CORTEX_M7_STM32F7_STM32756G-EVAL / ST_Library / include / stm32f7xx_hal_sdram.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f7xx_hal_sdram.h\r
4   * @author  MCD Application Team\r
5   * @version V0.3.0\r
6   * @date    06-March-2015\r
7   * @brief   Header file of SDRAM HAL module.\r
8   ******************************************************************************\r
9   * @attention\r
10   *\r
11   * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>\r
12   *\r
13   * Redistribution and use in source and binary forms, with or without modification,\r
14   * are permitted provided that the following conditions are met:\r
15   *   1. Redistributions of source code must retain the above copyright notice,\r
16   *      this list of conditions and the following disclaimer.\r
17   *   2. Redistributions in binary form must reproduce the above copyright notice,\r
18   *      this list of conditions and the following disclaimer in the documentation\r
19   *      and/or other materials provided with the distribution.\r
20   *   3. Neither the name of STMicroelectronics nor the names of its contributors\r
21   *      may be used to endorse or promote products derived from this software\r
22   *      without specific prior written permission.\r
23   *\r
24   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
25   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r
27   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\r
28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r
30   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
31   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r
32   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
33   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
34   *\r
35   ******************************************************************************\r
36   */ \r
37 \r
38 /* Define to prevent recursive inclusion -------------------------------------*/\r
39 #ifndef __STM32F7xx_HAL_SDRAM_H\r
40 #define __STM32F7xx_HAL_SDRAM_H\r
41 \r
42 #ifdef __cplusplus\r
43  extern "C" {\r
44 #endif\r
45 \r
46 /* Includes ------------------------------------------------------------------*/\r
47 #include "stm32f7xx_ll_fmc.h"\r
48 \r
49 /** @addtogroup STM32F7xx_HAL_Driver\r
50   * @{\r
51   */\r
52 \r
53 /** @addtogroup SDRAM\r
54   * @{\r
55   */ \r
56 \r
57 /* Exported typedef ----------------------------------------------------------*/   \r
58 \r
59 /** @defgroup SDRAM_Exported_Types SDRAM Exported Types\r
60   * @{\r
61   */\r
62          \r
63 /** \r
64   * @brief  HAL SDRAM State structure definition  \r
65   */ \r
66 typedef enum\r
67 {\r
68   HAL_SDRAM_STATE_RESET             = 0x00,  /*!< SDRAM not yet initialized or disabled */\r
69   HAL_SDRAM_STATE_READY             = 0x01,  /*!< SDRAM initialized and ready for use   */\r
70   HAL_SDRAM_STATE_BUSY              = 0x02,  /*!< SDRAM internal process is ongoing     */\r
71   HAL_SDRAM_STATE_ERROR             = 0x03,  /*!< SDRAM error state                     */\r
72   HAL_SDRAM_STATE_WRITE_PROTECTED   = 0x04,  /*!< SDRAM device write protected          */\r
73   HAL_SDRAM_STATE_PRECHARGED        = 0x05   /*!< SDRAM device precharged               */\r
74   \r
75 }HAL_SDRAM_StateTypeDef;\r
76 \r
77 /** \r
78   * @brief  SDRAM handle Structure definition  \r
79   */ \r
80 typedef struct\r
81 {\r
82   FMC_SDRAM_TypeDef             *Instance;  /*!< Register base address                 */\r
83   \r
84   FMC_SDRAM_InitTypeDef         Init;       /*!< SDRAM device configuration parameters */\r
85   \r
86   __IO HAL_SDRAM_StateTypeDef   State;      /*!< SDRAM access state                    */\r
87   \r
88   HAL_LockTypeDef               Lock;       /*!< SDRAM locking object                  */ \r
89 \r
90   DMA_HandleTypeDef             *hdma;      /*!< Pointer DMA handler                   */\r
91   \r
92 }SDRAM_HandleTypeDef;\r
93 /**\r
94   * @}\r
95   */\r
96 \r
97 /* Exported constants --------------------------------------------------------*/\r
98 /* Exported macro ------------------------------------------------------------*/\r
99 \r
100 /** @defgroup SDRAM_Exported_Macros SDRAM Exported Macros\r
101   * @{\r
102   */\r
103 \r
104 /** @brief Reset SDRAM handle state\r
105   * @param  __HANDLE__: specifies the SDRAM handle.\r
106   * @retval None\r
107   */\r
108 #define __HAL_SDRAM_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SDRAM_STATE_RESET)\r
109 \r
110 /**\r
111   * @}\r
112   */\r
113 \r
114 /* Exported functions --------------------------------------------------------*/\r
115 \r
116 /** @addtogroup SDRAM_Exported_Functions SDRAM Exported Functions\r
117   * @{\r
118   */\r
119 \r
120 /** @addtogroup SDRAM_Exported_Functions_Group1 \r
121   * @{\r
122   */\r
123 \r
124 /* Initialization/de-initialization functions *********************************/\r
125 HAL_StatusTypeDef HAL_SDRAM_Init(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_TimingTypeDef *Timing);\r
126 HAL_StatusTypeDef HAL_SDRAM_DeInit(SDRAM_HandleTypeDef *hsdram);\r
127 void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef *hsdram);\r
128 void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef *hsdram);\r
129 \r
130 void HAL_SDRAM_IRQHandler(SDRAM_HandleTypeDef *hsdram);\r
131 void HAL_SDRAM_RefreshErrorCallback(SDRAM_HandleTypeDef *hsdram);\r
132 void HAL_SDRAM_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma);\r
133 void HAL_SDRAM_DMA_XferErrorCallback(DMA_HandleTypeDef *hdma);\r
134 \r
135 /**\r
136   * @}\r
137   */\r
138 \r
139 /** @addtogroup SDRAM_Exported_Functions_Group2 \r
140   * @{\r
141   */\r
142 /* I/O operation functions ****************************************************/\r
143 HAL_StatusTypeDef HAL_SDRAM_Read_8b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint8_t *pDstBuffer, uint32_t BufferSize);\r
144 HAL_StatusTypeDef HAL_SDRAM_Write_8b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint8_t *pSrcBuffer, uint32_t BufferSize);\r
145 HAL_StatusTypeDef HAL_SDRAM_Read_16b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint16_t *pDstBuffer, uint32_t BufferSize);\r
146 HAL_StatusTypeDef HAL_SDRAM_Write_16b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint16_t *pSrcBuffer, uint32_t BufferSize);\r
147 HAL_StatusTypeDef HAL_SDRAM_Read_32b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);\r
148 HAL_StatusTypeDef HAL_SDRAM_Write_32b(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);\r
149 \r
150 HAL_StatusTypeDef HAL_SDRAM_Read_DMA(SDRAM_HandleTypeDef *hsdram, uint32_t * pAddress, uint32_t *pDstBuffer, uint32_t BufferSize);\r
151 HAL_StatusTypeDef HAL_SDRAM_Write_DMA(SDRAM_HandleTypeDef *hsdram, uint32_t *pAddress, uint32_t *pSrcBuffer, uint32_t BufferSize);\r
152 \r
153 /**\r
154   * @}\r
155   */\r
156   \r
157 /** @addtogroup SDRAM_Exported_Functions_Group3 \r
158   * @{\r
159   */\r
160 /* SDRAM Control functions  *****************************************************/\r
161 HAL_StatusTypeDef HAL_SDRAM_WriteProtection_Enable(SDRAM_HandleTypeDef *hsdram);\r
162 HAL_StatusTypeDef HAL_SDRAM_WriteProtection_Disable(SDRAM_HandleTypeDef *hsdram);\r
163 HAL_StatusTypeDef HAL_SDRAM_SendCommand(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout);\r
164 HAL_StatusTypeDef HAL_SDRAM_ProgramRefreshRate(SDRAM_HandleTypeDef *hsdram, uint32_t RefreshRate);\r
165 HAL_StatusTypeDef HAL_SDRAM_SetAutoRefreshNumber(SDRAM_HandleTypeDef *hsdram, uint32_t AutoRefreshNumber);\r
166 uint32_t          HAL_SDRAM_GetModeStatus(SDRAM_HandleTypeDef *hsdram);\r
167 \r
168 /**\r
169   * @}\r
170   */\r
171 \r
172 /** @addtogroup SDRAM_Exported_Functions_Group4 \r
173   * @{\r
174   */\r
175 /* SDRAM State functions ********************************************************/\r
176 HAL_SDRAM_StateTypeDef  HAL_SDRAM_GetState(SDRAM_HandleTypeDef *hsdram);\r
177 /**\r
178   * @}\r
179   */\r
180 \r
181 /**\r
182   * @}\r
183   */\r
184 \r
185 /**\r
186   * @}\r
187   */ \r
188 \r
189 /**\r
190   * @}\r
191   */\r
192 \r
193 #ifdef __cplusplus\r
194 }\r
195 #endif\r
196 \r
197 #endif /* __STM32F7xx_HAL_SDRAM_H */\r
198 \r
199 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r