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:
Fri Oct 31 11:00:10 2014 +0000
Revision:
376:cb4d9db17537
Synchronized with git revision 07b49da75eac883fc8916d3d6b6962664b8db29e

Full URL: https://github.com/mbedmicro/mbed/commit/07b49da75eac883fc8916d3d6b6962664b8db29e/

Targets: DISCO_L053C8 - new platform - STM32L0 Discovery board

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 376:cb4d9db17537 1 /**
mbed_official 376:cb4d9db17537 2 ******************************************************************************
mbed_official 376:cb4d9db17537 3 * @file stm32l0xx_hal_gpio_ex.h
mbed_official 376:cb4d9db17537 4 * @author MCD Application Team
mbed_official 376:cb4d9db17537 5 * @version V1.1.0
mbed_official 376:cb4d9db17537 6 * @date 18-June-2014
mbed_official 376:cb4d9db17537 7 * @brief Header file of GPIO HAL Extension module.
mbed_official 376:cb4d9db17537 8 ******************************************************************************
mbed_official 376:cb4d9db17537 9 * @attention
mbed_official 376:cb4d9db17537 10 *
mbed_official 376:cb4d9db17537 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 376:cb4d9db17537 12 *
mbed_official 376:cb4d9db17537 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 376:cb4d9db17537 14 * are permitted provided that the following conditions are met:
mbed_official 376:cb4d9db17537 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 376:cb4d9db17537 16 * this list of conditions and the following disclaimer.
mbed_official 376:cb4d9db17537 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 376:cb4d9db17537 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 376:cb4d9db17537 19 * and/or other materials provided with the distribution.
mbed_official 376:cb4d9db17537 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 376:cb4d9db17537 21 * may be used to endorse or promote products derived from this software
mbed_official 376:cb4d9db17537 22 * without specific prior written permission.
mbed_official 376:cb4d9db17537 23 *
mbed_official 376:cb4d9db17537 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 376:cb4d9db17537 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 376:cb4d9db17537 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 376:cb4d9db17537 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 376:cb4d9db17537 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 376:cb4d9db17537 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 376:cb4d9db17537 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 376:cb4d9db17537 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 376:cb4d9db17537 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 376:cb4d9db17537 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 376:cb4d9db17537 34 *
mbed_official 376:cb4d9db17537 35 ******************************************************************************
mbed_official 376:cb4d9db17537 36 */
mbed_official 376:cb4d9db17537 37
mbed_official 376:cb4d9db17537 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 376:cb4d9db17537 39 #ifndef __STM32L0xx_HAL_GPIO_EX_H
mbed_official 376:cb4d9db17537 40 #define __STM32L0xx_HAL_GPIO_EX_H
mbed_official 376:cb4d9db17537 41
mbed_official 376:cb4d9db17537 42 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 43 extern "C" {
mbed_official 376:cb4d9db17537 44 #endif
mbed_official 376:cb4d9db17537 45
mbed_official 376:cb4d9db17537 46 /* Includes ------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 47 #include "stm32l0xx_hal_def.h"
mbed_official 376:cb4d9db17537 48
mbed_official 376:cb4d9db17537 49 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 376:cb4d9db17537 50 * @{
mbed_official 376:cb4d9db17537 51 */
mbed_official 376:cb4d9db17537 52
mbed_official 376:cb4d9db17537 53 /** @addtogroup GPIOEx
mbed_official 376:cb4d9db17537 54 * @{
mbed_official 376:cb4d9db17537 55 */
mbed_official 376:cb4d9db17537 56
mbed_official 376:cb4d9db17537 57 /* Exported types ------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 58
mbed_official 376:cb4d9db17537 59 /* Exported constants --------------------------------------------------------*/
mbed_official 376:cb4d9db17537 60
mbed_official 376:cb4d9db17537 61 /** @defgroup GPIOEx_Exported_Constants
mbed_official 376:cb4d9db17537 62 * @{
mbed_official 376:cb4d9db17537 63 */
mbed_official 376:cb4d9db17537 64
mbed_official 376:cb4d9db17537 65 /** @defgroup GPIOEx_Alternate_function_selection
mbed_official 376:cb4d9db17537 66 * @{
mbed_official 376:cb4d9db17537 67 */
mbed_official 376:cb4d9db17537 68
mbed_official 376:cb4d9db17537 69 /*------------------------- STM32L053xx/STM32L063xx---------------------------*/
mbed_official 376:cb4d9db17537 70 #if defined (STM32L053xx) || defined (STM32L063xx)
mbed_official 376:cb4d9db17537 71 /**
mbed_official 376:cb4d9db17537 72 * @brief AF 0 selection
mbed_official 376:cb4d9db17537 73 */
mbed_official 376:cb4d9db17537 74 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /* SPI1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 75 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 76 #define GPIO_AF0_USART1 ((uint8_t)0x00) /* USART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 77 #define GPIO_AF0_USART2 ((uint8_t)0x00) /* USART2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 78 #define GPIO_AF0_LPUART1 ((uint8_t)0x00) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 79 #define GPIO_AF0_USB ((uint8_t)0x00) /* USB Alternate Function mapping */
mbed_official 376:cb4d9db17537 80 #define GPIO_AF0_LPTIM ((uint8_t)0x00) /* LPTIM Alternate Function mapping */
mbed_official 376:cb4d9db17537 81 #define GPIO_AF0_TSC ((uint8_t)0x00) /* TSC Alternate Function mapping */
mbed_official 376:cb4d9db17537 82 #define GPIO_AF0_TIM2 ((uint8_t)0x00) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 83 #define GPIO_AF0_TIM21 ((uint8_t)0x00) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 84 #define GPIO_AF0_TIM22 ((uint8_t)0x00) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 85 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 86 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO Alternate Function mapping */
mbed_official 376:cb4d9db17537 87 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /* SWDIO Alternate Function mapping */
mbed_official 376:cb4d9db17537 88 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /* SWCLK Alternate Function mapping */
mbed_official 376:cb4d9db17537 89
mbed_official 376:cb4d9db17537 90 /**
mbed_official 376:cb4d9db17537 91 * @brief AF 1 selection
mbed_official 376:cb4d9db17537 92 */
mbed_official 376:cb4d9db17537 93 #define GPIO_AF1_SPI1 ((uint8_t)0x01) /* SPI1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 94 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 95 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 96 #define GPIO_AF1_LCD ((uint8_t)0x01) /* LCD Alternate Function mapping */
mbed_official 376:cb4d9db17537 97 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 98 #define GPIO_AF1_TIM21 ((uint8_t)0x01) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 99 /**
mbed_official 376:cb4d9db17537 100 * @brief AF 2 selection
mbed_official 376:cb4d9db17537 101 */
mbed_official 376:cb4d9db17537 102 #define GPIO_AF2_SPI2 ((uint8_t)0x02) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 103 #define GPIO_AF2_LPUART1 ((uint8_t)0x02) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 104 #define GPIO_AF2_USB ((uint8_t)0x02) /* USB Alternate Function mapping */
mbed_official 376:cb4d9db17537 105 #define GPIO_AF2_LPTIM ((uint8_t)0x02) /* LPTIM Alternate Function mapping */
mbed_official 376:cb4d9db17537 106 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 107 #define GPIO_AF2_TIM22 ((uint8_t)0x02) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 108 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 109 #define GPIO_AF2_RTC_50Hz ((uint8_t)0x02) /* RTC_OUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 110
mbed_official 376:cb4d9db17537 111 /**
mbed_official 376:cb4d9db17537 112 * @brief AF 3 selection
mbed_official 376:cb4d9db17537 113 */
mbed_official 376:cb4d9db17537 114 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 115 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 376:cb4d9db17537 116 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 117
mbed_official 376:cb4d9db17537 118 /**
mbed_official 376:cb4d9db17537 119 * @brief AF 4 selection
mbed_official 376:cb4d9db17537 120 */
mbed_official 376:cb4d9db17537 121 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 122 #define GPIO_AF4_USART1 ((uint8_t)0x04) /* USART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 123 #define GPIO_AF4_USART2 ((uint8_t)0x04) /* USART2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 124 #define GPIO_AF4_LPUART1 ((uint8_t)0x04) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 125 #define GPIO_AF4_TIM22 ((uint8_t)0x04) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 126 #define GPIO_AF4_EVENTOUT ((uint8_t)0x04) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 127
mbed_official 376:cb4d9db17537 128 /**
mbed_official 376:cb4d9db17537 129 * @brief AF 5 selection
mbed_official 376:cb4d9db17537 130 */
mbed_official 376:cb4d9db17537 131 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 132 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /* I2C2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 133 #define GPIO_AF5_TIM2 ((uint8_t)0x05) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 134 #define GPIO_AF5_TIM21 ((uint8_t)0x05) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 135 #define GPIO_AF5_TIM22 ((uint8_t)0x05) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 136
mbed_official 376:cb4d9db17537 137 /**
mbed_official 376:cb4d9db17537 138 * @brief AF 6 selection
mbed_official 376:cb4d9db17537 139 */
mbed_official 376:cb4d9db17537 140 #define GPIO_AF6_I2C2 ((uint8_t)0x06) /* I2C2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 141 #define GPIO_AF6_TIM21 ((uint8_t)0x06) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 142 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 143
mbed_official 376:cb4d9db17537 144 /**
mbed_official 376:cb4d9db17537 145 * @brief AF 7 selection
mbed_official 376:cb4d9db17537 146 */
mbed_official 376:cb4d9db17537 147 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /* COMP1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 148 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /* COMP2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 149
mbed_official 376:cb4d9db17537 150
mbed_official 376:cb4d9db17537 151 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_SPI1) || ((AF) == GPIO_AF2_SPI2) || \
mbed_official 376:cb4d9db17537 152 ((AF) == GPIO_AF0_SPI2) || ((AF) == GPIO_AF2_LPUART1) || \
mbed_official 376:cb4d9db17537 153 ((AF) == GPIO_AF0_USART1) || ((AF) == GPIO_AF2_USB) || \
mbed_official 376:cb4d9db17537 154 ((AF) == GPIO_AF0_USART2) || ((AF) == GPIO_AF2_LPTIM) || \
mbed_official 376:cb4d9db17537 155 ((AF) == GPIO_AF0_LPUART1) || ((AF) == GPIO_AF2_TIM2) || \
mbed_official 376:cb4d9db17537 156 ((AF) == GPIO_AF0_USB) || ((AF) == GPIO_AF2_TIM22) || \
mbed_official 376:cb4d9db17537 157 ((AF) == GPIO_AF0_LPTIM) || ((AF) == GPIO_AF2_EVENTOUT) || \
mbed_official 376:cb4d9db17537 158 ((AF) == GPIO_AF0_TSC) || ((AF) == GPIO_AF2_RTC_50Hz) || \
mbed_official 376:cb4d9db17537 159 ((AF) == GPIO_AF0_TIM2) || ((AF) == GPIO_AF3_I2C1) || \
mbed_official 376:cb4d9db17537 160 ((AF) == GPIO_AF0_TIM21) || ((AF) == GPIO_AF3_TSC) || \
mbed_official 376:cb4d9db17537 161 ((AF) == GPIO_AF0_TIM22) || ((AF) == GPIO_AF3_EVENTOUT) || \
mbed_official 376:cb4d9db17537 162 ((AF) == GPIO_AF0_EVENTOUT) || ((AF) == GPIO_AF4_I2C1) || \
mbed_official 376:cb4d9db17537 163 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF4_USART1) || \
mbed_official 376:cb4d9db17537 164 ((AF) == GPIO_AF0_SWDIO) || ((AF) == GPIO_AF0_SWCLK) || \
mbed_official 376:cb4d9db17537 165 ((AF) == GPIO_AF1_SPI1) || ((AF) == GPIO_AF4_USART2) || \
mbed_official 376:cb4d9db17537 166 ((AF) == GPIO_AF1_SPI2) || ((AF) == GPIO_AF4_LPUART1) || \
mbed_official 376:cb4d9db17537 167 ((AF) == GPIO_AF1_TIM2) || ((AF) == GPIO_AF4_TIM22) || \
mbed_official 376:cb4d9db17537 168 ((AF) == GPIO_AF1_I2C1) || ((AF) == GPIO_AF4_EVENTOUT) || \
mbed_official 376:cb4d9db17537 169 ((AF) == GPIO_AF1_LCD) || ((AF) == GPIO_AF5_SPI2) || \
mbed_official 376:cb4d9db17537 170 ((AF) == GPIO_AF5_I2C2) || ((AF) == GPIO_AF5_TIM2) || \
mbed_official 376:cb4d9db17537 171 ((AF) == GPIO_AF5_TIM21) || ((AF) == GPIO_AF5_TIM22) || \
mbed_official 376:cb4d9db17537 172 ((AF) == GPIO_AF6_I2C2) || ((AF) == GPIO_AF6_TIM21) || \
mbed_official 376:cb4d9db17537 173 ((AF) == GPIO_AF6_EVENTOUT) || ((AF) == GPIO_AF7_COMP1) || \
mbed_official 376:cb4d9db17537 174 ((AF) == GPIO_AF7_COMP2) || ((AF) == GPIO_AF1_TIM21))
mbed_official 376:cb4d9db17537 175
mbed_official 376:cb4d9db17537 176 #endif /* STM32L053xx || STM32L063xx */
mbed_official 376:cb4d9db17537 177 /*------------------------------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 178
mbed_official 376:cb4d9db17537 179 /*------------------------- STM32L052xx/STM32L062xx---------------------------*/
mbed_official 376:cb4d9db17537 180 #if defined (STM32L052xx) || defined (STM32L062xx)
mbed_official 376:cb4d9db17537 181 /**
mbed_official 376:cb4d9db17537 182 * @brief AF 0 selection
mbed_official 376:cb4d9db17537 183 */
mbed_official 376:cb4d9db17537 184 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /* SPI1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 185 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 186 #define GPIO_AF0_USART1 ((uint8_t)0x00) /* USART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 187 #define GPIO_AF0_USART2 ((uint8_t)0x00) /* USART2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 188 #define GPIO_AF0_LPUART1 ((uint8_t)0x00) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 189 #define GPIO_AF0_USB ((uint8_t)0x00) /* USB Alternate Function mapping */
mbed_official 376:cb4d9db17537 190 #define GPIO_AF0_LPTIM ((uint8_t)0x00) /* LPTIM Alternate Function mapping */
mbed_official 376:cb4d9db17537 191 #define GPIO_AF0_TSC ((uint8_t)0x00) /* TSC Alternate Function mapping */
mbed_official 376:cb4d9db17537 192 #define GPIO_AF0_TIM2 ((uint8_t)0x00) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 193 #define GPIO_AF0_TIM21 ((uint8_t)0x00) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 194 #define GPIO_AF0_TIM22 ((uint8_t)0x00) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 195 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 196 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO Alternate Function mapping */
mbed_official 376:cb4d9db17537 197 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /* SWDIO Alternate Function mapping */
mbed_official 376:cb4d9db17537 198 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /* SWCLK Alternate Function mapping */
mbed_official 376:cb4d9db17537 199
mbed_official 376:cb4d9db17537 200
mbed_official 376:cb4d9db17537 201 /**
mbed_official 376:cb4d9db17537 202 * @brief AF 1 selection
mbed_official 376:cb4d9db17537 203 */
mbed_official 376:cb4d9db17537 204 #define GPIO_AF1_SPI1 ((uint8_t)0x01) /* SPI1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 205 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 206 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 207 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 208 #define GPIO_AF1_TIM21 ((uint8_t)0x01) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 209 /**
mbed_official 376:cb4d9db17537 210 * @brief AF 2 selection
mbed_official 376:cb4d9db17537 211 */
mbed_official 376:cb4d9db17537 212 #define GPIO_AF2_SPI2 ((uint8_t)0x02) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 213 #define GPIO_AF2_LPUART1 ((uint8_t)0x02) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 214 #define GPIO_AF2_USB ((uint8_t)0x02) /* USB Alternate Function mapping */
mbed_official 376:cb4d9db17537 215 #define GPIO_AF2_LPTIM ((uint8_t)0x02) /* LPTIM Alternate Function mapping */
mbed_official 376:cb4d9db17537 216 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 217 #define GPIO_AF2_TIM22 ((uint8_t)0x02) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 218 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 219 #define GPIO_AF2_RTC_50Hz ((uint8_t)0x02) /* RTC_OUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 220
mbed_official 376:cb4d9db17537 221 /**
mbed_official 376:cb4d9db17537 222 * @brief AF 3 selection
mbed_official 376:cb4d9db17537 223 */
mbed_official 376:cb4d9db17537 224 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 225 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 376:cb4d9db17537 226 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 227
mbed_official 376:cb4d9db17537 228 /**
mbed_official 376:cb4d9db17537 229 * @brief AF 4 selection
mbed_official 376:cb4d9db17537 230 */
mbed_official 376:cb4d9db17537 231 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 232 #define GPIO_AF4_USART1 ((uint8_t)0x04) /* USART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 233 #define GPIO_AF4_USART2 ((uint8_t)0x04) /* USART2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 234 #define GPIO_AF4_LPUART1 ((uint8_t)0x04) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 235 #define GPIO_AF4_TIM22 ((uint8_t)0x04) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 236 #define GPIO_AF4_EVENTOUT ((uint8_t)0x04) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 237
mbed_official 376:cb4d9db17537 238 /**
mbed_official 376:cb4d9db17537 239 * @brief AF 5 selection
mbed_official 376:cb4d9db17537 240 */
mbed_official 376:cb4d9db17537 241 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 242 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /* I2C2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 243 #define GPIO_AF5_TIM2 ((uint8_t)0x05) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 244 #define GPIO_AF5_TIM21 ((uint8_t)0x05) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 245 #define GPIO_AF5_TIM22 ((uint8_t)0x05) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 246
mbed_official 376:cb4d9db17537 247 /**
mbed_official 376:cb4d9db17537 248 * @brief AF 6 selection
mbed_official 376:cb4d9db17537 249 */
mbed_official 376:cb4d9db17537 250 #define GPIO_AF6_I2C2 ((uint8_t)0x06) /* I2C2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 251 #define GPIO_AF6_TIM21 ((uint8_t)0x06) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 252 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 253
mbed_official 376:cb4d9db17537 254 /**
mbed_official 376:cb4d9db17537 255 * @brief AF 7 selection
mbed_official 376:cb4d9db17537 256 */
mbed_official 376:cb4d9db17537 257 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /* COMP1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 258 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /* COMP2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 259
mbed_official 376:cb4d9db17537 260
mbed_official 376:cb4d9db17537 261 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_SPI1) || ((AF) == GPIO_AF2_SPI2) || \
mbed_official 376:cb4d9db17537 262 ((AF) == GPIO_AF0_SPI2) || ((AF) == GPIO_AF2_LPUART1) || \
mbed_official 376:cb4d9db17537 263 ((AF) == GPIO_AF0_USART1) || ((AF) == GPIO_AF2_USB) || \
mbed_official 376:cb4d9db17537 264 ((AF) == GPIO_AF0_USART2) || ((AF) == GPIO_AF2_LPTIM) || \
mbed_official 376:cb4d9db17537 265 ((AF) == GPIO_AF0_LPUART1) || ((AF) == GPIO_AF2_TIM2) || \
mbed_official 376:cb4d9db17537 266 ((AF) == GPIO_AF0_USB) || ((AF) == GPIO_AF2_TIM22) || \
mbed_official 376:cb4d9db17537 267 ((AF) == GPIO_AF0_LPTIM) || ((AF) == GPIO_AF2_EVENTOUT) || \
mbed_official 376:cb4d9db17537 268 ((AF) == GPIO_AF0_TSC) || ((AF) == GPIO_AF2_RTC_50Hz) || \
mbed_official 376:cb4d9db17537 269 ((AF) == GPIO_AF0_TIM2) || ((AF) == GPIO_AF3_I2C1) || \
mbed_official 376:cb4d9db17537 270 ((AF) == GPIO_AF0_TIM21) || ((AF) == GPIO_AF3_TSC) || \
mbed_official 376:cb4d9db17537 271 ((AF) == GPIO_AF0_TIM22) || ((AF) == GPIO_AF3_EVENTOUT) || \
mbed_official 376:cb4d9db17537 272 ((AF) == GPIO_AF0_EVENTOUT) || ((AF) == GPIO_AF4_I2C1) || \
mbed_official 376:cb4d9db17537 273 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF4_USART1) || \
mbed_official 376:cb4d9db17537 274 ((AF) == GPIO_AF0_SWDIO) || ((AF) == GPIO_AF0_SWCLK) || \
mbed_official 376:cb4d9db17537 275 ((AF) == GPIO_AF1_SPI1) || ((AF) == GPIO_AF4_USART2) || \
mbed_official 376:cb4d9db17537 276 ((AF) == GPIO_AF1_SPI2) || ((AF) == GPIO_AF4_LPUART1) || \
mbed_official 376:cb4d9db17537 277 ((AF) == GPIO_AF1_TIM2) || ((AF) == GPIO_AF4_TIM22) || \
mbed_official 376:cb4d9db17537 278 ((AF) == GPIO_AF1_I2C1) || ((AF) == GPIO_AF4_EVENTOUT) || \
mbed_official 376:cb4d9db17537 279 ((AF) == GPIO_AF6_EVENTOUT) || ((AF) == GPIO_AF5_SPI2) || \
mbed_official 376:cb4d9db17537 280 ((AF) == GPIO_AF5_I2C2) || ((AF) == GPIO_AF5_TIM2) || \
mbed_official 376:cb4d9db17537 281 ((AF) == GPIO_AF5_TIM21) || ((AF) == GPIO_AF5_TIM22) || \
mbed_official 376:cb4d9db17537 282 ((AF) == GPIO_AF6_I2C2) || ((AF) == GPIO_AF6_TIM21) || \
mbed_official 376:cb4d9db17537 283 ((AF) == GPIO_AF7_COMP2) || ((AF) == GPIO_AF7_COMP1) || \
mbed_official 376:cb4d9db17537 284 ((AF) == GPIO_AF1_TIM21))
mbed_official 376:cb4d9db17537 285
mbed_official 376:cb4d9db17537 286 #endif /* STM32L052xx || STM32L062xx */
mbed_official 376:cb4d9db17537 287 /*------------------------------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 288
mbed_official 376:cb4d9db17537 289 /*------------------------- STM32L051xx/STM32L061xx---------------------------*/
mbed_official 376:cb4d9db17537 290 #if defined (STM32L051xx)|| defined (STM32L061xx)
mbed_official 376:cb4d9db17537 291 /**
mbed_official 376:cb4d9db17537 292 * @brief AF 0 selection
mbed_official 376:cb4d9db17537 293 */
mbed_official 376:cb4d9db17537 294 #define GPIO_AF0_SPI1 ((uint8_t)0x00) /* SPI1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 295 #define GPIO_AF0_SPI2 ((uint8_t)0x00) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 296 #define GPIO_AF0_USART1 ((uint8_t)0x00) /* USART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 297 #define GPIO_AF0_USART2 ((uint8_t)0x00) /* USART2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 298 #define GPIO_AF0_LPUART1 ((uint8_t)0x00) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 299 #define GPIO_AF0_LPTIM ((uint8_t)0x00) /* LPTIM Alternate Function mapping */
mbed_official 376:cb4d9db17537 300 #define GPIO_AF0_TSC ((uint8_t)0x00) /* TSC Alternate Function mapping */
mbed_official 376:cb4d9db17537 301 #define GPIO_AF0_TIM2 ((uint8_t)0x00) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 302 #define GPIO_AF0_TIM21 ((uint8_t)0x00) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 303 #define GPIO_AF0_TIM22 ((uint8_t)0x00) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 304 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 305 #define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO Alternate Function mapping */
mbed_official 376:cb4d9db17537 306 #define GPIO_AF0_SWDIO ((uint8_t)0x00) /* SWDIO Alternate Function mapping */
mbed_official 376:cb4d9db17537 307 #define GPIO_AF0_SWCLK ((uint8_t)0x00) /* SWCLK Alternate Function mapping */
mbed_official 376:cb4d9db17537 308
mbed_official 376:cb4d9db17537 309
mbed_official 376:cb4d9db17537 310 /**
mbed_official 376:cb4d9db17537 311 * @brief AF 1 selection
mbed_official 376:cb4d9db17537 312 */
mbed_official 376:cb4d9db17537 313 #define GPIO_AF1_SPI1 ((uint8_t)0x01) /* SPI1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 314 #define GPIO_AF1_SPI2 ((uint8_t)0x01) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 315 #define GPIO_AF1_I2C1 ((uint8_t)0x01) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 316 #define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 317 #define GPIO_AF1_TIM21 ((uint8_t)0x01) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 318 /**
mbed_official 376:cb4d9db17537 319 * @brief AF 2 selection
mbed_official 376:cb4d9db17537 320 */
mbed_official 376:cb4d9db17537 321 #define GPIO_AF2_SPI2 ((uint8_t)0x02) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 322 #define GPIO_AF2_LPUART1 ((uint8_t)0x02) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 323 #define GPIO_AF2_LPTIM ((uint8_t)0x02) /* LPTIM Alternate Function mapping */
mbed_official 376:cb4d9db17537 324 #define GPIO_AF2_TIM2 ((uint8_t)0x02) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 325 #define GPIO_AF2_TIM22 ((uint8_t)0x02) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 326 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 327 #define GPIO_AF2_RTC_50Hz ((uint8_t)0x02) /* RTC_OUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 328
mbed_official 376:cb4d9db17537 329 /**
mbed_official 376:cb4d9db17537 330 * @brief AF 3 selection
mbed_official 376:cb4d9db17537 331 */
mbed_official 376:cb4d9db17537 332 #define GPIO_AF3_I2C1 ((uint8_t)0x03) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 333 #define GPIO_AF3_TSC ((uint8_t)0x03) /* TSC Alternate Function mapping */
mbed_official 376:cb4d9db17537 334 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 335
mbed_official 376:cb4d9db17537 336
mbed_official 376:cb4d9db17537 337 /**
mbed_official 376:cb4d9db17537 338 * @brief AF 4 selection
mbed_official 376:cb4d9db17537 339 */
mbed_official 376:cb4d9db17537 340 #define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 341 #define GPIO_AF4_USART1 ((uint8_t)0x04) /* USART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 342 #define GPIO_AF4_USART2 ((uint8_t)0x04) /* USART2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 343 #define GPIO_AF4_LPUART1 ((uint8_t)0x04) /* LPUART1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 344 #define GPIO_AF4_TIM22 ((uint8_t)0x04) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 345 #define GPIO_AF4_EVENTOUT ((uint8_t)0x04) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 346
mbed_official 376:cb4d9db17537 347 /**
mbed_official 376:cb4d9db17537 348 * @brief AF 5 selection
mbed_official 376:cb4d9db17537 349 */
mbed_official 376:cb4d9db17537 350 #define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 351 #define GPIO_AF5_I2C2 ((uint8_t)0x05) /* I2C2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 352 #define GPIO_AF5_TIM2 ((uint8_t)0x05) /* TIM2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 353 #define GPIO_AF5_TIM21 ((uint8_t)0x05) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 354 #define GPIO_AF5_TIM22 ((uint8_t)0x05) /* TIM22 Alternate Function mapping */
mbed_official 376:cb4d9db17537 355
mbed_official 376:cb4d9db17537 356 /**
mbed_official 376:cb4d9db17537 357 * @brief AF 6 selection
mbed_official 376:cb4d9db17537 358 */
mbed_official 376:cb4d9db17537 359 #define GPIO_AF6_I2C2 ((uint8_t)0x06) /* I2C2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 360 #define GPIO_AF6_TIM21 ((uint8_t)0x06) /* TIM21 Alternate Function mapping */
mbed_official 376:cb4d9db17537 361 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06) /* EVENTOUT Alternate Function mapping */
mbed_official 376:cb4d9db17537 362
mbed_official 376:cb4d9db17537 363 /**
mbed_official 376:cb4d9db17537 364 * @brief AF 7 selection
mbed_official 376:cb4d9db17537 365 */
mbed_official 376:cb4d9db17537 366 #define GPIO_AF7_COMP1 ((uint8_t)0x07) /* COMP1 Alternate Function mapping */
mbed_official 376:cb4d9db17537 367 #define GPIO_AF7_COMP2 ((uint8_t)0x07) /* COMP2 Alternate Function mapping */
mbed_official 376:cb4d9db17537 368
mbed_official 376:cb4d9db17537 369
mbed_official 376:cb4d9db17537 370 #define IS_GPIO_AF(AF) (((AF) == GPIO_AF0_SPI1) || ((AF) == GPIO_AF2_SPI2) || \
mbed_official 376:cb4d9db17537 371 ((AF) == GPIO_AF0_SPI2) || ((AF) == GPIO_AF2_LPUART1) || \
mbed_official 376:cb4d9db17537 372 ((AF) == GPIO_AF0_USART1) || ((AF) == GPIO_AF2_TIM22) || \
mbed_official 376:cb4d9db17537 373 ((AF) == GPIO_AF0_USART2) || ((AF) == GPIO_AF2_LPTIM) || \
mbed_official 376:cb4d9db17537 374 ((AF) == GPIO_AF0_LPUART1) || ((AF) == GPIO_AF2_TIM2) || \
mbed_official 376:cb4d9db17537 375 ((AF) == GPIO_AF0_LPTIM) || ((AF) == GPIO_AF2_EVENTOUT) || \
mbed_official 376:cb4d9db17537 376 ((AF) == GPIO_AF1_TIM21) || ((AF) == GPIO_AF2_RTC_50Hz) || \
mbed_official 376:cb4d9db17537 377 ((AF) == GPIO_AF0_TIM2) || ((AF) == GPIO_AF3_I2C1) || \
mbed_official 376:cb4d9db17537 378 ((AF) == GPIO_AF0_TIM21) || ((AF) == GPIO_AF3_TSC) || \
mbed_official 376:cb4d9db17537 379 ((AF) == GPIO_AF0_TIM22) || ((AF) == GPIO_AF3_EVENTOUT) || \
mbed_official 376:cb4d9db17537 380 ((AF) == GPIO_AF0_EVENTOUT) || ((AF) == GPIO_AF4_I2C1) || \
mbed_official 376:cb4d9db17537 381 ((AF) == GPIO_AF0_MCO) || ((AF) == GPIO_AF4_USART1) || \
mbed_official 376:cb4d9db17537 382 ((AF) == GPIO_AF0_SWDIO) || ((AF) == GPIO_AF0_SWCLK) || \
mbed_official 376:cb4d9db17537 383 ((AF) == GPIO_AF1_SPI1) || ((AF) == GPIO_AF4_USART2) || \
mbed_official 376:cb4d9db17537 384 ((AF) == GPIO_AF1_SPI2) || ((AF) == GPIO_AF4_LPUART1) || \
mbed_official 376:cb4d9db17537 385 ((AF) == GPIO_AF1_TIM2) || ((AF) == GPIO_AF4_TIM22) || \
mbed_official 376:cb4d9db17537 386 ((AF) == GPIO_AF1_I2C1) || ((AF) == GPIO_AF4_EVENTOUT) || \
mbed_official 376:cb4d9db17537 387 ((AF) == GPIO_AF6_EVENTOUT) || ((AF) == GPIO_AF5_SPI2) || \
mbed_official 376:cb4d9db17537 388 ((AF) == GPIO_AF5_I2C2) || ((AF) == GPIO_AF5_TIM2) || \
mbed_official 376:cb4d9db17537 389 ((AF) == GPIO_AF5_TIM21) || ((AF) == GPIO_AF5_TIM22) || \
mbed_official 376:cb4d9db17537 390 ((AF) == GPIO_AF6_I2C2) || ((AF) == GPIO_AF6_TIM21) || \
mbed_official 376:cb4d9db17537 391 ((AF) == GPIO_AF7_COMP2) || ((AF) == GPIO_AF7_COMP1))
mbed_official 376:cb4d9db17537 392
mbed_official 376:cb4d9db17537 393
mbed_official 376:cb4d9db17537 394 #endif /* STM32L051xx/STM32L061xx*/
mbed_official 376:cb4d9db17537 395
mbed_official 376:cb4d9db17537 396 /* Aliases define maintained for legacy */
mbed_official 376:cb4d9db17537 397 #define GPIO_AF0_EVENOUT GPIO_AF0_EVENTOUT
mbed_official 376:cb4d9db17537 398 #define GPIO_AF2_EVENOUT GPIO_AF2_EVENTOUT
mbed_official 376:cb4d9db17537 399 #define GPIO_AF3_EVENOUT GPIO_AF3_EVENTOUT
mbed_official 376:cb4d9db17537 400 #define GPIO_AF6_EVENOUT GPIO_AF6_EVENTOUT
mbed_official 376:cb4d9db17537 401 /*------------------------------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 402 /**
mbed_official 376:cb4d9db17537 403 * @}
mbed_official 376:cb4d9db17537 404 */
mbed_official 376:cb4d9db17537 405
mbed_official 376:cb4d9db17537 406 /**
mbed_official 376:cb4d9db17537 407 * @}
mbed_official 376:cb4d9db17537 408 */
mbed_official 376:cb4d9db17537 409
mbed_official 376:cb4d9db17537 410 /* Exported macro ------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 411 /* Exported functions --------------------------------------------------------*/
mbed_official 376:cb4d9db17537 412
mbed_official 376:cb4d9db17537 413
mbed_official 376:cb4d9db17537 414 /**
mbed_official 376:cb4d9db17537 415 * @}
mbed_official 376:cb4d9db17537 416 */
mbed_official 376:cb4d9db17537 417
mbed_official 376:cb4d9db17537 418 /**
mbed_official 376:cb4d9db17537 419 * @}
mbed_official 376:cb4d9db17537 420 */
mbed_official 376:cb4d9db17537 421
mbed_official 376:cb4d9db17537 422 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 423 }
mbed_official 376:cb4d9db17537 424 #endif
mbed_official 376:cb4d9db17537 425
mbed_official 376:cb4d9db17537 426 #endif /* __STM32L0xx_HAL_GPIO_EX_H */
mbed_official 376:cb4d9db17537 427
mbed_official 376:cb4d9db17537 428 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/