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 10:45:10 2015 +0100
Revision:
630:825f75ca301e
Parent:
441:d2c15dda23c1
Synchronized with git revision 54fbe4144faf309c37205a5d39fa665daa919f10

Full URL: https://github.com/mbedmicro/mbed/commit/54fbe4144faf309c37205a5d39fa665daa919f10/

NUCLEO_F031K6 : Add new target

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 340:28d1f895c6fe 1 /**
mbed_official 340:28d1f895c6fe 2 ******************************************************************************
mbed_official 340:28d1f895c6fe 3 * @file stm32f0xx_hal_gpio_ex.h
mbed_official 340:28d1f895c6fe 4 * @author MCD Application Team
mbed_official 630:825f75ca301e 5 * @version V1.3.0
mbed_official 630:825f75ca301e 6 * @date 26-June-2015
mbed_official 340:28d1f895c6fe 7 * @brief Header file of GPIO HAL Extension module.
mbed_official 340:28d1f895c6fe 8 ******************************************************************************
mbed_official 340:28d1f895c6fe 9 * @attention
mbed_official 340:28d1f895c6fe 10 *
mbed_official 630:825f75ca301e 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 340:28d1f895c6fe 12 *
mbed_official 340:28d1f895c6fe 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 340:28d1f895c6fe 14 * are permitted provided that the following conditions are met:
mbed_official 340:28d1f895c6fe 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 340:28d1f895c6fe 16 * this list of conditions and the following disclaimer.
mbed_official 340:28d1f895c6fe 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 340:28d1f895c6fe 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 340:28d1f895c6fe 19 * and/or other materials provided with the distribution.
mbed_official 340:28d1f895c6fe 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 340:28d1f895c6fe 21 * may be used to endorse or promote products derived from this software
mbed_official 340:28d1f895c6fe 22 * without specific prior written permission.
mbed_official 340:28d1f895c6fe 23 *
mbed_official 340:28d1f895c6fe 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 340:28d1f895c6fe 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 340:28d1f895c6fe 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 340:28d1f895c6fe 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 340:28d1f895c6fe 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 340:28d1f895c6fe 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 340:28d1f895c6fe 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 340:28d1f895c6fe 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 340:28d1f895c6fe 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 340:28d1f895c6fe 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 340:28d1f895c6fe 34 *
mbed_official 340:28d1f895c6fe 35 ******************************************************************************
mbed_official 340:28d1f895c6fe 36 */
mbed_official 340:28d1f895c6fe 37
mbed_official 340:28d1f895c6fe 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 340:28d1f895c6fe 39 #ifndef __STM32F0xx_HAL_GPIO_EX_H
mbed_official 340:28d1f895c6fe 40 #define __STM32F0xx_HAL_GPIO_EX_H
mbed_official 340:28d1f895c6fe 41
mbed_official 340:28d1f895c6fe 42 #ifdef __cplusplus
mbed_official 340:28d1f895c6fe 43 extern "C" {
mbed_official 340:28d1f895c6fe 44 #endif
mbed_official 340:28d1f895c6fe 45
mbed_official 340:28d1f895c6fe 46 /* Includes ------------------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 47 #include "stm32f0xx_hal_def.h"
mbed_official 340:28d1f895c6fe 48
mbed_official 340:28d1f895c6fe 49 /** @addtogroup STM32F0xx_HAL_Driver
mbed_official 340:28d1f895c6fe 50 * @{
mbed_official 340:28d1f895c6fe 51 */
mbed_official 340:28d1f895c6fe 52
mbed_official 630:825f75ca301e 53 /** @defgroup GPIOEx GPIOEx
mbed_official 340:28d1f895c6fe 54 * @{
mbed_official 340:28d1f895c6fe 55 */
mbed_official 340:28d1f895c6fe 56
mbed_official 340:28d1f895c6fe 57 /* Exported types ------------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 58 /* Exported constants --------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 59 /** @defgroup GPIOEx_Exported_Constants GPIOEx Exported Constants
mbed_official 340:28d1f895c6fe 60 * @{
mbed_official 340:28d1f895c6fe 61 */
mbed_official 340:28d1f895c6fe 62
mbed_official 340:28d1f895c6fe 63 /** @defgroup GPIOEx_Alternate_function_selection GPIOEx Alternate function selection
mbed_official 340:28d1f895c6fe 64 * @{
mbed_official 340:28d1f895c6fe 65 */
mbed_official 340:28d1f895c6fe 66
mbed_official 340:28d1f895c6fe 67 #if defined (STM32F030x6)
mbed_official 340:28d1f895c6fe 68 /*------------------------- STM32F030x6---------------------------*/
mbed_official 340:28d1f895c6fe 69 /* AF 0 */
mbed_official 340:28d1f895c6fe 70 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 71 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 72 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 73 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 74 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 75 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 76 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 77 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 78 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 79
mbed_official 340:28d1f895c6fe 80 /* AF 1 */
mbed_official 340:28d1f895c6fe 81 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 82 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 83 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 84 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 630:825f75ca301e 85 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 86
mbed_official 340:28d1f895c6fe 87 /* AF 2 */
mbed_official 340:28d1f895c6fe 88 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 89 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 90 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 91 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 92
mbed_official 340:28d1f895c6fe 93 /* AF 3 */
mbed_official 340:28d1f895c6fe 94 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 95 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 96
mbed_official 340:28d1f895c6fe 97 /* AF 4 */
mbed_official 340:28d1f895c6fe 98 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 99 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /*!< AF4: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 100
mbed_official 340:28d1f895c6fe 101 /* AF 5 */
mbed_official 340:28d1f895c6fe 102 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 103 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 104
mbed_official 340:28d1f895c6fe 105 /* AF 6 */
mbed_official 340:28d1f895c6fe 106 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 107
mbed_official 340:28d1f895c6fe 108 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 340:28d1f895c6fe 109
mbed_official 340:28d1f895c6fe 110 #endif /* STM32F030x6 */
mbed_official 340:28d1f895c6fe 111
mbed_official 340:28d1f895c6fe 112 /*---------------------------------- STM32F030x8 -------------------------------------------*/
mbed_official 340:28d1f895c6fe 113 #if defined (STM32F030x8)
mbed_official 340:28d1f895c6fe 114 /* AF 0 */
mbed_official 340:28d1f895c6fe 115 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 116 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 117 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 118 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 119 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 120 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 121 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 122 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 123 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 124 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 125 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 126
mbed_official 340:28d1f895c6fe 127 /* AF 1 */
mbed_official 340:28d1f895c6fe 128 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 129 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 130 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 131 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 132 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 133 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 134 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 135 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 136
mbed_official 340:28d1f895c6fe 137 /* AF 2 */
mbed_official 340:28d1f895c6fe 138 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 139 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 140 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 141 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 142
mbed_official 340:28d1f895c6fe 143 /* AF 3 */
mbed_official 340:28d1f895c6fe 144 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 145 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 146 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 147
mbed_official 340:28d1f895c6fe 148 /* AF 4 */
mbed_official 340:28d1f895c6fe 149 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 150
mbed_official 340:28d1f895c6fe 151 /* AF 5 */
mbed_official 340:28d1f895c6fe 152 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 153 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 154
mbed_official 340:28d1f895c6fe 155 /* AF 6 */
mbed_official 340:28d1f895c6fe 156 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 157
mbed_official 340:28d1f895c6fe 158 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 340:28d1f895c6fe 159
mbed_official 340:28d1f895c6fe 160 #endif /* STM32F030x8 */
mbed_official 340:28d1f895c6fe 161
mbed_official 340:28d1f895c6fe 162 #if defined (STM32F031x6) || defined (STM32F038xx)
mbed_official 340:28d1f895c6fe 163 /*--------------------------- STM32F031x6/STM32F038xx ---------------------------*/
mbed_official 340:28d1f895c6fe 164 /* AF 0 */
mbed_official 340:28d1f895c6fe 165 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 166 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 167 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 168 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 169 #define GPIO_AF0_SWDAT ((uint8_t)0x00) /*!< AF0: SWDAT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 170 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 171 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 172 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 173 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 174
mbed_official 340:28d1f895c6fe 175 /* AF 1 */
mbed_official 340:28d1f895c6fe 176 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 177 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 178 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 179 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 180 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 181
mbed_official 340:28d1f895c6fe 182 /* AF 2 */
mbed_official 340:28d1f895c6fe 183 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 184 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /*!< AF2: TIM2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 185 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 186 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 187 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 188
mbed_official 340:28d1f895c6fe 189 /* AF 3 */
mbed_official 340:28d1f895c6fe 190 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 191 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 192
mbed_official 340:28d1f895c6fe 193 /* AF 4 */
mbed_official 340:28d1f895c6fe 194 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 195 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /*!< AF4: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 196
mbed_official 340:28d1f895c6fe 197 /* AF 5 */
mbed_official 340:28d1f895c6fe 198 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 199 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 200
mbed_official 340:28d1f895c6fe 201 /* AF 6 */
mbed_official 340:28d1f895c6fe 202 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 203
mbed_official 340:28d1f895c6fe 204 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 340:28d1f895c6fe 205
mbed_official 340:28d1f895c6fe 206 #endif /* STM32F031x6 || STM32F038xx */
mbed_official 340:28d1f895c6fe 207
mbed_official 340:28d1f895c6fe 208 #if defined (STM32F051x8) || defined (STM32F058xx)
mbed_official 340:28d1f895c6fe 209 /*--------------------------- STM32F051x8/STM32F058xx---------------------------*/
mbed_official 340:28d1f895c6fe 210 /* AF 0 */
mbed_official 340:28d1f895c6fe 211 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 212 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 213 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 214 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 215 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 216 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 217 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 218 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 219 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 220 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 221 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 222 #define GPIO_AF0_CEC ((uint8_t)0x00) /*!< AF0: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 223
mbed_official 340:28d1f895c6fe 224 /* AF 1 */
mbed_official 340:28d1f895c6fe 225 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 226 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 227 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 228 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 229 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 230 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 231 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 232 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 233 #define GPIO_AF1_CEC ((uint8_t)0x01) /*!< AF1: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 234
mbed_official 340:28d1f895c6fe 235 /* AF 2 */
mbed_official 340:28d1f895c6fe 236 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 237 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /*!< AF2: TIM2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 238 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 239 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 240 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 241
mbed_official 340:28d1f895c6fe 242 /* AF 3 */
mbed_official 340:28d1f895c6fe 243 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 244 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 245 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 246 #define GPIO_AF3_TSC ((uint8_t)0x03) /*!< AF3: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 247
mbed_official 340:28d1f895c6fe 248 /* AF 4 */
mbed_official 340:28d1f895c6fe 249 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 250
mbed_official 340:28d1f895c6fe 251 /* AF 5 */
mbed_official 340:28d1f895c6fe 252 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 253 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 254
mbed_official 340:28d1f895c6fe 255 /* AF 6 */
mbed_official 340:28d1f895c6fe 256 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 257
mbed_official 340:28d1f895c6fe 258 /* AF 7 */
mbed_official 340:28d1f895c6fe 259 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /*!< AF7: COMP1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 260 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /*!< AF7: COMP2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 261
mbed_official 340:28d1f895c6fe 262 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
mbed_official 340:28d1f895c6fe 263
mbed_official 340:28d1f895c6fe 264 #endif /* STM32F051x8/STM32F058xx */
mbed_official 340:28d1f895c6fe 265
mbed_official 340:28d1f895c6fe 266 #if defined (STM32F071xB)
mbed_official 340:28d1f895c6fe 267 /*--------------------------- STM32F071xB ---------------------------*/
mbed_official 340:28d1f895c6fe 268 /* AF 0 */
mbed_official 340:28d1f895c6fe 269 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: AEVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 270 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 271 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 272 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 273 #define GPIO_AF0_CEC ((uint8_t)0x00) /*!< AF0: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 274 #define GPIO_AF0_CRS ((uint8_t)0x00) /*!< AF0: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 275 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 276 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 277 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 278 #define GPIO_AF0_TIM1 ((uint8_t)0x00) /*!< AF0: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 279 #define GPIO_AF0_TIM3 ((uint8_t)0x00) /*!< AF0: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 280 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 281 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 282 #define GPIO_AF0_TIM16 ((uint8_t)0x00) /*!< AF0: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 283 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 284 #define GPIO_AF0_TSC ((uint8_t)0x00) /*!< AF0: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 285 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 286 #define GPIO_AF0_USART2 ((uint8_t)0x00) /*!< AF0: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 287 #define GPIO_AF0_USART3 ((uint8_t)0x00) /*!< AF0: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 288 #define GPIO_AF0_USART4 ((uint8_t)0x00) /*!< AF0: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 289
mbed_official 340:28d1f895c6fe 290 /* AF 1 */
mbed_official 340:28d1f895c6fe 291 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 292 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 293 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 294 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 295 #define GPIO_AF1_USART3 ((uint8_t)0x01) /*!< AF1: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 296 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 297 #define GPIO_AF1_CEC ((uint8_t)0x01) /*!< AF1: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 298 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 299 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 300 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 301 #define GPIO_AF1_TSC ((uint8_t)0x01) /*!< AF1: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 302 #define GPIO_AF1_SPI1 ((uint8_t)0x01) /*!< AF1: SPI1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 303 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /*!< AF1: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 304
mbed_official 340:28d1f895c6fe 305 /* AF 2 */
mbed_official 340:28d1f895c6fe 306 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 307 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /*!< AF2: TIM2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 308 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 309 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 310 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 311
mbed_official 340:28d1f895c6fe 312 /* AF 3 */
mbed_official 340:28d1f895c6fe 313 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 314 #define GPIO_AF3_TSC ((uint8_t)0x03) /*!< AF3: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 315 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 316 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 317
mbed_official 340:28d1f895c6fe 318 /* AF 4 */
mbed_official 340:28d1f895c6fe 319 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 320 #define GPIO_AF4_USART4 ((uint8_t)0x04) /*!< AF4: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 321 #define GPIO_AF4_USART3 ((uint8_t)0x04) /*!< AF4: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 322 #define GPIO_AF4_CRS ((uint8_t)0x04) /*!< AF4: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 323
mbed_official 340:28d1f895c6fe 324 /* AF 5 */
mbed_official 340:28d1f895c6fe 325 #define GPIO_AF5_TIM15 ((uint8_t)0x05) /*!< AF5: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 326 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 327 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 328 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /*!< AF5: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 329 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /*!< AF5: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 330
mbed_official 340:28d1f895c6fe 331 /* AF 6 */
mbed_official 340:28d1f895c6fe 332 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 333
mbed_official 340:28d1f895c6fe 334 /* AF 7 */
mbed_official 340:28d1f895c6fe 335 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /*!< AF7: COMP1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 336 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /*!< AF7: COMP2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 337
mbed_official 340:28d1f895c6fe 338 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
mbed_official 340:28d1f895c6fe 339
mbed_official 340:28d1f895c6fe 340 #endif /* STM32F071xB */
mbed_official 340:28d1f895c6fe 341
mbed_official 340:28d1f895c6fe 342
mbed_official 340:28d1f895c6fe 343 #if defined(STM32F091xC) || defined(STM32F098xx)
mbed_official 340:28d1f895c6fe 344 /*--------------------------- STM32F091xC || STM32F098xx ------------------------------*/
mbed_official 340:28d1f895c6fe 345 /* AF 0 */
mbed_official 340:28d1f895c6fe 346 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 347 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 348 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 349 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 350 #define GPIO_AF0_CEC ((uint8_t)0x00) /*!< AF0: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 351 #define GPIO_AF0_CRS ((uint8_t)0x00) /*!< AF0: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 352 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 353 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 354 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 355 #define GPIO_AF0_TIM1 ((uint8_t)0x00) /*!< AF0: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 356 #define GPIO_AF0_TIM3 ((uint8_t)0x00) /*!< AF0: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 357 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 358 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 359 #define GPIO_AF0_TIM16 ((uint8_t)0x00) /*!< AF0: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 360 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 361 #define GPIO_AF0_TSC ((uint8_t)0x00) /*!< AF0: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 362 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 363 #define GPIO_AF0_USART2 ((uint8_t)0x00) /*!< AF0: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 364 #define GPIO_AF0_USART3 ((uint8_t)0x00) /*!< AF0: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 365 #define GPIO_AF0_USART4 ((uint8_t)0x00) /*!< AF0: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 366 #define GPIO_AF0_USART8 ((uint8_t)0x00) /*!< AF0: USART8 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 367 #define GPIO_AF0_CAN ((uint8_t)0x00) /*!< AF0: CAN Alternate Function mapping */
mbed_official 340:28d1f895c6fe 368
mbed_official 340:28d1f895c6fe 369 /* AF 1 */
mbed_official 340:28d1f895c6fe 370 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 371 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 372 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 373 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 374 #define GPIO_AF1_USART3 ((uint8_t)0x01) /*!< AF1: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 375 #define GPIO_AF1_USART4 ((uint8_t)0x01) /*!< AF1: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 376 #define GPIO_AF1_USART5 ((uint8_t)0x01) /*!< AF1: USART5 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 377 #define GPIO_AF1_USART6 ((uint8_t)0x01) /*!< AF1: USART6 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 378 #define GPIO_AF1_USART7 ((uint8_t)0x01) /*!< AF1: USART7 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 379 #define GPIO_AF1_USART8 ((uint8_t)0x01) /*!< AF1: USART8 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 380 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 381 #define GPIO_AF1_CEC ((uint8_t)0x01) /*!< AF1: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 382 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 383 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 384 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 385 #define GPIO_AF1_TSC ((uint8_t)0x01) /*!< AF1: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 386 #define GPIO_AF1_SPI1 ((uint8_t)0x01) /*!< AF1: SPI1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 387 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /*!< AF1: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 388
mbed_official 340:28d1f895c6fe 389 /* AF 2 */
mbed_official 340:28d1f895c6fe 390 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 391 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /*!< AF2: TIM2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 392 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 393 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 394 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 395 #define GPIO_AF2_USART5 ((uint8_t)0x02) /*!< AF2: USART5 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 396 #define GPIO_AF2_USART6 ((uint8_t)0x02) /*!< AF2: USART6 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 397 #define GPIO_AF2_USART7 ((uint8_t)0x02) /*!< AF2: USART7 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 398 #define GPIO_AF2_USART8 ((uint8_t)0x02) /*!< AF2: USART8 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 399
mbed_official 340:28d1f895c6fe 400 /* AF 3 */
mbed_official 340:28d1f895c6fe 401 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 402 #define GPIO_AF3_TSC ((uint8_t)0x03) /*!< AF3: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 403 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 404 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 405
mbed_official 340:28d1f895c6fe 406 /* AF 4 */
mbed_official 340:28d1f895c6fe 407 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 408 #define GPIO_AF4_USART4 ((uint8_t)0x04) /*!< AF4: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 409 #define GPIO_AF4_USART3 ((uint8_t)0x04) /*!< AF4: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 410 #define GPIO_AF4_CRS ((uint8_t)0x04) /*!< AF4: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 411 #define GPIO_AF4_CAN ((uint8_t)0x04) /*!< AF4: CAN Alternate Function mapping */
mbed_official 340:28d1f895c6fe 412 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /*!< AF4: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 413 #define GPIO_AF4_USART5 ((uint8_t)0x04) /*!< AF4: USART5 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 414
mbed_official 340:28d1f895c6fe 415 /* AF 5 */
mbed_official 340:28d1f895c6fe 416 #define GPIO_AF5_TIM15 ((uint8_t)0x05) /*!< AF5: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 417 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 418 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 419 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /*!< AF5: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 420 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /*!< AF5: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 421 #define GPIO_AF5_MCO ((uint8_t)0x05) /*!< AF5: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 422 #define GPIO_AF5_USART6 ((uint8_t)0x05) /*!< AF5: USART6 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 423
mbed_official 340:28d1f895c6fe 424 /* AF 6 */
mbed_official 340:28d1f895c6fe 425 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 426
mbed_official 340:28d1f895c6fe 427 /* AF 7 */
mbed_official 340:28d1f895c6fe 428 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /*!< AF7: COMP1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 429 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /*!< AF7: COMP2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 430
mbed_official 340:28d1f895c6fe 431 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
mbed_official 340:28d1f895c6fe 432
mbed_official 340:28d1f895c6fe 433 #endif /* STM32F091xC || STM32F098xx */
mbed_official 340:28d1f895c6fe 434
mbed_official 441:d2c15dda23c1 435 #if defined(STM32F030xC)
mbed_official 441:d2c15dda23c1 436 /*--------------------------- STM32F030xC ----------------------------------------------------*/
mbed_official 441:d2c15dda23c1 437 /* AF 0 */
mbed_official 441:d2c15dda23c1 438 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 439 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 440 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 441:d2c15dda23c1 441 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 442 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 441:d2c15dda23c1 443 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 444 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 445 #define GPIO_AF0_TIM3 ((uint8_t)0x00) /*!< AF0: TIM3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 446 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 447 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 448 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 449 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 450 #define GPIO_AF0_USART4 ((uint8_t)0x00) /*!< AF0: USART4 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 451
mbed_official 441:d2c15dda23c1 452 /* AF 1 */
mbed_official 441:d2c15dda23c1 453 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 454 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 455 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 456 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 457 #define GPIO_AF1_USART3 ((uint8_t)0x01) /*!< AF1: USART3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 458 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 441:d2c15dda23c1 459 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 460 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 461 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 462 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /*!< AF1: SPI2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 463
mbed_official 441:d2c15dda23c1 464 /* AF 2 */
mbed_official 441:d2c15dda23c1 465 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 466 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 467 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 468 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 469 #define GPIO_AF2_USART5 ((uint8_t)0x02) /*!< AF2: USART5 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 470 #define GPIO_AF2_USART6 ((uint8_t)0x02) /*!< AF2: USART6 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 471
mbed_official 441:d2c15dda23c1 472 /* AF 3 */
mbed_official 441:d2c15dda23c1 473 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 474 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 475 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 476
mbed_official 441:d2c15dda23c1 477 /* AF 4 */
mbed_official 441:d2c15dda23c1 478 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 479 #define GPIO_AF4_USART4 ((uint8_t)0x04) /*!< AF4: USART4 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 480 #define GPIO_AF4_USART3 ((uint8_t)0x04) /*!< AF4: USART3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 481 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /*!< AF4: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 482 #define GPIO_AF4_USART5 ((uint8_t)0x04) /*!< AF4: USART5 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 483
mbed_official 441:d2c15dda23c1 484 /* AF 5 */
mbed_official 441:d2c15dda23c1 485 #define GPIO_AF5_TIM15 ((uint8_t)0x05) /*!< AF5: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 486 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 487 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 488 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /*!< AF5: SPI2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 489 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /*!< AF5: I2C2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 490 #define GPIO_AF5_MCO ((uint8_t)0x05) /*!< AF5: MCO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 491 #define GPIO_AF5_USART6 ((uint8_t)0x05) /*!< AF5: USART6 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 492
mbed_official 441:d2c15dda23c1 493 /* AF 6 */
mbed_official 441:d2c15dda23c1 494 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 495
mbed_official 441:d2c15dda23c1 496 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 441:d2c15dda23c1 497
mbed_official 441:d2c15dda23c1 498 #endif /* STM32F030xC */
mbed_official 441:d2c15dda23c1 499
mbed_official 340:28d1f895c6fe 500 #if defined (STM32F072xB) || defined (STM32F078xx)
mbed_official 340:28d1f895c6fe 501 /*--------------------------- STM32F072xB/STM32F078xx ---------------------------*/
mbed_official 340:28d1f895c6fe 502 /* AF 0 */
mbed_official 340:28d1f895c6fe 503 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 504 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 505 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 506 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 507 #define GPIO_AF0_CEC ((uint8_t)0x00) /*!< AF0: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 508 #define GPIO_AF0_CRS ((uint8_t)0x00) /*!< AF0: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 509 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 510 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 511 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 512 #define GPIO_AF0_TIM1 ((uint8_t)0x00) /*!< AF0: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 513 #define GPIO_AF0_TIM3 ((uint8_t)0x00) /*!< AF0: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 514 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 515 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 516 #define GPIO_AF0_TIM16 ((uint8_t)0x00) /*!< AF0: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 517 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 518 #define GPIO_AF0_TSC ((uint8_t)0x00) /*!< AF0: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 519 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 520 #define GPIO_AF0_USART2 ((uint8_t)0x00) /*!< AF0: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 521 #define GPIO_AF0_USART3 ((uint8_t)0x00) /*!< AF0: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 522 #define GPIO_AF0_USART4 ((uint8_t)0x00) /*!< AF0: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 523 #define GPIO_AF0_CAN ((uint8_t)0x00) /*!< AF0: CAN Alternate Function mapping */
mbed_official 340:28d1f895c6fe 524
mbed_official 340:28d1f895c6fe 525 /* AF 1 */
mbed_official 340:28d1f895c6fe 526 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 527 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 528 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 529 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 530 #define GPIO_AF1_USART3 ((uint8_t)0x01) /*!< AF1: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 531 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 532 #define GPIO_AF1_CEC ((uint8_t)0x01) /*!< AF1: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 533 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 534 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 535 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 536 #define GPIO_AF1_TSC ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 537 #define GPIO_AF1_SPI1 ((uint8_t)0x01) /*!< AF1: SPI1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 538 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /*!< AF1: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 539
mbed_official 340:28d1f895c6fe 540 /* AF 2 */
mbed_official 340:28d1f895c6fe 541 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 542 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /*!< AF2: TIM2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 543 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 544 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 545 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 546 #define GPIO_AF2_USB ((uint8_t)0x02) /*!< AF2: USB Alternate Function mapping */
mbed_official 340:28d1f895c6fe 547
mbed_official 340:28d1f895c6fe 548 /* AF 3 */
mbed_official 340:28d1f895c6fe 549 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 550 #define GPIO_AF3_TSC ((uint8_t)0x03) /*!< AF3: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 551 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 552 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 553
mbed_official 340:28d1f895c6fe 554 /* AF 4 */
mbed_official 340:28d1f895c6fe 555 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 556 #define GPIO_AF4_USART4 ((uint8_t)0x04) /*!< AF4: USART4 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 557 #define GPIO_AF4_USART3 ((uint8_t)0x04) /*!< AF4: USART3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 558 #define GPIO_AF4_CRS ((uint8_t)0x04) /*!< AF4: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 559 #define GPIO_AF4_CAN ((uint8_t)0x04) /*!< AF4: CAN Alternate Function mapping */
mbed_official 340:28d1f895c6fe 560
mbed_official 340:28d1f895c6fe 561 /* AF 5 */
mbed_official 340:28d1f895c6fe 562 #define GPIO_AF5_TIM15 ((uint8_t)0x05) /*!< AF5: TIM15 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 563 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 564 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 565 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /*!< AF5: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 566 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /*!< AF5: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 567
mbed_official 340:28d1f895c6fe 568 /* AF 6 */
mbed_official 340:28d1f895c6fe 569 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 570
mbed_official 340:28d1f895c6fe 571 /* AF 7 */
mbed_official 340:28d1f895c6fe 572 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /*!< AF7: COMP1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 573 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /*!< AF7: COMP2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 574
mbed_official 340:28d1f895c6fe 575 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
mbed_official 340:28d1f895c6fe 576
mbed_official 340:28d1f895c6fe 577 #endif /* STM32F072xB || STM32F078xx */
mbed_official 340:28d1f895c6fe 578
mbed_official 441:d2c15dda23c1 579 #if defined (STM32F070xB)
mbed_official 441:d2c15dda23c1 580 /*---------------------------------- STM32F070xB ---------------------------------------------*/
mbed_official 441:d2c15dda23c1 581 /* AF 0 */
mbed_official 441:d2c15dda23c1 582 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 583 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 584 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 441:d2c15dda23c1 585 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 586 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 441:d2c15dda23c1 587 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 588 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 589 #define GPIO_AF0_TIM3 ((uint8_t)0x00) /*!< AF0: TIM3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 590 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 591 #define GPIO_AF0_TIM15 ((uint8_t)0x00) /*!< AF0: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 592 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 593 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 594 #define GPIO_AF0_USART4 ((uint8_t)0x00) /*!< AF0: USART4 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 595
mbed_official 441:d2c15dda23c1 596 /* AF 1 */
mbed_official 441:d2c15dda23c1 597 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 598 #define GPIO_AF1_TIM15 ((uint8_t)0x01) /*!< AF1: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 599 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 600 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 601 #define GPIO_AF1_USART3 ((uint8_t)0x01) /*!< AF1: USART4 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 602 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 441:d2c15dda23c1 603 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 604 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 605 #define GPIO_AF1_I2C2 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 606 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /*!< AF1: SPI2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 607
mbed_official 441:d2c15dda23c1 608 /* AF 2 */
mbed_official 441:d2c15dda23c1 609 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 610 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 611 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 612 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 613 #define GPIO_AF2_USB ((uint8_t)0x02) /*!< AF2: USB Alternate Function mapping */
mbed_official 441:d2c15dda23c1 614
mbed_official 441:d2c15dda23c1 615 /* AF 3 */
mbed_official 441:d2c15dda23c1 616 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 630:825f75ca301e 617 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 618 #define GPIO_AF3_TIM15 ((uint8_t)0x03) /*!< AF3: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 619
mbed_official 441:d2c15dda23c1 620 /* AF 4 */
mbed_official 441:d2c15dda23c1 621 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 622 #define GPIO_AF4_USART4 ((uint8_t)0x04) /*!< AF4: USART4 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 623 #define GPIO_AF4_USART3 ((uint8_t)0x04) /*!< AF4: USART3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 624
mbed_official 441:d2c15dda23c1 625 /* AF 5 */
mbed_official 441:d2c15dda23c1 626 #define GPIO_AF5_TIM15 ((uint8_t)0x05) /*!< AF5: TIM15 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 627 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 628 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 629 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /*!< AF5: SPI2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 630 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /*!< AF5: I2C2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 631
mbed_official 441:d2c15dda23c1 632 /* AF 6 */
mbed_official 441:d2c15dda23c1 633 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 634
mbed_official 441:d2c15dda23c1 635 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 441:d2c15dda23c1 636
mbed_official 441:d2c15dda23c1 637 #endif /* STM32F070xB */
mbed_official 441:d2c15dda23c1 638
mbed_official 340:28d1f895c6fe 639 #if defined (STM32F042x6) || defined (STM32F048xx)
mbed_official 340:28d1f895c6fe 640 /*--------------------------- STM32F042x6/STM32F048xx ---------------------------*/
mbed_official 340:28d1f895c6fe 641 /* AF 0 */
mbed_official 340:28d1f895c6fe 642 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 643 #define GPIO_AF0_CEC ((uint8_t)0x00) /*!< AF0: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 644 #define GPIO_AF0_CRS ((uint8_t)0x00) /*!< AF0: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 645 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 646 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 647 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 648 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 649 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 650 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 340:28d1f895c6fe 651 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 652 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 653 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 654
mbed_official 340:28d1f895c6fe 655 /* AF 1 */
mbed_official 340:28d1f895c6fe 656 #define GPIO_AF1_CEC ((uint8_t)0x01) /*!< AF1: CEC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 657 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 658 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 659 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 340:28d1f895c6fe 660 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 661 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 662 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 663
mbed_official 340:28d1f895c6fe 664 /* AF 2 */
mbed_official 340:28d1f895c6fe 665 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 666 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 667 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /*!< AF2: TIM2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 668 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 669 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 670 #define GPIO_AF2_USB ((uint8_t)0x02) /*!< AF2: USB Alternate Function mapping */
mbed_official 340:28d1f895c6fe 671
mbed_official 340:28d1f895c6fe 672 /* AF 3 */
mbed_official 340:28d1f895c6fe 673 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 674 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 675 #define GPIO_AF3_TSC ((uint8_t)0x03) /*!< AF3: TSC Alternate Function mapping */
mbed_official 340:28d1f895c6fe 676
mbed_official 340:28d1f895c6fe 677 /* AF 4 */
mbed_official 340:28d1f895c6fe 678 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 679 #define GPIO_AF4_CAN ((uint8_t)0x04) /*!< AF4: CAN Alternate Function mapping */
mbed_official 340:28d1f895c6fe 680 #define GPIO_AF4_CRS ((uint8_t)0x04) /*!< AF4: CRS Alternate Function mapping */
mbed_official 340:28d1f895c6fe 681 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /*!< AF4: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 682
mbed_official 340:28d1f895c6fe 683 /* AF 5 */
mbed_official 340:28d1f895c6fe 684 #define GPIO_AF5_MCO ((uint8_t)0x05) /*!< AF5: MCO Alternate Function mapping */
mbed_official 340:28d1f895c6fe 685 #define GPIO_AF5_I2C1 ((uint8_t)0x05) /*!< AF5: I2C1 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 686 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /*!< AF5: I2C2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 687 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /*!< AF5: SPI2 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 688 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 689 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 340:28d1f895c6fe 690 #define GPIO_AF5_USB ((uint8_t)0x05) /*!< AF5: USB Alternate Function mapping */
mbed_official 340:28d1f895c6fe 691
mbed_official 340:28d1f895c6fe 692 /* AF 6 */
mbed_official 340:28d1f895c6fe 693 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 340:28d1f895c6fe 694
mbed_official 340:28d1f895c6fe 695 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 340:28d1f895c6fe 696
mbed_official 340:28d1f895c6fe 697 #endif /* STM32F042x6 || STM32F048xx */
mbed_official 441:d2c15dda23c1 698
mbed_official 441:d2c15dda23c1 699 #if defined (STM32F070x6)
mbed_official 441:d2c15dda23c1 700 /*--------------------------------------- STM32F070x6 ----------------------------------------*/
mbed_official 441:d2c15dda23c1 701 /* AF 0 */
mbed_official 441:d2c15dda23c1 702 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /*!< AF0: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 703 #define GPIO_AF0_IR ((uint8_t)0x00) /*!< AF0: IR Alternate Function mapping */
mbed_official 441:d2c15dda23c1 704 #define GPIO_AF0_MCO ((uint8_t)0x00) /*!< AF0: MCO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 705 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /*!< AF0: SPI1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 706 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /*!< AF0: SWDIO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 707 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /*!< AF0: SWCLK Alternate Function mapping */
mbed_official 441:d2c15dda23c1 708 #define GPIO_AF0_TIM14 ((uint8_t)0x00) /*!< AF0: TIM14 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 709 #define GPIO_AF0_TIM17 ((uint8_t)0x00) /*!< AF0: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 710 #define GPIO_AF0_USART1 ((uint8_t)0x00) /*!< AF0: USART1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 711
mbed_official 441:d2c15dda23c1 712 /* AF 1 */
mbed_official 441:d2c15dda23c1 713 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01) /*!< AF1: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 714 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /*!< AF1: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 715 #define GPIO_AF1_IR ((uint8_t)0x01) /*!< AF1: IR Alternate Function mapping */
mbed_official 441:d2c15dda23c1 716 #define GPIO_AF1_USART1 ((uint8_t)0x01) /*!< AF1: USART1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 717 #define GPIO_AF1_USART2 ((uint8_t)0x01) /*!< AF1: USART2 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 718 #define GPIO_AF1_TIM3 ((uint8_t)0x01) /*!< AF1: TIM3 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 719
mbed_official 441:d2c15dda23c1 720 /* AF 2 */
mbed_official 441:d2c15dda23c1 721 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /*!< AF2: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 722 #define GPIO_AF2_TIM1 ((uint8_t)0x02) /*!< AF2: TIM1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 723 #define GPIO_AF2_TIM16 ((uint8_t)0x02) /*!< AF2: TIM16 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 724 #define GPIO_AF2_TIM17 ((uint8_t)0x02) /*!< AF2: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 725 #define GPIO_AF2_USB ((uint8_t)0x02) /*!< AF2: USB Alternate Function mapping */
mbed_official 441:d2c15dda23c1 726
mbed_official 441:d2c15dda23c1 727 /* AF 3 */
mbed_official 441:d2c15dda23c1 728 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /*!< AF3: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 729 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /*!< AF3: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 730
mbed_official 441:d2c15dda23c1 731 /* AF 4 */
mbed_official 441:d2c15dda23c1 732 #define GPIO_AF4_TIM14 ((uint8_t)0x04) /*!< AF4: TIM14 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 733 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /*!< AF4: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 734
mbed_official 441:d2c15dda23c1 735 /* AF 5 */
mbed_official 441:d2c15dda23c1 736 #define GPIO_AF5_MCO ((uint8_t)0x05) /*!< AF5: MCO Alternate Function mapping */
mbed_official 441:d2c15dda23c1 737 #define GPIO_AF5_I2C1 ((uint8_t)0x05) /*!< AF5: I2C1 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 738 #define GPIO_AF5_TIM16 ((uint8_t)0x05) /*!< AF5: TIM16 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 739 #define GPIO_AF5_TIM17 ((uint8_t)0x05) /*!< AF5: TIM17 Alternate Function mapping */
mbed_official 441:d2c15dda23c1 740 #define GPIO_AF5_USB ((uint8_t)0x05) /*!< AF5: USB Alternate Function mapping */
mbed_official 441:d2c15dda23c1 741
mbed_official 441:d2c15dda23c1 742 /* AF 6 */
mbed_official 441:d2c15dda23c1 743 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /*!< AF6: EVENTOUT Alternate Function mapping */
mbed_official 441:d2c15dda23c1 744
mbed_official 441:d2c15dda23c1 745 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
mbed_official 441:d2c15dda23c1 746
mbed_official 441:d2c15dda23c1 747 #endif /* STM32F070x6 */
mbed_official 340:28d1f895c6fe 748 /**
mbed_official 340:28d1f895c6fe 749 * @}
mbed_official 340:28d1f895c6fe 750 */
mbed_official 340:28d1f895c6fe 751
mbed_official 340:28d1f895c6fe 752 /**
mbed_official 340:28d1f895c6fe 753 * @}
mbed_official 340:28d1f895c6fe 754 */
mbed_official 340:28d1f895c6fe 755
mbed_official 340:28d1f895c6fe 756 /* Exported macro ------------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 757 /** @defgroup GPIOEx_Exported_Macros GPIOEx Exported Macros
mbed_official 340:28d1f895c6fe 758 * @{
mbed_official 340:28d1f895c6fe 759 */
mbed_official 340:28d1f895c6fe 760
mbed_official 340:28d1f895c6fe 761 /** @defgroup GPIOEx_Get_Port_Index GPIOEx_Get Port Index
mbed_official 340:28d1f895c6fe 762 * @{
mbed_official 340:28d1f895c6fe 763 */
mbed_official 340:28d1f895c6fe 764 #if defined (STM32F071xB) || defined (STM32F072xB) || defined (STM32F078xx) || \
mbed_official 340:28d1f895c6fe 765 defined (STM32F091xC) || defined (STM32F098xx)
mbed_official 441:d2c15dda23c1 766 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 340:28d1f895c6fe 767 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 340:28d1f895c6fe 768 ((__GPIOx__) == (GPIOC))? 2U :\
mbed_official 340:28d1f895c6fe 769 ((__GPIOx__) == (GPIOD))? 3U :\
mbed_official 340:28d1f895c6fe 770 ((__GPIOx__) == (GPIOE))? 4U : 5U)
mbed_official 340:28d1f895c6fe 771 #endif
mbed_official 340:28d1f895c6fe 772
mbed_official 441:d2c15dda23c1 773 #if defined (STM32F030x6) || defined (STM32F030x8) || defined (STM32F070xB) || defined (STM32F030xC) || \
mbed_official 340:28d1f895c6fe 774 defined (STM32F051x8) || defined (STM32F058xx)
mbed_official 441:d2c15dda23c1 775 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 340:28d1f895c6fe 776 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 340:28d1f895c6fe 777 ((__GPIOx__) == (GPIOC))? 2U :\
mbed_official 340:28d1f895c6fe 778 ((__GPIOx__) == (GPIOD))? 3U : 5U)
mbed_official 340:28d1f895c6fe 779 #endif
mbed_official 340:28d1f895c6fe 780
mbed_official 340:28d1f895c6fe 781 #if defined (STM32F031x6) || defined (STM32F038xx) || \
mbed_official 441:d2c15dda23c1 782 defined (STM32F042x6) || defined (STM32F048xx) || defined (STM32F070x6)
mbed_official 441:d2c15dda23c1 783 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
mbed_official 340:28d1f895c6fe 784 ((__GPIOx__) == (GPIOB))? 1U :\
mbed_official 340:28d1f895c6fe 785 ((__GPIOx__) == (GPIOC))? 2U : 5U)
mbed_official 340:28d1f895c6fe 786 #endif
mbed_official 340:28d1f895c6fe 787
mbed_official 340:28d1f895c6fe 788 /**
mbed_official 340:28d1f895c6fe 789 * @}
mbed_official 340:28d1f895c6fe 790 */
mbed_official 340:28d1f895c6fe 791
mbed_official 340:28d1f895c6fe 792 /**
mbed_official 340:28d1f895c6fe 793 * @}
mbed_official 340:28d1f895c6fe 794 */
mbed_official 340:28d1f895c6fe 795
mbed_official 340:28d1f895c6fe 796 /* Exported functions --------------------------------------------------------*/
mbed_official 340:28d1f895c6fe 797 /**
mbed_official 340:28d1f895c6fe 798 * @}
mbed_official 340:28d1f895c6fe 799 */
mbed_official 340:28d1f895c6fe 800
mbed_official 340:28d1f895c6fe 801 /**
mbed_official 340:28d1f895c6fe 802 * @}
mbed_official 340:28d1f895c6fe 803 */
mbed_official 340:28d1f895c6fe 804
mbed_official 340:28d1f895c6fe 805 #ifdef __cplusplus
mbed_official 340:28d1f895c6fe 806 }
mbed_official 340:28d1f895c6fe 807 #endif
mbed_official 340:28d1f895c6fe 808
mbed_official 340:28d1f895c6fe 809 #endif /* __STM32F0xx_HAL_GPIO_EX_H */
mbed_official 340:28d1f895c6fe 810
mbed_official 340:28d1f895c6fe 811 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 340:28d1f895c6fe 812