tdse-tp2_05-model_integration

Index Commits Files Refs README
Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h (36048B)
   1 /**
   2   ******************************************************************************
   3   * @file    stm32f1xx_hal_gpio_ex.h
   4   * @author  MCD Application Team
   5   * @brief   Header file of GPIO HAL Extension module.
   6   ******************************************************************************
   7   * @attention
   8   *
   9   * Copyright (c) 2016 STMicroelectronics.
  10   * All rights reserved.
  11   *
  12   * This software is licensed under terms that can be found in the LICENSE file
  13   * in the root directory of this software component.
  14   * If no LICENSE file comes with this software, it is provided AS-IS.
  15   *
  16   ******************************************************************************
  17   */
  18 
  19 /* Define to prevent recursive inclusion -------------------------------------*/
  20 #ifndef STM32F1xx_HAL_GPIO_EX_H
  21 #define STM32F1xx_HAL_GPIO_EX_H
  22 
  23 #ifdef __cplusplus
  24 extern "C" {
  25 #endif
  26 
  27 /* Includes ------------------------------------------------------------------*/
  28 #include "stm32f1xx_hal_def.h"
  29 
  30 /** @addtogroup STM32F1xx_HAL_Driver
  31   * @{
  32   */
  33 
  34 /** @defgroup GPIOEx GPIOEx
  35   * @{
  36   */
  37 /* Exported types ------------------------------------------------------------*/
  38 /* Exported constants --------------------------------------------------------*/
  39 
  40 /** @defgroup GPIOEx_Exported_Constants GPIOEx Exported Constants
  41   * @{
  42   */
  43 
  44 /** @defgroup GPIOEx_EVENTOUT EVENTOUT Cortex Configuration
  45   * @brief This section propose definition to use the Cortex EVENTOUT signal.
  46   * @{
  47   */
  48 
  49 /** @defgroup GPIOEx_EVENTOUT_PIN EVENTOUT Pin
  50   * @{
  51   */
  52 
  53 #define AFIO_EVENTOUT_PIN_0  AFIO_EVCR_PIN_PX0 /*!< EVENTOUT on pin 0 */
  54 #define AFIO_EVENTOUT_PIN_1  AFIO_EVCR_PIN_PX1 /*!< EVENTOUT on pin 1 */
  55 #define AFIO_EVENTOUT_PIN_2  AFIO_EVCR_PIN_PX2 /*!< EVENTOUT on pin 2 */
  56 #define AFIO_EVENTOUT_PIN_3  AFIO_EVCR_PIN_PX3 /*!< EVENTOUT on pin 3 */
  57 #define AFIO_EVENTOUT_PIN_4  AFIO_EVCR_PIN_PX4 /*!< EVENTOUT on pin 4 */
  58 #define AFIO_EVENTOUT_PIN_5  AFIO_EVCR_PIN_PX5 /*!< EVENTOUT on pin 5 */
  59 #define AFIO_EVENTOUT_PIN_6  AFIO_EVCR_PIN_PX6 /*!< EVENTOUT on pin 6 */
  60 #define AFIO_EVENTOUT_PIN_7  AFIO_EVCR_PIN_PX7 /*!< EVENTOUT on pin 7 */
  61 #define AFIO_EVENTOUT_PIN_8  AFIO_EVCR_PIN_PX8 /*!< EVENTOUT on pin 8 */
  62 #define AFIO_EVENTOUT_PIN_9  AFIO_EVCR_PIN_PX9 /*!< EVENTOUT on pin 9 */
  63 #define AFIO_EVENTOUT_PIN_10 AFIO_EVCR_PIN_PX10 /*!< EVENTOUT on pin 10 */
  64 #define AFIO_EVENTOUT_PIN_11 AFIO_EVCR_PIN_PX11 /*!< EVENTOUT on pin 11 */
  65 #define AFIO_EVENTOUT_PIN_12 AFIO_EVCR_PIN_PX12 /*!< EVENTOUT on pin 12 */
  66 #define AFIO_EVENTOUT_PIN_13 AFIO_EVCR_PIN_PX13 /*!< EVENTOUT on pin 13 */
  67 #define AFIO_EVENTOUT_PIN_14 AFIO_EVCR_PIN_PX14 /*!< EVENTOUT on pin 14 */
  68 #define AFIO_EVENTOUT_PIN_15 AFIO_EVCR_PIN_PX15 /*!< EVENTOUT on pin 15 */
  69 
  70 #define IS_AFIO_EVENTOUT_PIN(__PIN__) (((__PIN__) == AFIO_EVENTOUT_PIN_0) || \
  71                                        ((__PIN__) == AFIO_EVENTOUT_PIN_1) || \
  72                                        ((__PIN__) == AFIO_EVENTOUT_PIN_2) || \
  73                                        ((__PIN__) == AFIO_EVENTOUT_PIN_3) || \
  74                                        ((__PIN__) == AFIO_EVENTOUT_PIN_4) || \
  75                                        ((__PIN__) == AFIO_EVENTOUT_PIN_5) || \
  76                                        ((__PIN__) == AFIO_EVENTOUT_PIN_6) || \
  77                                        ((__PIN__) == AFIO_EVENTOUT_PIN_7) || \
  78                                        ((__PIN__) == AFIO_EVENTOUT_PIN_8) || \
  79                                        ((__PIN__) == AFIO_EVENTOUT_PIN_9) || \
  80                                        ((__PIN__) == AFIO_EVENTOUT_PIN_10) || \
  81                                        ((__PIN__) == AFIO_EVENTOUT_PIN_11) || \
  82                                        ((__PIN__) == AFIO_EVENTOUT_PIN_12) || \
  83                                        ((__PIN__) == AFIO_EVENTOUT_PIN_13) || \
  84                                        ((__PIN__) == AFIO_EVENTOUT_PIN_14) || \
  85                                        ((__PIN__) == AFIO_EVENTOUT_PIN_15))
  86 /**
  87   * @}
  88   */
  89 
  90 /** @defgroup GPIOEx_EVENTOUT_PORT EVENTOUT Port
  91   * @{
  92   */
  93 
  94 #define AFIO_EVENTOUT_PORT_A AFIO_EVCR_PORT_PA /*!< EVENTOUT on port A */
  95 #define AFIO_EVENTOUT_PORT_B AFIO_EVCR_PORT_PB /*!< EVENTOUT on port B */
  96 #define AFIO_EVENTOUT_PORT_C AFIO_EVCR_PORT_PC /*!< EVENTOUT on port C */
  97 #define AFIO_EVENTOUT_PORT_D AFIO_EVCR_PORT_PD /*!< EVENTOUT on port D */
  98 #define AFIO_EVENTOUT_PORT_E AFIO_EVCR_PORT_PE /*!< EVENTOUT on port E */
  99 
 100 #define IS_AFIO_EVENTOUT_PORT(__PORT__) (((__PORT__) == AFIO_EVENTOUT_PORT_A) || \
 101                                          ((__PORT__) == AFIO_EVENTOUT_PORT_B) || \
 102                                          ((__PORT__) == AFIO_EVENTOUT_PORT_C) || \
 103                                          ((__PORT__) == AFIO_EVENTOUT_PORT_D) || \
 104                                          ((__PORT__) == AFIO_EVENTOUT_PORT_E))
 105 /**
 106   * @}
 107   */
 108 
 109 /**
 110   * @}
 111   */
 112 
 113 /** @defgroup GPIOEx_AFIO_AF_REMAPPING Alternate Function Remapping
 114   * @brief This section propose definition to remap the alternate function to some other port/pins.
 115   * @{
 116   */
 117 
 118 /**
 119   * @brief Enable the remapping of SPI1 alternate function NSS, SCK, MISO and MOSI.
 120   * @note  ENABLE: Remap     (NSS/PA15, SCK/PB3, MISO/PB4, MOSI/PB5)
 121   * @retval None
 122   */
 123 #define __HAL_AFIO_REMAP_SPI1_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_SPI1_REMAP)
 124 
 125 /**
 126   * @brief Disable the remapping of SPI1 alternate function NSS, SCK, MISO and MOSI.
 127   * @note  DISABLE: No remap (NSS/PA4,  SCK/PA5, MISO/PA6, MOSI/PA7)
 128   * @retval None
 129   */
 130 #define __HAL_AFIO_REMAP_SPI1_DISABLE()  AFIO_REMAP_DISABLE(AFIO_MAPR_SPI1_REMAP)
 131 
 132 /**
 133   * @brief Enable the remapping of I2C1 alternate function SCL and SDA.
 134   * @note  ENABLE: Remap     (SCL/PB8, SDA/PB9)
 135   * @retval None
 136   */
 137 #define __HAL_AFIO_REMAP_I2C1_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_I2C1_REMAP)
 138 
 139 /**
 140   * @brief Disable the remapping of I2C1 alternate function SCL and SDA.
 141   * @note  DISABLE: No remap (SCL/PB6, SDA/PB7)
 142   * @retval None
 143   */
 144 #define __HAL_AFIO_REMAP_I2C1_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_I2C1_REMAP)
 145 
 146 /**
 147   * @brief Enable the remapping of USART1 alternate function TX and RX.
 148   * @note  ENABLE: Remap     (TX/PB6, RX/PB7)
 149   * @retval None
 150   */
 151 #define __HAL_AFIO_REMAP_USART1_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_USART1_REMAP)
 152 
 153 /**
 154   * @brief Disable the remapping of USART1 alternate function TX and RX.
 155   * @note  DISABLE: No remap (TX/PA9, RX/PA10)
 156   * @retval None
 157   */
 158 #define __HAL_AFIO_REMAP_USART1_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_USART1_REMAP)
 159 
 160 /**
 161   * @brief Enable the remapping of USART2 alternate function CTS, RTS, CK, TX and RX.
 162   * @note  ENABLE: Remap     (CTS/PD3, RTS/PD4, TX/PD5, RX/PD6, CK/PD7)
 163   * @retval None
 164   */
 165 #define __HAL_AFIO_REMAP_USART2_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_USART2_REMAP)
 166 
 167 /**
 168   * @brief Disable the remapping of USART2 alternate function CTS, RTS, CK, TX and RX.
 169   * @note  DISABLE: No remap (CTS/PA0, RTS/PA1, TX/PA2, RX/PA3, CK/PA4)
 170   * @retval None
 171   */
 172 #define __HAL_AFIO_REMAP_USART2_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_USART2_REMAP)
 173 
 174 /**
 175   * @brief Enable the remapping of USART3 alternate function CTS, RTS, CK, TX and RX.
 176   * @note  ENABLE: Full remap     (TX/PD8,  RX/PD9,  CK/PD10, CTS/PD11, RTS/PD12)
 177   * @retval None
 178   */
 179 #define __HAL_AFIO_REMAP_USART3_ENABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_USART3_REMAP_FULLREMAP, AFIO_MAPR_USART3_REMAP_FULLREMAP)
 180 
 181 /**
 182   * @brief Enable the remapping of USART3 alternate function CTS, RTS, CK, TX and RX.
 183   * @note  PARTIAL: Partial remap (TX/PC10, RX/PC11, CK/PC12, CTS/PB13, RTS/PB14)
 184   * @retval None
 185   */
 186 #define __HAL_AFIO_REMAP_USART3_PARTIAL()  AFIO_REMAP_PARTIAL(AFIO_MAPR_USART3_REMAP_PARTIALREMAP, AFIO_MAPR_USART3_REMAP_FULLREMAP)
 187 
 188 /**
 189   * @brief Disable the remapping of USART3 alternate function CTS, RTS, CK, TX and RX.
 190   * @note  DISABLE: No remap      (TX/PB10, RX/PB11, CK/PB12, CTS/PB13, RTS/PB14)
 191   * @retval None
 192   */
 193 #define __HAL_AFIO_REMAP_USART3_DISABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_USART3_REMAP_NOREMAP, AFIO_MAPR_USART3_REMAP_FULLREMAP)
 194 
 195 /**
 196   * @brief Enable the remapping of TIM1 alternate function channels 1 to 4, 1N to 3N, external trigger (ETR) and Break input (BKIN)
 197   * @note  ENABLE: Full remap     (ETR/PE7,  CH1/PE9, CH2/PE11, CH3/PE13, CH4/PE14, BKIN/PE15, CH1N/PE8,  CH2N/PE10, CH3N/PE12)
 198   * @retval None
 199   */
 200 #define __HAL_AFIO_REMAP_TIM1_ENABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM1_REMAP_FULLREMAP, AFIO_MAPR_TIM1_REMAP_FULLREMAP)
 201 
 202 /**
 203   * @brief Enable the remapping of TIM1 alternate function channels 1 to 4, 1N to 3N, external trigger (ETR) and Break input (BKIN)
 204   * @note  PARTIAL: Partial remap (ETR/PA12, CH1/PA8, CH2/PA9,  CH3/PA10, CH4/PA11, BKIN/PA6,  CH1N/PA7,  CH2N/PB0,  CH3N/PB1)
 205   * @retval None
 206   */
 207 #define __HAL_AFIO_REMAP_TIM1_PARTIAL()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM1_REMAP_PARTIALREMAP, AFIO_MAPR_TIM1_REMAP_FULLREMAP)
 208 
 209 /**
 210   * @brief Disable the remapping of TIM1 alternate function channels 1 to 4, 1N to 3N, external trigger (ETR) and Break input (BKIN)
 211   * @note  DISABLE: No remap      (ETR/PA12, CH1/PA8, CH2/PA9,  CH3/PA10, CH4/PA11, BKIN/PB12, CH1N/PB13, CH2N/PB14, CH3N/PB15)
 212   * @retval None
 213   */
 214 #define __HAL_AFIO_REMAP_TIM1_DISABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM1_REMAP_NOREMAP, AFIO_MAPR_TIM1_REMAP_FULLREMAP)
 215 
 216 /**
 217   * @brief Enable the remapping of TIM2 alternate function channels 1 to 4 and external trigger (ETR)
 218   * @note  ENABLE: Full remap       (CH1/ETR/PA15, CH2/PB3, CH3/PB10, CH4/PB11)
 219   * @retval None
 220   */
 221 #define __HAL_AFIO_REMAP_TIM2_ENABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM2_REMAP_FULLREMAP, AFIO_MAPR_TIM2_REMAP_FULLREMAP)
 222 
 223 /**
 224   * @brief Enable the remapping of TIM2 alternate function channels 1 to 4 and external trigger (ETR)
 225   * @note  PARTIAL_2: Partial remap (CH1/ETR/PA0,  CH2/PA1, CH3/PB10, CH4/PB11)
 226   * @retval None
 227   */
 228 #define __HAL_AFIO_REMAP_TIM2_PARTIAL_2()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM2_REMAP_PARTIALREMAP2, AFIO_MAPR_TIM2_REMAP_FULLREMAP)
 229 
 230 /**
 231   * @brief Enable the remapping of TIM2 alternate function channels 1 to 4 and external trigger (ETR)
 232   * @note  PARTIAL_1: Partial remap (CH1/ETR/PA15, CH2/PB3, CH3/PA2,  CH4/PA3)
 233   * @retval None
 234   */
 235 #define __HAL_AFIO_REMAP_TIM2_PARTIAL_1()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM2_REMAP_PARTIALREMAP1, AFIO_MAPR_TIM2_REMAP_FULLREMAP)
 236 
 237 /**
 238   * @brief Disable the remapping of TIM2 alternate function channels 1 to 4 and external trigger (ETR)
 239   * @note  DISABLE: No remap        (CH1/ETR/PA0,  CH2/PA1, CH3/PA2,  CH4/PA3)
 240   * @retval None
 241   */
 242 #define __HAL_AFIO_REMAP_TIM2_DISABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM2_REMAP_NOREMAP, AFIO_MAPR_TIM2_REMAP_FULLREMAP)
 243 
 244 /**
 245   * @brief Enable the remapping of TIM3 alternate function channels 1 to 4
 246   * @note  ENABLE: Full remap     (CH1/PC6, CH2/PC7, CH3/PC8, CH4/PC9)
 247   * @note  TIM3_ETR on PE0 is not re-mapped.
 248   * @retval None
 249   */
 250 #define __HAL_AFIO_REMAP_TIM3_ENABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM3_REMAP_FULLREMAP, AFIO_MAPR_TIM3_REMAP_FULLREMAP)
 251 
 252 /**
 253   * @brief Enable the remapping of TIM3 alternate function channels 1 to 4
 254   * @note  PARTIAL: Partial remap (CH1/PB4, CH2/PB5, CH3/PB0, CH4/PB1)
 255   * @note  TIM3_ETR on PE0 is not re-mapped.
 256   * @retval None
 257   */
 258 #define __HAL_AFIO_REMAP_TIM3_PARTIAL()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM3_REMAP_PARTIALREMAP, AFIO_MAPR_TIM3_REMAP_FULLREMAP)
 259 
 260 /**
 261   * @brief Disable the remapping of TIM3 alternate function channels 1 to 4
 262   * @note  DISABLE: No remap      (CH1/PA6, CH2/PA7, CH3/PB0, CH4/PB1)
 263   * @note  TIM3_ETR on PE0 is not re-mapped.
 264   * @retval None
 265   */
 266 #define __HAL_AFIO_REMAP_TIM3_DISABLE()  AFIO_REMAP_PARTIAL(AFIO_MAPR_TIM3_REMAP_NOREMAP, AFIO_MAPR_TIM3_REMAP_FULLREMAP)
 267 
 268 /**
 269   * @brief Enable the remapping of TIM4 alternate function channels 1 to 4.
 270   * @note  ENABLE: Full remap (TIM4_CH1/PD12, TIM4_CH2/PD13, TIM4_CH3/PD14, TIM4_CH4/PD15)
 271   * @note  TIM4_ETR on PE0 is not re-mapped.
 272   * @retval None
 273   */
 274 #define __HAL_AFIO_REMAP_TIM4_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_TIM4_REMAP)
 275 
 276 /**
 277   * @brief Disable the remapping of TIM4 alternate function channels 1 to 4.
 278   * @note  DISABLE: No remap  (TIM4_CH1/PB6,  TIM4_CH2/PB7,  TIM4_CH3/PB8,  TIM4_CH4/PB9)
 279   * @note  TIM4_ETR on PE0 is not re-mapped.
 280   * @retval None
 281   */
 282 #define __HAL_AFIO_REMAP_TIM4_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_TIM4_REMAP)
 283 
 284 #if defined(AFIO_MAPR_CAN_REMAP_REMAP1)
 285 
 286 /**
 287   * @brief Enable or disable the remapping of CAN alternate function CAN_RX and CAN_TX in devices with a single CAN interface.
 288   * @note  CASE 1: CAN_RX mapped to PA11, CAN_TX mapped to PA12
 289   * @retval None
 290   */
 291 #define __HAL_AFIO_REMAP_CAN1_1()  AFIO_REMAP_PARTIAL(AFIO_MAPR_CAN_REMAP_REMAP1, AFIO_MAPR_CAN_REMAP)
 292 
 293 /**
 294   * @brief Enable or disable the remapping of CAN alternate function CAN_RX and CAN_TX in devices with a single CAN interface.
 295   * @note  CASE 2: CAN_RX mapped to PB8,  CAN_TX mapped to PB9 (not available on 36-pin package)
 296   * @retval None
 297   */
 298 #define __HAL_AFIO_REMAP_CAN1_2()  AFIO_REMAP_PARTIAL(AFIO_MAPR_CAN_REMAP_REMAP2, AFIO_MAPR_CAN_REMAP)
 299 
 300 /**
 301   * @brief Enable or disable the remapping of CAN alternate function CAN_RX and CAN_TX in devices with a single CAN interface.
 302   * @note  CASE 3: CAN_RX mapped to PD0,  CAN_TX mapped to PD1
 303   * @retval None
 304   */
 305 #define __HAL_AFIO_REMAP_CAN1_3()  AFIO_REMAP_PARTIAL(AFIO_MAPR_CAN_REMAP_REMAP3, AFIO_MAPR_CAN_REMAP)
 306 
 307 #endif
 308 
 309 /**
 310   * @brief Enable the remapping of PD0 and PD1. When the HSE oscillator is not used
 311   *        (application running on internal 8 MHz RC) PD0 and PD1 can be mapped on OSC_IN and
 312   *        OSC_OUT. This is available only on 36, 48 and 64 pins packages (PD0 and PD1 are available
 313   *        on 100-pin and 144-pin packages, no need for remapping).
 314   * @note  ENABLE: PD0 remapped on OSC_IN, PD1 remapped on OSC_OUT.
 315   * @retval None
 316   */
 317 #define __HAL_AFIO_REMAP_PD01_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_PD01_REMAP)
 318 
 319 /**
 320   * @brief Disable the remapping of PD0 and PD1. When the HSE oscillator is not used
 321   *        (application running on internal 8 MHz RC) PD0 and PD1 can be mapped on OSC_IN and
 322   *        OSC_OUT. This is available only on 36, 48 and 64 pins packages (PD0 and PD1 are available
 323   *        on 100-pin and 144-pin packages, no need for remapping).
 324   * @note  DISABLE: No remapping of PD0 and PD1
 325   * @retval None
 326   */
 327 #define __HAL_AFIO_REMAP_PD01_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_PD01_REMAP)
 328 
 329 #if defined(AFIO_MAPR_TIM5CH4_IREMAP)
 330 /**
 331   * @brief Enable the remapping of TIM5CH4.
 332   * @note  ENABLE: LSI internal clock is connected to TIM5_CH4 input for calibration purpose.
 333   * @note  This function is available only in high density value line devices.
 334   * @retval None
 335   */
 336 #define __HAL_AFIO_REMAP_TIM5CH4_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_TIM5CH4_IREMAP)
 337 
 338 /**
 339   * @brief Disable the remapping of TIM5CH4.
 340   * @note  DISABLE: TIM5_CH4 is connected to PA3
 341   * @note  This function is available only in high density value line devices.
 342   * @retval None
 343   */
 344 #define __HAL_AFIO_REMAP_TIM5CH4_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_TIM5CH4_IREMAP)
 345 #endif
 346 
 347 #if defined(AFIO_MAPR_ETH_REMAP)
 348 /**
 349   * @brief Enable the remapping of Ethernet MAC connections with the PHY.
 350   * @note  ENABLE: Remap     (RX_DV-CRS_DV/PD8, RXD0/PD9, RXD1/PD10, RXD2/PD11, RXD3/PD12)
 351   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 352   * @retval None
 353   */
 354 #define __HAL_AFIO_REMAP_ETH_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_ETH_REMAP)
 355 
 356 /**
 357   * @brief Disable the remapping of Ethernet MAC connections with the PHY.
 358   * @note  DISABLE: No remap (RX_DV-CRS_DV/PA7, RXD0/PC4, RXD1/PC5,  RXD2/PB0,  RXD3/PB1)
 359   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 360   * @retval None
 361   */
 362 #define __HAL_AFIO_REMAP_ETH_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_ETH_REMAP)
 363 #endif
 364 
 365 #if defined(AFIO_MAPR_CAN2_REMAP)
 366 
 367 /**
 368   * @brief Enable the remapping of CAN2 alternate function CAN2_RX and CAN2_TX.
 369   * @note  ENABLE: Remap     (CAN2_RX/PB5,  CAN2_TX/PB6)
 370   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 371   * @retval None
 372   */
 373 #define __HAL_AFIO_REMAP_CAN2_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_CAN2_REMAP)
 374 
 375 /**
 376   * @brief Disable the remapping of CAN2 alternate function CAN2_RX and CAN2_TX.
 377   * @note  DISABLE: No remap (CAN2_RX/PB12, CAN2_TX/PB13)
 378   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 379   * @retval None
 380   */
 381 #define __HAL_AFIO_REMAP_CAN2_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_CAN2_REMAP)
 382 #endif
 383 
 384 #if defined(AFIO_MAPR_MII_RMII_SEL)
 385 /**
 386   * @brief Configures the Ethernet MAC internally for use with an external MII or RMII PHY.
 387   * @note  ETH_RMII: Configure Ethernet MAC for connection with an RMII PHY
 388   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 389   * @retval None
 390   */
 391 #define __HAL_AFIO_ETH_RMII() AFIO_REMAP_ENABLE(AFIO_MAPR_MII_RMII_SEL)
 392 
 393 /**
 394   * @brief Configures the Ethernet MAC internally for use with an external MII or RMII PHY.
 395   * @note  ETH_MII: Configure Ethernet MAC for connection with an MII PHY
 396   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 397   * @retval None
 398   */
 399 #define __HAL_AFIO_ETH_MII()  AFIO_REMAP_DISABLE(AFIO_MAPR_MII_RMII_SEL)
 400 #endif
 401 
 402 /**
 403   * @brief Enable the remapping of ADC1_ETRGINJ (ADC 1 External trigger injected conversion).
 404   * @note  ENABLE: ADC1 External Event injected conversion is connected to TIM8 Channel4.
 405   * @retval None
 406   */
 407 #define __HAL_AFIO_REMAP_ADC1_ETRGINJ_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_ADC1_ETRGINJ_REMAP)
 408 
 409 /**
 410   * @brief Disable the remapping of ADC1_ETRGINJ (ADC 1 External trigger injected conversion).
 411   * @note  DISABLE: ADC1 External trigger injected conversion is connected to EXTI15
 412   * @retval None
 413   */
 414 #define __HAL_AFIO_REMAP_ADC1_ETRGINJ_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_ADC1_ETRGINJ_REMAP)
 415 
 416 /**
 417   * @brief Enable the remapping of ADC1_ETRGREG (ADC 1 External trigger regular conversion).
 418   * @note  ENABLE: ADC1 External Event regular conversion is connected to TIM8 TRG0.
 419   * @retval None
 420   */
 421 #define __HAL_AFIO_REMAP_ADC1_ETRGREG_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_ADC1_ETRGREG_REMAP)
 422 
 423 /**
 424   * @brief Disable the remapping of ADC1_ETRGREG (ADC 1 External trigger regular conversion).
 425   * @note  DISABLE: ADC1 External trigger regular conversion is connected to EXTI11
 426   * @retval None
 427   */
 428 #define __HAL_AFIO_REMAP_ADC1_ETRGREG_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_ADC1_ETRGREG_REMAP)
 429 
 430 #if defined(AFIO_MAPR_ADC2_ETRGINJ_REMAP)
 431 
 432 /**
 433   * @brief Enable the remapping of ADC2_ETRGREG (ADC 2 External trigger injected conversion).
 434   * @note  ENABLE: ADC2 External Event injected conversion is connected to TIM8 Channel4.
 435   * @retval None
 436   */
 437 #define __HAL_AFIO_REMAP_ADC2_ETRGINJ_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_ADC2_ETRGINJ_REMAP)
 438 
 439 /**
 440   * @brief Disable the remapping of ADC2_ETRGREG (ADC 2 External trigger injected conversion).
 441   * @note  DISABLE: ADC2 External trigger injected conversion is connected to EXTI15
 442   * @retval None
 443   */
 444 #define __HAL_AFIO_REMAP_ADC2_ETRGINJ_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_ADC2_ETRGINJ_REMAP)
 445 #endif
 446 
 447 #if defined (AFIO_MAPR_ADC2_ETRGREG_REMAP)
 448 
 449 /**
 450   * @brief Enable the remapping of ADC2_ETRGREG (ADC 2 External trigger regular conversion).
 451   * @note  ENABLE: ADC2 External Event regular conversion is connected to TIM8 TRG0.
 452   * @retval None
 453   */
 454 #define __HAL_AFIO_REMAP_ADC2_ETRGREG_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_ADC2_ETRGREG_REMAP)
 455 
 456 /**
 457   * @brief Disable the remapping of ADC2_ETRGREG (ADC 2 External trigger regular conversion).
 458   * @note  DISABLE: ADC2 External trigger regular conversion is connected to EXTI11
 459   * @retval None
 460   */
 461 #define __HAL_AFIO_REMAP_ADC2_ETRGREG_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_ADC2_ETRGREG_REMAP)
 462 #endif
 463 
 464 /**
 465   * @brief Enable the Serial wire JTAG configuration
 466   * @note  ENABLE: Full SWJ (JTAG-DP + SW-DP): Reset State
 467   * @retval None
 468   */
 469 #define __HAL_AFIO_REMAP_SWJ_ENABLE()  AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_RESET)
 470 
 471 /**
 472   * @brief Enable the Serial wire JTAG configuration
 473   * @note  NONJTRST: Full SWJ (JTAG-DP + SW-DP) but without NJTRST
 474   * @retval None
 475   */
 476 #define __HAL_AFIO_REMAP_SWJ_NONJTRST()  AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_NOJNTRST)
 477 
 478 /**
 479   * @brief Enable the Serial wire JTAG configuration
 480   * @note  NOJTAG: JTAG-DP Disabled and SW-DP Enabled
 481   * @retval None
 482   */
 483 
 484 #define __HAL_AFIO_REMAP_SWJ_NOJTAG()  AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_JTAGDISABLE)
 485 
 486 /**
 487   * @brief Disable the Serial wire JTAG configuration
 488   * @note  DISABLE: JTAG-DP Disabled and SW-DP Disabled
 489   * @retval None
 490   */
 491 #define __HAL_AFIO_REMAP_SWJ_DISABLE()  AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_DISABLE)
 492 
 493 #if defined(AFIO_MAPR_SPI3_REMAP)
 494 
 495 /**
 496   * @brief Enable the remapping of SPI3 alternate functions SPI3_NSS/I2S3_WS, SPI3_SCK/I2S3_CK, SPI3_MISO, SPI3_MOSI/I2S3_SD.
 497   * @note  ENABLE: Remap     (SPI3_NSS-I2S3_WS/PA4,  SPI3_SCK-I2S3_CK/PC10, SPI3_MISO/PC11, SPI3_MOSI-I2S3_SD/PC12)
 498   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 499   * @retval None
 500   */
 501 #define __HAL_AFIO_REMAP_SPI3_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_SPI3_REMAP)
 502 
 503 /**
 504   * @brief Disable the remapping of SPI3 alternate functions SPI3_NSS/I2S3_WS, SPI3_SCK/I2S3_CK, SPI3_MISO, SPI3_MOSI/I2S3_SD.
 505   * @note  DISABLE: No remap (SPI3_NSS-I2S3_WS/PA15, SPI3_SCK-I2S3_CK/PB3,  SPI3_MISO/PB4,  SPI3_MOSI-I2S3_SD/PB5).
 506   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 507   * @retval None
 508   */
 509 #define __HAL_AFIO_REMAP_SPI3_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_SPI3_REMAP)
 510 #endif
 511 
 512 #if defined(AFIO_MAPR_TIM2ITR1_IREMAP)
 513 
 514 /**
 515   * @brief Control of TIM2_ITR1 internal mapping.
 516   * @note  TO_USB: Connect USB OTG SOF (Start of Frame) output to TIM2_ITR1 for calibration purposes.
 517   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 518   * @retval None
 519   */
 520 #define __HAL_AFIO_TIM2ITR1_TO_USB() AFIO_REMAP_ENABLE(AFIO_MAPR_TIM2ITR1_IREMAP)
 521 
 522 /**
 523   * @brief Control of TIM2_ITR1 internal mapping.
 524   * @note  TO_ETH: Connect TIM2_ITR1 internally to the Ethernet PTP output for calibration purposes.
 525   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 526   * @retval None
 527   */
 528 #define __HAL_AFIO_TIM2ITR1_TO_ETH() AFIO_REMAP_DISABLE(AFIO_MAPR_TIM2ITR1_IREMAP)
 529 #endif
 530 
 531 #if defined(AFIO_MAPR_PTP_PPS_REMAP)
 532 
 533 /**
 534   * @brief Enable the remapping of ADC2_ETRGREG (ADC 2 External trigger regular conversion).
 535   * @note  ENABLE: PTP_PPS is output on PB5 pin.
 536   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 537   * @retval None
 538   */
 539 #define __HAL_AFIO_ETH_PTP_PPS_ENABLE()  AFIO_REMAP_ENABLE(AFIO_MAPR_PTP_PPS_REMAP)
 540 
 541 /**
 542   * @brief Disable the remapping of ADC2_ETRGREG (ADC 2 External trigger regular conversion).
 543   * @note  DISABLE: PTP_PPS not output on PB5 pin.
 544   * @note  This bit is available only in connectivity line devices and is reserved otherwise.
 545   * @retval None
 546   */
 547 #define __HAL_AFIO_ETH_PTP_PPS_DISABLE() AFIO_REMAP_DISABLE(AFIO_MAPR_PTP_PPS_REMAP)
 548 #endif
 549 
 550 #if defined(AFIO_MAPR2_TIM9_REMAP)
 551 
 552 /**
 553   * @brief Enable the remapping of TIM9_CH1 and TIM9_CH2.
 554   * @note  ENABLE: Remap     (TIM9_CH1 on PE5 and TIM9_CH2 on PE6).
 555   * @retval None
 556   */
 557 #define __HAL_AFIO_REMAP_TIM9_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM9_REMAP)
 558 
 559 /**
 560   * @brief Disable the remapping of TIM9_CH1 and TIM9_CH2.
 561   * @note  DISABLE: No remap (TIM9_CH1 on PA2 and TIM9_CH2 on PA3).
 562   * @retval None
 563   */
 564 #define __HAL_AFIO_REMAP_TIM9_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM9_REMAP)
 565 #endif
 566 
 567 #if defined(AFIO_MAPR2_TIM10_REMAP)
 568 
 569 /**
 570   * @brief Enable the remapping of TIM10_CH1.
 571   * @note  ENABLE: Remap     (TIM10_CH1 on PF6).
 572   * @retval None
 573   */
 574 #define __HAL_AFIO_REMAP_TIM10_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM10_REMAP)
 575 
 576 /**
 577   * @brief Disable the remapping of TIM10_CH1.
 578   * @note  DISABLE: No remap (TIM10_CH1 on PB8).
 579   * @retval None
 580   */
 581 #define __HAL_AFIO_REMAP_TIM10_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM10_REMAP)
 582 #endif
 583 
 584 #if defined(AFIO_MAPR2_TIM11_REMAP)
 585 /**
 586   * @brief Enable the remapping of TIM11_CH1.
 587   * @note  ENABLE: Remap     (TIM11_CH1 on PF7).
 588   * @retval None
 589   */
 590 #define __HAL_AFIO_REMAP_TIM11_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM11_REMAP)
 591 
 592 /**
 593   * @brief Disable the remapping of TIM11_CH1.
 594   * @note  DISABLE: No remap (TIM11_CH1 on PB9).
 595   * @retval None
 596   */
 597 #define __HAL_AFIO_REMAP_TIM11_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM11_REMAP)
 598 #endif
 599 
 600 #if defined(AFIO_MAPR2_TIM13_REMAP)
 601 
 602 /**
 603   * @brief Enable the remapping of TIM13_CH1.
 604   * @note  ENABLE: Remap     STM32F100:(TIM13_CH1 on PF8). Others:(TIM13_CH1 on PB0).
 605   * @retval None
 606   */
 607 #define __HAL_AFIO_REMAP_TIM13_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM13_REMAP)
 608 
 609 /**
 610   * @brief Disable the remapping of TIM13_CH1.
 611   * @note  DISABLE: No remap STM32F100:(TIM13_CH1 on PA6). Others:(TIM13_CH1 on PC8).
 612   * @retval None
 613   */
 614 #define __HAL_AFIO_REMAP_TIM13_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM13_REMAP)
 615 #endif
 616 
 617 #if defined(AFIO_MAPR2_TIM14_REMAP)
 618 
 619 /**
 620   * @brief Enable the remapping of TIM14_CH1.
 621   * @note  ENABLE: Remap     STM32F100:(TIM14_CH1 on PB1). Others:(TIM14_CH1 on PF9).
 622   * @retval None
 623   */
 624 #define __HAL_AFIO_REMAP_TIM14_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM14_REMAP)
 625 
 626 /**
 627   * @brief Disable the remapping of TIM14_CH1.
 628   * @note  DISABLE: No remap STM32F100:(TIM14_CH1 on PC9). Others:(TIM14_CH1 on PA7).
 629   * @retval None
 630   */
 631 #define __HAL_AFIO_REMAP_TIM14_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM14_REMAP)
 632 #endif
 633 
 634 #if defined(AFIO_MAPR2_FSMC_NADV_REMAP)
 635 
 636 /**
 637   * @brief Controls the use of the optional FSMC_NADV signal.
 638   * @note  DISCONNECTED: The NADV signal is not connected. The I/O pin can be used by another peripheral.
 639   * @retval None
 640   */
 641 #define __HAL_AFIO_FSMCNADV_DISCONNECTED() SET_BIT(AFIO->MAPR2, AFIO_MAPR2_FSMC_NADV_REMAP)
 642 
 643 /**
 644   * @brief Controls the use of the optional FSMC_NADV signal.
 645   * @note  CONNECTED: The NADV signal is connected to the output (default).
 646   * @retval None
 647   */
 648 #define __HAL_AFIO_FSMCNADV_CONNECTED()    CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_FSMC_NADV_REMAP)
 649 #endif
 650 
 651 #if defined(AFIO_MAPR2_TIM15_REMAP)
 652 
 653 /**
 654   * @brief Enable the remapping of TIM15_CH1 and TIM15_CH2.
 655   * @note  ENABLE: Remap     (TIM15_CH1 on PB14 and TIM15_CH2 on PB15).
 656   * @retval None
 657   */
 658 #define __HAL_AFIO_REMAP_TIM15_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM15_REMAP)
 659 
 660 /**
 661   * @brief Disable the remapping of TIM15_CH1 and TIM15_CH2.
 662   * @note  DISABLE: No remap (TIM15_CH1 on PA2  and TIM15_CH2 on PA3).
 663   * @retval None
 664   */
 665 #define __HAL_AFIO_REMAP_TIM15_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM15_REMAP)
 666 #endif
 667 
 668 #if defined(AFIO_MAPR2_TIM16_REMAP)
 669 
 670 /**
 671   * @brief Enable the remapping of TIM16_CH1.
 672   * @note  ENABLE: Remap     (TIM16_CH1 on PA6).
 673   * @retval None
 674   */
 675 #define __HAL_AFIO_REMAP_TIM16_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM16_REMAP)
 676 
 677 /**
 678   * @brief Disable the remapping of TIM16_CH1.
 679   * @note  DISABLE: No remap (TIM16_CH1 on PB8).
 680   * @retval None
 681   */
 682 #define __HAL_AFIO_REMAP_TIM16_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM16_REMAP)
 683 #endif
 684 
 685 #if defined(AFIO_MAPR2_TIM17_REMAP)
 686 
 687 /**
 688   * @brief Enable the remapping of TIM17_CH1.
 689   * @note  ENABLE: Remap     (TIM17_CH1 on PA7).
 690   * @retval None
 691   */
 692 #define __HAL_AFIO_REMAP_TIM17_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM17_REMAP)
 693 
 694 /**
 695   * @brief Disable the remapping of TIM17_CH1.
 696   * @note  DISABLE: No remap (TIM17_CH1 on PB9).
 697   * @retval None
 698   */
 699 #define __HAL_AFIO_REMAP_TIM17_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM17_REMAP)
 700 #endif
 701 
 702 #if defined(AFIO_MAPR2_CEC_REMAP)
 703 
 704 /**
 705   * @brief Enable the remapping of CEC.
 706   * @note  ENABLE: Remap     (CEC on PB10).
 707   * @retval None
 708   */
 709 #define __HAL_AFIO_REMAP_CEC_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_CEC_REMAP)
 710 
 711 /**
 712   * @brief Disable the remapping of CEC.
 713   * @note  DISABLE: No remap (CEC on PB8).
 714   * @retval None
 715   */
 716 #define __HAL_AFIO_REMAP_CEC_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_CEC_REMAP)
 717 #endif
 718 
 719 #if defined(AFIO_MAPR2_TIM1_DMA_REMAP)
 720 
 721 /**
 722   * @brief Controls the mapping of the TIM1_CH1 TIM1_CH2 DMA requests onto the DMA1 channels.
 723   * @note  ENABLE: Remap (TIM1_CH1 DMA request/DMA1 Channel6, TIM1_CH2 DMA request/DMA1 Channel6)
 724   * @retval None
 725   */
 726 #define __HAL_AFIO_REMAP_TIM1DMA_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM1_DMA_REMAP)
 727 
 728 /**
 729   * @brief Controls the mapping of the TIM1_CH1 TIM1_CH2 DMA requests onto the DMA1 channels.
 730   * @note  DISABLE: No remap (TIM1_CH1 DMA request/DMA1 Channel2, TIM1_CH2 DMA request/DMA1 Channel3).
 731   * @retval None
 732   */
 733 #define __HAL_AFIO_REMAP_TIM1DMA_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM1_DMA_REMAP)
 734 #endif
 735 
 736 #if defined(AFIO_MAPR2_TIM67_DAC_DMA_REMAP)
 737 
 738 /**
 739   * @brief Controls the mapping of the TIM6_DAC1 and TIM7_DAC2 DMA requests onto the DMA1 channels.
 740   * @note  ENABLE: Remap (TIM6_DAC1 DMA request/DMA1 Channel3, TIM7_DAC2 DMA request/DMA1 Channel4)
 741   * @retval None
 742   */
 743 #define __HAL_AFIO_REMAP_TIM67DACDMA_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM67_DAC_DMA_REMAP)
 744 
 745 /**
 746   * @brief Controls the mapping of the TIM6_DAC1 and TIM7_DAC2 DMA requests onto the DMA1 channels.
 747   * @note  DISABLE: No remap (TIM6_DAC1 DMA request/DMA2 Channel3, TIM7_DAC2 DMA request/DMA2 Channel4)
 748   * @retval None
 749   */
 750 #define __HAL_AFIO_REMAP_TIM67DACDMA_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM67_DAC_DMA_REMAP)
 751 #endif
 752 
 753 #if defined(AFIO_MAPR2_TIM12_REMAP)
 754 
 755 /**
 756   * @brief Enable the remapping of TIM12_CH1 and TIM12_CH2.
 757   * @note  ENABLE: Remap     (TIM12_CH1 on PB12 and TIM12_CH2 on PB13).
 758   * @note  This bit is available only in high density value line devices.
 759   * @retval None
 760   */
 761 #define __HAL_AFIO_REMAP_TIM12_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM12_REMAP)
 762 
 763 /**
 764   * @brief Disable the remapping of TIM12_CH1 and TIM12_CH2.
 765   * @note  DISABLE: No remap (TIM12_CH1 on PC4  and TIM12_CH2 on PC5).
 766   * @note  This bit is available only in high density value line devices.
 767   * @retval None
 768   */
 769 #define __HAL_AFIO_REMAP_TIM12_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_TIM12_REMAP)
 770 #endif
 771 
 772 #if defined(AFIO_MAPR2_MISC_REMAP)
 773 
 774 /**
 775   * @brief Miscellaneous features remapping.
 776   *        This bit is set and cleared by software. It controls miscellaneous features.
 777   *        The DMA2 channel 5 interrupt position in the vector table.
 778   *        The timer selection for DAC trigger 3 (TSEL[2:0] = 011, for more details refer to the DAC_CR register).
 779   * @note  ENABLE: DMA2 channel 5 interrupt is mapped separately at position 60 and TIM15 TRGO event is
 780   *        selected as DAC Trigger 3, TIM15 triggers TIM1/3.
 781   * @note  This bit is available only in high density value line devices.
 782   * @retval None
 783   */
 784 #define __HAL_AFIO_REMAP_MISC_ENABLE()  SET_BIT(AFIO->MAPR2, AFIO_MAPR2_MISC_REMAP)
 785 
 786 /**
 787   * @brief Miscellaneous features remapping.
 788   *        This bit is set and cleared by software. It controls miscellaneous features.
 789   *        The DMA2 channel 5 interrupt position in the vector table.
 790   *        The timer selection for DAC trigger 3 (TSEL[2:0] = 011, for more details refer to the DAC_CR register).
 791   * @note  DISABLE: DMA2 channel 5 interrupt is mapped with DMA2 channel 4 at position 59, TIM5 TRGO
 792   *        event is selected as DAC Trigger 3, TIM5 triggers TIM1/3.
 793   * @note  This bit is available only in high density value line devices.
 794   * @retval None
 795   */
 796 #define __HAL_AFIO_REMAP_MISC_DISABLE() CLEAR_BIT(AFIO->MAPR2, AFIO_MAPR2_MISC_REMAP)
 797 #endif
 798 
 799 /**
 800   * @}
 801   */
 802 
 803 /**
 804   * @}
 805   */
 806 
 807 /** @defgroup GPIOEx_Private_Macros GPIOEx Private Macros
 808   * @{
 809   */
 810 #if defined(STM32F101x6) || defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)
 811 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0uL :\
 812                                    ((__GPIOx__) == (GPIOB))? 1uL :\
 813                                    ((__GPIOx__) == (GPIOC))? 2uL :3uL)
 814 #elif defined(STM32F100xB) || defined(STM32F101xB) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC)
 815 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0uL :\
 816                                    ((__GPIOx__) == (GPIOB))? 1uL :\
 817                                    ((__GPIOx__) == (GPIOC))? 2uL :\
 818                                    ((__GPIOx__) == (GPIOD))? 3uL :4uL)
 819 #elif defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG)
 820 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0uL :\
 821                                    ((__GPIOx__) == (GPIOB))? 1uL :\
 822                                    ((__GPIOx__) == (GPIOC))? 2uL :\
 823                                    ((__GPIOx__) == (GPIOD))? 3uL :\
 824                                    ((__GPIOx__) == (GPIOE))? 4uL :\
 825                                    ((__GPIOx__) == (GPIOF))? 5uL :6uL)
 826 #endif
 827 
 828 #define AFIO_REMAP_ENABLE(REMAP_PIN)       do{ uint32_t tmpreg = AFIO->MAPR; \
 829                                                tmpreg |= AFIO_MAPR_SWJ_CFG;  \
 830                                                tmpreg |= REMAP_PIN;          \
 831                                                AFIO->MAPR = tmpreg;          \
 832                                                }while(0u)
 833 
 834 #define AFIO_REMAP_DISABLE(REMAP_PIN)      do{ uint32_t tmpreg = AFIO->MAPR;  \
 835                                                tmpreg |= AFIO_MAPR_SWJ_CFG;   \
 836                                                tmpreg &= ~REMAP_PIN;          \
 837                                                AFIO->MAPR = tmpreg;           \
 838                                                }while(0u)
 839 
 840 #define AFIO_REMAP_PARTIAL(REMAP_PIN, REMAP_PIN_MASK) do{ uint32_t tmpreg = AFIO->MAPR; \
 841                                                           tmpreg &= ~REMAP_PIN_MASK;    \
 842                                                           tmpreg |= AFIO_MAPR_SWJ_CFG;  \
 843                                                           tmpreg |= REMAP_PIN;          \
 844                                                           AFIO->MAPR = tmpreg;          \
 845                                                           }while(0u)
 846 
 847 #define AFIO_DBGAFR_CONFIG(DBGAFR_SWJCFG)  do{ uint32_t tmpreg = AFIO->MAPR;     \
 848                                                tmpreg &= ~AFIO_MAPR_SWJ_CFG_Msk; \
 849                                                tmpreg |= DBGAFR_SWJCFG;          \
 850                                                AFIO->MAPR = tmpreg;              \
 851                                                }while(0u)
 852 
 853 /**
 854   * @}
 855   */
 856 
 857 /* Exported macro ------------------------------------------------------------*/
 858 /* Exported functions --------------------------------------------------------*/
 859 
 860 /** @addtogroup GPIOEx_Exported_Functions
 861   * @{
 862   */
 863 
 864 /** @addtogroup GPIOEx_Exported_Functions_Group1
 865   * @{
 866   */
 867 void HAL_GPIOEx_ConfigEventout(uint32_t GPIO_PortSource, uint32_t GPIO_PinSource);
 868 void HAL_GPIOEx_EnableEventout(void);
 869 void HAL_GPIOEx_DisableEventout(void);
 870 
 871 /**
 872   * @}
 873   */
 874 
 875 /**
 876   * @}
 877   */
 878 
 879 /**
 880   * @}
 881   */
 882 
 883 /**
 884   * @}
 885   */
 886 
 887 #ifdef __cplusplus
 888 }
 889 #endif
 890 
 891 #endif /* STM32F1xx_HAL_GPIO_EX_H */
 892