mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Jul 02 16:30:08 2015 +0100
Revision:
581:39197bcd20f2
Parent:
532:fe11edbda85c
Child:
613:bc40b8d2aec4
Synchronized with git revision ae2d3cdffe70184eb8736d94f76c45c93f4b7724

Full URL: https://github.com/mbedmicro/mbed/commit/ae2d3cdffe70184eb8736d94f76c45c93f4b7724/

Make it possible to build the core mbed library with yotta

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 235:685d5f11838f 1 /**
mbed_official 235:685d5f11838f 2 ******************************************************************************
mbed_official 235:685d5f11838f 3 * @file stm32f4xx_hal_gpio_ex.h
mbed_official 235:685d5f11838f 4 * @author MCD Application Team
mbed_official 532:fe11edbda85c 5 * @version V1.3.0
mbed_official 532:fe11edbda85c 6 * @date 09-March-2015
mbed_official 235:685d5f11838f 7 * @brief Header file of GPIO HAL Extension module.
mbed_official 235:685d5f11838f 8 ******************************************************************************
mbed_official 235:685d5f11838f 9 * @attention
mbed_official 235:685d5f11838f 10 *
mbed_official 532:fe11edbda85c 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 235:685d5f11838f 12 *
mbed_official 235:685d5f11838f 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 235:685d5f11838f 14 * are permitted provided that the following conditions are met:
mbed_official 235:685d5f11838f 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 235:685d5f11838f 16 * this list of conditions and the following disclaimer.
mbed_official 235:685d5f11838f 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 235:685d5f11838f 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 235:685d5f11838f 19 * and/or other materials provided with the distribution.
mbed_official 235:685d5f11838f 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 235:685d5f11838f 21 * may be used to endorse or promote products derived from this software
mbed_official 235:685d5f11838f 22 * without specific prior written permission.
mbed_official 235:685d5f11838f 23 *
mbed_official 235:685d5f11838f 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 235:685d5f11838f 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 235:685d5f11838f 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 235:685d5f11838f 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 235:685d5f11838f 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 235:685d5f11838f 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 235:685d5f11838f 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 235:685d5f11838f 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 235:685d5f11838f 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 235:685d5f11838f 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 235:685d5f11838f 34 *
mbed_official 235:685d5f11838f 35 ******************************************************************************
mbed_official 235:685d5f11838f 36 */
mbed_official 235:685d5f11838f 37
mbed_official 235:685d5f11838f 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 235:685d5f11838f 39 #ifndef __STM32F4xx_HAL_GPIO_EX_H
mbed_official 235:685d5f11838f 40 #define __STM32F4xx_HAL_GPIO_EX_H
mbed_official 235:685d5f11838f 41
mbed_official 235:685d5f11838f 42 #ifdef __cplusplus
mbed_official 235:685d5f11838f 43 extern "C" {
mbed_official 235:685d5f11838f 44 #endif
mbed_official 235:685d5f11838f 45
mbed_official 235:685d5f11838f 46 /* Includes ------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 47 #include "stm32f4xx_hal_def.h"
mbed_official 235:685d5f11838f 48
mbed_official 235:685d5f11838f 49 /** @addtogroup STM32F4xx_HAL_Driver
mbed_official 235:685d5f11838f 50 * @{
mbed_official 235:685d5f11838f 51 */
mbed_official 235:685d5f11838f 52
mbed_official 532:fe11edbda85c 53 /** @defgroup GPIOEx GPIOEx
mbed_official 235:685d5f11838f 54 * @{
mbed_official 235:685d5f11838f 55 */
mbed_official 235:685d5f11838f 56
mbed_official 235:685d5f11838f 57 /* Exported types ------------------------------------------------------------*/
mbed_official 235:685d5f11838f 58 /* Exported constants --------------------------------------------------------*/
mbed_official 532:fe11edbda85c 59 /** @defgroup GPIOEx_Exported_Constants GPIO Exported Constants
mbed_official 235:685d5f11838f 60 * @{
mbed_official 235:685d5f11838f 61 */
mbed_official 235:685d5f11838f 62
mbed_official 532:fe11edbda85c 63 /** @defgroup GPIO_Alternate_function_selection GPIO Alternate Function Selection
mbed_official 532:fe11edbda85c 64 * @{
mbed_official 532:fe11edbda85c 65 */
mbed_official 532:fe11edbda85c 66
mbed_official 532:fe11edbda85c 67 /*------------------------------------------ STM32F429xx/STM32F439xx --------------------------------------*/
mbed_official 235:685d5f11838f 68 #if defined (STM32F429xx) || defined (STM32F439xx)
mbed_official 235:685d5f11838f 69 /**
mbed_official 235:685d5f11838f 70 * @brief AF 0 selection
mbed_official 235:685d5f11838f 71 */
mbed_official 235:685d5f11838f 72 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 235:685d5f11838f 73 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 235:685d5f11838f 74 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 235:685d5f11838f 75 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 235:685d5f11838f 76 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 77
mbed_official 235:685d5f11838f 78 /**
mbed_official 235:685d5f11838f 79 * @brief AF 1 selection
mbed_official 235:685d5f11838f 80 */
mbed_official 235:685d5f11838f 81 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 235:685d5f11838f 82 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 235:685d5f11838f 83
mbed_official 235:685d5f11838f 84 /**
mbed_official 235:685d5f11838f 85 * @brief AF 2 selection
mbed_official 235:685d5f11838f 86 */
mbed_official 235:685d5f11838f 87 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 235:685d5f11838f 88 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 235:685d5f11838f 89 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 235:685d5f11838f 90
mbed_official 235:685d5f11838f 91 /**
mbed_official 235:685d5f11838f 92 * @brief AF 3 selection
mbed_official 235:685d5f11838f 93 */
mbed_official 235:685d5f11838f 94 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 235:685d5f11838f 95 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 235:685d5f11838f 96 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 235:685d5f11838f 97 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 235:685d5f11838f 98
mbed_official 235:685d5f11838f 99 /**
mbed_official 235:685d5f11838f 100 * @brief AF 4 selection
mbed_official 235:685d5f11838f 101 */
mbed_official 235:685d5f11838f 102 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 235:685d5f11838f 103 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 104 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 105
mbed_official 235:685d5f11838f 106 /**
mbed_official 235:685d5f11838f 107 * @brief AF 5 selection
mbed_official 235:685d5f11838f 108 */
mbed_official 235:685d5f11838f 109 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 110 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 111 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 112 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 235:685d5f11838f 113 #define GPIO_AF5_SPI5 ((uint8_t)0x05) /* SPI5 Alternate Function mapping */
mbed_official 235:685d5f11838f 114 #define GPIO_AF5_SPI6 ((uint8_t)0x05) /* SPI6 Alternate Function mapping */
mbed_official 235:685d5f11838f 115 #define GPIO_AF5_I2S3ext ((uint8_t)0x05) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 116
mbed_official 235:685d5f11838f 117 /**
mbed_official 235:685d5f11838f 118 * @brief AF 6 selection
mbed_official 235:685d5f11838f 119 */
mbed_official 235:685d5f11838f 120 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 121 #define GPIO_AF6_I2S2ext ((uint8_t)0x06) /* I2S2ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 122 #define GPIO_AF6_SAI1 ((uint8_t)0x06) /* SAI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 123
mbed_official 235:685d5f11838f 124 /**
mbed_official 235:685d5f11838f 125 * @brief AF 7 selection
mbed_official 235:685d5f11838f 126 */
mbed_official 235:685d5f11838f 127 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 235:685d5f11838f 128 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 235:685d5f11838f 129 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 235:685d5f11838f 130 #define GPIO_AF7_I2S3ext ((uint8_t)0x07) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 131
mbed_official 235:685d5f11838f 132 /**
mbed_official 235:685d5f11838f 133 * @brief AF 8 selection
mbed_official 235:685d5f11838f 134 */
mbed_official 235:685d5f11838f 135 #define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */
mbed_official 235:685d5f11838f 136 #define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */
mbed_official 235:685d5f11838f 137 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 235:685d5f11838f 138 #define GPIO_AF8_UART7 ((uint8_t)0x08) /* UART7 Alternate Function mapping */
mbed_official 235:685d5f11838f 139 #define GPIO_AF8_UART8 ((uint8_t)0x08) /* UART8 Alternate Function mapping */
mbed_official 235:685d5f11838f 140
mbed_official 235:685d5f11838f 141 /**
mbed_official 235:685d5f11838f 142 * @brief AF 9 selection
mbed_official 235:685d5f11838f 143 */
mbed_official 235:685d5f11838f 144 #define GPIO_AF9_CAN1 ((uint8_t)0x09) /* CAN1 Alternate Function mapping */
mbed_official 235:685d5f11838f 145 #define GPIO_AF9_CAN2 ((uint8_t)0x09) /* CAN2 Alternate Function mapping */
mbed_official 235:685d5f11838f 146 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 235:685d5f11838f 147 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 235:685d5f11838f 148 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 235:685d5f11838f 149 #define GPIO_AF9_LTDC ((uint8_t)0x09) /* LCD-TFT Alternate Function mapping */
mbed_official 235:685d5f11838f 150
mbed_official 235:685d5f11838f 151 /**
mbed_official 235:685d5f11838f 152 * @brief AF 10 selection
mbed_official 235:685d5f11838f 153 */
mbed_official 235:685d5f11838f 154 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 235:685d5f11838f 155 #define GPIO_AF10_OTG_HS ((uint8_t)0xA) /* OTG_HS Alternate Function mapping */
mbed_official 235:685d5f11838f 156
mbed_official 235:685d5f11838f 157 /**
mbed_official 235:685d5f11838f 158 * @brief AF 11 selection
mbed_official 235:685d5f11838f 159 */
mbed_official 235:685d5f11838f 160 #define GPIO_AF11_ETH ((uint8_t)0x0B) /* ETHERNET Alternate Function mapping */
mbed_official 235:685d5f11838f 161
mbed_official 235:685d5f11838f 162 /**
mbed_official 235:685d5f11838f 163 * @brief AF 12 selection
mbed_official 235:685d5f11838f 164 */
mbed_official 235:685d5f11838f 165 #define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */
mbed_official 235:685d5f11838f 166 #define GPIO_AF12_OTG_HS_FS ((uint8_t)0xC) /* OTG HS configured in FS, Alternate Function mapping */
mbed_official 235:685d5f11838f 167 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 235:685d5f11838f 168
mbed_official 235:685d5f11838f 169 /**
mbed_official 235:685d5f11838f 170 * @brief AF 13 selection
mbed_official 235:685d5f11838f 171 */
mbed_official 235:685d5f11838f 172 #define GPIO_AF13_DCMI ((uint8_t)0x0D) /* DCMI Alternate Function mapping */
mbed_official 235:685d5f11838f 173
mbed_official 235:685d5f11838f 174 /**
mbed_official 235:685d5f11838f 175 * @brief AF 14 selection
mbed_official 235:685d5f11838f 176 */
mbed_official 235:685d5f11838f 177 #define GPIO_AF14_LTDC ((uint8_t)0x0E) /* LCD-TFT Alternate Function mapping */
mbed_official 235:685d5f11838f 178
mbed_official 235:685d5f11838f 179 /**
mbed_official 235:685d5f11838f 180 * @brief AF 15 selection
mbed_official 235:685d5f11838f 181 */
mbed_official 235:685d5f11838f 182 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 235:685d5f11838f 183 #endif /* STM32F429xx || STM32F439xx */
mbed_official 235:685d5f11838f 184 /*------------------------------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 185
mbed_official 235:685d5f11838f 186 /*---------------------------------- STM32F427xx/STM32F437xx--------------------------------*/
mbed_official 235:685d5f11838f 187 #if defined (STM32F427xx) || defined (STM32F437xx)
mbed_official 235:685d5f11838f 188 /**
mbed_official 235:685d5f11838f 189 * @brief AF 0 selection
mbed_official 235:685d5f11838f 190 */
mbed_official 235:685d5f11838f 191 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 235:685d5f11838f 192 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 235:685d5f11838f 193 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 235:685d5f11838f 194 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 235:685d5f11838f 195 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 196
mbed_official 235:685d5f11838f 197 /**
mbed_official 235:685d5f11838f 198 * @brief AF 1 selection
mbed_official 235:685d5f11838f 199 */
mbed_official 235:685d5f11838f 200 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 235:685d5f11838f 201 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 235:685d5f11838f 202
mbed_official 235:685d5f11838f 203 /**
mbed_official 235:685d5f11838f 204 * @brief AF 2 selection
mbed_official 235:685d5f11838f 205 */
mbed_official 235:685d5f11838f 206 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 235:685d5f11838f 207 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 235:685d5f11838f 208 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 235:685d5f11838f 209
mbed_official 235:685d5f11838f 210 /**
mbed_official 235:685d5f11838f 211 * @brief AF 3 selection
mbed_official 235:685d5f11838f 212 */
mbed_official 235:685d5f11838f 213 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 235:685d5f11838f 214 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 235:685d5f11838f 215 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 235:685d5f11838f 216 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 235:685d5f11838f 217
mbed_official 235:685d5f11838f 218 /**
mbed_official 235:685d5f11838f 219 * @brief AF 4 selection
mbed_official 235:685d5f11838f 220 */
mbed_official 235:685d5f11838f 221 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 235:685d5f11838f 222 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 223 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 224
mbed_official 235:685d5f11838f 225 /**
mbed_official 235:685d5f11838f 226 * @brief AF 5 selection
mbed_official 235:685d5f11838f 227 */
mbed_official 235:685d5f11838f 228 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 229 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 230 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 231 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 235:685d5f11838f 232 #define GPIO_AF5_SPI5 ((uint8_t)0x05) /* SPI5 Alternate Function mapping */
mbed_official 235:685d5f11838f 233 #define GPIO_AF5_SPI6 ((uint8_t)0x05) /* SPI6 Alternate Function mapping */
mbed_official 532:fe11edbda85c 234 /** @brief GPIO_Legacy
mbed_official 532:fe11edbda85c 235 */
mbed_official 532:fe11edbda85c 236 #define GPIO_AF5_I2S3ext GPIO_AF5_SPI3 /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 237
mbed_official 235:685d5f11838f 238 /**
mbed_official 235:685d5f11838f 239 * @brief AF 6 selection
mbed_official 235:685d5f11838f 240 */
mbed_official 235:685d5f11838f 241 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 242 #define GPIO_AF6_I2S2ext ((uint8_t)0x06) /* I2S2ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 243 #define GPIO_AF6_SAI1 ((uint8_t)0x06) /* SAI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 244
mbed_official 235:685d5f11838f 245 /**
mbed_official 235:685d5f11838f 246 * @brief AF 7 selection
mbed_official 235:685d5f11838f 247 */
mbed_official 235:685d5f11838f 248 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 235:685d5f11838f 249 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 235:685d5f11838f 250 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 235:685d5f11838f 251 #define GPIO_AF7_I2S3ext ((uint8_t)0x07) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 252
mbed_official 235:685d5f11838f 253 /**
mbed_official 235:685d5f11838f 254 * @brief AF 8 selection
mbed_official 235:685d5f11838f 255 */
mbed_official 235:685d5f11838f 256 #define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */
mbed_official 235:685d5f11838f 257 #define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */
mbed_official 235:685d5f11838f 258 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 235:685d5f11838f 259 #define GPIO_AF8_UART7 ((uint8_t)0x08) /* UART7 Alternate Function mapping */
mbed_official 235:685d5f11838f 260 #define GPIO_AF8_UART8 ((uint8_t)0x08) /* UART8 Alternate Function mapping */
mbed_official 235:685d5f11838f 261
mbed_official 235:685d5f11838f 262 /**
mbed_official 235:685d5f11838f 263 * @brief AF 9 selection
mbed_official 235:685d5f11838f 264 */
mbed_official 235:685d5f11838f 265 #define GPIO_AF9_CAN1 ((uint8_t)0x09) /* CAN1 Alternate Function mapping */
mbed_official 235:685d5f11838f 266 #define GPIO_AF9_CAN2 ((uint8_t)0x09) /* CAN2 Alternate Function mapping */
mbed_official 235:685d5f11838f 267 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 235:685d5f11838f 268 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 235:685d5f11838f 269 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 235:685d5f11838f 270
mbed_official 235:685d5f11838f 271 /**
mbed_official 235:685d5f11838f 272 * @brief AF 10 selection
mbed_official 235:685d5f11838f 273 */
mbed_official 235:685d5f11838f 274 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 235:685d5f11838f 275 #define GPIO_AF10_OTG_HS ((uint8_t)0xA) /* OTG_HS Alternate Function mapping */
mbed_official 235:685d5f11838f 276
mbed_official 235:685d5f11838f 277 /**
mbed_official 235:685d5f11838f 278 * @brief AF 11 selection
mbed_official 235:685d5f11838f 279 */
mbed_official 235:685d5f11838f 280 #define GPIO_AF11_ETH ((uint8_t)0x0B) /* ETHERNET Alternate Function mapping */
mbed_official 235:685d5f11838f 281
mbed_official 235:685d5f11838f 282 /**
mbed_official 235:685d5f11838f 283 * @brief AF 12 selection
mbed_official 235:685d5f11838f 284 */
mbed_official 235:685d5f11838f 285 #define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */
mbed_official 235:685d5f11838f 286 #define GPIO_AF12_OTG_HS_FS ((uint8_t)0xC) /* OTG HS configured in FS, Alternate Function mapping */
mbed_official 235:685d5f11838f 287 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 235:685d5f11838f 288
mbed_official 235:685d5f11838f 289 /**
mbed_official 235:685d5f11838f 290 * @brief AF 13 selection
mbed_official 235:685d5f11838f 291 */
mbed_official 235:685d5f11838f 292 #define GPIO_AF13_DCMI ((uint8_t)0x0D) /* DCMI Alternate Function mapping */
mbed_official 235:685d5f11838f 293
mbed_official 235:685d5f11838f 294 /**
mbed_official 235:685d5f11838f 295 * @brief AF 15 selection
mbed_official 235:685d5f11838f 296 */
mbed_official 235:685d5f11838f 297 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 235:685d5f11838f 298 #endif /* STM32F427xx || STM32F437xx */
mbed_official 235:685d5f11838f 299 /*------------------------------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 300
mbed_official 235:685d5f11838f 301 /*---------------------------------- STM32F407xx/STM32F417xx--------------------------------*/
mbed_official 235:685d5f11838f 302 #if defined (STM32F407xx) || defined (STM32F417xx)
mbed_official 235:685d5f11838f 303 /**
mbed_official 235:685d5f11838f 304 * @brief AF 0 selection
mbed_official 235:685d5f11838f 305 */
mbed_official 235:685d5f11838f 306 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 235:685d5f11838f 307 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 235:685d5f11838f 308 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 235:685d5f11838f 309 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 235:685d5f11838f 310 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 311
mbed_official 235:685d5f11838f 312 /**
mbed_official 235:685d5f11838f 313 * @brief AF 1 selection
mbed_official 235:685d5f11838f 314 */
mbed_official 235:685d5f11838f 315 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 235:685d5f11838f 316 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 235:685d5f11838f 317
mbed_official 235:685d5f11838f 318 /**
mbed_official 235:685d5f11838f 319 * @brief AF 2 selection
mbed_official 235:685d5f11838f 320 */
mbed_official 235:685d5f11838f 321 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 235:685d5f11838f 322 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 235:685d5f11838f 323 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 235:685d5f11838f 324
mbed_official 235:685d5f11838f 325 /**
mbed_official 235:685d5f11838f 326 * @brief AF 3 selection
mbed_official 235:685d5f11838f 327 */
mbed_official 235:685d5f11838f 328 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 235:685d5f11838f 329 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 235:685d5f11838f 330 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 235:685d5f11838f 331 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 235:685d5f11838f 332
mbed_official 235:685d5f11838f 333 /**
mbed_official 235:685d5f11838f 334 * @brief AF 4 selection
mbed_official 235:685d5f11838f 335 */
mbed_official 235:685d5f11838f 336 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 235:685d5f11838f 337 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 338 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 339
mbed_official 235:685d5f11838f 340 /**
mbed_official 235:685d5f11838f 341 * @brief AF 5 selection
mbed_official 235:685d5f11838f 342 */
mbed_official 235:685d5f11838f 343 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 344 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 235:685d5f11838f 345 #define GPIO_AF5_I2S3ext ((uint8_t)0x05) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 346
mbed_official 235:685d5f11838f 347 /**
mbed_official 235:685d5f11838f 348 * @brief AF 6 selection
mbed_official 235:685d5f11838f 349 */
mbed_official 235:685d5f11838f 350 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 351 #define GPIO_AF6_I2S2ext ((uint8_t)0x06) /* I2S2ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 352
mbed_official 235:685d5f11838f 353 /**
mbed_official 235:685d5f11838f 354 * @brief AF 7 selection
mbed_official 235:685d5f11838f 355 */
mbed_official 235:685d5f11838f 356 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 235:685d5f11838f 357 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 235:685d5f11838f 358 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 235:685d5f11838f 359 #define GPIO_AF7_I2S3ext ((uint8_t)0x07) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 360
mbed_official 235:685d5f11838f 361 /**
mbed_official 235:685d5f11838f 362 * @brief AF 8 selection
mbed_official 235:685d5f11838f 363 */
mbed_official 235:685d5f11838f 364 #define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */
mbed_official 235:685d5f11838f 365 #define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */
mbed_official 235:685d5f11838f 366 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 235:685d5f11838f 367
mbed_official 235:685d5f11838f 368 /**
mbed_official 235:685d5f11838f 369 * @brief AF 9 selection
mbed_official 235:685d5f11838f 370 */
mbed_official 235:685d5f11838f 371 #define GPIO_AF9_CAN1 ((uint8_t)0x09) /* CAN1 Alternate Function mapping */
mbed_official 235:685d5f11838f 372 #define GPIO_AF9_CAN2 ((uint8_t)0x09) /* CAN2 Alternate Function mapping */
mbed_official 235:685d5f11838f 373 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 235:685d5f11838f 374 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 235:685d5f11838f 375 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 235:685d5f11838f 376
mbed_official 235:685d5f11838f 377 /**
mbed_official 235:685d5f11838f 378 * @brief AF 10 selection
mbed_official 235:685d5f11838f 379 */
mbed_official 235:685d5f11838f 380 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 235:685d5f11838f 381 #define GPIO_AF10_OTG_HS ((uint8_t)0xA) /* OTG_HS Alternate Function mapping */
mbed_official 235:685d5f11838f 382
mbed_official 235:685d5f11838f 383 /**
mbed_official 235:685d5f11838f 384 * @brief AF 11 selection
mbed_official 235:685d5f11838f 385 */
mbed_official 235:685d5f11838f 386 #define GPIO_AF11_ETH ((uint8_t)0x0B) /* ETHERNET Alternate Function mapping */
mbed_official 235:685d5f11838f 387
mbed_official 235:685d5f11838f 388 /**
mbed_official 235:685d5f11838f 389 * @brief AF 12 selection
mbed_official 235:685d5f11838f 390 */
mbed_official 235:685d5f11838f 391 #define GPIO_AF12_FSMC ((uint8_t)0xC) /* FSMC Alternate Function mapping */
mbed_official 235:685d5f11838f 392 #define GPIO_AF12_OTG_HS_FS ((uint8_t)0xC) /* OTG HS configured in FS, Alternate Function mapping */
mbed_official 235:685d5f11838f 393 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 235:685d5f11838f 394
mbed_official 235:685d5f11838f 395 /**
mbed_official 235:685d5f11838f 396 * @brief AF 13 selection
mbed_official 235:685d5f11838f 397 */
mbed_official 235:685d5f11838f 398 #define GPIO_AF13_DCMI ((uint8_t)0x0D) /* DCMI Alternate Function mapping */
mbed_official 235:685d5f11838f 399
mbed_official 235:685d5f11838f 400 /**
mbed_official 235:685d5f11838f 401 * @brief AF 15 selection
mbed_official 235:685d5f11838f 402 */
mbed_official 235:685d5f11838f 403 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 235:685d5f11838f 404 #endif /* STM32F407xx || STM32F417xx */
mbed_official 235:685d5f11838f 405 /*------------------------------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 406
mbed_official 235:685d5f11838f 407 /*---------------------------------- STM32F405xx/STM32F415xx--------------------------------*/
mbed_official 235:685d5f11838f 408 #if defined (STM32F405xx) || defined (STM32F415xx)
mbed_official 235:685d5f11838f 409 /**
mbed_official 235:685d5f11838f 410 * @brief AF 0 selection
mbed_official 235:685d5f11838f 411 */
mbed_official 235:685d5f11838f 412 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 235:685d5f11838f 413 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 235:685d5f11838f 414 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 235:685d5f11838f 415 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 235:685d5f11838f 416 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 417
mbed_official 235:685d5f11838f 418 /**
mbed_official 235:685d5f11838f 419 * @brief AF 1 selection
mbed_official 235:685d5f11838f 420 */
mbed_official 235:685d5f11838f 421 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 235:685d5f11838f 422 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 235:685d5f11838f 423
mbed_official 235:685d5f11838f 424 /**
mbed_official 235:685d5f11838f 425 * @brief AF 2 selection
mbed_official 235:685d5f11838f 426 */
mbed_official 235:685d5f11838f 427 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 235:685d5f11838f 428 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 235:685d5f11838f 429 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 235:685d5f11838f 430
mbed_official 235:685d5f11838f 431 /**
mbed_official 235:685d5f11838f 432 * @brief AF 3 selection
mbed_official 235:685d5f11838f 433 */
mbed_official 235:685d5f11838f 434 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 235:685d5f11838f 435 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 235:685d5f11838f 436 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 235:685d5f11838f 437 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 235:685d5f11838f 438
mbed_official 235:685d5f11838f 439 /**
mbed_official 235:685d5f11838f 440 * @brief AF 4 selection
mbed_official 235:685d5f11838f 441 */
mbed_official 235:685d5f11838f 442 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 235:685d5f11838f 443 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 444 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 445
mbed_official 235:685d5f11838f 446 /**
mbed_official 235:685d5f11838f 447 * @brief AF 5 selection
mbed_official 235:685d5f11838f 448 */
mbed_official 235:685d5f11838f 449 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 450 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 235:685d5f11838f 451 #define GPIO_AF5_I2S3ext ((uint8_t)0x05) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 452
mbed_official 235:685d5f11838f 453 /**
mbed_official 235:685d5f11838f 454 * @brief AF 6 selection
mbed_official 235:685d5f11838f 455 */
mbed_official 235:685d5f11838f 456 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 457 #define GPIO_AF6_I2S2ext ((uint8_t)0x06) /* I2S2ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 458
mbed_official 235:685d5f11838f 459 /**
mbed_official 235:685d5f11838f 460 * @brief AF 7 selection
mbed_official 235:685d5f11838f 461 */
mbed_official 235:685d5f11838f 462 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 235:685d5f11838f 463 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 235:685d5f11838f 464 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 235:685d5f11838f 465 #define GPIO_AF7_I2S3ext ((uint8_t)0x07) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 466
mbed_official 235:685d5f11838f 467 /**
mbed_official 235:685d5f11838f 468 * @brief AF 8 selection
mbed_official 235:685d5f11838f 469 */
mbed_official 235:685d5f11838f 470 #define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */
mbed_official 235:685d5f11838f 471 #define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */
mbed_official 235:685d5f11838f 472 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 235:685d5f11838f 473
mbed_official 235:685d5f11838f 474 /**
mbed_official 235:685d5f11838f 475 * @brief AF 9 selection
mbed_official 235:685d5f11838f 476 */
mbed_official 235:685d5f11838f 477 #define GPIO_AF9_CAN1 ((uint8_t)0x09) /* CAN1 Alternate Function mapping */
mbed_official 235:685d5f11838f 478 #define GPIO_AF9_CAN2 ((uint8_t)0x09) /* CAN2 Alternate Function mapping */
mbed_official 235:685d5f11838f 479 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 235:685d5f11838f 480 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 235:685d5f11838f 481 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 235:685d5f11838f 482
mbed_official 235:685d5f11838f 483 /**
mbed_official 235:685d5f11838f 484 * @brief AF 10 selection
mbed_official 235:685d5f11838f 485 */
mbed_official 235:685d5f11838f 486 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 235:685d5f11838f 487 #define GPIO_AF10_OTG_HS ((uint8_t)0xA) /* OTG_HS Alternate Function mapping */
mbed_official 235:685d5f11838f 488
mbed_official 235:685d5f11838f 489 /**
mbed_official 235:685d5f11838f 490 * @brief AF 12 selection
mbed_official 235:685d5f11838f 491 */
mbed_official 235:685d5f11838f 492 #define GPIO_AF12_FSMC ((uint8_t)0xC) /* FSMC Alternate Function mapping */
mbed_official 235:685d5f11838f 493 #define GPIO_AF12_OTG_HS_FS ((uint8_t)0xC) /* OTG HS configured in FS, Alternate Function mapping */
mbed_official 235:685d5f11838f 494 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 235:685d5f11838f 495
mbed_official 235:685d5f11838f 496 /**
mbed_official 235:685d5f11838f 497 * @brief AF 15 selection
mbed_official 235:685d5f11838f 498 */
mbed_official 235:685d5f11838f 499 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 235:685d5f11838f 500 #endif /* STM32F405xx || STM32F415xx */
mbed_official 235:685d5f11838f 501
mbed_official 235:685d5f11838f 502 /*------------------------------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 503
mbed_official 235:685d5f11838f 504 /*---------------------------------------- STM32F401xx--------------------------------------*/
mbed_official 235:685d5f11838f 505 #if defined(STM32F401xC) || defined(STM32F401xE)
mbed_official 235:685d5f11838f 506 /**
mbed_official 235:685d5f11838f 507 * @brief AF 0 selection
mbed_official 235:685d5f11838f 508 */
mbed_official 235:685d5f11838f 509 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 235:685d5f11838f 510 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 235:685d5f11838f 511 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 235:685d5f11838f 512 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 235:685d5f11838f 513 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 514
mbed_official 235:685d5f11838f 515 /**
mbed_official 235:685d5f11838f 516 * @brief AF 1 selection
mbed_official 235:685d5f11838f 517 */
mbed_official 235:685d5f11838f 518 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 235:685d5f11838f 519 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 235:685d5f11838f 520
mbed_official 235:685d5f11838f 521 /**
mbed_official 235:685d5f11838f 522 * @brief AF 2 selection
mbed_official 235:685d5f11838f 523 */
mbed_official 235:685d5f11838f 524 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 235:685d5f11838f 525 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 235:685d5f11838f 526 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 235:685d5f11838f 527
mbed_official 235:685d5f11838f 528 /**
mbed_official 235:685d5f11838f 529 * @brief AF 3 selection
mbed_official 235:685d5f11838f 530 */
mbed_official 235:685d5f11838f 531 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 235:685d5f11838f 532 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 235:685d5f11838f 533 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 235:685d5f11838f 534
mbed_official 235:685d5f11838f 535 /**
mbed_official 235:685d5f11838f 536 * @brief AF 4 selection
mbed_official 235:685d5f11838f 537 */
mbed_official 235:685d5f11838f 538 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 235:685d5f11838f 539 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 540 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 541
mbed_official 235:685d5f11838f 542 /**
mbed_official 235:685d5f11838f 543 * @brief AF 5 selection
mbed_official 235:685d5f11838f 544 */
mbed_official 235:685d5f11838f 545 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 235:685d5f11838f 546 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 235:685d5f11838f 547 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 235:685d5f11838f 548 #define GPIO_AF5_I2S3ext ((uint8_t)0x05) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 549
mbed_official 235:685d5f11838f 550 /**
mbed_official 235:685d5f11838f 551 * @brief AF 6 selection
mbed_official 235:685d5f11838f 552 */
mbed_official 235:685d5f11838f 553 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 554 #define GPIO_AF6_I2S2ext ((uint8_t)0x06) /* I2S2ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 555
mbed_official 235:685d5f11838f 556 /**
mbed_official 235:685d5f11838f 557 * @brief AF 7 selection
mbed_official 235:685d5f11838f 558 */
mbed_official 235:685d5f11838f 559 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 235:685d5f11838f 560 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 235:685d5f11838f 561 #define GPIO_AF7_I2S3ext ((uint8_t)0x07) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 562
mbed_official 235:685d5f11838f 563 /**
mbed_official 235:685d5f11838f 564 * @brief AF 8 selection
mbed_official 235:685d5f11838f 565 */
mbed_official 235:685d5f11838f 566 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 235:685d5f11838f 567
mbed_official 235:685d5f11838f 568 /**
mbed_official 235:685d5f11838f 569 * @brief AF 9 selection
mbed_official 235:685d5f11838f 570 */
mbed_official 235:685d5f11838f 571 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 235:685d5f11838f 572 #define GPIO_AF9_I2C2 ((uint8_t)0x09) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 573 #define GPIO_AF9_I2C3 ((uint8_t)0x09) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 574
mbed_official 235:685d5f11838f 575
mbed_official 235:685d5f11838f 576 /**
mbed_official 235:685d5f11838f 577 * @brief AF 10 selection
mbed_official 235:685d5f11838f 578 */
mbed_official 235:685d5f11838f 579 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 235:685d5f11838f 580
mbed_official 235:685d5f11838f 581 /**
mbed_official 235:685d5f11838f 582 * @brief AF 12 selection
mbed_official 235:685d5f11838f 583 */
mbed_official 235:685d5f11838f 584 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 235:685d5f11838f 585
mbed_official 235:685d5f11838f 586 /**
mbed_official 235:685d5f11838f 587 * @brief AF 15 selection
mbed_official 235:685d5f11838f 588 */
mbed_official 235:685d5f11838f 589 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 235:685d5f11838f 590 #endif /* STM32F401xC || STM32F401xE */
mbed_official 235:685d5f11838f 591 /*------------------------------------------------------------------------------------------*/
mbed_official 235:685d5f11838f 592
mbed_official 235:685d5f11838f 593 /*---------------------------------------- STM32F411xx--------------------------------------*/
mbed_official 235:685d5f11838f 594 #if defined(STM32F411xE)
mbed_official 235:685d5f11838f 595 /**
mbed_official 235:685d5f11838f 596 * @brief AF 0 selection
mbed_official 235:685d5f11838f 597 */
mbed_official 235:685d5f11838f 598 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 235:685d5f11838f 599 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 235:685d5f11838f 600 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 235:685d5f11838f 601 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 235:685d5f11838f 602 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 603
mbed_official 235:685d5f11838f 604 /**
mbed_official 235:685d5f11838f 605 * @brief AF 1 selection
mbed_official 235:685d5f11838f 606 */
mbed_official 235:685d5f11838f 607 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 235:685d5f11838f 608 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 235:685d5f11838f 609
mbed_official 235:685d5f11838f 610 /**
mbed_official 235:685d5f11838f 611 * @brief AF 2 selection
mbed_official 235:685d5f11838f 612 */
mbed_official 235:685d5f11838f 613 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 235:685d5f11838f 614 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 235:685d5f11838f 615 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 235:685d5f11838f 616
mbed_official 235:685d5f11838f 617 /**
mbed_official 235:685d5f11838f 618 * @brief AF 3 selection
mbed_official 235:685d5f11838f 619 */
mbed_official 235:685d5f11838f 620 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 235:685d5f11838f 621 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 235:685d5f11838f 622 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 235:685d5f11838f 623
mbed_official 235:685d5f11838f 624 /**
mbed_official 235:685d5f11838f 625 * @brief AF 4 selection
mbed_official 235:685d5f11838f 626 */
mbed_official 235:685d5f11838f 627 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 235:685d5f11838f 628 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 629 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 630
mbed_official 235:685d5f11838f 631 /**
mbed_official 235:685d5f11838f 632 * @brief AF 5 selection
mbed_official 235:685d5f11838f 633 */
mbed_official 235:685d5f11838f 634 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 235:685d5f11838f 635 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 235:685d5f11838f 636 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 637 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 235:685d5f11838f 638 #define GPIO_AF5_I2S3ext ((uint8_t)0x05) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 639
mbed_official 235:685d5f11838f 640 /**
mbed_official 235:685d5f11838f 641 * @brief AF 6 selection
mbed_official 235:685d5f11838f 642 */
mbed_official 235:685d5f11838f 643 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* I2S2 Alternate Function mapping */
mbed_official 235:685d5f11838f 644 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 645 #define GPIO_AF6_SPI4 ((uint8_t)0x06) /* SPI4/I2S4 Alternate Function mapping */
mbed_official 235:685d5f11838f 646 #define GPIO_AF6_SPI5 ((uint8_t)0x06) /* SPI5/I2S5 Alternate Function mapping */
mbed_official 235:685d5f11838f 647 #define GPIO_AF6_I2S2ext ((uint8_t)0x06) /* I2S2ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 648 /**
mbed_official 235:685d5f11838f 649 * @brief AF 7 selection
mbed_official 235:685d5f11838f 650 */
mbed_official 235:685d5f11838f 651 #define GPIO_AF7_SPI3 ((uint8_t)0x07) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 235:685d5f11838f 652 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 235:685d5f11838f 653 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 235:685d5f11838f 654 #define GPIO_AF7_I2S3ext ((uint8_t)0x07) /* I2S3ext_SD Alternate Function mapping */
mbed_official 235:685d5f11838f 655
mbed_official 235:685d5f11838f 656 /**
mbed_official 235:685d5f11838f 657 * @brief AF 8 selection
mbed_official 235:685d5f11838f 658 */
mbed_official 235:685d5f11838f 659 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 235:685d5f11838f 660
mbed_official 235:685d5f11838f 661 /**
mbed_official 235:685d5f11838f 662 * @brief AF 9 selection
mbed_official 235:685d5f11838f 663 */
mbed_official 235:685d5f11838f 664 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 235:685d5f11838f 665 #define GPIO_AF9_I2C2 ((uint8_t)0x09) /* I2C2 Alternate Function mapping */
mbed_official 235:685d5f11838f 666 #define GPIO_AF9_I2C3 ((uint8_t)0x09) /* I2C3 Alternate Function mapping */
mbed_official 235:685d5f11838f 667
mbed_official 235:685d5f11838f 668
mbed_official 235:685d5f11838f 669 /**
mbed_official 235:685d5f11838f 670 * @brief AF 10 selection
mbed_official 235:685d5f11838f 671 */
mbed_official 235:685d5f11838f 672 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 235:685d5f11838f 673
mbed_official 235:685d5f11838f 674 /**
mbed_official 235:685d5f11838f 675 * @brief AF 12 selection
mbed_official 235:685d5f11838f 676 */
mbed_official 235:685d5f11838f 677 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 235:685d5f11838f 678
mbed_official 235:685d5f11838f 679 /**
mbed_official 235:685d5f11838f 680 * @brief AF 15 selection
mbed_official 235:685d5f11838f 681 */
mbed_official 235:685d5f11838f 682 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 532:fe11edbda85c 683 #endif /* STM32F411xE */
mbed_official 532:fe11edbda85c 684 /*---------------------------------------- STM32F446xx -------------------------------------------*/
mbed_official 532:fe11edbda85c 685 #if defined (STM32F446xx)
mbed_official 532:fe11edbda85c 686 /**
mbed_official 532:fe11edbda85c 687 * @brief AF 0 selection
mbed_official 532:fe11edbda85c 688 */
mbed_official 532:fe11edbda85c 689 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 532:fe11edbda85c 690 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 532:fe11edbda85c 691 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 532:fe11edbda85c 692 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 532:fe11edbda85c 693 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 235:685d5f11838f 694
mbed_official 532:fe11edbda85c 695 /**
mbed_official 532:fe11edbda85c 696 * @brief AF 1 selection
mbed_official 532:fe11edbda85c 697 */
mbed_official 532:fe11edbda85c 698 #define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 699 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 700
mbed_official 532:fe11edbda85c 701 /**
mbed_official 532:fe11edbda85c 702 * @brief AF 2 selection
mbed_official 532:fe11edbda85c 703 */
mbed_official 532:fe11edbda85c 704 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 705 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 532:fe11edbda85c 706 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 532:fe11edbda85c 707
mbed_official 532:fe11edbda85c 708 /**
mbed_official 532:fe11edbda85c 709 * @brief AF 3 selection
mbed_official 532:fe11edbda85c 710 */
mbed_official 532:fe11edbda85c 711 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 532:fe11edbda85c 712 #define GPIO_AF3_TIM9 ((uint8_t)0x03) /* TIM9 Alternate Function mapping */
mbed_official 532:fe11edbda85c 713 #define GPIO_AF3_TIM10 ((uint8_t)0x03) /* TIM10 Alternate Function mapping */
mbed_official 532:fe11edbda85c 714 #define GPIO_AF3_TIM11 ((uint8_t)0x03) /* TIM11 Alternate Function mapping */
mbed_official 532:fe11edbda85c 715 #define GPIO_AF3_CEC ((uint8_t)0x03) /* CEC Alternate Function mapping */
mbed_official 532:fe11edbda85c 716
mbed_official 532:fe11edbda85c 717 /**
mbed_official 532:fe11edbda85c 718 * @brief AF 4 selection
mbed_official 532:fe11edbda85c 719 */
mbed_official 532:fe11edbda85c 720 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 721 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 722 #define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 723 #define GPIO_AF4_FMPI2C1 ((uint8_t)0x04) /* FMPI2C1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 724 #define GPIO_AF4_CEC ((uint8_t)0x04) /* CEC Alternate Function mapping */
mbed_official 532:fe11edbda85c 725
mbed_official 532:fe11edbda85c 726 /**
mbed_official 532:fe11edbda85c 727 * @brief AF 5 selection
mbed_official 532:fe11edbda85c 728 */
mbed_official 532:fe11edbda85c 729 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 730 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 731 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 732 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 532:fe11edbda85c 733
mbed_official 532:fe11edbda85c 734 /**
mbed_official 532:fe11edbda85c 735 * @brief AF 6 selection
mbed_official 532:fe11edbda85c 736 */
mbed_official 532:fe11edbda85c 737 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 738 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 739 #define GPIO_AF6_SPI4 ((uint8_t)0x06) /* SPI4 Alternate Function mapping */
mbed_official 532:fe11edbda85c 740 #define GPIO_AF6_SAI1 ((uint8_t)0x06) /* SAI1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 741
mbed_official 532:fe11edbda85c 742 /**
mbed_official 532:fe11edbda85c 743 * @brief AF 7 selection
mbed_official 532:fe11edbda85c 744 */
mbed_official 532:fe11edbda85c 745 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 746 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 747 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 748 #define GPIO_AF7_UART5 ((uint8_t)0x07) /* UART5 Alternate Function mapping */
mbed_official 532:fe11edbda85c 749 #define GPIO_AF7_SPI2 ((uint8_t)0x07) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 750 #define GPIO_AF7_SPI3 ((uint8_t)0x07) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 532:fe11edbda85c 751 #define GPIO_AF7_SPDIFRX ((uint8_t)0x07) /* SPDIFRX Alternate Function mapping */
mbed_official 532:fe11edbda85c 752
mbed_official 532:fe11edbda85c 753 /**
mbed_official 532:fe11edbda85c 754 * @brief AF 8 selection
mbed_official 532:fe11edbda85c 755 */
mbed_official 532:fe11edbda85c 756 #define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */
mbed_official 532:fe11edbda85c 757 #define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */
mbed_official 532:fe11edbda85c 758 #define GPIO_AF8_USART6 ((uint8_t)0x08) /* USART6 Alternate Function mapping */
mbed_official 532:fe11edbda85c 759 #define GPIO_AF8_SPDIFRX ((uint8_t)0x08) /* SPDIFRX Alternate Function mapping */
mbed_official 532:fe11edbda85c 760 #define GPIO_AF8_SAI2 ((uint8_t)0x08) /* SAI2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 761
mbed_official 532:fe11edbda85c 762 /**
mbed_official 532:fe11edbda85c 763 * @brief AF 9 selection
mbed_official 532:fe11edbda85c 764 */
mbed_official 532:fe11edbda85c 765 #define GPIO_AF9_CAN1 ((uint8_t)0x09) /* CAN1 Alternate Function mapping */
mbed_official 532:fe11edbda85c 766 #define GPIO_AF9_CAN2 ((uint8_t)0x09) /* CAN2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 767 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 532:fe11edbda85c 768 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 532:fe11edbda85c 769 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 532:fe11edbda85c 770 #define GPIO_AF9_QSPI ((uint8_t)0x09) /* QSPI Alternate Function mapping */
mbed_official 532:fe11edbda85c 771
mbed_official 532:fe11edbda85c 772 /**
mbed_official 532:fe11edbda85c 773 * @brief AF 10 selection
mbed_official 532:fe11edbda85c 774 */
mbed_official 532:fe11edbda85c 775 #define GPIO_AF10_OTG_FS ((uint8_t)0xA) /* OTG_FS Alternate Function mapping */
mbed_official 532:fe11edbda85c 776 #define GPIO_AF10_OTG_HS ((uint8_t)0xA) /* OTG_HS Alternate Function mapping */
mbed_official 532:fe11edbda85c 777 #define GPIO_AF10_SAI2 ((uint8_t)0xA) /* SAI2 Alternate Function mapping */
mbed_official 532:fe11edbda85c 778 #define GPIO_AF10_QSPI ((uint8_t)0xA) /* QSPI Alternate Function mapping */
mbed_official 532:fe11edbda85c 779
mbed_official 532:fe11edbda85c 780 /**
mbed_official 532:fe11edbda85c 781 * @brief AF 11 selection
mbed_official 532:fe11edbda85c 782 */
mbed_official 532:fe11edbda85c 783 #define GPIO_AF11_ETH ((uint8_t)0x0B) /* ETHERNET Alternate Function mapping */
mbed_official 532:fe11edbda85c 784
mbed_official 532:fe11edbda85c 785 /**
mbed_official 532:fe11edbda85c 786 * @brief AF 12 selection
mbed_official 532:fe11edbda85c 787 */
mbed_official 532:fe11edbda85c 788 #define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */
mbed_official 532:fe11edbda85c 789 #define GPIO_AF12_OTG_HS_FS ((uint8_t)0xC) /* OTG HS configured in FS, Alternate Function mapping */
mbed_official 532:fe11edbda85c 790 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 532:fe11edbda85c 791
mbed_official 532:fe11edbda85c 792 /**
mbed_official 532:fe11edbda85c 793 * @brief AF 13 selection
mbed_official 532:fe11edbda85c 794 */
mbed_official 532:fe11edbda85c 795 #define GPIO_AF13_DCMI ((uint8_t)0x0D) /* DCMI Alternate Function mapping */
mbed_official 532:fe11edbda85c 796
mbed_official 532:fe11edbda85c 797 /**
mbed_official 532:fe11edbda85c 798 * @brief AF 15 selection
mbed_official 532:fe11edbda85c 799 */
mbed_official 532:fe11edbda85c 800 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 532:fe11edbda85c 801
mbed_official 532:fe11edbda85c 802 #endif /* STM32F446xx */
mbed_official 532:fe11edbda85c 803
mbed_official 532:fe11edbda85c 804 /**
mbed_official 532:fe11edbda85c 805 * @}
mbed_official 532:fe11edbda85c 806 */
mbed_official 532:fe11edbda85c 807
mbed_official 532:fe11edbda85c 808 /**
mbed_official 532:fe11edbda85c 809 * @}
mbed_official 532:fe11edbda85c 810 */
mbed_official 532:fe11edbda85c 811
mbed_official 532:fe11edbda85c 812 /* Exported macro ------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 813 /** @defgroup GPIOEx_Exported_Macros GPIO Exported Macros
mbed_official 532:fe11edbda85c 814 * @{
mbed_official 532:fe11edbda85c 815 */
mbed_official 532:fe11edbda85c 816 /**
mbed_official 532:fe11edbda85c 817 * @}
mbed_official 532:fe11edbda85c 818 */
mbed_official 532:fe11edbda85c 819
mbed_official 532:fe11edbda85c 820 /* Exported functions --------------------------------------------------------*/
mbed_official 532:fe11edbda85c 821 /** @defgroup GPIOEx_Exported_Functions GPIO Exported Functions
mbed_official 532:fe11edbda85c 822 * @{
mbed_official 532:fe11edbda85c 823 */
mbed_official 532:fe11edbda85c 824 /**
mbed_official 532:fe11edbda85c 825 * @}
mbed_official 532:fe11edbda85c 826 */
mbed_official 532:fe11edbda85c 827
mbed_official 532:fe11edbda85c 828 /* Private types -------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 829 /* Private variables ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 830 /* Private constants ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 831 /** @defgroup GPIOEx_Private_Constants GPIO Private Constants
mbed_official 532:fe11edbda85c 832 * @{
mbed_official 532:fe11edbda85c 833 */
mbed_official 532:fe11edbda85c 834 /**
mbed_official 532:fe11edbda85c 835 * @}
mbed_official 532:fe11edbda85c 836 */
mbed_official 532:fe11edbda85c 837
mbed_official 532:fe11edbda85c 838 /* Private macros ------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 839 /** @defgroup GPIOEx_Private_Macros GPIO Private Macros
mbed_official 532:fe11edbda85c 840 * @{
mbed_official 532:fe11edbda85c 841 */
mbed_official 532:fe11edbda85c 842 /** @defgroup GPIOEx_Get_Port_Index GPIO Get Port Index
mbed_official 532:fe11edbda85c 843 * @{
mbed_official 532:fe11edbda85c 844 */
mbed_official 532:fe11edbda85c 845 #if defined (STM32F405xx) || defined (STM32F415xx) || defined (STM32F407xx) || defined (STM32F417xx)
mbed_official 532:fe11edbda85c 846 #define GPIO_GET_INDEX(__GPIOx__) (uint8_t)(((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 532:fe11edbda85c 847 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 532:fe11edbda85c 848 ((__GPIOx__) == (GPIOC))? 2U :\
mbed_official 532:fe11edbda85c 849 ((__GPIOx__) == (GPIOD))? 3U :\
mbed_official 532:fe11edbda85c 850 ((__GPIOx__) == (GPIOE))? 4U :\
mbed_official 532:fe11edbda85c 851 ((__GPIOx__) == (GPIOF))? 5U :\
mbed_official 532:fe11edbda85c 852 ((__GPIOx__) == (GPIOG))? 6U :\
mbed_official 532:fe11edbda85c 853 ((__GPIOx__) == (GPIOH))? 7U :\
mbed_official 532:fe11edbda85c 854 ((__GPIOx__) == (GPIOI))? 8U : 9U)
mbed_official 532:fe11edbda85c 855 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx */
mbed_official 532:fe11edbda85c 856
mbed_official 532:fe11edbda85c 857 #if defined (STM32F427xx) || defined (STM32F437xx) || defined (STM32F429xx) || defined (STM32F439xx)
mbed_official 532:fe11edbda85c 858 #define GPIO_GET_INDEX(__GPIOx__) (uint8_t)(((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 532:fe11edbda85c 859 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 532:fe11edbda85c 860 ((__GPIOx__) == (GPIOC))? 2U :\
mbed_official 532:fe11edbda85c 861 ((__GPIOx__) == (GPIOD))? 3U :\
mbed_official 532:fe11edbda85c 862 ((__GPIOx__) == (GPIOE))? 4U :\
mbed_official 532:fe11edbda85c 863 ((__GPIOx__) == (GPIOF))? 5U :\
mbed_official 532:fe11edbda85c 864 ((__GPIOx__) == (GPIOG))? 6U :\
mbed_official 532:fe11edbda85c 865 ((__GPIOx__) == (GPIOH))? 7U :\
mbed_official 532:fe11edbda85c 866 ((__GPIOx__) == (GPIOI))? 8U :\
mbed_official 532:fe11edbda85c 867 ((__GPIOx__) == (GPIOJ))? 9U : 10U)
mbed_official 532:fe11edbda85c 868 #endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */
mbed_official 532:fe11edbda85c 869
mbed_official 532:fe11edbda85c 870 #if defined (STM32F401xC) || defined (STM32F401xE) || defined (STM32F411xE)
mbed_official 532:fe11edbda85c 871 #define GPIO_GET_INDEX(__GPIOx__) (uint8_t)(((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 532:fe11edbda85c 872 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 532:fe11edbda85c 873 ((__GPIOx__) == (GPIOC))? 2U :\
mbed_official 532:fe11edbda85c 874 ((__GPIOx__) == (GPIOD))? 3U :\
mbed_official 532:fe11edbda85c 875 ((__GPIOx__) == (GPIOE))? 4U : 5U)
mbed_official 532:fe11edbda85c 876 #endif /* STM32F401xC || STM32F401xE || STM32F411xE */
mbed_official 532:fe11edbda85c 877
mbed_official 532:fe11edbda85c 878 #if defined (STM32F446xx)
mbed_official 532:fe11edbda85c 879 #define GPIO_GET_INDEX(__GPIOx__) (uint8_t)(((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 532:fe11edbda85c 880 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 532:fe11edbda85c 881 ((__GPIOx__) == (GPIOC))? 2U :\
mbed_official 532:fe11edbda85c 882 ((__GPIOx__) == (GPIOD))? 3U :\
mbed_official 532:fe11edbda85c 883 ((__GPIOx__) == (GPIOE))? 4U :\
mbed_official 532:fe11edbda85c 884 ((__GPIOx__) == (GPIOF))? 5U :\
mbed_official 532:fe11edbda85c 885 ((__GPIOx__) == (GPIOG))? 6U : 8U)
mbed_official 532:fe11edbda85c 886 #endif /* STM32F446xx */
mbed_official 532:fe11edbda85c 887
mbed_official 532:fe11edbda85c 888 /**
mbed_official 532:fe11edbda85c 889 * @}
mbed_official 532:fe11edbda85c 890 */
mbed_official 532:fe11edbda85c 891
mbed_official 532:fe11edbda85c 892 /** @defgroup GPIOEx_IS_Alternat_function_selection GPIO Check Alternate Function
mbed_official 532:fe11edbda85c 893 * @{
mbed_official 532:fe11edbda85c 894 */
mbed_official 532:fe11edbda85c 895 /*------------------------- STM32F429xx/STM32F439xx---------------------------*/
mbed_official 532:fe11edbda85c 896 #if defined (STM32F429xx) || defined (STM32F439xx)
mbed_official 532:fe11edbda85c 897 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 532:fe11edbda85c 898 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 532:fe11edbda85c 899 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 532:fe11edbda85c 900 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 532:fe11edbda85c 901 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 532:fe11edbda85c 902 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF3_TIM8) || \
mbed_official 532:fe11edbda85c 903 ((AF) == GPIO_AF4_I2C1) || ((AF) == GPIO_AF4_I2C2) || \
mbed_official 532:fe11edbda85c 904 ((AF) == GPIO_AF4_I2C3) || ((AF) == GPIO_AF5_SPI1) || \
mbed_official 532:fe11edbda85c 905 ((AF) == GPIO_AF5_SPI2) || ((AF) == GPIO_AF9_TIM13) || \
mbed_official 532:fe11edbda85c 906 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF9_TIM12) || \
mbed_official 532:fe11edbda85c 907 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 532:fe11edbda85c 908 ((AF) == GPIO_AF7_USART3) || ((AF) == GPIO_AF8_UART4) || \
mbed_official 532:fe11edbda85c 909 ((AF) == GPIO_AF8_UART5) || ((AF) == GPIO_AF8_USART6) || \
mbed_official 532:fe11edbda85c 910 ((AF) == GPIO_AF9_CAN1) || ((AF) == GPIO_AF9_CAN2) || \
mbed_official 532:fe11edbda85c 911 ((AF) == GPIO_AF10_OTG_FS) || ((AF) == GPIO_AF10_OTG_HS) || \
mbed_official 532:fe11edbda85c 912 ((AF) == GPIO_AF11_ETH) || ((AF) == GPIO_AF12_OTG_HS_FS) || \
mbed_official 532:fe11edbda85c 913 ((AF) == GPIO_AF12_SDIO) || ((AF) == GPIO_AF13_DCMI) || \
mbed_official 532:fe11edbda85c 914 ((AF) == GPIO_AF15_EVENTOUT) || ((AF) == GPIO_AF5_SPI4) || \
mbed_official 532:fe11edbda85c 915 ((AF) == GPIO_AF5_SPI5) || ((AF) == GPIO_AF5_SPI6) || \
mbed_official 532:fe11edbda85c 916 ((AF) == GPIO_AF8_UART7) || ((AF) == GPIO_AF8_UART8) || \
mbed_official 532:fe11edbda85c 917 ((AF) == GPIO_AF12_FMC) || ((AF) == GPIO_AF6_SAI1) || \
mbed_official 532:fe11edbda85c 918 ((AF) == GPIO_AF14_LTDC))
mbed_official 532:fe11edbda85c 919
mbed_official 532:fe11edbda85c 920 #endif /* STM32F429xx || STM32F439xx */
mbed_official 532:fe11edbda85c 921 /*------------------------------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 922
mbed_official 532:fe11edbda85c 923 /*---------------------------------- STM32F427xx/STM32F437xx--------------------------------*/
mbed_official 532:fe11edbda85c 924 #if defined (STM32F427xx) || defined (STM32F437xx)
mbed_official 532:fe11edbda85c 925 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 532:fe11edbda85c 926 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 532:fe11edbda85c 927 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 532:fe11edbda85c 928 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 532:fe11edbda85c 929 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 532:fe11edbda85c 930 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF3_TIM8) || \
mbed_official 532:fe11edbda85c 931 ((AF) == GPIO_AF4_I2C1) || ((AF) == GPIO_AF4_I2C2) || \
mbed_official 532:fe11edbda85c 932 ((AF) == GPIO_AF4_I2C3) || ((AF) == GPIO_AF5_SPI1) || \
mbed_official 532:fe11edbda85c 933 ((AF) == GPIO_AF5_SPI2) || ((AF) == GPIO_AF9_TIM13) || \
mbed_official 532:fe11edbda85c 934 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF9_TIM12) || \
mbed_official 532:fe11edbda85c 935 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 532:fe11edbda85c 936 ((AF) == GPIO_AF7_USART3) || ((AF) == GPIO_AF8_UART4) || \
mbed_official 532:fe11edbda85c 937 ((AF) == GPIO_AF8_UART5) || ((AF) == GPIO_AF8_USART6) || \
mbed_official 532:fe11edbda85c 938 ((AF) == GPIO_AF9_CAN1) || ((AF) == GPIO_AF9_CAN2) || \
mbed_official 532:fe11edbda85c 939 ((AF) == GPIO_AF10_OTG_FS) || ((AF) == GPIO_AF10_OTG_HS) || \
mbed_official 532:fe11edbda85c 940 ((AF) == GPIO_AF11_ETH) || ((AF) == GPIO_AF12_OTG_HS_FS) || \
mbed_official 532:fe11edbda85c 941 ((AF) == GPIO_AF12_SDIO) || ((AF) == GPIO_AF13_DCMI) || \
mbed_official 532:fe11edbda85c 942 ((AF) == GPIO_AF15_EVENTOUT) || ((AF) == GPIO_AF5_SPI4) || \
mbed_official 532:fe11edbda85c 943 ((AF) == GPIO_AF5_SPI5) || ((AF) == GPIO_AF5_SPI6) || \
mbed_official 532:fe11edbda85c 944 ((AF) == GPIO_AF8_UART7) || ((AF) == GPIO_AF8_UART8) || \
mbed_official 532:fe11edbda85c 945 ((AF) == GPIO_AF12_FMC) || ((AF) == GPIO_AF6_SAI1))
mbed_official 532:fe11edbda85c 946
mbed_official 532:fe11edbda85c 947 #endif /* STM32F427xx || STM32F437xx */
mbed_official 532:fe11edbda85c 948 /*------------------------------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 949
mbed_official 532:fe11edbda85c 950 /*---------------------------------- STM32F407xx/STM32F417xx--------------------------------*/
mbed_official 532:fe11edbda85c 951 #if defined (STM32F407xx) || defined (STM32F417xx)
mbed_official 532:fe11edbda85c 952 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 532:fe11edbda85c 953 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 532:fe11edbda85c 954 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 532:fe11edbda85c 955 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 532:fe11edbda85c 956 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 532:fe11edbda85c 957 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF3_TIM8) || \
mbed_official 532:fe11edbda85c 958 ((AF) == GPIO_AF4_I2C1) || ((AF) == GPIO_AF4_I2C2) || \
mbed_official 532:fe11edbda85c 959 ((AF) == GPIO_AF4_I2C3) || ((AF) == GPIO_AF5_SPI1) || \
mbed_official 532:fe11edbda85c 960 ((AF) == GPIO_AF5_SPI2) || ((AF) == GPIO_AF9_TIM13) || \
mbed_official 532:fe11edbda85c 961 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF9_TIM12) || \
mbed_official 532:fe11edbda85c 962 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 532:fe11edbda85c 963 ((AF) == GPIO_AF7_USART3) || ((AF) == GPIO_AF8_UART4) || \
mbed_official 532:fe11edbda85c 964 ((AF) == GPIO_AF8_UART5) || ((AF) == GPIO_AF8_USART6) || \
mbed_official 532:fe11edbda85c 965 ((AF) == GPIO_AF9_CAN1) || ((AF) == GPIO_AF9_CAN2) || \
mbed_official 532:fe11edbda85c 966 ((AF) == GPIO_AF10_OTG_FS) || ((AF) == GPIO_AF10_OTG_HS) || \
mbed_official 532:fe11edbda85c 967 ((AF) == GPIO_AF11_ETH) || ((AF) == GPIO_AF12_OTG_HS_FS) || \
mbed_official 532:fe11edbda85c 968 ((AF) == GPIO_AF12_SDIO) || ((AF) == GPIO_AF13_DCMI) || \
mbed_official 532:fe11edbda85c 969 ((AF) == GPIO_AF12_FSMC) || ((AF) == GPIO_AF15_EVENTOUT))
mbed_official 532:fe11edbda85c 970
mbed_official 532:fe11edbda85c 971 #endif /* STM32F407xx || STM32F417xx */
mbed_official 532:fe11edbda85c 972 /*------------------------------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 973
mbed_official 532:fe11edbda85c 974 /*---------------------------------- STM32F405xx/STM32F415xx--------------------------------*/
mbed_official 532:fe11edbda85c 975 #if defined (STM32F405xx) || defined (STM32F415xx)
mbed_official 532:fe11edbda85c 976 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 532:fe11edbda85c 977 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 532:fe11edbda85c 978 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 532:fe11edbda85c 979 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 532:fe11edbda85c 980 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 532:fe11edbda85c 981 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF3_TIM8) || \
mbed_official 532:fe11edbda85c 982 ((AF) == GPIO_AF4_I2C1) || ((AF) == GPIO_AF4_I2C2) || \
mbed_official 532:fe11edbda85c 983 ((AF) == GPIO_AF4_I2C3) || ((AF) == GPIO_AF5_SPI1) || \
mbed_official 532:fe11edbda85c 984 ((AF) == GPIO_AF5_SPI2) || ((AF) == GPIO_AF9_TIM13) || \
mbed_official 532:fe11edbda85c 985 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF9_TIM12) || \
mbed_official 532:fe11edbda85c 986 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 532:fe11edbda85c 987 ((AF) == GPIO_AF7_USART3) || ((AF) == GPIO_AF8_UART4) || \
mbed_official 532:fe11edbda85c 988 ((AF) == GPIO_AF8_UART5) || ((AF) == GPIO_AF8_USART6) || \
mbed_official 532:fe11edbda85c 989 ((AF) == GPIO_AF9_CAN1) || ((AF) == GPIO_AF9_CAN2) || \
mbed_official 532:fe11edbda85c 990 ((AF) == GPIO_AF10_OTG_FS) || ((AF) == GPIO_AF10_OTG_HS) || \
mbed_official 532:fe11edbda85c 991 ((AF) == GPIO_AF12_OTG_HS_FS) || ((AF) == GPIO_AF12_SDIO) || \
mbed_official 532:fe11edbda85c 992 ((AF) == GPIO_AF12_FSMC) || ((AF) == GPIO_AF15_EVENTOUT))
mbed_official 532:fe11edbda85c 993
mbed_official 532:fe11edbda85c 994 #endif /* STM32F405xx || STM32F415xx */
mbed_official 532:fe11edbda85c 995
mbed_official 532:fe11edbda85c 996 /*------------------------------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 997
mbed_official 532:fe11edbda85c 998 /*---------------------------------------- STM32F401xx--------------------------------------*/
mbed_official 532:fe11edbda85c 999 #if defined(STM32F401xC) || defined(STM32F401xE)
mbed_official 532:fe11edbda85c 1000 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 532:fe11edbda85c 1001 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 532:fe11edbda85c 1002 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 532:fe11edbda85c 1003 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 532:fe11edbda85c 1004 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 532:fe11edbda85c 1005 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF4_I2C1) || \
mbed_official 532:fe11edbda85c 1006 ((AF) == GPIO_AF4_I2C2) || ((AF) == GPIO_AF4_I2C3) || \
mbed_official 532:fe11edbda85c 1007 ((AF) == GPIO_AF5_SPI1) || ((AF) == GPIO_AF5_SPI2) || \
mbed_official 532:fe11edbda85c 1008 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF5_SPI4) || \
mbed_official 532:fe11edbda85c 1009 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 532:fe11edbda85c 1010 ((AF) == GPIO_AF8_USART6) || ((AF) == GPIO_AF10_OTG_FS) || \
mbed_official 532:fe11edbda85c 1011 ((AF) == GPIO_AF9_I2C2) || ((AF) == GPIO_AF9_I2C3) || \
mbed_official 532:fe11edbda85c 1012 ((AF) == GPIO_AF12_SDIO) || ((AF) == GPIO_AF15_EVENTOUT))
mbed_official 532:fe11edbda85c 1013
mbed_official 532:fe11edbda85c 1014 #endif /* STM32F401xC || STM32F401xE */
mbed_official 532:fe11edbda85c 1015 /*------------------------------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 1016
mbed_official 532:fe11edbda85c 1017 /*---------------------------------------- STM32F411xx--------------------------------------*/
mbed_official 532:fe11edbda85c 1018 #if defined(STM32F411xE)
mbed_official 235:685d5f11838f 1019 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 235:685d5f11838f 1020 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 235:685d5f11838f 1021 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 235:685d5f11838f 1022 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 235:685d5f11838f 1023 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 235:685d5f11838f 1024 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF4_I2C1) || \
mbed_official 235:685d5f11838f 1025 ((AF) == GPIO_AF4_I2C2) || ((AF) == GPIO_AF4_I2C3) || \
mbed_official 235:685d5f11838f 1026 ((AF) == GPIO_AF5_SPI1) || ((AF) == GPIO_AF5_SPI2) || \
mbed_official 235:685d5f11838f 1027 ((AF) == GPIO_AF5_SPI3) || ((AF) == GPIO_AF6_SPI4) || \
mbed_official 235:685d5f11838f 1028 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF5_SPI4) || \
mbed_official 235:685d5f11838f 1029 ((AF) == GPIO_AF6_SPI5) || ((AF) == GPIO_AF7_SPI3) || \
mbed_official 235:685d5f11838f 1030 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 235:685d5f11838f 1031 ((AF) == GPIO_AF8_USART6) || ((AF) == GPIO_AF10_OTG_FS) || \
mbed_official 235:685d5f11838f 1032 ((AF) == GPIO_AF9_I2C2) || ((AF) == GPIO_AF9_I2C3) || \
mbed_official 235:685d5f11838f 1033 ((AF) == GPIO_AF12_SDIO) || ((AF) == GPIO_AF15_EVENTOUT))
mbed_official 235:685d5f11838f 1034
mbed_official 235:685d5f11838f 1035 #endif /* STM32F411xE */
mbed_official 532:fe11edbda85c 1036 /*----------------------------------------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 1037
mbed_official 532:fe11edbda85c 1038 /*----------------------------------------------- STM32F446xx ----------------------------------------*/
mbed_official 532:fe11edbda85c 1039 #if defined(STM32F446xx)
mbed_official 532:fe11edbda85c 1040 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_RTC_50Hz) || ((AF) == GPIO_AF9_TIM14) || \
mbed_official 532:fe11edbda85c 1041 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF0_TAMPER) || \
mbed_official 532:fe11edbda85c 1042 ((AF) == GPIO_AF0_SWJ) || ((AF) == GPIO_AF0_TRACE) || \
mbed_official 532:fe11edbda85c 1043 ((AF) == GPIO_AF1_TIM1) || ((AF) == GPIO_AF1_TIM2) || \
mbed_official 532:fe11edbda85c 1044 ((AF) == GPIO_AF2_TIM3) || ((AF) == GPIO_AF2_TIM4) || \
mbed_official 532:fe11edbda85c 1045 ((AF) == GPIO_AF2_TIM5) || ((AF) == GPIO_AF3_TIM8) || \
mbed_official 532:fe11edbda85c 1046 ((AF) == GPIO_AF4_I2C1) || ((AF) == GPIO_AF4_I2C2) || \
mbed_official 532:fe11edbda85c 1047 ((AF) == GPIO_AF4_I2C3) || ((AF) == GPIO_AF5_SPI1) || \
mbed_official 532:fe11edbda85c 1048 ((AF) == GPIO_AF5_SPI2) || ((AF) == GPIO_AF9_TIM13) || \
mbed_official 532:fe11edbda85c 1049 ((AF) == GPIO_AF6_SPI3) || ((AF) == GPIO_AF9_TIM12) || \
mbed_official 532:fe11edbda85c 1050 ((AF) == GPIO_AF7_USART1) || ((AF) == GPIO_AF7_USART2) || \
mbed_official 532:fe11edbda85c 1051 ((AF) == GPIO_AF7_USART3) || ((AF) == GPIO_AF8_UART4) || \
mbed_official 532:fe11edbda85c 1052 ((AF) == GPIO_AF8_UART5) || ((AF) == GPIO_AF8_USART6) || \
mbed_official 532:fe11edbda85c 1053 ((AF) == GPIO_AF9_CAN1) || ((AF) == GPIO_AF9_CAN2) || \
mbed_official 532:fe11edbda85c 1054 ((AF) == GPIO_AF10_OTG_FS) || ((AF) == GPIO_AF10_OTG_HS) || \
mbed_official 532:fe11edbda85c 1055 ((AF) == GPIO_AF11_ETH) || ((AF) == GPIO_AF12_OTG_HS_FS) || \
mbed_official 532:fe11edbda85c 1056 ((AF) == GPIO_AF12_SDIO) || ((AF) == GPIO_AF13_DCMI) || \
mbed_official 532:fe11edbda85c 1057 ((AF) == GPIO_AF15_EVENTOUT) || ((AF) == GPIO_AF5_SPI4) || \
mbed_official 532:fe11edbda85c 1058 ((AF) == GPIO_AF12_FMC) || ((AF) == GPIO_AF6_SAI1) || \
mbed_official 532:fe11edbda85c 1059 ((AF) == GPIO_AF3_CEC) || ((AF) == GPIO_AF4_CEC) || \
mbed_official 532:fe11edbda85c 1060 ((AF) == GPIO_AF5_SPI3) || ((AF) == GPIO_AF6_SPI2) || \
mbed_official 532:fe11edbda85c 1061 ((AF) == GPIO_AF6_SPI4) || ((AF) == GPIO_AF7_UART5) || \
mbed_official 532:fe11edbda85c 1062 ((AF) == GPIO_AF7_SPI2) || ((AF) == GPIO_AF7_SPI3) || \
mbed_official 532:fe11edbda85c 1063 ((AF) == GPIO_AF7_SPDIFRX) || ((AF) == GPIO_AF8_SPDIFRX) || \
mbed_official 532:fe11edbda85c 1064 ((AF) == GPIO_AF8_SAI2) || ((AF) == GPIO_AF9_QSPI) || \
mbed_official 532:fe11edbda85c 1065 ((AF) == GPIO_AF10_SAI2) || ((AF) == GPIO_AF10_QSPI))
mbed_official 532:fe11edbda85c 1066
mbed_official 532:fe11edbda85c 1067 #endif /* STM32F446xx */
mbed_official 532:fe11edbda85c 1068
mbed_official 235:685d5f11838f 1069 /**
mbed_official 235:685d5f11838f 1070 * @}
mbed_official 235:685d5f11838f 1071 */
mbed_official 235:685d5f11838f 1072
mbed_official 235:685d5f11838f 1073 /**
mbed_official 235:685d5f11838f 1074 * @}
mbed_official 235:685d5f11838f 1075 */
mbed_official 235:685d5f11838f 1076
mbed_official 532:fe11edbda85c 1077 /* Private functions ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 1078 /** @defgroup GPIOEx_Private_Functions GPIO Private Functions
mbed_official 532:fe11edbda85c 1079 * @{
mbed_official 532:fe11edbda85c 1080 */
mbed_official 235:685d5f11838f 1081
mbed_official 532:fe11edbda85c 1082 /**
mbed_official 532:fe11edbda85c 1083 * @}
mbed_official 532:fe11edbda85c 1084 */
mbed_official 235:685d5f11838f 1085
mbed_official 235:685d5f11838f 1086 /**
mbed_official 235:685d5f11838f 1087 * @}
mbed_official 235:685d5f11838f 1088 */
mbed_official 235:685d5f11838f 1089
mbed_official 235:685d5f11838f 1090 /**
mbed_official 235:685d5f11838f 1091 * @}
mbed_official 235:685d5f11838f 1092 */
mbed_official 235:685d5f11838f 1093
mbed_official 235:685d5f11838f 1094 #ifdef __cplusplus
mbed_official 235:685d5f11838f 1095 }
mbed_official 235:685d5f11838f 1096 #endif
mbed_official 235:685d5f11838f 1097
mbed_official 235:685d5f11838f 1098 #endif /* __STM32F4xx_HAL_GPIO_EX_H */
mbed_official 235:685d5f11838f 1099
mbed_official 235:685d5f11838f 1100 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/