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:
Mon Sep 28 20:15:09 2015 +0100
Revision:
634:ac7d6880524d
Parent:
632:7687fb9c4f91
Synchronized with git revision 9b7d23d47153c298a6d24de9a415202705889d11

Full URL: https://github.com/mbedmicro/mbed/commit/9b7d23d47153c298a6d24de9a415202705889d11/

Revert "[NUCLEO_F303K8] add support of the STM32F303K8"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 330:c80ac197fa6a 1 /**
mbed_official 330:c80ac197fa6a 2 ******************************************************************************
mbed_official 330:c80ac197fa6a 3 * @file stm32f3xx_hal_gpio_ex.h
mbed_official 330:c80ac197fa6a 4 * @author MCD Application Team
mbed_official 634:ac7d6880524d 5 * @version V1.1.0
mbed_official 634:ac7d6880524d 6 * @date 12-Sept-2014
mbed_official 330:c80ac197fa6a 7 * @brief Header file of GPIO HAL Extended module.
mbed_official 330:c80ac197fa6a 8 ******************************************************************************
mbed_official 330:c80ac197fa6a 9 * @attention
mbed_official 330:c80ac197fa6a 10 *
mbed_official 634:ac7d6880524d 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 330:c80ac197fa6a 12 *
mbed_official 330:c80ac197fa6a 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 330:c80ac197fa6a 14 * are permitted provided that the following conditions are met:
mbed_official 330:c80ac197fa6a 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 330:c80ac197fa6a 16 * this list of conditions and the following disclaimer.
mbed_official 330:c80ac197fa6a 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 330:c80ac197fa6a 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 330:c80ac197fa6a 19 * and/or other materials provided with the distribution.
mbed_official 330:c80ac197fa6a 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 330:c80ac197fa6a 21 * may be used to endorse or promote products derived from this software
mbed_official 330:c80ac197fa6a 22 * without specific prior written permission.
mbed_official 330:c80ac197fa6a 23 *
mbed_official 330:c80ac197fa6a 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 330:c80ac197fa6a 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 330:c80ac197fa6a 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 330:c80ac197fa6a 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 330:c80ac197fa6a 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 330:c80ac197fa6a 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 330:c80ac197fa6a 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 330:c80ac197fa6a 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 330:c80ac197fa6a 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 330:c80ac197fa6a 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 330:c80ac197fa6a 34 *
mbed_official 330:c80ac197fa6a 35 ******************************************************************************
mbed_official 330:c80ac197fa6a 36 */
mbed_official 330:c80ac197fa6a 37
mbed_official 330:c80ac197fa6a 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 330:c80ac197fa6a 39 #ifndef __STM32F3xx_HAL_GPIO_EX_H
mbed_official 330:c80ac197fa6a 40 #define __STM32F3xx_HAL_GPIO_EX_H
mbed_official 330:c80ac197fa6a 41
mbed_official 330:c80ac197fa6a 42 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 43 extern "C" {
mbed_official 330:c80ac197fa6a 44 #endif
mbed_official 330:c80ac197fa6a 45
mbed_official 330:c80ac197fa6a 46 /* Includes ------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 47 #include "stm32f3xx_hal_def.h"
mbed_official 330:c80ac197fa6a 48
mbed_official 330:c80ac197fa6a 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 330:c80ac197fa6a 50 * @{
mbed_official 330:c80ac197fa6a 51 */
mbed_official 330:c80ac197fa6a 52
mbed_official 330:c80ac197fa6a 53 /** @addtogroup GPIOEx GPIO Extended HAL module driver
mbed_official 330:c80ac197fa6a 54 * @{
mbed_official 330:c80ac197fa6a 55 */
mbed_official 330:c80ac197fa6a 56
mbed_official 330:c80ac197fa6a 57 /* Exported types ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 58
mbed_official 330:c80ac197fa6a 59 /* Exported constants --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 60 /** @defgroup GPIOEx_Exported_Constants GPIO Extended Exported Constants
mbed_official 330:c80ac197fa6a 61 * @{
mbed_official 330:c80ac197fa6a 62 */
mbed_official 330:c80ac197fa6a 63
mbed_official 330:c80ac197fa6a 64 /** @defgroup GPIOEx_Alternate_function_selection GPIO Extended Alternate function selection
mbed_official 330:c80ac197fa6a 65 * @{
mbed_official 330:c80ac197fa6a 66 */
mbed_official 330:c80ac197fa6a 67
mbed_official 330:c80ac197fa6a 68 #if defined (STM32F302xC)
mbed_official 330:c80ac197fa6a 69 /*---------------------------------- STM32F302xC ------------------------------*/
mbed_official 330:c80ac197fa6a 70 /**
mbed_official 330:c80ac197fa6a 71 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 72 */
mbed_official 330:c80ac197fa6a 73 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 74 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 75 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 76 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 77 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 78
mbed_official 330:c80ac197fa6a 79 /**
mbed_official 330:c80ac197fa6a 80 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 81 */
mbed_official 330:c80ac197fa6a 82 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 83 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 84 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 85 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 86 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 87 /**
mbed_official 330:c80ac197fa6a 88 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 89 */
mbed_official 330:c80ac197fa6a 90 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 91 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 92 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 93 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 94 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 95 #define GPIO_AF2_COMP1 ((uint8_t)0x02) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 96 /**
mbed_official 330:c80ac197fa6a 97 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 98 */
mbed_official 330:c80ac197fa6a 99 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 100 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 101
mbed_official 330:c80ac197fa6a 102 /**
mbed_official 330:c80ac197fa6a 103 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 104 */
mbed_official 330:c80ac197fa6a 105 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 106 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 107 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 108 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 109 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 110
mbed_official 330:c80ac197fa6a 111 /**
mbed_official 330:c80ac197fa6a 112 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 113 */
mbed_official 330:c80ac197fa6a 114 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 115 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 116 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 117 #define GPIO_AF5_I2S ((uint8_t)0x05) /* I2S Alternate Function mapping */
mbed_official 330:c80ac197fa6a 118 #define GPIO_AF5_I2S2ext ((uint8_t)0x05) /* I2S2ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 119 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 120 #define GPIO_AF5_UART4 ((uint8_t)0x05) /* UART4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 121 #define GPIO_AF5_UART5 ((uint8_t)0x05) /* UART5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 122 /**
mbed_official 330:c80ac197fa6a 123 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 124 */
mbed_official 330:c80ac197fa6a 125 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 126 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 127 #define GPIO_AF6_I2S3ext ((uint8_t)0x06) /* I2S3ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 128 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 129 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 130
mbed_official 330:c80ac197fa6a 131 /**
mbed_official 330:c80ac197fa6a 132 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 133 */
mbed_official 330:c80ac197fa6a 134 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 135 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 136 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 137 #define GPIO_AF7_COMP6 ((uint8_t)0x07) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 138 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 139
mbed_official 330:c80ac197fa6a 140 /**
mbed_official 330:c80ac197fa6a 141 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 142 */
mbed_official 330:c80ac197fa6a 143 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 144 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 145 #define GPIO_AF8_COMP4 ((uint8_t)0x08) /* COMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 146 #define GPIO_AF8_COMP6 ((uint8_t)0x08) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 147
mbed_official 330:c80ac197fa6a 148 /**
mbed_official 330:c80ac197fa6a 149 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 150 */
mbed_official 330:c80ac197fa6a 151 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 152 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 153 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 154
mbed_official 330:c80ac197fa6a 155 /**
mbed_official 330:c80ac197fa6a 156 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 157 */
mbed_official 330:c80ac197fa6a 158 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 159 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 160 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 161 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 162 /**
mbed_official 330:c80ac197fa6a 163 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 164 */
mbed_official 330:c80ac197fa6a 165 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 166
mbed_official 330:c80ac197fa6a 167 /**
mbed_official 330:c80ac197fa6a 168 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 169 */
mbed_official 330:c80ac197fa6a 170 #define GPIO_AF12_TIM1 ((uint8_t)0xC) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 171
mbed_official 330:c80ac197fa6a 172 /**
mbed_official 330:c80ac197fa6a 173 * @brief AF 14 selection
mbed_official 330:c80ac197fa6a 174 */
mbed_official 330:c80ac197fa6a 175
mbed_official 330:c80ac197fa6a 176 #define GPIO_AF14_USB ((uint8_t)0x0E) /* USB Alternate Function mapping */
mbed_official 330:c80ac197fa6a 177 /**
mbed_official 330:c80ac197fa6a 178 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 179 */
mbed_official 330:c80ac197fa6a 180 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 181
mbed_official 330:c80ac197fa6a 182 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0E) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 183 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 184 #endif /* STM32F302xC */
mbed_official 330:c80ac197fa6a 185
mbed_official 330:c80ac197fa6a 186 #if defined (STM32F303xC)
mbed_official 330:c80ac197fa6a 187 /*---------------------------------- STM32F303xC ------------------------------*/
mbed_official 330:c80ac197fa6a 188 /**
mbed_official 330:c80ac197fa6a 189 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 190 */
mbed_official 330:c80ac197fa6a 191 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 192 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 193 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 194 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 195 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 196
mbed_official 330:c80ac197fa6a 197 /**
mbed_official 330:c80ac197fa6a 198 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 199 */
mbed_official 330:c80ac197fa6a 200 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 201 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 202 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 203 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 204 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 205 /**
mbed_official 330:c80ac197fa6a 206 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 207 */
mbed_official 330:c80ac197fa6a 208 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 209 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 210 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 211 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 212 #define GPIO_AF2_TIM8 ((uint8_t)0x02) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 213 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 214 #define GPIO_AF2_COMP1 ((uint8_t)0x02) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 215 /**
mbed_official 330:c80ac197fa6a 216 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 217 */
mbed_official 330:c80ac197fa6a 218 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 219 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 220 #define GPIO_AF3_COMP7 ((uint8_t)0x03) /* COMP7 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 221 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 222
mbed_official 330:c80ac197fa6a 223 /**
mbed_official 330:c80ac197fa6a 224 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 225 */
mbed_official 330:c80ac197fa6a 226 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 227 #define GPIO_AF4_TIM8 ((uint8_t)0x04) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 228 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 229 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 230 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 231 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 232
mbed_official 330:c80ac197fa6a 233 /**
mbed_official 330:c80ac197fa6a 234 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 235 */
mbed_official 330:c80ac197fa6a 236 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 237 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 238 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 239 #define GPIO_AF5_I2S ((uint8_t)0x05) /* I2S Alternate Function mapping */
mbed_official 330:c80ac197fa6a 240 #define GPIO_AF5_I2S2ext ((uint8_t)0x05) /* I2S2ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 241 #define GPIO_AF5_TIM8 ((uint8_t)0x05) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 242 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 243 #define GPIO_AF5_UART4 ((uint8_t)0x05) /* UART4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 244 #define GPIO_AF5_UART5 ((uint8_t)0x05) /* UART5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 245 /**
mbed_official 330:c80ac197fa6a 246 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 247 */
mbed_official 330:c80ac197fa6a 248 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 249 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 250 #define GPIO_AF6_I2S3ext ((uint8_t)0x06) /* I2S3ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 251 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 252 #define GPIO_AF6_TIM8 ((uint8_t)0x06) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 253 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 254
mbed_official 330:c80ac197fa6a 255 /**
mbed_official 330:c80ac197fa6a 256 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 257 */
mbed_official 330:c80ac197fa6a 258 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 259 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 260 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 261 #define GPIO_AF7_COMP3 ((uint8_t)0x07) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 262 #define GPIO_AF7_COMP5 ((uint8_t)0x07) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 263 #define GPIO_AF7_COMP6 ((uint8_t)0x07) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 264 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 265
mbed_official 330:c80ac197fa6a 266 /**
mbed_official 330:c80ac197fa6a 267 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 268 */
mbed_official 330:c80ac197fa6a 269 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 270 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 271 #define GPIO_AF8_COMP3 ((uint8_t)0x08) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 272 #define GPIO_AF8_COMP4 ((uint8_t)0x08) /* COMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 273 #define GPIO_AF8_COMP5 ((uint8_t)0x08) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 274 #define GPIO_AF8_COMP6 ((uint8_t)0x08) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 275
mbed_official 330:c80ac197fa6a 276 /**
mbed_official 330:c80ac197fa6a 277 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 278 */
mbed_official 330:c80ac197fa6a 279 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 280 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 281 #define GPIO_AF9_TIM8 ((uint8_t)0x09) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 282 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 283
mbed_official 330:c80ac197fa6a 284 /**
mbed_official 330:c80ac197fa6a 285 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 286 */
mbed_official 330:c80ac197fa6a 287 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 288 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 289 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 290 #define GPIO_AF10_TIM8 ((uint8_t)0xA) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 291 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 292 /**
mbed_official 330:c80ac197fa6a 293 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 294 */
mbed_official 330:c80ac197fa6a 295 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 296 #define GPIO_AF11_TIM8 ((uint8_t)0x0B) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 297
mbed_official 330:c80ac197fa6a 298 /**
mbed_official 330:c80ac197fa6a 299 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 300 */
mbed_official 330:c80ac197fa6a 301 #define GPIO_AF12_TIM1 ((uint8_t)0xC) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 302
mbed_official 330:c80ac197fa6a 303 /**
mbed_official 330:c80ac197fa6a 304 * @brief AF 14 selection
mbed_official 330:c80ac197fa6a 305 */
mbed_official 330:c80ac197fa6a 306
mbed_official 330:c80ac197fa6a 307 #define GPIO_AF14_USB ((uint8_t)0x0E) /* USB Alternate Function mapping */
mbed_official 330:c80ac197fa6a 308 /**
mbed_official 330:c80ac197fa6a 309 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 310 */
mbed_official 330:c80ac197fa6a 311 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 312
mbed_official 330:c80ac197fa6a 313 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0E) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 314 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 315 #endif /* STM32F303xC */
mbed_official 330:c80ac197fa6a 316
mbed_official 330:c80ac197fa6a 317 #if defined (STM32F303xE)
mbed_official 330:c80ac197fa6a 318 /*---------------------------------- STM32F303xE ------------------------------*/
mbed_official 330:c80ac197fa6a 319 /**
mbed_official 330:c80ac197fa6a 320 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 321 */
mbed_official 330:c80ac197fa6a 322 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 323 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 324 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 325 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 326 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 327
mbed_official 330:c80ac197fa6a 328 /**
mbed_official 330:c80ac197fa6a 329 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 330 */
mbed_official 330:c80ac197fa6a 331 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 332 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 333 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 334 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 335 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 336
mbed_official 330:c80ac197fa6a 337 /**
mbed_official 330:c80ac197fa6a 338 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 339 */
mbed_official 330:c80ac197fa6a 340 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 341 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 342 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 343 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 344 #define GPIO_AF2_TIM8 ((uint8_t)0x02) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 345 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 346 #define GPIO_AF2_COMP1 ((uint8_t)0x02) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 347 #define GPIO_AF2_I2C3 ((uint8_t)0x02) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 348 #define GPIO_AF2_TIM20 ((uint8_t)0x02) /* TIM20 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 349
mbed_official 330:c80ac197fa6a 350 /**
mbed_official 330:c80ac197fa6a 351 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 352 */
mbed_official 330:c80ac197fa6a 353 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 354 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 355 #define GPIO_AF3_COMP7 ((uint8_t)0x03) /* COMP7 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 356 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 357 #define GPIO_AF3_I2C3 ((uint8_t)0x03) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 358 #define GPIO_AF3_TIM20 ((uint8_t)0x03) /* TIM20 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 359
mbed_official 330:c80ac197fa6a 360 /**
mbed_official 330:c80ac197fa6a 361 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 362 */
mbed_official 330:c80ac197fa6a 363 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 364 #define GPIO_AF4_TIM8 ((uint8_t)0x04) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 365 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 366 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 367 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 368 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 369
mbed_official 330:c80ac197fa6a 370 /**
mbed_official 330:c80ac197fa6a 371 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 372 */
mbed_official 330:c80ac197fa6a 373 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 374 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 375 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 376 #define GPIO_AF5_I2S ((uint8_t)0x05) /* I2S Alternate Function mapping */
mbed_official 330:c80ac197fa6a 377 #define GPIO_AF5_I2S2ext ((uint8_t)0x05) /* I2S2ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 378 #define GPIO_AF5_TIM8 ((uint8_t)0x05) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 379 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 380 #define GPIO_AF5_UART4 ((uint8_t)0x05) /* UART4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 381 #define GPIO_AF5_UART5 ((uint8_t)0x05) /* UART5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 382 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 383
mbed_official 330:c80ac197fa6a 384 /**
mbed_official 330:c80ac197fa6a 385 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 386 */
mbed_official 330:c80ac197fa6a 387 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 388 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 389 #define GPIO_AF6_I2S3ext ((uint8_t)0x06) /* I2S3ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 390 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 391 #define GPIO_AF6_TIM8 ((uint8_t)0x06) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 392 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 393 #define GPIO_AF6_TIM20 ((uint8_t)0x06) /* TIM20 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 394
mbed_official 330:c80ac197fa6a 395 /**
mbed_official 330:c80ac197fa6a 396 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 397 */
mbed_official 330:c80ac197fa6a 398 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 399 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 400 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 401 #define GPIO_AF7_COMP3 ((uint8_t)0x07) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 402 #define GPIO_AF7_COMP5 ((uint8_t)0x07) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 403 #define GPIO_AF7_COMP6 ((uint8_t)0x07) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 404 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 405
mbed_official 330:c80ac197fa6a 406 /**
mbed_official 330:c80ac197fa6a 407 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 408 */
mbed_official 330:c80ac197fa6a 409 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 410 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 411 #define GPIO_AF8_COMP3 ((uint8_t)0x08) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 412 #define GPIO_AF8_COMP4 ((uint8_t)0x08) /* COMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 413 #define GPIO_AF8_COMP5 ((uint8_t)0x08) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 414 #define GPIO_AF8_COMP6 ((uint8_t)0x08) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 415 #define GPIO_AF8_I2C3 ((uint8_t)0x08) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 416
mbed_official 330:c80ac197fa6a 417 /**
mbed_official 330:c80ac197fa6a 418 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 419 */
mbed_official 330:c80ac197fa6a 420 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 421 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 422 #define GPIO_AF9_TIM8 ((uint8_t)0x09) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 423 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 424
mbed_official 330:c80ac197fa6a 425 /**
mbed_official 330:c80ac197fa6a 426 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 427 */
mbed_official 330:c80ac197fa6a 428 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 429 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 430 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 431 #define GPIO_AF10_TIM8 ((uint8_t)0xA) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 432 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 433 /**
mbed_official 330:c80ac197fa6a 434 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 435 */
mbed_official 330:c80ac197fa6a 436 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 437 #define GPIO_AF11_TIM8 ((uint8_t)0x0B) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 438
mbed_official 330:c80ac197fa6a 439 /**
mbed_official 330:c80ac197fa6a 440 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 441 */
mbed_official 330:c80ac197fa6a 442 #define GPIO_AF12_TIM1 ((uint8_t)0xC) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 443 #define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 444 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 330:c80ac197fa6a 445
mbed_official 330:c80ac197fa6a 446 /**
mbed_official 330:c80ac197fa6a 447 * @brief AF 14 selection
mbed_official 330:c80ac197fa6a 448 */
mbed_official 330:c80ac197fa6a 449 #define GPIO_AF14_USB ((uint8_t)0x0E) /* USB Alternate Function mapping */
mbed_official 330:c80ac197fa6a 450
mbed_official 330:c80ac197fa6a 451 /**
mbed_official 330:c80ac197fa6a 452 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 453 */
mbed_official 330:c80ac197fa6a 454 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 455
mbed_official 330:c80ac197fa6a 456 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0E) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 457 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 458 #endif /* STM32F303xE */
mbed_official 330:c80ac197fa6a 459
mbed_official 330:c80ac197fa6a 460 #if defined (STM32F302xE)
mbed_official 330:c80ac197fa6a 461 /*---------------------------------- STM32F302xE ------------------------------*/
mbed_official 330:c80ac197fa6a 462 /**
mbed_official 330:c80ac197fa6a 463 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 464 */
mbed_official 330:c80ac197fa6a 465 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 466 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 467 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 468 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 469 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 470
mbed_official 330:c80ac197fa6a 471 /**
mbed_official 330:c80ac197fa6a 472 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 473 */
mbed_official 330:c80ac197fa6a 474 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 475 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 476 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 477 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 478 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 479
mbed_official 330:c80ac197fa6a 480 /**
mbed_official 330:c80ac197fa6a 481 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 482 */
mbed_official 330:c80ac197fa6a 483 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 484 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 485 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 486 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 487 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 488 #define GPIO_AF2_COMP1 ((uint8_t)0x02) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 489 #define GPIO_AF2_I2C3 ((uint8_t)0x02) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 490
mbed_official 330:c80ac197fa6a 491 /**
mbed_official 330:c80ac197fa6a 492 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 493 */
mbed_official 330:c80ac197fa6a 494 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 495 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 496 #define GPIO_AF3_I2C3 ((uint8_t)0x03) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 497
mbed_official 330:c80ac197fa6a 498 /**
mbed_official 330:c80ac197fa6a 499 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 500 */
mbed_official 330:c80ac197fa6a 501 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 502 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 503 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 504 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 505 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 506
mbed_official 330:c80ac197fa6a 507 /**
mbed_official 330:c80ac197fa6a 508 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 509 */
mbed_official 330:c80ac197fa6a 510 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 511 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 512 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 513 #define GPIO_AF5_I2S ((uint8_t)0x05) /* I2S Alternate Function mapping */
mbed_official 330:c80ac197fa6a 514 #define GPIO_AF5_I2S2ext ((uint8_t)0x05) /* I2S2ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 515 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 516 #define GPIO_AF5_UART4 ((uint8_t)0x05) /* UART4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 517 #define GPIO_AF5_UART5 ((uint8_t)0x05) /* UART5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 518 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 519
mbed_official 330:c80ac197fa6a 520 /**
mbed_official 330:c80ac197fa6a 521 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 522 */
mbed_official 330:c80ac197fa6a 523 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 524 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 525 #define GPIO_AF6_I2S3ext ((uint8_t)0x06) /* I2S3ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 526 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 527 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 528
mbed_official 330:c80ac197fa6a 529 /**
mbed_official 330:c80ac197fa6a 530 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 531 */
mbed_official 330:c80ac197fa6a 532 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 533 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 534 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 535 #define GPIO_AF7_COMP6 ((uint8_t)0x07) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 536 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 537
mbed_official 330:c80ac197fa6a 538 /**
mbed_official 330:c80ac197fa6a 539 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 540 */
mbed_official 330:c80ac197fa6a 541 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 542 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 543 #define GPIO_AF8_COMP4 ((uint8_t)0x08) /* COMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 544 #define GPIO_AF8_COMP6 ((uint8_t)0x08) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 545 #define GPIO_AF8_I2C3 ((uint8_t)0x08) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 546
mbed_official 330:c80ac197fa6a 547 /**
mbed_official 330:c80ac197fa6a 548 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 549 */
mbed_official 330:c80ac197fa6a 550 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 551 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 552 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 553
mbed_official 330:c80ac197fa6a 554 /**
mbed_official 330:c80ac197fa6a 555 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 556 */
mbed_official 330:c80ac197fa6a 557 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 558 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 559 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 560 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 561 /**
mbed_official 330:c80ac197fa6a 562 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 563 */
mbed_official 330:c80ac197fa6a 564 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 565
mbed_official 330:c80ac197fa6a 566 /**
mbed_official 330:c80ac197fa6a 567 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 568 */
mbed_official 330:c80ac197fa6a 569 #define GPIO_AF12_TIM1 ((uint8_t)0xC) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 570 #define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 571 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 330:c80ac197fa6a 572
mbed_official 330:c80ac197fa6a 573 /**
mbed_official 330:c80ac197fa6a 574 * @brief AF 14 selection
mbed_official 330:c80ac197fa6a 575 */
mbed_official 330:c80ac197fa6a 576 #define GPIO_AF14_USB ((uint8_t)0x0E) /* USB Alternate Function mapping */
mbed_official 330:c80ac197fa6a 577
mbed_official 330:c80ac197fa6a 578 /**
mbed_official 330:c80ac197fa6a 579 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 580 */
mbed_official 330:c80ac197fa6a 581 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 582
mbed_official 330:c80ac197fa6a 583 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0E) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 584 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 585 #endif /* STM32F302xE */
mbed_official 330:c80ac197fa6a 586
mbed_official 330:c80ac197fa6a 587 #if defined (STM32F398xx)
mbed_official 330:c80ac197fa6a 588 /*---------------------------------- STM32F398xx ------------------------------*/
mbed_official 330:c80ac197fa6a 589 /**
mbed_official 330:c80ac197fa6a 590 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 591 */
mbed_official 330:c80ac197fa6a 592 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 593 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 594 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 595 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 596 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 597
mbed_official 330:c80ac197fa6a 598 /**
mbed_official 330:c80ac197fa6a 599 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 600 */
mbed_official 330:c80ac197fa6a 601 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 602 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 603 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 604 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 605 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 606
mbed_official 330:c80ac197fa6a 607 /**
mbed_official 330:c80ac197fa6a 608 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 609 */
mbed_official 330:c80ac197fa6a 610 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 611 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 612 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 613 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 614 #define GPIO_AF2_TIM8 ((uint8_t)0x02) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 615 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 616 #define GPIO_AF2_COMP1 ((uint8_t)0x02) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 617 #define GPIO_AF2_I2C3 ((uint8_t)0x02) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 618 #define GPIO_AF2_TIM20 ((uint8_t)0x02) /* TIM20 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 619
mbed_official 330:c80ac197fa6a 620 /**
mbed_official 330:c80ac197fa6a 621 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 622 */
mbed_official 330:c80ac197fa6a 623 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 624 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 625 #define GPIO_AF3_COMP7 ((uint8_t)0x03) /* COMP7 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 626 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 627 #define GPIO_AF3_I2C3 ((uint8_t)0x03) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 628 #define GPIO_AF3_TIM20 ((uint8_t)0x03) /* TIM20 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 629
mbed_official 330:c80ac197fa6a 630 /**
mbed_official 330:c80ac197fa6a 631 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 632 */
mbed_official 330:c80ac197fa6a 633 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 634 #define GPIO_AF4_TIM8 ((uint8_t)0x04) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 635 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 636 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 637 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 638 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 639
mbed_official 330:c80ac197fa6a 640 /**
mbed_official 330:c80ac197fa6a 641 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 642 */
mbed_official 330:c80ac197fa6a 643 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 644 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 645 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 646 #define GPIO_AF5_I2S ((uint8_t)0x05) /* I2S Alternate Function mapping */
mbed_official 330:c80ac197fa6a 647 #define GPIO_AF5_I2S2ext ((uint8_t)0x05) /* I2S2ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 648 #define GPIO_AF5_TIM8 ((uint8_t)0x05) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 649 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 650 #define GPIO_AF5_UART4 ((uint8_t)0x05) /* UART4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 651 #define GPIO_AF5_UART5 ((uint8_t)0x05) /* UART5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 652 #define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 653
mbed_official 330:c80ac197fa6a 654 /**
mbed_official 330:c80ac197fa6a 655 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 656 */
mbed_official 330:c80ac197fa6a 657 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 658 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 659 #define GPIO_AF6_I2S3ext ((uint8_t)0x06) /* I2S3ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 660 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 661 #define GPIO_AF6_TIM8 ((uint8_t)0x06) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 662 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 663 #define GPIO_AF6_TIM20 ((uint8_t)0x06) /* TIM20 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 664
mbed_official 330:c80ac197fa6a 665 /**
mbed_official 330:c80ac197fa6a 666 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 667 */
mbed_official 330:c80ac197fa6a 668 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 669 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 670 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 671 #define GPIO_AF7_COMP3 ((uint8_t)0x07) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 672 #define GPIO_AF7_COMP5 ((uint8_t)0x07) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 673 #define GPIO_AF7_COMP6 ((uint8_t)0x07) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 674 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 675
mbed_official 330:c80ac197fa6a 676 /**
mbed_official 330:c80ac197fa6a 677 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 678 */
mbed_official 330:c80ac197fa6a 679 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 680 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 681 #define GPIO_AF8_COMP3 ((uint8_t)0x08) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 682 #define GPIO_AF8_COMP4 ((uint8_t)0x08) /* COMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 683 #define GPIO_AF8_COMP5 ((uint8_t)0x08) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 684 #define GPIO_AF8_COMP6 ((uint8_t)0x08) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 685 #define GPIO_AF8_I2C3 ((uint8_t)0x08) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 686
mbed_official 330:c80ac197fa6a 687 /**
mbed_official 330:c80ac197fa6a 688 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 689 */
mbed_official 330:c80ac197fa6a 690 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 691 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 692 #define GPIO_AF9_TIM8 ((uint8_t)0x09) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 693 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 694
mbed_official 330:c80ac197fa6a 695 /**
mbed_official 330:c80ac197fa6a 696 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 697 */
mbed_official 330:c80ac197fa6a 698 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 699 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 700 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 701 #define GPIO_AF10_TIM8 ((uint8_t)0xA) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 702 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 703 /**
mbed_official 330:c80ac197fa6a 704 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 705 */
mbed_official 330:c80ac197fa6a 706 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 707 #define GPIO_AF11_TIM8 ((uint8_t)0x0B) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 708
mbed_official 330:c80ac197fa6a 709 /**
mbed_official 330:c80ac197fa6a 710 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 711 */
mbed_official 330:c80ac197fa6a 712 #define GPIO_AF12_TIM1 ((uint8_t)0xC) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 713 #define GPIO_AF12_FMC ((uint8_t)0xC) /* FMC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 714 #define GPIO_AF12_SDIO ((uint8_t)0xC) /* SDIO Alternate Function mapping */
mbed_official 330:c80ac197fa6a 715
mbed_official 330:c80ac197fa6a 716 /**
mbed_official 330:c80ac197fa6a 717 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 718 */
mbed_official 330:c80ac197fa6a 719 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 720
mbed_official 330:c80ac197fa6a 721 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 722 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 723 #endif /* STM32F398xx */
mbed_official 330:c80ac197fa6a 724
mbed_official 330:c80ac197fa6a 725 #if defined (STM32F358xx)
mbed_official 330:c80ac197fa6a 726 /*---------------------------------- STM32F358xx -------------------------------------------*/
mbed_official 330:c80ac197fa6a 727 /**
mbed_official 330:c80ac197fa6a 728 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 729 */
mbed_official 330:c80ac197fa6a 730 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 731 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 732 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 733 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 734 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 735
mbed_official 330:c80ac197fa6a 736 /**
mbed_official 330:c80ac197fa6a 737 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 738 */
mbed_official 330:c80ac197fa6a 739 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 740 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 741 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 742 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 743 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 744 /**
mbed_official 330:c80ac197fa6a 745 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 746 */
mbed_official 330:c80ac197fa6a 747 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 748 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 749 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 750 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 751 #define GPIO_AF2_TIM8 ((uint8_t)0x02) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 752 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 753 #define GPIO_AF2_COMP1 ((uint8_t)0x02) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 754 /**
mbed_official 330:c80ac197fa6a 755 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 756 */
mbed_official 330:c80ac197fa6a 757 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 758 #define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 759 #define GPIO_AF3_COMP7 ((uint8_t)0x03) /* COMP7 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 760 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 761
mbed_official 330:c80ac197fa6a 762 /**
mbed_official 330:c80ac197fa6a 763 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 764 */
mbed_official 330:c80ac197fa6a 765 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 766 #define GPIO_AF4_TIM8 ((uint8_t)0x04) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 767 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 768 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 769 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 770 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 771
mbed_official 330:c80ac197fa6a 772 /**
mbed_official 330:c80ac197fa6a 773 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 774 */
mbed_official 330:c80ac197fa6a 775 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 776 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 777 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 778 #define GPIO_AF5_I2S ((uint8_t)0x05) /* I2S Alternate Function mapping */
mbed_official 330:c80ac197fa6a 779 #define GPIO_AF5_I2S2ext ((uint8_t)0x05) /* I2S2ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 780 #define GPIO_AF5_TIM8 ((uint8_t)0x05) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 781 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 782 #define GPIO_AF5_UART4 ((uint8_t)0x05) /* UART4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 783 #define GPIO_AF5_UART5 ((uint8_t)0x05) /* UART5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 784 /**
mbed_official 330:c80ac197fa6a 785 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 786 */
mbed_official 330:c80ac197fa6a 787 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 788 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 789 #define GPIO_AF6_I2S3ext ((uint8_t)0x06) /* I2S3ext Alternate Function mapping */
mbed_official 330:c80ac197fa6a 790 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 791 #define GPIO_AF6_TIM8 ((uint8_t)0x06) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 792 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 793
mbed_official 330:c80ac197fa6a 794 /**
mbed_official 330:c80ac197fa6a 795 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 796 */
mbed_official 330:c80ac197fa6a 797 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 798 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 799 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 800 #define GPIO_AF7_COMP3 ((uint8_t)0x07) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 801 #define GPIO_AF7_COMP5 ((uint8_t)0x07) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 802 #define GPIO_AF7_COMP6 ((uint8_t)0x07) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 803 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 804
mbed_official 330:c80ac197fa6a 805 /**
mbed_official 330:c80ac197fa6a 806 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 807 */
mbed_official 330:c80ac197fa6a 808 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 809 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 810 #define GPIO_AF8_COMP3 ((uint8_t)0x08) /* COMP3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 811 #define GPIO_AF8_COMP4 ((uint8_t)0x08) /* COMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 812 #define GPIO_AF8_COMP5 ((uint8_t)0x08) /* COMP5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 813 #define GPIO_AF8_COMP6 ((uint8_t)0x08) /* COMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 814
mbed_official 330:c80ac197fa6a 815 /**
mbed_official 330:c80ac197fa6a 816 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 817 */
mbed_official 330:c80ac197fa6a 818 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 819 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 820 #define GPIO_AF9_TIM8 ((uint8_t)0x09) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 821 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 822
mbed_official 330:c80ac197fa6a 823 /**
mbed_official 330:c80ac197fa6a 824 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 825 */
mbed_official 330:c80ac197fa6a 826 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 827 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 828 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 829 #define GPIO_AF10_TIM8 ((uint8_t)0xA) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 830 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 831 /**
mbed_official 330:c80ac197fa6a 832 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 833 */
mbed_official 330:c80ac197fa6a 834 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 835 #define GPIO_AF11_TIM8 ((uint8_t)0x0B) /* TIM8 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 836
mbed_official 330:c80ac197fa6a 837 /**
mbed_official 330:c80ac197fa6a 838 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 839 */
mbed_official 330:c80ac197fa6a 840 #define GPIO_AF12_TIM1 ((uint8_t)0xC) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 841
mbed_official 330:c80ac197fa6a 842 /**
mbed_official 330:c80ac197fa6a 843 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 844 */
mbed_official 330:c80ac197fa6a 845 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 846
mbed_official 330:c80ac197fa6a 847 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 848 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 849 #endif /* STM32F358xx */
mbed_official 330:c80ac197fa6a 850
mbed_official 330:c80ac197fa6a 851 #if defined (STM32F373xC)
mbed_official 330:c80ac197fa6a 852 /*---------------------------------- STM32F373xC--------------------------------*/
mbed_official 330:c80ac197fa6a 853 /**
mbed_official 330:c80ac197fa6a 854 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 855 */
mbed_official 330:c80ac197fa6a 856 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 857 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 858 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 859 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 860 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 861
mbed_official 330:c80ac197fa6a 862 /**
mbed_official 330:c80ac197fa6a 863 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 864 */
mbed_official 330:c80ac197fa6a 865 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 866 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 867 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 868 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 869 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 870 /**
mbed_official 330:c80ac197fa6a 871 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 872 */
mbed_official 330:c80ac197fa6a 873 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 874 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 875 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 876 #define GPIO_AF2_TIM13 ((uint8_t)0x02) /* TIM13 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 877 #define GPIO_AF2_TIM14 ((uint8_t)0x02) /* TIM14 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 878 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 879 #define GPIO_AF2_TIM19 ((uint8_t)0x02) /* TIM19 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 880
mbed_official 330:c80ac197fa6a 881 /**
mbed_official 330:c80ac197fa6a 882 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 883 */
mbed_official 330:c80ac197fa6a 884 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 885 /**
mbed_official 330:c80ac197fa6a 886 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 887 */
mbed_official 330:c80ac197fa6a 888 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 889 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 890
mbed_official 330:c80ac197fa6a 891 /**
mbed_official 330:c80ac197fa6a 892 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 893 */
mbed_official 330:c80ac197fa6a 894 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 895 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 896 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 897 /**
mbed_official 330:c80ac197fa6a 898 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 899 */
mbed_official 330:c80ac197fa6a 900 #define GPIO_AF6_SPI1 ((uint8_t)0x06) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 901 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 902 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 903 #define GPIO_AF6_CEC ((uint8_t)0x06) /* CEC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 904 /**
mbed_official 330:c80ac197fa6a 905 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 906 */
mbed_official 330:c80ac197fa6a 907 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 908 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 909 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 910 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 911 #define GPIO_AF7_CEC ((uint8_t)0x07) /* CEC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 912
mbed_official 330:c80ac197fa6a 913 /**
mbed_official 330:c80ac197fa6a 914 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 915 */
mbed_official 330:c80ac197fa6a 916 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 917 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 918
mbed_official 330:c80ac197fa6a 919 /**
mbed_official 330:c80ac197fa6a 920 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 921 */
mbed_official 330:c80ac197fa6a 922 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 923 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 924 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 925 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 926 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 927 /**
mbed_official 330:c80ac197fa6a 928 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 929 */
mbed_official 330:c80ac197fa6a 930 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 931 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 932 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 933 #define GPIO_AF10_TIM12 ((uint8_t)0xA) /* TIM12 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 934 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 935 /**
mbed_official 330:c80ac197fa6a 936 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 937 */
mbed_official 330:c80ac197fa6a 938 #define GPIO_AF11_TIM19 ((uint8_t)0x0B) /* TIM19 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 939
mbed_official 330:c80ac197fa6a 940
mbed_official 330:c80ac197fa6a 941 /**
mbed_official 330:c80ac197fa6a 942 * @brief AF 14 selection
mbed_official 330:c80ac197fa6a 943 */
mbed_official 330:c80ac197fa6a 944 #define GPIO_AF14_USB ((uint8_t)0x0E) /* USB Alternate Function mapping */
mbed_official 330:c80ac197fa6a 945
mbed_official 330:c80ac197fa6a 946 /**
mbed_official 330:c80ac197fa6a 947 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 948 */
mbed_official 330:c80ac197fa6a 949 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 950
mbed_official 330:c80ac197fa6a 951 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0B) || ((AF) == (uint8_t)0x0E) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 952 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 953 #endif /* STM32F373xC */
mbed_official 330:c80ac197fa6a 954
mbed_official 330:c80ac197fa6a 955
mbed_official 330:c80ac197fa6a 956 #if defined (STM32F378xx)
mbed_official 330:c80ac197fa6a 957 /*---------------------------------------- STM32F378xx--------------------------------------*/
mbed_official 330:c80ac197fa6a 958 /**
mbed_official 330:c80ac197fa6a 959 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 960 */
mbed_official 330:c80ac197fa6a 961 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
mbed_official 330:c80ac197fa6a 962 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 963 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 964 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 965 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 966
mbed_official 330:c80ac197fa6a 967 /**
mbed_official 330:c80ac197fa6a 968 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 969 */
mbed_official 330:c80ac197fa6a 970 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 971 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 972 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 973 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 974 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 975 /**
mbed_official 330:c80ac197fa6a 976 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 977 */
mbed_official 330:c80ac197fa6a 978 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 979 #define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 980 #define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 981 #define GPIO_AF2_TIM13 ((uint8_t)0x02) /* TIM13 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 982 #define GPIO_AF2_TIM14 ((uint8_t)0x02) /* TIM14 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 983 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 984 #define GPIO_AF2_TIM19 ((uint8_t)0x02) /* TIM19 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 985
mbed_official 330:c80ac197fa6a 986 /**
mbed_official 330:c80ac197fa6a 987 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 988 */
mbed_official 330:c80ac197fa6a 989 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 990 /**
mbed_official 330:c80ac197fa6a 991 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 992 */
mbed_official 330:c80ac197fa6a 993 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 994 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 995
mbed_official 330:c80ac197fa6a 996 /**
mbed_official 330:c80ac197fa6a 997 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 998 */
mbed_official 330:c80ac197fa6a 999 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1000 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1001 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1002
mbed_official 330:c80ac197fa6a 1003 /**
mbed_official 330:c80ac197fa6a 1004 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 1005 */
mbed_official 330:c80ac197fa6a 1006 #define GPIO_AF6_SPI1 ((uint8_t)0x06) /* SPI1/I2S1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1007 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1008 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1009 #define GPIO_AF6_CEC ((uint8_t)0x06) /* CEC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1010
mbed_official 330:c80ac197fa6a 1011 /**
mbed_official 330:c80ac197fa6a 1012 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 1013 */
mbed_official 330:c80ac197fa6a 1014 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1015 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1016 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1017 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1018 #define GPIO_AF7_CEC ((uint8_t)0x07) /* CEC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1019
mbed_official 330:c80ac197fa6a 1020 /**
mbed_official 330:c80ac197fa6a 1021 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 1022 */
mbed_official 330:c80ac197fa6a 1023 #define GPIO_AF8_COMP1 ((uint8_t)0x08) /* COMP1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1024 #define GPIO_AF8_COMP2 ((uint8_t)0x08) /* COMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1025
mbed_official 330:c80ac197fa6a 1026 /**
mbed_official 330:c80ac197fa6a 1027 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 1028 */
mbed_official 330:c80ac197fa6a 1029 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1030 #define GPIO_AF9_TIM12 ((uint8_t)0x09) /* TIM12 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1031 #define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1032 #define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1033 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1034
mbed_official 330:c80ac197fa6a 1035 /**
mbed_official 330:c80ac197fa6a 1036 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 1037 */
mbed_official 330:c80ac197fa6a 1038 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1039 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1040 #define GPIO_AF10_TIM4 ((uint8_t)0xA) /* TIM4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1041 #define GPIO_AF10_TIM12 ((uint8_t)0xA) /* TIM12 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1042 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1043
mbed_official 330:c80ac197fa6a 1044 /**
mbed_official 330:c80ac197fa6a 1045 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 1046 */
mbed_official 330:c80ac197fa6a 1047 #define GPIO_AF11_TIM19 ((uint8_t)0x0B) /* TIM19 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1048
mbed_official 330:c80ac197fa6a 1049 /**
mbed_official 330:c80ac197fa6a 1050 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 1051 */
mbed_official 330:c80ac197fa6a 1052 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1053
mbed_official 330:c80ac197fa6a 1054 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0B) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 1055 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1056 #endif /* STM32F378xx */
mbed_official 330:c80ac197fa6a 1057
mbed_official 330:c80ac197fa6a 1058 #if defined (STM32F303x8)
mbed_official 330:c80ac197fa6a 1059 /*---------------------------------- STM32F303x8--------------------------------*/
mbed_official 330:c80ac197fa6a 1060 /**
mbed_official 330:c80ac197fa6a 1061 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 1062 */
mbed_official 330:c80ac197fa6a 1063 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1064 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1065 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1066 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1067
mbed_official 330:c80ac197fa6a 1068 /**
mbed_official 330:c80ac197fa6a 1069 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 1070 */
mbed_official 330:c80ac197fa6a 1071 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1072 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1073 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1074 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1075 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1076 /**
mbed_official 330:c80ac197fa6a 1077 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 1078 */
mbed_official 330:c80ac197fa6a 1079 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1080 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1081 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1082 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1083
mbed_official 330:c80ac197fa6a 1084 /**
mbed_official 330:c80ac197fa6a 1085 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 1086 */
mbed_official 330:c80ac197fa6a 1087 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1088
mbed_official 330:c80ac197fa6a 1089 /**
mbed_official 330:c80ac197fa6a 1090 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 1091 */
mbed_official 330:c80ac197fa6a 1092 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1093 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1094
mbed_official 330:c80ac197fa6a 1095 /**
mbed_official 330:c80ac197fa6a 1096 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 1097 */
mbed_official 330:c80ac197fa6a 1098 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1099 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1100 /**
mbed_official 330:c80ac197fa6a 1101 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 1102 */
mbed_official 330:c80ac197fa6a 1103 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1104 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1105
mbed_official 330:c80ac197fa6a 1106 /**
mbed_official 330:c80ac197fa6a 1107 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 1108 */
mbed_official 330:c80ac197fa6a 1109 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1110 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1111 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1112 #define GPIO_AF7_GPCOMP6 ((uint8_t)0x07) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1113
mbed_official 330:c80ac197fa6a 1114 /**
mbed_official 330:c80ac197fa6a 1115 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 1116 */
mbed_official 330:c80ac197fa6a 1117 #define GPIO_AF8_GPCOMP2 ((uint8_t)0x08) /* GPCOMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1118 #define GPIO_AF8_GPCOMP4 ((uint8_t)0x08) /* GPCOMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1119 #define GPIO_AF8_GPCOMP6 ((uint8_t)0x08) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1120
mbed_official 330:c80ac197fa6a 1121 /**
mbed_official 330:c80ac197fa6a 1122 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 1123 */
mbed_official 330:c80ac197fa6a 1124 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1125 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1126 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1127 /**
mbed_official 330:c80ac197fa6a 1128 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 1129 */
mbed_official 330:c80ac197fa6a 1130 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1131 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1132 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1133
mbed_official 330:c80ac197fa6a 1134 /**
mbed_official 330:c80ac197fa6a 1135 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 1136 */
mbed_official 330:c80ac197fa6a 1137 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1138
mbed_official 330:c80ac197fa6a 1139 /**
mbed_official 330:c80ac197fa6a 1140 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 1141 */
mbed_official 330:c80ac197fa6a 1142 #define GPIO_AF12_TIM1 ((uint8_t)0x0C) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1143
mbed_official 330:c80ac197fa6a 1144 /**
mbed_official 330:c80ac197fa6a 1145 * @brief AF 13 selection
mbed_official 330:c80ac197fa6a 1146 */
mbed_official 330:c80ac197fa6a 1147 #define GPIO_AF13_OPAMP2 ((uint8_t)0x0D) /* OPAMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1148
mbed_official 330:c80ac197fa6a 1149 /**
mbed_official 330:c80ac197fa6a 1150 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 1151 */
mbed_official 330:c80ac197fa6a 1152 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1153
mbed_official 330:c80ac197fa6a 1154 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0D) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 1155 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1156 #endif /* STM32F303x8 */
mbed_official 330:c80ac197fa6a 1157
mbed_official 330:c80ac197fa6a 1158 #if defined (STM32F334x8) || defined (STM32F328xx)
mbed_official 330:c80ac197fa6a 1159 /*---------------------------------- STM32F334x8/STM32F328xx -------------------------------*/
mbed_official 330:c80ac197fa6a 1160 /**
mbed_official 330:c80ac197fa6a 1161 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 1162 */
mbed_official 330:c80ac197fa6a 1163 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1164 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1165 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1166 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1167
mbed_official 330:c80ac197fa6a 1168 /**
mbed_official 330:c80ac197fa6a 1169 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 1170 */
mbed_official 330:c80ac197fa6a 1171 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1172 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1173 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1174 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1175 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1176 /**
mbed_official 330:c80ac197fa6a 1177 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 1178 */
mbed_official 330:c80ac197fa6a 1179 #define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1180 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1181 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1182 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1183
mbed_official 330:c80ac197fa6a 1184 /**
mbed_official 330:c80ac197fa6a 1185 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 1186 */
mbed_official 330:c80ac197fa6a 1187 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1188 #define GPIO_AF3_HRTIM1 ((uint8_t)0x03) /* HRTIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1189
mbed_official 330:c80ac197fa6a 1190 /**
mbed_official 330:c80ac197fa6a 1191 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 1192 */
mbed_official 330:c80ac197fa6a 1193 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1194 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1195
mbed_official 330:c80ac197fa6a 1196 /**
mbed_official 330:c80ac197fa6a 1197 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 1198 */
mbed_official 330:c80ac197fa6a 1199 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1200 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1201 /**
mbed_official 330:c80ac197fa6a 1202 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 1203 */
mbed_official 330:c80ac197fa6a 1204 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1205 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1206
mbed_official 330:c80ac197fa6a 1207 /**
mbed_official 330:c80ac197fa6a 1208 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 1209 */
mbed_official 330:c80ac197fa6a 1210 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1211 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1212 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1213 #define GPIO_AF7_GPCOMP6 ((uint8_t)0x07) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1214
mbed_official 330:c80ac197fa6a 1215 /**
mbed_official 330:c80ac197fa6a 1216 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 1217 */
mbed_official 330:c80ac197fa6a 1218 #define GPIO_AF8_GPCOMP2 ((uint8_t)0x08) /* GPCOMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1219 #define GPIO_AF8_GPCOMP4 ((uint8_t)0x08) /* GPCOMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1220 #define GPIO_AF8_GPCOMP6 ((uint8_t)0x08) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1221
mbed_official 330:c80ac197fa6a 1222 /**
mbed_official 330:c80ac197fa6a 1223 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 1224 */
mbed_official 330:c80ac197fa6a 1225 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1226 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1227 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1228 /**
mbed_official 330:c80ac197fa6a 1229 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 1230 */
mbed_official 330:c80ac197fa6a 1231 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1232 #define GPIO_AF10_TIM3 ((uint8_t)0xA) /* TIM3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1233 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1234
mbed_official 330:c80ac197fa6a 1235 /**
mbed_official 330:c80ac197fa6a 1236 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 1237 */
mbed_official 330:c80ac197fa6a 1238 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1239
mbed_official 330:c80ac197fa6a 1240 /**
mbed_official 330:c80ac197fa6a 1241 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 1242 */
mbed_official 330:c80ac197fa6a 1243 #define GPIO_AF12_TIM1 ((uint8_t)0x0C) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1244 #define GPIO_AF12_HRTIM1 ((uint8_t)0x0C) /* HRTIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1245
mbed_official 330:c80ac197fa6a 1246 /**
mbed_official 330:c80ac197fa6a 1247 * @brief AF 13 selection
mbed_official 330:c80ac197fa6a 1248 */
mbed_official 330:c80ac197fa6a 1249 #define GPIO_AF13_OPAMP2 ((uint8_t)0x0D) /* OPAMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1250 #define GPIO_AF13_HRTIM1 ((uint8_t)0x0D) /* HRTIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1251
mbed_official 330:c80ac197fa6a 1252 /**
mbed_official 330:c80ac197fa6a 1253 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 1254 */
mbed_official 330:c80ac197fa6a 1255 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1256
mbed_official 330:c80ac197fa6a 1257 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0D) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 1258 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1259 #endif /* STM32F334x8 || STM32F328xx */
mbed_official 330:c80ac197fa6a 1260
mbed_official 330:c80ac197fa6a 1261 #if defined (STM32F301x8) || defined (STM32F318xx)
mbed_official 330:c80ac197fa6a 1262 /*---------------------------------- STM32F301x8 / STM32F318xx ------------------------------------------*/
mbed_official 330:c80ac197fa6a 1263 /**
mbed_official 330:c80ac197fa6a 1264 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 1265 */
mbed_official 330:c80ac197fa6a 1266 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1267 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1268 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1269 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1270 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1271
mbed_official 330:c80ac197fa6a 1272 /**
mbed_official 330:c80ac197fa6a 1273 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 1274 */
mbed_official 330:c80ac197fa6a 1275 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1276 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1277 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1278 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1279 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1280 /**
mbed_official 330:c80ac197fa6a 1281 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 1282 */
mbed_official 330:c80ac197fa6a 1283 #define GPIO_AF2_I2C3 ((uint8_t)0x02) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1284 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1285 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1286 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1287
mbed_official 330:c80ac197fa6a 1288 /**
mbed_official 330:c80ac197fa6a 1289 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 1290 */
mbed_official 330:c80ac197fa6a 1291 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1292 #define GPIO_AF3_I2C3 ((uint8_t)0x03) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1293 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1294
mbed_official 330:c80ac197fa6a 1295 /**
mbed_official 330:c80ac197fa6a 1296 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 1297 */
mbed_official 330:c80ac197fa6a 1298 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1299 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1300 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1301 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1302 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1303
mbed_official 330:c80ac197fa6a 1304 /**
mbed_official 330:c80ac197fa6a 1305 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 1306 */
mbed_official 330:c80ac197fa6a 1307 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1308 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1309 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1310 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1311 /**
mbed_official 330:c80ac197fa6a 1312 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 1313 */
mbed_official 330:c80ac197fa6a 1314 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1315 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1316 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1317 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1318
mbed_official 330:c80ac197fa6a 1319 /**
mbed_official 330:c80ac197fa6a 1320 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 1321 */
mbed_official 330:c80ac197fa6a 1322 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1323 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1324 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1325 #define GPIO_AF7_GPCOMP6 ((uint8_t)0x07) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1326
mbed_official 330:c80ac197fa6a 1327 /**
mbed_official 330:c80ac197fa6a 1328 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 1329 */
mbed_official 330:c80ac197fa6a 1330 #define GPIO_AF8_I2C3 ((uint8_t)0x08) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1331 #define GPIO_AF8_GPCOMP2 ((uint8_t)0x08) /* GPCOMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1332 #define GPIO_AF8_GPCOMP4 ((uint8_t)0x08) /* GPCOMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1333 #define GPIO_AF8_GPCOMP6 ((uint8_t)0x08) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1334
mbed_official 330:c80ac197fa6a 1335 /**
mbed_official 330:c80ac197fa6a 1336 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 1337 */
mbed_official 330:c80ac197fa6a 1338 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1339 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1340
mbed_official 330:c80ac197fa6a 1341 /**
mbed_official 330:c80ac197fa6a 1342 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 1343 */
mbed_official 330:c80ac197fa6a 1344 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1345 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1346
mbed_official 330:c80ac197fa6a 1347 /**
mbed_official 330:c80ac197fa6a 1348 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 1349 */
mbed_official 330:c80ac197fa6a 1350 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1351
mbed_official 330:c80ac197fa6a 1352 /**
mbed_official 330:c80ac197fa6a 1353 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 1354 */
mbed_official 330:c80ac197fa6a 1355 #define GPIO_AF12_TIM1 ((uint8_t)0x0C) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1356
mbed_official 330:c80ac197fa6a 1357 /**
mbed_official 330:c80ac197fa6a 1358 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 1359 */
mbed_official 330:c80ac197fa6a 1360 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1361
mbed_official 330:c80ac197fa6a 1362 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 1363 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1364 #endif /* STM32F301x8 || STM32F318xx */
mbed_official 330:c80ac197fa6a 1365
mbed_official 330:c80ac197fa6a 1366 #if defined (STM32F302x8)
mbed_official 330:c80ac197fa6a 1367 /*---------------------------------- STM32F302x8------------------------------------------*/
mbed_official 330:c80ac197fa6a 1368 /**
mbed_official 330:c80ac197fa6a 1369 * @brief AF 0 selection
mbed_official 330:c80ac197fa6a 1370 */
mbed_official 330:c80ac197fa6a 1371 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1372 #define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1373 #define GPIO_AF0_TAMPER ((uint8_t)0x00) /* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1374 #define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1375 #define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1376
mbed_official 330:c80ac197fa6a 1377 /**
mbed_official 330:c80ac197fa6a 1378 * @brief AF 1 selection
mbed_official 330:c80ac197fa6a 1379 */
mbed_official 330:c80ac197fa6a 1380 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1381 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1382 #define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1383 #define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1384 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1385 /**
mbed_official 330:c80ac197fa6a 1386 * @brief AF 2 selection
mbed_official 330:c80ac197fa6a 1387 */
mbed_official 330:c80ac197fa6a 1388 #define GPIO_AF2_I2C3 ((uint8_t)0x02) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1389 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1390 #define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1391 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1392
mbed_official 330:c80ac197fa6a 1393 /**
mbed_official 330:c80ac197fa6a 1394 * @brief AF 3 selection
mbed_official 330:c80ac197fa6a 1395 */
mbed_official 330:c80ac197fa6a 1396 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1397 #define GPIO_AF3_I2C3 ((uint8_t)0x03) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1398 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1399
mbed_official 330:c80ac197fa6a 1400 /**
mbed_official 330:c80ac197fa6a 1401 * @brief AF 4 selection
mbed_official 330:c80ac197fa6a 1402 */
mbed_official 330:c80ac197fa6a 1403 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1404 #define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1405 #define GPIO_AF4_TIM1 ((uint8_t)0x04) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1406 #define GPIO_AF4_TIM16 ((uint8_t)0x04) /* TIM16 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1407 #define GPIO_AF4_TIM17 ((uint8_t)0x04) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1408
mbed_official 330:c80ac197fa6a 1409 /**
mbed_official 330:c80ac197fa6a 1410 * @brief AF 5 selection
mbed_official 330:c80ac197fa6a 1411 */
mbed_official 330:c80ac197fa6a 1412 #define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1413 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1414 #define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1415 #define GPIO_AF5_IR ((uint8_t)0x05) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1416 /**
mbed_official 330:c80ac197fa6a 1417 * @brief AF 6 selection
mbed_official 330:c80ac197fa6a 1418 */
mbed_official 330:c80ac197fa6a 1419 #define GPIO_AF6_TIM1 ((uint8_t)0x06) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1420 #define GPIO_AF6_IR ((uint8_t)0x06) /* IR Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1421 #define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2/I2S2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1422 #define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3/I2S3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1423
mbed_official 330:c80ac197fa6a 1424 /**
mbed_official 330:c80ac197fa6a 1425 * @brief AF 7 selection
mbed_official 330:c80ac197fa6a 1426 */
mbed_official 330:c80ac197fa6a 1427 #define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1428 #define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1429 #define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1430 #define GPIO_AF7_GPCOMP6 ((uint8_t)0x07) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1431 #define GPIO_AF7_CAN ((uint8_t)0x07) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1432
mbed_official 330:c80ac197fa6a 1433 /**
mbed_official 330:c80ac197fa6a 1434 * @brief AF 8 selection
mbed_official 330:c80ac197fa6a 1435 */
mbed_official 330:c80ac197fa6a 1436 #define GPIO_AF8_I2C3 ((uint8_t)0x08) /* I2C3 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1437 #define GPIO_AF8_GPCOMP2 ((uint8_t)0x08) /* GPCOMP2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1438 #define GPIO_AF8_GPCOMP4 ((uint8_t)0x08) /* GPCOMP4 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1439 #define GPIO_AF8_GPCOMP6 ((uint8_t)0x08) /* GPCOMP6 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1440
mbed_official 330:c80ac197fa6a 1441 /**
mbed_official 330:c80ac197fa6a 1442 * @brief AF 9 selection
mbed_official 330:c80ac197fa6a 1443 */
mbed_official 330:c80ac197fa6a 1444 #define GPIO_AF9_TIM1 ((uint8_t)0x09) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1445 #define GPIO_AF9_TIM15 ((uint8_t)0x09) /* TIM15 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1446 #define GPIO_AF9_CAN ((uint8_t)0x09) /* CAN Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1447
mbed_official 330:c80ac197fa6a 1448 /**
mbed_official 330:c80ac197fa6a 1449 * @brief AF 10 selection
mbed_official 330:c80ac197fa6a 1450 */
mbed_official 330:c80ac197fa6a 1451 #define GPIO_AF10_TIM2 ((uint8_t)0xA) /* TIM2 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1452 #define GPIO_AF10_TIM17 ((uint8_t)0xA) /* TIM17 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1453
mbed_official 330:c80ac197fa6a 1454 /**
mbed_official 330:c80ac197fa6a 1455 * @brief AF 11 selection
mbed_official 330:c80ac197fa6a 1456 */
mbed_official 330:c80ac197fa6a 1457 #define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1458
mbed_official 330:c80ac197fa6a 1459 /**
mbed_official 330:c80ac197fa6a 1460 * @brief AF 12 selection
mbed_official 330:c80ac197fa6a 1461 */
mbed_official 330:c80ac197fa6a 1462 #define GPIO_AF12_TIM1 ((uint8_t)0x0C) /* TIM1 Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1463
mbed_official 330:c80ac197fa6a 1464 /**
mbed_official 330:c80ac197fa6a 1465 * @brief AF 15 selection
mbed_official 330:c80ac197fa6a 1466 */
mbed_official 330:c80ac197fa6a 1467 #define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
mbed_official 330:c80ac197fa6a 1468
mbed_official 330:c80ac197fa6a 1469 #define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0C) || ((AF) == (uint8_t)0x0F))
mbed_official 330:c80ac197fa6a 1470 /*------------------------------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1471 #endif /* STM32F302x8 */
mbed_official 330:c80ac197fa6a 1472 /**
mbed_official 330:c80ac197fa6a 1473 * @}
mbed_official 330:c80ac197fa6a 1474 */
mbed_official 330:c80ac197fa6a 1475
mbed_official 330:c80ac197fa6a 1476 /**
mbed_official 330:c80ac197fa6a 1477 * @}
mbed_official 330:c80ac197fa6a 1478 */
mbed_official 330:c80ac197fa6a 1479
mbed_official 330:c80ac197fa6a 1480 /* Exported macro ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1481 /* Exported functions --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 1482
mbed_official 330:c80ac197fa6a 1483
mbed_official 330:c80ac197fa6a 1484 /**
mbed_official 330:c80ac197fa6a 1485 * @}
mbed_official 330:c80ac197fa6a 1486 */
mbed_official 330:c80ac197fa6a 1487
mbed_official 330:c80ac197fa6a 1488 /**
mbed_official 330:c80ac197fa6a 1489 * @}
mbed_official 330:c80ac197fa6a 1490 */
mbed_official 330:c80ac197fa6a 1491
mbed_official 330:c80ac197fa6a 1492 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 1493 }
mbed_official 330:c80ac197fa6a 1494 #endif
mbed_official 330:c80ac197fa6a 1495
mbed_official 330:c80ac197fa6a 1496 #endif /* __STM32F3xx_HAL_GPIO_EX_H */
mbed_official 330:c80ac197fa6a 1497
mbed_official 330:c80ac197fa6a 1498 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/