STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
stm32f769i_discovery_qspi.h
Go to the documentation of this file.
1 
47 /* Define to prevent recursive inclusion -------------------------------------*/
48 #ifndef __STM32F769I_DISCOVERY_QSPI_H
49 #define __STM32F769I_DISCOVERY_QSPI_H
50 
51 #ifdef __cplusplus
52  extern "C" {
53 #endif
54 
55 /* Includes ------------------------------------------------------------------*/
56 #include "stm32f7xx_hal.h"
57 #include "../Components/mx25l512/mx25l512.h"
58 
64 /* Exported constants --------------------------------------------------------*/
68 /* QSPI Error codes */
69 #define QSPI_OK ((uint8_t)0x00)
70 #define QSPI_ERROR ((uint8_t)0x01)
71 #define QSPI_BUSY ((uint8_t)0x02)
72 #define QSPI_NOT_SUPPORTED ((uint8_t)0x04)
73 #define QSPI_SUSPENDED ((uint8_t)0x08)
74 
75 
76 /* Definition for QSPI clock resources */
77 #define QSPI_CLK_ENABLE() __HAL_RCC_QSPI_CLK_ENABLE()
78 #define QSPI_CLK_DISABLE() __HAL_RCC_QSPI_CLK_DISABLE()
79 #define QSPI_CS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
80 #define QSPI_CLK_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
81 #define QSPI_D0_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
82 #define QSPI_D1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
83 #define QSPI_D2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOE_CLK_ENABLE()
84 #define QSPI_D3_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
85 
86 #define QSPI_FORCE_RESET() __HAL_RCC_QSPI_FORCE_RESET()
87 #define QSPI_RELEASE_RESET() __HAL_RCC_QSPI_RELEASE_RESET()
88 
89 /* Definition for QSPI Pins */
90 /* QSPI_CS */
91 #define QSPI_CS_PIN GPIO_PIN_6
92 #define QSPI_CS_GPIO_PORT GPIOB
93 #define QSPI_CS_PIN_AF GPIO_AF10_QUADSPI
94 /* QSPI_CLK */
95 #define QSPI_CLK_PIN GPIO_PIN_2
96 #define QSPI_CLK_GPIO_PORT GPIOB
97 #define QSPI_CLK_PIN_AF GPIO_AF9_QUADSPI
98 /* QSPI_D0 */
99 #define QSPI_D0_PIN GPIO_PIN_9
100 #define QSPI_D0_GPIO_PORT GPIOC
101 #define QSPI_D0_PIN_AF GPIO_AF9_QUADSPI
102 /* QSPI_D1 */
103 #define QSPI_D1_PIN GPIO_PIN_10
104 #define QSPI_D1_GPIO_PORT GPIOC
105 #define QSPI_D1_PIN_AF GPIO_AF9_QUADSPI
106 /* QSPI_D2 */
107 #define QSPI_D2_PIN GPIO_PIN_2
108 #define QSPI_D2_GPIO_PORT GPIOE
109 #define QSPI_D2_PIN_AF GPIO_AF9_QUADSPI
110 /* QSPI_D3 */
111 #define QSPI_D3_PIN GPIO_PIN_13
112 #define QSPI_D3_GPIO_PORT GPIOD
113 #define QSPI_D3_PIN_AF GPIO_AF9_QUADSPI
114 
119 /* Exported types ------------------------------------------------------------*/
123 /* QSPI Info */
124 typedef struct {
125  uint32_t FlashSize;
126  uint32_t EraseSectorSize;
128  uint32_t ProgPageSize;
129  uint32_t ProgPagesNumber;
130 } QSPI_Info;
131 
137 /* Exported functions --------------------------------------------------------*/
141 uint8_t BSP_QSPI_Init (void);
142 uint8_t BSP_QSPI_DeInit (void);
143 uint8_t BSP_QSPI_Read (uint8_t* pData, uint32_t ReadAddr, uint32_t Size);
144 uint8_t BSP_QSPI_Write (uint8_t* pData, uint32_t WriteAddr, uint32_t Size);
145 uint8_t BSP_QSPI_Erase_Block(uint32_t BlockAddress);
146 uint8_t BSP_QSPI_Erase_Chip (void);
147 uint8_t BSP_QSPI_GetStatus (void);
148 uint8_t BSP_QSPI_GetInfo (QSPI_Info* pInfo);
149 uint8_t BSP_QSPI_EnableMemoryMappedMode(void);
150 
151 /* These functions can be modified in case the current settings
152  need to be changed for specific application needs */
153 void BSP_QSPI_MspInit(QSPI_HandleTypeDef *hqspi, void *Params);
154 void BSP_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi, void *Params);
155 
164 #ifdef __cplusplus
165 }
166 #endif
167 
168 #endif /* __STM32F769I_DISCOVERY_QSPI_H */
169 
177 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
QSPI Handle Structure definition.
uint8_t BSP_QSPI_GetStatus(void)
Reads current status of the QSPI memory.
uint8_t BSP_QSPI_EnableMemoryMappedMode(void)
Configure the QSPI in memory-mapped mode.
void BSP_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi, void *Params)
QSPI MSP De-Initialization This function frees the hardware resources used in this example: ...
void BSP_QSPI_MspInit(QSPI_HandleTypeDef *hqspi, void *Params)
QSPI MSP Initialization This function configures the hardware resources used in this example: ...
uint8_t BSP_QSPI_GetInfo(QSPI_Info *pInfo)
Return the configuration of the QSPI memory.
This file contains all the functions prototypes for the HAL module driver.
uint8_t BSP_QSPI_Erase_Chip(void)
Erases the entire QSPI memory.
uint8_t BSP_QSPI_Read(uint8_t *pData, uint32_t ReadAddr, uint32_t Size)
Reads an amount of data from the QSPI memory.
uint8_t BSP_QSPI_Erase_Block(uint32_t BlockAddress)
Erases the specified block of the QSPI memory.
uint8_t BSP_QSPI_Init(void)
Initializes the QSPI interface.
uint8_t BSP_QSPI_DeInit(void)
De-Initializes the QSPI interface.
uint8_t BSP_QSPI_Write(uint8_t *pData, uint32_t WriteAddr, uint32_t Size)
Writes an amount of data to the QSPI memory.