You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ra...@apache.org on 2023/04/19 07:58:33 UTC

[nuttx] 12/17: stm32l4:stm32l4x{3|4|5|6|r}xx_pinmap pinmap Remove GPIO_SPEED_xxx and add legacy pinmap

This is an automated email from the ASF dual-hosted git repository.

raiden00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 77cf6ce273d34bdb9ed56be379baffc98ab40081
Author: David Sidrane <Da...@NscDg.com>
AuthorDate: Tue Apr 11 10:14:11 2023 -0700

    stm32l4:stm32l4x{3|4|5|6|r}xx_pinmap pinmap Remove GPIO_SPEED_xxx and add legacy pinmap
    
       Pinmaps should not have contained GPIO_SPEED_xxx settings.
       This is board dependent.
    
       This change adds CONFIG_STM32L4_USE_LEGACY_PINMAP to allow for
       lazy migration to using pinmaps without speeds.
    
       The work required to do this can be aided by running tools/stm32_pinmap_tool.py.
       The tools will take a board.h file and a legacy pinmap and outut the required
       changes that one needs to make to a board.h file.
    
       Eventually, CONFIG_STM32L4_USE_LEGACY_PINMAP will be deprecated and the legacy
       pinmaps removed from NuttX.
    
       Any new boards added should set CONFIG_STM32L4_USE_LEGACY_PINMAP=n and
       fully define the pins in board.h
---
 arch/arm/src/stm32l4/Kconfig                       |  20 +
 arch/arm/src/stm32l4/hardware/stm32l4_pinmap.h     |  33 +-
 arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h | 360 ++++-----
 ...l4x3xx_pinmap.h => stm32l4x3xx_pinmap_legacy.h} |  10 +-
 arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h | 720 +++++++++---------
 ...l4x5xx_pinmap.h => stm32l4x5xx_pinmap_legacy.h} |  10 +-
 arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h | 814 ++++++++++-----------
 ...l4x6xx_pinmap.h => stm32l4x6xx_pinmap_legacy.h} |  10 +-
 arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h | 642 ++++++++--------
 ...l4xrxx_pinmap.h => stm32l4xrxx_pinmap_legacy.h} |  10 +-
 arch/arm/src/stm32l4/stm32l4_gpio.c                |   4 +
 11 files changed, 1335 insertions(+), 1298 deletions(-)

diff --git a/arch/arm/src/stm32l4/Kconfig b/arch/arm/src/stm32l4/Kconfig
index 5a0f8e2316..96a75ae781 100644
--- a/arch/arm/src/stm32l4/Kconfig
+++ b/arch/arm/src/stm32l4/Kconfig
@@ -1019,6 +1019,26 @@ config STM32L4_SRAM3_HEAP
 		NOTE: you must also select an appropriate number of memory regions in the
 		'Memory Management' section.
 
+config STM32L4_USE_LEGACY_PINMAP
+	bool "Use the legacy pinmap with GPIO_SPEED_xxx included."
+	default y
+	---help---
+		In the past, pinmap files included GPIO_SPEED_xxxMhz. These speed
+		settings should have come from the board.h as it describes the wiring
+		of the SoC to the board. The speed is really slew rate control and
+		therefore is related to the layout and can only be properly set
+		in board.h.
+
+		STM32L4_USE_LEGACY_PINMAP is provided, to allow lazy migration to
+		using pinmaps without speeds. The work required to do this can be aided
+		by running tools/stm32_pinmap_tool.py. The tools will take a board.h
+		file and a legacy pinmap and output the required changes that one needs
+		to make to a board.h file.
+
+		Eventually, STM32L4_USE_LEGACY_PINMAP will be deprecated and the legacy
+		pinmaps removed from NuttX. Any new boards added should set
+		STM32L4_USE_LEGACY_PINMAP=n and fully define the pins in board.h
+
 comment "STM32L4 Peripherals"
 
 menu "STM32L4 Peripheral Support"
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4_pinmap.h
index 0fc4d28693..63a61c1f05 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4_pinmap.h
@@ -27,17 +27,30 @@
 
 #include <nuttx/config.h>
 #include "chip.h"
-
-#if defined(CONFIG_STM32L4_STM32L4X3)
-#  include "hardware/stm32l4x3xx_pinmap.h"
-#elif defined(CONFIG_STM32L4_STM32L4X5)
-#  include "hardware/stm32l4x5xx_pinmap.h"
-#elif defined(CONFIG_STM32L4_STM32L4X6)
-#  include "hardware/stm32l4x6xx_pinmap.h"
-#elif defined(CONFIG_STM32L4_STM32L4XR)
-#  include "hardware/stm32l4xrxx_pinmap.h"
+#if defined(CONFIG_STM32L4_USE_LEGACY_PINMAP)
+#  if defined(CONFIG_STM32L4_STM32L4X3)
+#    include "hardware/stm32l4x3xx_pinmap_legacy.h"
+#  elif defined(CONFIG_STM32L4_STM32L4X5)
+#    include "hardware/stm32l4x5xx_pinmap_legacy.h"
+#  elif defined(CONFIG_STM32L4_STM32L4X6)
+#    include "hardware/stm32l4x6xx_pinmap_legacy.h"
+#  elif defined(CONFIG_STM32L4_STM32L4XR)
+#    include "hardware/stm32l4xrxx_pinmap_legacy.h"
+#  else
+#    error "Unsupported STM32 L4 pin map"
+#  endif
 #else
-#  error "Unsupported STM32 L4 pin map"
+#  if defined(CONFIG_STM32L4_STM32L4X3)
+#    include "hardware/stm32l4x3xx_pinmap.h"
+#  elif defined(CONFIG_STM32L4_STM32L4X5)
+#    include "hardware/stm32l4x5xx_pinmap.h"
+#  elif defined(CONFIG_STM32L4_STM32L4X6)
+#    include "hardware/stm32l4x6xx_pinmap.h"
+#  elif defined(CONFIG_STM32L4_STM32L4XR)
+#    include "hardware/stm32l4xrxx_pinmap.h"
+#  else
+#    error "Unsupported STM32 L4 pin map"
+#  endif
 #endif
 
 #endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4_PINMAP_H */
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h
index 853017ba76..dda29d2ac8 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.  For
- * example, if CAN1_RX connects vis PA11 on some board, then the following
+ * example, if CAN1_RX connects via PA11 on some board, then the following
  * definitions should appear in the board.h header file for that board:
  *
  * #define GPIO_CAN1_RX GPIO_CAN1_RX_1
@@ -54,22 +54,22 @@
 
 /* ADC */
 
-#define GPIO_ADC1_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC1_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC1_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC1_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC1_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC1_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC1_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC1_IN8         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC1_IN9         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC1_IN10        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC1_IN11        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC1_IN12        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC1_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC1_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_ADC1_IN15        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC1_IN16        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_ADC1_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC1_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC1_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC1_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC1_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC1_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC1_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC1_IN8_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC1_IN9_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC1_IN10_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC1_IN11_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC1_IN12_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC1_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC1_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_ADC1_IN15_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC1_IN16_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
 
 /* CAN */
 
@@ -86,7 +86,7 @@
 
 /* Clocks outputs */
 
-#define GPIO_MCO               (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
+#define GPIO_MCO_0             (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
 
 /* Comparators */
 
@@ -187,11 +187,11 @@
 
 /* JTAG */
 
-#define GPIO_JTCK_SWCLK        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
-#define GPIO_JTDI              (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_JTDO              (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_JTMS_SWDAT        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
-#define GPIO_JTRST             (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_JTCK_SWCLK_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
+#define GPIO_JTDI_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_JTDO_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_JTMS_SWDAT_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
+#define GPIO_JTRST_0           (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
 
 /* QUADSPI */
 
@@ -218,8 +218,8 @@
 
 /* RTC */
 
-#define GPIO_RTC_OUT           (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
-#define GPIO_RTC_REFIN         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_RTC_OUT_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
+#define GPIO_RTC_REFIN_0       (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
 
 /* SAI */
 
@@ -259,16 +259,16 @@
 
 /* SDIO */
 
-#define GPIO_SDMMC1_CK         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_SDMMC1_CMD        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
-#define GPIO_SDMMC1_D0         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_SDMMC1_D1         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_SDMMC1_D2         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_SDMMC1_D3         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_SDMMC1_D4         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_SDMMC1_D5         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_SDMMC1_D6         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_SDMMC1_D7         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_SDMMC1_CK_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_SDMMC1_CMD_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_SDMMC1_D0_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_SDMMC1_D1_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_SDMMC1_D2_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_SDMMC1_D3_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_SDMMC1_D4_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_SDMMC1_D5_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_SDMMC1_D6_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_SDMMC1_D7_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
 
 /* Single Wire Protocol Interface */
 
@@ -324,118 +324,118 @@
 
 /* Timers */
 
-#define GPIO_TIM1_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH1N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM1_CH1N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM1_CH1N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_TIM1_CH2N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM1_CH2N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM1_CH2N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TIM1_CH3N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM1_CH3N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM1_CH3N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_1       (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_3       (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP1   (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP2_1 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_COMP2_2 (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN2_1      (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_2      (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_BKIN2_COMP1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_COMP2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_ETR_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
-#define GPIO_TIM1_ETR_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
-
-#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM1_CH1IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH1OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH2OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH3IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH3OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH4IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH4OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH1N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM1_CH1N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM1_CH1N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_TIM1_CH2N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM1_CH2N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM1_CH2N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TIM1_CH3N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM1_CH3N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM1_CH3N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_3        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP2_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_COMP2_2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN2_1       (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_2       (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_ETR_1         (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
+#define GPIO_TIM1_ETR_2         (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
+
+#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
 #define GPIO_TIM2_ETR_1        (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN0)
 #define GPIO_TIM2_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN5)
 #define GPIO_TIM2_ETR_3        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
 #define GPIO_TIM3_ETR_1        (GPIO_ALT|GPIO_AF2 |GPIO_PORTD|GPIO_PIN2)
 #define GPIO_TIM3_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN2)
 
-#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
 #define GPIO_TIM15_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN12)
 
-#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM16_BKIN        (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM16_BKIN_0      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
 
 #define GPIO_LPTIM1_IN1_1      (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN5)
 #define GPIO_LPTIM1_IN1_2      (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN0)
@@ -462,40 +462,40 @@
 #define GPIO_TSC_SYNC_1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN10)
 #define GPIO_TSC_SYNC_2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
 
-#define GPIO_TSC_G1_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TSC_G1_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TSC_G1_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TSC_G1_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
-
-#define GPIO_TSC_G2_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TSC_G2_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TSC_G2_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TSC_G2_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
-
-#define GPIO_TSC_G3_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TSC_G3_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
-#define GPIO_TSC_G3_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_TSC_G3_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
-
-#define GPIO_TSC_G4_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TSC_G4_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TSC_G4_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TSC_G4_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
-
-#define GPIO_TSC_G5_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TSC_G5_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TSC_G5_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TSC_G5_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
-
-#define GPIO_TSC_G6_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
-#define GPIO_TSC_G6_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
-#define GPIO_TSC_G6_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TSC_G6_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
-
-#define GPIO_TSC_G7_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TSC_G7_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TSC_G7_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TSC_G7_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TSC_G1_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TSC_G1_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TSC_G1_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TSC_G1_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
+
+#define GPIO_TSC_G2_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TSC_G2_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TSC_G2_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TSC_G2_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
+
+#define GPIO_TSC_G3_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TSC_G3_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
+#define GPIO_TSC_G3_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
+#define GPIO_TSC_G3_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
+
+#define GPIO_TSC_G4_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TSC_G4_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TSC_G4_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TSC_G4_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
+
+#define GPIO_TSC_G5_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TSC_G5_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TSC_G5_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TSC_G5_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
+
+#define GPIO_TSC_G6_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
+#define GPIO_TSC_G6_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
+#define GPIO_TSC_G6_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TSC_G6_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
+
+#define GPIO_TSC_G7_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TSC_G7_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TSC_G7_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TSC_G7_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
 
 /* IR interface (with timers 16 and 17) */
 
@@ -504,7 +504,7 @@
 
 /* Trace */
 
-#define GPIO_TRACECK           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TRACECK_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
 #define GPIO_TRACED0_1         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
 #define GPIO_TRACED1_1         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
 #define GPIO_TRACED2_1         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
@@ -564,13 +564,13 @@
 #define GPIO_UART4_TX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN10)
 #define GPIO_UART4_RX_1        (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN1)
 #define GPIO_UART4_RX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_UART4_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_UART4_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_UART4_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_UART4_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_UART5_TX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
-#define GPIO_UART5_RX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
-#define GPIO_UART5_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_UART5_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_UART5_TX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_UART5_RX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_UART5_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_UART5_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
 
 #define GPIO_LPUART1_TX_1      (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN2)
 #define GPIO_LPUART1_TX_2      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN11)
@@ -585,7 +585,7 @@
 
 /* USB */
 
-#define GPIO_USB_DM  (GPIO_ALT|GPIO_AF10|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_USB_DP  (GPIO_ALT|GPIO_AF10|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_USB_DM_0(GPIO_ALT|GPIO_AF10|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_USB_DP_0(GPIO_ALT|GPIO_AF10|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
 
 #endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_H */
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap_legacy.h
similarity index 99%
copy from arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h
copy to arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap_legacy.h
index 853017ba76..b67330c67b 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap_legacy.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap.h
+ * arch/arm/src/stm32l4/hardware/stm32l4x3xx_pinmap_legacy.h
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,8 +18,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_H
-#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_LEGACY_H
+#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_LEGACY_H
 
 /****************************************************************************
  * Included Files
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.  For
- * example, if CAN1_RX connects vis PA11 on some board, then the following
+ * example, if CAN1_RX connects via PA11 on some board, then the following
  * definitions should appear in the board.h header file for that board:
  *
  * #define GPIO_CAN1_RX GPIO_CAN1_RX_1
@@ -588,4 +588,4 @@
 #define GPIO_USB_DM  (GPIO_ALT|GPIO_AF10|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN11)
 #define GPIO_USB_DP  (GPIO_ALT|GPIO_AF10|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN12)
 
-#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X3XX_PINMAP_LEGACY_H */
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h
index 1a09a0afbc..023877439c 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.  For
- * example, if CAN1_RX connects vis PA11 on some board, then the following
+ * example, if CAN1_RX connects via PA11 on some board, then the following
  * definitions should appear in the board.h header file for that board:
  *
  * #define GPIO_CAN1_RX GPIO_CAN1_RX_1
@@ -54,52 +54,52 @@
 
 /* ADC */
 
-#define GPIO_ADC1_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC1_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC1_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC1_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC1_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC1_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC1_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC1_IN8         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC1_IN9         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC1_IN10        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC1_IN11        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC1_IN12        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC1_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC1_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_ADC1_IN15        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC1_IN16        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
-
-#define GPIO_ADC2_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC2_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC2_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC2_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC2_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC2_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC2_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC2_IN8         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC2_IN9         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC2_IN10        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC2_IN11        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC2_IN12        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC2_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC2_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_ADC2_IN15        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC2_IN16        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
-
-#define GPIO_ADC3_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC3_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC3_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC3_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC3_IN6         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_ADC3_IN7         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_ADC3_IN8         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_ADC3_IN9         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_ADC3_IN10        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_ADC3_IN11        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_ADC3_IN12        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_ADC3_IN13        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_ADC1_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC1_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC1_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC1_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC1_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC1_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC1_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC1_IN8_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC1_IN9_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC1_IN10_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC1_IN11_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC1_IN12_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC1_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC1_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_ADC1_IN15_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC1_IN16_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+
+#define GPIO_ADC2_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC2_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC2_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC2_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC2_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC2_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC2_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC2_IN8_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC2_IN9_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC2_IN10_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC2_IN11_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC2_IN12_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC2_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC2_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_ADC2_IN15_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC2_IN16_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+
+#define GPIO_ADC3_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC3_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC3_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC3_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC3_IN6_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_ADC3_IN7_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_ADC3_IN8_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_ADC3_IN9_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_ADC3_IN10_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_ADC3_IN11_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_ADC3_IN12_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_ADC3_IN13_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN10)
 
 /* CAN */
 
@@ -112,7 +112,7 @@
 
 /* Clocks outputs */
 
-#define GPIO_MCO               (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
+#define GPIO_MCO_0             (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
 
 /* Comparators */
 
@@ -132,8 +132,8 @@
 
 /* DAC */
 
-#define GPIO_DAC1_OUT          (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_DAC2_OUT          (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_DAC1_OUT_0        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_DAC2_OUT_0        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
 
 /* Digital Filter for Sigma-Delta Modulators (DFSDM) */
 
@@ -176,63 +176,63 @@
 
 /* Flexible Static Memory Controller (FSMC) */
 
-#define GPIO_FMC_NL            (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_FMC_NBL0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_FMC_NBL1          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_FMC_CLK           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
-#define GPIO_FMC_NOE           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
-#define GPIO_FMC_NWE           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
-#define GPIO_FMC_NWAIT         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
-#define GPIO_FMC_NE1           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
-#define GPIO_FMC_NE2           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
-#define GPIO_FMC_NE3           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_FMC_NE4           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
-#define GPIO_FMC_INT3          (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
-#define GPIO_FMC_NCE3          (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
-
-#define GPIO_FMC_A0            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
-#define GPIO_FMC_A1            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
-#define GPIO_FMC_A2            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
-#define GPIO_FMC_A3            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_FMC_A4            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_FMC_A5            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_FMC_A6            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
-#define GPIO_FMC_A7            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
-#define GPIO_FMC_A8            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
-#define GPIO_FMC_A9            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
-#define GPIO_FMC_A10           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
-#define GPIO_FMC_A11           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
-#define GPIO_FMC_A12           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
-#define GPIO_FMC_A13           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
-#define GPIO_FMC_A14           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
-#define GPIO_FMC_A15           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
-#define GPIO_FMC_A16           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
-#define GPIO_FMC_A17           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_FMC_A18           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_FMC_A19           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_FMC_A20           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_FMC_A21           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_FMC_A22           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_FMC_A23           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_FMC_A24           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
-#define GPIO_FMC_A25           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
-
-#define GPIO_FMC_D0            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_FMC_D1            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_FMC_D2            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
-#define GPIO_FMC_D3            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
-#define GPIO_FMC_D4            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
-#define GPIO_FMC_D5            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_FMC_D6            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_FMC_D7            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_FMC_D8            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_FMC_D9            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_FMC_D10           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_FMC_D11           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_FMC_D12           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
-#define GPIO_FMC_D13           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
-#define GPIO_FMC_D14           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
-#define GPIO_FMC_D15           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
+#define GPIO_FMC_NL_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_FMC_NBL0_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_FMC_NBL1_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_FMC_CLK_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
+#define GPIO_FMC_NOE_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
+#define GPIO_FMC_NWE_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
+#define GPIO_FMC_NWAIT_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
+#define GPIO_FMC_NE1_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
+#define GPIO_FMC_NE2_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_FMC_NE3_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_FMC_NE4_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
+#define GPIO_FMC_INT3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
+#define GPIO_FMC_NCE3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+
+#define GPIO_FMC_A0_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
+#define GPIO_FMC_A1_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
+#define GPIO_FMC_A2_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
+#define GPIO_FMC_A3_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_FMC_A4_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_FMC_A5_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_FMC_A6_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
+#define GPIO_FMC_A7_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
+#define GPIO_FMC_A8_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
+#define GPIO_FMC_A9_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
+#define GPIO_FMC_A10_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
+#define GPIO_FMC_A11_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
+#define GPIO_FMC_A12_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
+#define GPIO_FMC_A13_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
+#define GPIO_FMC_A14_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#define GPIO_FMC_A15_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
+#define GPIO_FMC_A16_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
+#define GPIO_FMC_A17_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_FMC_A18_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_FMC_A19_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_FMC_A20_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_FMC_A21_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_FMC_A22_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_FMC_A23_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
+#define GPIO_FMC_A24_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
+#define GPIO_FMC_A25_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
+
+#define GPIO_FMC_D0_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_FMC_D1_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_FMC_D2_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
+#define GPIO_FMC_D3_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
+#define GPIO_FMC_D4_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
+#define GPIO_FMC_D5_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_FMC_D6_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_FMC_D7_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_FMC_D8_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_FMC_D9_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_FMC_D10_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_FMC_D11_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_FMC_D12_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
+#define GPIO_FMC_D13_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
+#define GPIO_FMC_D14_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
+#define GPIO_FMC_D15_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
 
 /* I2C */
 
@@ -267,18 +267,18 @@
 
 /* JTAG */
 
-#define GPIO_JTCK_SWCLK        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
-#define GPIO_JTDI              (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_JTDO              (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_JTMS_SWDIO        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
-#define GPIO_JTRST             (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_JTCK_SWCLK_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
+#define GPIO_JTDI_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_JTDO_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_JTMS_SWDIO_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
+#define GPIO_JTRST_0           (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
 
 /* OTG FS */
 
-#define GPIO_OTGFS_SOF         (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_OTGFS_ID          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_OTGFS_DM          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_OTGFS_DP          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_OTGFS_SOF_0       (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_OTGFS_ID_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_OTGFS_DM_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_OTGFS_DP_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN12)
 #define GPIO_OTGFS_NOE_1       (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN13)
 #define GPIO_OTGFS_NOE_2       (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN9)
 
@@ -299,12 +299,12 @@
 
 /* RTC */
 
-#define GPIO_RTC_OUT           (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
-#define GPIO_RTC_REFIN         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_RTC_OUT_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
+#define GPIO_RTC_REFIN_0       (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
 
 /* SAI */
 
-#define GPIO_SAI1_EXTCLK       (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_SAI1_EXTCLK_0     (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN0)
 
 #define GPIO_SAI1_FS_A_1       (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN9)
 #define GPIO_SAI1_FS_A_2       (GPIO_ALT|GPIO_AF13|GPIO_PORTE|GPIO_PIN4)
@@ -360,23 +360,23 @@
 
 /* SDIO */
 
-#define GPIO_SDMMC1_CK         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_SDMMC1_CMD        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
-#define GPIO_SDMMC1_D0         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_SDMMC1_D1         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_SDMMC1_D2         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_SDMMC1_D3         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_SDMMC1_D4         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_SDMMC1_D5         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_SDMMC1_D6         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_SDMMC1_D7         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_SDMMC1_CK_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_SDMMC1_CMD_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_SDMMC1_D0_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_SDMMC1_D1_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_SDMMC1_D2_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_SDMMC1_D3_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_SDMMC1_D4_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_SDMMC1_D5_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_SDMMC1_D6_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_SDMMC1_D7_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
 
 /* Single Wire Protocol Interface */
 
-#define GPIO_SWPMI1_IO         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_SWPMI1_TX         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_SWPMI1_RX         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_SWPMI1_SUSPEND    (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_SWPMI1_IO_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_SWPMI1_TX_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_SWPMI1_RX_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_SWPMI1_SUSPEND_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN15)
 
 /* SPI */
 
@@ -425,195 +425,195 @@
 
 /* Timers */
 
-#define GPIO_TIM1_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH1N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM1_CH1N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM1_CH1N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_TIM1_CH2N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM1_CH2N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM1_CH2N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TIM1_CH3N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM1_CH3N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM1_CH3N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_1       (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_3       (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP1   (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP2_1 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_COMP2_2 (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN2_1      (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_2      (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_BKIN2_COMP1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_COMP2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_ETR_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
-#define GPIO_TIM1_ETR_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
-
-#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_TIM2_ETR_1        (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_ETR_3        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN15)
-
-#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM1_CH1IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH1OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH2OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH3IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH3OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH4IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH4OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH1N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM1_CH1N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM1_CH1N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_TIM1_CH2N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM1_CH2N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM1_CH2N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TIM1_CH3N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM1_CH3N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM1_CH3N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_3        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP2_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_COMP2_2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN2_1       (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_2       (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_ETR_1         (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
+#define GPIO_TIM1_ETR_2         (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
+
+#define GPIO_TIM2_CH1IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1IN_3       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH1OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1OUT_3      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH2IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH2OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH3IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH3OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH4IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM2_CH4OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM2_ETR_1         (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_ETR_2         (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_ETR_3         (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN15)
+
+#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
 #define GPIO_TIM3_ETR_1        (GPIO_ALT|GPIO_AF2 |GPIO_PORTD|GPIO_PIN2)
 #define GPIO_TIM3_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN2)
 
-#define GPIO_TIM4_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM4_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TIM4_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM4_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TIM4_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM4_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_TIM4_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM4_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_TIM4_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM4_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_TIM4_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM4_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_TIM4_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM4_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_TIM4_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM4_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_TIM4_ETR          (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN0)
-
-#define GPIO_TIM5_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM5_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM5_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM5_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM5_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM5_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM5_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM5_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM5_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM5_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM5_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM5_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM5_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM5_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM5_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM5_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM5_ETR          (GPIO_ALT|GPIO_AF1 |GPIO_PORTF|GPIO_PIN6)
-
-#define GPIO_TIM8_CH1IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH1OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH2IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH2OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH3IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH3OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH4IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH4OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH1N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM8_CH1N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM8_CH2N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM8_CH2N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM8_CH3N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM8_CH3N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM8_BKIN_1       (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM8_BKIN_2       (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM8_BKIN_COMP1   (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM8_BKIN_COMP2   (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM8_BKIN2_1      (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM8_BKIN2_2      (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_BKIN2_COMP1  (GPIO_ALT|GPIO_AF14|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_BKIN2_COMP2  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM8_ETR          (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN0)
-
-#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM15_CH1IN_4     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM15_CH1OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_TIM15_CH2IN_4     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN11)
-#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_TIM15_CH2OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
-#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM15_CH1N_3      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_TIM4_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM4_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TIM4_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM4_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TIM4_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM4_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TIM4_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM4_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TIM4_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM4_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_TIM4_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM4_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_TIM4_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM4_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_TIM4_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM4_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_TIM4_ETR_0        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN0)
+
+#define GPIO_TIM5_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM5_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM5_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM5_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM5_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM5_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM5_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM5_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM5_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM5_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM5_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM5_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM5_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM5_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM5_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM5_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM5_ETR_0        (GPIO_ALT|GPIO_AF1 |GPIO_PORTF|GPIO_PIN6)
+
+#define GPIO_TIM8_CH1IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH1OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH2IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH2OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH3IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH3OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH4IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH4OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH1N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM8_CH1N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM8_CH2N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM8_CH2N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM8_CH3N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM8_CH3N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM8_BKIN_1        (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM8_BKIN_2        (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM8_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM8_BKIN_COMP2_0  (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM8_BKIN2_1       (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM8_BKIN2_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF14|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM8_ETR_0         (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN0)
+
+#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM15_CH1IN_4     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM15_CH1OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_TIM15_CH2IN_4     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN11)
+#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_TIM15_CH2OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
+#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM15_CH1N_3      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN12)
 
-#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM16_BKIN        (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
-
-#define GPIO_TIM17_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM17_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM17_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_TIM17_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM17_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM17_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_TIM17_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM16_BKIN_0      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
+
+#define GPIO_TIM17_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM17_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM17_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_TIM17_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM17_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM17_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_TIM17_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
 #define GPIO_TIM17_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN10)
 #define GPIO_TIM17_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN4)
 
@@ -642,47 +642,47 @@
 
 /* Touch Sensing Controller */
 
-#define GPIO_TSC_SYNC          (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_TSC_SYNC_0        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
 
-#define GPIO_TSC_G1_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TSC_G1_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TSC_G1_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TSC_G1_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TSC_G1_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TSC_G1_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TSC_G1_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TSC_G1_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
 
-#define GPIO_TSC_G2_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TSC_G2_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TSC_G2_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TSC_G2_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TSC_G2_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TSC_G2_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TSC_G2_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TSC_G2_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
 
-#define GPIO_TSC_G3_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TSC_G3_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
-#define GPIO_TSC_G3_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_TSC_G3_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_TSC_G3_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TSC_G3_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
+#define GPIO_TSC_G3_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
+#define GPIO_TSC_G3_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
 
-#define GPIO_TSC_G4_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TSC_G4_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TSC_G4_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TSC_G4_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TSC_G4_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TSC_G4_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TSC_G4_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TSC_G4_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
 
-#define GPIO_TSC_G5_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TSC_G5_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TSC_G5_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TSC_G5_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TSC_G5_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TSC_G5_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TSC_G5_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TSC_G5_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
 
-#define GPIO_TSC_G6_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
-#define GPIO_TSC_G6_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
-#define GPIO_TSC_G6_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TSC_G6_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TSC_G6_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
+#define GPIO_TSC_G6_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
+#define GPIO_TSC_G6_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TSC_G6_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
 
-#define GPIO_TSC_G7_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TSC_G7_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TSC_G7_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TSC_G7_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TSC_G7_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TSC_G7_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TSC_G7_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TSC_G7_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
 
-#define GPIO_TSC_G8_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN14)
-#define GPIO_TSC_G8_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN15)
-#define GPIO_TSC_G8_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN0)
-#define GPIO_TSC_G8_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN1)
+#define GPIO_TSC_G8_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN14)
+#define GPIO_TSC_G8_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN15)
+#define GPIO_TSC_G8_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN0)
+#define GPIO_TSC_G8_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN1)
 
 /* IR interface (with timers 16 and 17) */
 
@@ -691,11 +691,11 @@
 
 /* Trace */
 
-#define GPIO_TRACECK           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TRACED0           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TRACED1           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TRACED2           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TRACED3           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TRACECK_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TRACED0_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TRACED1_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TRACED2_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TRACED3_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN6)
 
 /* UARTs/USARTs */
 
@@ -750,13 +750,13 @@
 #define GPIO_UART4_TX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN10)
 #define GPIO_UART4_RX_1        (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN1)
 #define GPIO_UART4_RX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_UART4_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_UART4_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_UART4_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_UART4_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_UART5_TX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
-#define GPIO_UART5_RX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
-#define GPIO_UART5_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_UART5_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_UART5_TX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_UART5_RX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_UART5_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_UART5_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
 
 #define GPIO_LPUART1_TX_1      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN11)
 #define GPIO_LPUART1_TX_2      (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN1)
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap_legacy.h
similarity index 99%
copy from arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h
copy to arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap_legacy.h
index 1a09a0afbc..21493fe52e 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap_legacy.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap.h
+ * arch/arm/src/stm32l4/hardware/stm32l4x5xx_pinmap_legacy.h
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,8 +18,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X5XX_PINMAP_H
-#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X5XX_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X5XX_PINMAP_LEGACY_H
+#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X5XX_PINMAP_LEGACY_H
 
 /****************************************************************************
  * Included Files
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.  For
- * example, if CAN1_RX connects vis PA11 on some board, then the following
+ * example, if CAN1_RX connects via PA11 on some board, then the following
  * definitions should appear in the board.h header file for that board:
  *
  * #define GPIO_CAN1_RX GPIO_CAN1_RX_1
@@ -769,4 +769,4 @@
 #define GPIO_LPUART1_RTS_DE_1  (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN12)
 #define GPIO_LPUART1_RTS_DE_2  (GPIO_ALT|GPIO_AF8 |GPIO_PORTG|GPIO_PIN6)
 
-#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X5XX_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X5XX_PINMAP_LEGACY_H */
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h
index d978edd829..f700460c88 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.
- * For example, if CAN1_RX connects vis PA11 on some board, then the
+ * For example, if CAN1_RX connects via PA11 on some board, then the
  * following definitions should appear in the board.h header file for that
  * board:
  *
@@ -55,52 +55,52 @@
 
 /* ADC */
 
-#define GPIO_ADC1_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC1_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC1_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC1_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC1_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC1_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC1_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC1_IN8         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC1_IN9         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC1_IN10        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC1_IN11        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC1_IN12        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC1_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC1_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_ADC1_IN15        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC1_IN16        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
-
-#define GPIO_ADC2_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC2_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC2_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC2_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC2_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC2_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC2_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC2_IN8         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC2_IN9         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC2_IN10        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC2_IN11        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC2_IN12        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC2_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC2_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_ADC2_IN15        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC2_IN16        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
-
-#define GPIO_ADC3_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC3_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC3_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC3_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC3_IN6         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_ADC3_IN7         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_ADC3_IN8         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_ADC3_IN9         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_ADC3_IN10        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_ADC3_IN11        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_ADC3_IN12        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_ADC3_IN13        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_ADC1_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC1_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC1_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC1_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC1_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC1_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC1_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC1_IN8_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC1_IN9_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC1_IN10_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC1_IN11_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC1_IN12_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC1_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC1_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_ADC1_IN15_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC1_IN16_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+
+#define GPIO_ADC2_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC2_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC2_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC2_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC2_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC2_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC2_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC2_IN8_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC2_IN9_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC2_IN10_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC2_IN11_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC2_IN12_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC2_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC2_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_ADC2_IN15_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC2_IN16_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+
+#define GPIO_ADC3_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC3_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC3_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC3_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC3_IN6_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_ADC3_IN7_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_ADC3_IN8_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_ADC3_IN9_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_ADC3_IN10_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_ADC3_IN11_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_ADC3_IN12_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_ADC3_IN13_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN10)
 
 /* CAN */
 
@@ -118,7 +118,7 @@
 
 /* Clocks outputs */
 
-#define GPIO_MCO               (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
+#define GPIO_MCO_0             (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
 
 /* Comparators */
 
@@ -138,8 +138,8 @@
 
 /* DAC */
 
-#define GPIO_DAC1_OUT          (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_DAC2_OUT          (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_DAC1_OUT_0        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_DAC2_OUT_0        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
 
 /* Digital Camera Interface (DCMI) */
 
@@ -220,63 +220,63 @@
 
 /* Flexible Static Memory Controller (FSMC) */
 
-#define GPIO_FMC_NL            (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_FMC_NBL0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_FMC_NBL1          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_FMC_CLK           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
-#define GPIO_FMC_NOE           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
-#define GPIO_FMC_NWE           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
-#define GPIO_FMC_NWAIT         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
-#define GPIO_FMC_NE1           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
-#define GPIO_FMC_NE2           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
-#define GPIO_FMC_NE3           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_FMC_NE4           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
-#define GPIO_FMC_INT3          (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
-#define GPIO_FMC_NCE3          (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
-
-#define GPIO_FMC_A0            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
-#define GPIO_FMC_A1            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
-#define GPIO_FMC_A2            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
-#define GPIO_FMC_A3            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_FMC_A4            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_FMC_A5            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_FMC_A6            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
-#define GPIO_FMC_A7            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
-#define GPIO_FMC_A8            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
-#define GPIO_FMC_A9            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
-#define GPIO_FMC_A10           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
-#define GPIO_FMC_A11           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
-#define GPIO_FMC_A12           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
-#define GPIO_FMC_A13           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
-#define GPIO_FMC_A14           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
-#define GPIO_FMC_A15           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
-#define GPIO_FMC_A16           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
-#define GPIO_FMC_A17           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_FMC_A18           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_FMC_A19           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_FMC_A20           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_FMC_A21           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_FMC_A22           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_FMC_A23           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_FMC_A24           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
-#define GPIO_FMC_A25           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
-
-#define GPIO_FMC_D0            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_FMC_D1            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_FMC_D2            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
-#define GPIO_FMC_D3            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
-#define GPIO_FMC_D4            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
-#define GPIO_FMC_D5            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_FMC_D6            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_FMC_D7            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_FMC_D8            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_FMC_D9            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_FMC_D10           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_FMC_D11           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_FMC_D12           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
-#define GPIO_FMC_D13           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
-#define GPIO_FMC_D14           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
-#define GPIO_FMC_D15           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
+#define GPIO_FMC_NL_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_FMC_NBL0_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_FMC_NBL1_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_FMC_CLK_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
+#define GPIO_FMC_NOE_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
+#define GPIO_FMC_NWE_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
+#define GPIO_FMC_NWAIT_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
+#define GPIO_FMC_NE1_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
+#define GPIO_FMC_NE2_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_FMC_NE3_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_FMC_NE4_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
+#define GPIO_FMC_INT3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
+#define GPIO_FMC_NCE3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+
+#define GPIO_FMC_A0_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
+#define GPIO_FMC_A1_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
+#define GPIO_FMC_A2_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
+#define GPIO_FMC_A3_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_FMC_A4_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_FMC_A5_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_FMC_A6_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
+#define GPIO_FMC_A7_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
+#define GPIO_FMC_A8_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
+#define GPIO_FMC_A9_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
+#define GPIO_FMC_A10_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
+#define GPIO_FMC_A11_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
+#define GPIO_FMC_A12_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
+#define GPIO_FMC_A13_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
+#define GPIO_FMC_A14_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#define GPIO_FMC_A15_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
+#define GPIO_FMC_A16_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
+#define GPIO_FMC_A17_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_FMC_A18_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_FMC_A19_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_FMC_A20_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_FMC_A21_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_FMC_A22_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_FMC_A23_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
+#define GPIO_FMC_A24_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
+#define GPIO_FMC_A25_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
+
+#define GPIO_FMC_D0_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_FMC_D1_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_FMC_D2_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
+#define GPIO_FMC_D3_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
+#define GPIO_FMC_D4_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
+#define GPIO_FMC_D5_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_FMC_D6_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_FMC_D7_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_FMC_D8_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_FMC_D9_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_FMC_D10_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_FMC_D11_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_FMC_D12_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
+#define GPIO_FMC_D13_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
+#define GPIO_FMC_D14_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
+#define GPIO_FMC_D15_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
 
 /* I2C */
 
@@ -325,44 +325,44 @@
 
 /* JTAG */
 
-#define GPIO_JTCK_SWCLK        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
-#define GPIO_JTDI              (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_JTDO              (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_JTMS_SWDIO        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
-#define GPIO_JTRST             (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_JTCK_SWCLK_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
+#define GPIO_JTDI_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_JTDO_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_JTMS_SWDIO_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
+#define GPIO_JTRST_0           (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
 
 /* LCD Segment Controller */
 
-#define GPIO_LCD_VLCD          (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN3)
-
-#define GPIO_LCD_SEG0          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_LCD_SEG1          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_LCD_SEG2          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_LCD_SEG3          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_LCD_SEG4          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_LCD_SEG5          (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_LCD_SEG6          (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_LCD_SEG7          (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_LCD_SEG8          (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_LCD_SEG9          (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_LCD_SEG10         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_LCD_SEG11         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_LCD_SEG12         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_LCD_SEG13         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_LCD_SEG14         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_LCD_SEG15         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_LCD_SEG16         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_LCD_SEG17         (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_LCD_SEG18         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_LCD_SEG19         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_LCD_SEG20         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_LCD_SEG21         (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_LCD_SEG22         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_LCD_SEG23         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_LCD_SEG24         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_LCD_SEG25         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_LCD_SEG26         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_LCD_SEG27         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_LCD_VLCD_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN3)
+
+#define GPIO_LCD_SEG0_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_LCD_SEG1_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_LCD_SEG2_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_LCD_SEG3_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_LCD_SEG4_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_LCD_SEG5_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_LCD_SEG6_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_LCD_SEG7_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_LCD_SEG8_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_LCD_SEG9_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_LCD_SEG10_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_LCD_SEG11_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_LCD_SEG12_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_LCD_SEG13_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_LCD_SEG14_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_LCD_SEG15_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_LCD_SEG16_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_LCD_SEG17_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_LCD_SEG18_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_LCD_SEG19_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_LCD_SEG20_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_LCD_SEG21_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_LCD_SEG22_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_LCD_SEG23_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_LCD_SEG24_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_LCD_SEG25_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_LCD_SEG26_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_LCD_SEG27_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN9)
 #define GPIO_LCD_SEG28_1       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN10)
 #define GPIO_LCD_SEG28_2       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN8)
 #define GPIO_LCD_SEG29_1       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN11)
@@ -371,34 +371,34 @@
 #define GPIO_LCD_SEG30_2       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN10)
 #define GPIO_LCD_SEG31_1       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN2)
 #define GPIO_LCD_SEG31_2       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN11)
-#define GPIO_LCD_SEG32         (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_LCD_SEG33         (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_LCD_SEG34         (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_LCD_SEG35         (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_LCD_SEG36         (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_LCD_SEG37         (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_LCD_SEG38         (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_LCD_SEG39         (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_LCD_SEG40         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_LCD_SEG41         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_LCD_SEG42         (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_LCD_SEG43         (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN2)
-
-#define GPIO_LCD_COM0          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_LCD_COM1          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_LCD_COM2          (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_LCD_COM3          (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_LCD_COM4          (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_LCD_COM5          (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_LCD_COM6          (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_LCD_COM7          (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_LCD_SEG32_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_LCD_SEG33_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_LCD_SEG34_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_LCD_SEG35_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_LCD_SEG36_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_LCD_SEG37_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_LCD_SEG38_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN2)
+#define GPIO_LCD_SEG39_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_LCD_SEG40_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_LCD_SEG41_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_LCD_SEG42_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_LCD_SEG43_0       (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN2)
+
+#define GPIO_LCD_COM0_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_LCD_COM1_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_LCD_COM2_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_LCD_COM3_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_LCD_COM4_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_LCD_COM5_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_LCD_COM6_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_LCD_COM7_0        (GPIO_ALT|GPIO_AF11|GPIO_PORTD|GPIO_PIN2)
 
 /* OTG FS */
 
-#define GPIO_OTGFS_SOF         (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_OTGFS_ID          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_OTGFS_DM          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_OTGFS_DP          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_OTGFS_SOF_0       (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_OTGFS_ID_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_OTGFS_DM_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_OTGFS_DP_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN12)
 #define GPIO_OTGFS_NOE_1       (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN13)
 #define GPIO_OTGFS_NOE_2       (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN9)
 
@@ -419,12 +419,12 @@
 
 /* RTC */
 
-#define GPIO_RTC_OUT           (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
-#define GPIO_RTC_REFIN         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_RTC_OUT_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
+#define GPIO_RTC_REFIN_0       (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
 
 /* SAI */
 
-#define GPIO_SAI1_EXTCLK       (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_SAI1_EXTCLK_0     (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN0)
 
 #define GPIO_SAI1_FS_A_1       (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN9)
 #define GPIO_SAI1_FS_A_2       (GPIO_ALT|GPIO_AF13|GPIO_PORTE|GPIO_PIN4)
@@ -480,23 +480,23 @@
 
 /* SDIO */
 
-#define GPIO_SDMMC1_CK         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_SDMMC1_CMD        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
-#define GPIO_SDMMC1_D0         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_SDMMC1_D1         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_SDMMC1_D2         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_SDMMC1_D3         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_SDMMC1_D4         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_SDMMC1_D5         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_SDMMC1_D6         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_SDMMC1_D7         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_SDMMC1_CK_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_SDMMC1_CMD_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_SDMMC1_D0_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_SDMMC1_D1_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_SDMMC1_D2_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_SDMMC1_D3_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_SDMMC1_D4_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_SDMMC1_D5_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_SDMMC1_D6_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_SDMMC1_D7_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
 
 /* Single Wire Protocol Interface */
 
-#define GPIO_SWPMI1_IO         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_SWPMI1_TX         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_SWPMI1_RX         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_SWPMI1_SUSPEND    (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_SWPMI1_IO_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_SWPMI1_TX_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_SWPMI1_RX_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_SWPMI1_SUSPEND_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN15)
 
 /* SPI */
 
@@ -545,195 +545,195 @@
 
 /* Timers */
 
-#define GPIO_TIM1_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH1N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM1_CH1N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM1_CH1N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_TIM1_CH2N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM1_CH2N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM1_CH2N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TIM1_CH3N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM1_CH3N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM1_CH3N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_1       (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_3       (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP1   (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP2_1 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_COMP2_2 (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN2_1      (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_2      (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_BKIN2_COMP1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_COMP2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_ETR_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
-#define GPIO_TIM1_ETR_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
-
-#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM1_CH1IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH1OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH2OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH3IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH3OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH4IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH4OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH1N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM1_CH1N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM1_CH1N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_TIM1_CH2N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM1_CH2N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM1_CH2N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TIM1_CH3N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM1_CH3N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM1_CH3N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_3        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP2_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_COMP2_2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN2_1       (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_2       (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_ETR_1         (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
+#define GPIO_TIM1_ETR_2         (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
+
+#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
 #define GPIO_TIM2_ETR_1        (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN0)
 #define GPIO_TIM2_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN5)
 #define GPIO_TIM2_ETR_3        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
 #define GPIO_TIM3_ETR_1        (GPIO_ALT|GPIO_AF2 |GPIO_PORTD|GPIO_PIN2)
 #define GPIO_TIM3_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN2)
 
-#define GPIO_TIM4_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM4_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TIM4_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM4_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TIM4_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM4_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_TIM4_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM4_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_TIM4_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM4_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_TIM4_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM4_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_TIM4_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM4_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_TIM4_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM4_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_TIM4_ETR          (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN0)
-
-#define GPIO_TIM5_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM5_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM5_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM5_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM5_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM5_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM5_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM5_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM5_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM5_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM5_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM5_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM5_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM5_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM5_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM5_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM5_ETR          (GPIO_ALT|GPIO_AF1 |GPIO_PORTF|GPIO_PIN6)
-
-#define GPIO_TIM8_CH1IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH1OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH2IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH2OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH3IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH3OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH4IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH4OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH1N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM8_CH1N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM8_CH2N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM8_CH2N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM8_CH3N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM8_CH3N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM8_BKIN_1       (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM8_BKIN_2       (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM8_BKIN_COMP1   (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM8_BKIN_COMP2   (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM8_BKIN2_1      (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM8_BKIN2_2      (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_BKIN2_COMP1  (GPIO_ALT|GPIO_AF14|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_BKIN2_COMP2  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM8_ETR          (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN0)
-
-#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM15_CH1IN_4     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM15_CH1OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_TIM15_CH2IN_4     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN11)
-#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_TIM15_CH2OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
-#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM15_CH1N_3      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_TIM4_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM4_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TIM4_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM4_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TIM4_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM4_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TIM4_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM4_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TIM4_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM4_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_TIM4_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM4_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_TIM4_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM4_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_TIM4_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM4_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_TIM4_ETR_0        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN0)
+
+#define GPIO_TIM5_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM5_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM5_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM5_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM5_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM5_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM5_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM5_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM5_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM5_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM5_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM5_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM5_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM5_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM5_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM5_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM5_ETR_0        (GPIO_ALT|GPIO_AF1 |GPIO_PORTF|GPIO_PIN6)
+
+#define GPIO_TIM8_CH1IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH1OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH2IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH2OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH3IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH3OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH4IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH4OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH1N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM8_CH1N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM8_CH2N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM8_CH2N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM8_CH3N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM8_CH3N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM8_BKIN_1        (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM8_BKIN_2        (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM8_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM8_BKIN_COMP2_0  (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM8_BKIN2_1       (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM8_BKIN2_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF14|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM8_ETR_0         (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN0)
+
+#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM15_CH1IN_4     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM15_CH1OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_TIM15_CH2IN_4     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN11)
+#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_TIM15_CH2OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
+#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM15_CH1N_3      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN12)
 
-#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM16_BKIN        (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
-
-#define GPIO_TIM17_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM17_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM17_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_TIM17_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM17_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM17_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_TIM17_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM16_BKIN_0      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
+
+#define GPIO_TIM17_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM17_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM17_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_TIM17_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM17_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM17_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_TIM17_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
 #define GPIO_TIM17_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN10)
 #define GPIO_TIM17_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN4)
 
@@ -762,47 +762,47 @@
 
 /* Touch Sensing Controller */
 
-#define GPIO_TSC_SYNC          (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_TSC_SYNC_0        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
 
-#define GPIO_TSC_G1_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TSC_G1_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TSC_G1_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TSC_G1_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TSC_G1_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TSC_G1_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TSC_G1_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TSC_G1_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
 
-#define GPIO_TSC_G2_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TSC_G2_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TSC_G2_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TSC_G2_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TSC_G2_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TSC_G2_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TSC_G2_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TSC_G2_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
 
-#define GPIO_TSC_G3_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TSC_G3_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
-#define GPIO_TSC_G3_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_TSC_G3_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_TSC_G3_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TSC_G3_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
+#define GPIO_TSC_G3_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
+#define GPIO_TSC_G3_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
 
-#define GPIO_TSC_G4_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TSC_G4_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TSC_G4_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TSC_G4_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TSC_G4_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TSC_G4_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TSC_G4_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TSC_G4_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
 
-#define GPIO_TSC_G5_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TSC_G5_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TSC_G5_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TSC_G5_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TSC_G5_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TSC_G5_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TSC_G5_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TSC_G5_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
 
-#define GPIO_TSC_G6_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
-#define GPIO_TSC_G6_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
-#define GPIO_TSC_G6_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TSC_G6_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TSC_G6_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
+#define GPIO_TSC_G6_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
+#define GPIO_TSC_G6_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TSC_G6_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
 
-#define GPIO_TSC_G7_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TSC_G7_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TSC_G7_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TSC_G7_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TSC_G7_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TSC_G7_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TSC_G7_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TSC_G7_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
 
-#define GPIO_TSC_G8_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN14)
-#define GPIO_TSC_G8_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN15)
-#define GPIO_TSC_G8_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN0)
-#define GPIO_TSC_G8_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN1)
+#define GPIO_TSC_G8_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN14)
+#define GPIO_TSC_G8_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN15)
+#define GPIO_TSC_G8_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN0)
+#define GPIO_TSC_G8_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN1)
 
 /* IR interface (with timers 16 and 17) */
 
@@ -811,11 +811,11 @@
 
 /* Trace */
 
-#define GPIO_TRACECK           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TRACED0           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TRACED1           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TRACED2           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TRACED3           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TRACECK_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TRACED0_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TRACED1_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TRACED2_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TRACED3_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN6)
 
 /* UARTs/USARTs */
 
@@ -870,13 +870,13 @@
 #define GPIO_UART4_TX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN10)
 #define GPIO_UART4_RX_1        (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN1)
 #define GPIO_UART4_RX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_UART4_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_UART4_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_UART4_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_UART4_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_UART5_TX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
-#define GPIO_UART5_RX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
-#define GPIO_UART5_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_UART5_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_UART5_TX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_UART5_RX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_UART5_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_UART5_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
 
 #define GPIO_LPUART1_TX_1      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN11)
 #define GPIO_LPUART1_TX_2      (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN1)
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap_legacy.h
similarity index 99%
copy from arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h
copy to arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap_legacy.h
index d978edd829..943b917930 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap_legacy.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap.h
+ * arch/arm/src/stm32l4/hardware/stm32l4x6xx_pinmap_legacy.h
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,8 +18,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X6XX_PINMAP_H
-#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X6XX_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X6XX_PINMAP_LEGACY_H
+#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X6XX_PINMAP_LEGACY_H
 
 /****************************************************************************
  * Included Files
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.
- * For example, if CAN1_RX connects vis PA11 on some board, then the
+ * For example, if CAN1_RX connects via PA11 on some board, then the
  * following definitions should appear in the board.h header file for that
  * board:
  *
@@ -889,4 +889,4 @@
 #define GPIO_LPUART1_RTS_DE_1  (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN12)
 #define GPIO_LPUART1_RTS_DE_2  (GPIO_ALT|GPIO_AF8 |GPIO_PORTG|GPIO_PIN6)
 
-#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X6XX_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4X6XX_PINMAP_LEGACY_H */
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h
index dbb69c8703..0276ef943c 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.
- * For example, if CAN1_RX connects vis PA11 on some board, then the
+ * For example, if CAN1_RX connects via PA11 on some board, then the
  * following definitions should appear in the board.h header file for that
  * board:
  *
@@ -55,22 +55,22 @@
 
 /* ADC */
 
-#define GPIO_ADC1_IN1         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC1_IN2         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC1_IN3         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC1_IN4         (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC1_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC1_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC1_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC1_IN8         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC1_IN9         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC1_IN10        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC1_IN11        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC1_IN12        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC1_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC1_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-#define GPIO_ADC1_IN15        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC1_IN16        (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_ADC1_IN1_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC1_IN2_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC1_IN3_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC1_IN4_0       (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC1_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC1_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC1_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC1_IN8_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC1_IN9_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC1_IN10_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC1_IN11_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC1_IN12_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC1_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC1_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+#define GPIO_ADC1_IN15_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC1_IN16_0      (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
 
 /* CAN */
 
@@ -83,7 +83,7 @@
 
 /* Clocks outputs */
 
-#define GPIO_MCO               (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
+#define GPIO_MCO_0             (GPIO_ALT|GPIO_AF0 |GPIO_PORTA|GPIO_PIN8)
 
 /* Comparators */
 
@@ -103,8 +103,8 @@
 
 /* DAC */
 
-#define GPIO_DAC1_OUT          (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_DAC2_OUT          (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_DAC1_OUT_0        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_DAC2_OUT_0        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
 
 /* Digital Camera Interface (DCMI) */
 
@@ -185,63 +185,63 @@
 
 /* Flexible Static Memory Controller (FSMC) */
 
-#define GPIO_FMC_NL            (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_FMC_NBL0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_FMC_NBL1          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_FMC_CLK           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
-#define GPIO_FMC_NOE           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
-#define GPIO_FMC_NWE           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
-#define GPIO_FMC_NWAIT         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
-#define GPIO_FMC_NE1           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
-#define GPIO_FMC_NE2           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
-#define GPIO_FMC_NE3           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_FMC_NE4           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
-#define GPIO_FMC_INT3          (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
-#define GPIO_FMC_NCE3          (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
-
-#define GPIO_FMC_A0            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
-#define GPIO_FMC_A1            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
-#define GPIO_FMC_A2            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
-#define GPIO_FMC_A3            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_FMC_A4            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_FMC_A5            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_FMC_A6            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
-#define GPIO_FMC_A7            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
-#define GPIO_FMC_A8            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
-#define GPIO_FMC_A9            (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
-#define GPIO_FMC_A10           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
-#define GPIO_FMC_A11           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
-#define GPIO_FMC_A12           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
-#define GPIO_FMC_A13           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
-#define GPIO_FMC_A14           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
-#define GPIO_FMC_A15           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
-#define GPIO_FMC_A16           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
-#define GPIO_FMC_A17           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_FMC_A18           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_FMC_A19           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_FMC_A20           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_FMC_A21           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_FMC_A22           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_FMC_A23           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_FMC_A24           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
-#define GPIO_FMC_A25           (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
-
-#define GPIO_FMC_D0            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_FMC_D1            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_FMC_D2            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
-#define GPIO_FMC_D3            (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
-#define GPIO_FMC_D4            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
-#define GPIO_FMC_D5            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_FMC_D6            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_FMC_D7            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_FMC_D8            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_FMC_D9            (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_FMC_D10           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_FMC_D11           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_FMC_D12           (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
-#define GPIO_FMC_D13           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
-#define GPIO_FMC_D14           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
-#define GPIO_FMC_D15           (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
+#define GPIO_FMC_NL_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_FMC_NBL0_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_FMC_NBL1_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_FMC_CLK_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
+#define GPIO_FMC_NOE_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
+#define GPIO_FMC_NWE_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
+#define GPIO_FMC_NWAIT_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
+#define GPIO_FMC_NE1_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
+#define GPIO_FMC_NE2_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_FMC_NE3_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_FMC_NE4_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
+#define GPIO_FMC_INT3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
+#define GPIO_FMC_NCE3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+
+#define GPIO_FMC_A0_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
+#define GPIO_FMC_A1_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
+#define GPIO_FMC_A2_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
+#define GPIO_FMC_A3_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_FMC_A4_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_FMC_A5_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_FMC_A6_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
+#define GPIO_FMC_A7_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
+#define GPIO_FMC_A8_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
+#define GPIO_FMC_A9_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
+#define GPIO_FMC_A10_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
+#define GPIO_FMC_A11_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
+#define GPIO_FMC_A12_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
+#define GPIO_FMC_A13_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
+#define GPIO_FMC_A14_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#define GPIO_FMC_A15_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
+#define GPIO_FMC_A16_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
+#define GPIO_FMC_A17_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_FMC_A18_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_FMC_A19_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_FMC_A20_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_FMC_A21_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_FMC_A22_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_FMC_A23_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
+#define GPIO_FMC_A24_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
+#define GPIO_FMC_A25_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
+
+#define GPIO_FMC_D0_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_FMC_D1_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_FMC_D2_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
+#define GPIO_FMC_D3_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
+#define GPIO_FMC_D4_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
+#define GPIO_FMC_D5_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_FMC_D6_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_FMC_D7_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_FMC_D8_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_FMC_D9_0          (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_FMC_D10_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_FMC_D11_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_FMC_D12_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
+#define GPIO_FMC_D13_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
+#define GPIO_FMC_D14_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
+#define GPIO_FMC_D15_0         (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
 
 /* I2C */
 
@@ -291,18 +291,18 @@
 
 /* JTAG */
 
-#define GPIO_JTCK_SWCLK        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
-#define GPIO_JTDI              (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_JTDO              (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_JTMS_SWDIO        (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
-#define GPIO_JTRST             (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_JTCK_SWCLK_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN14)
+#define GPIO_JTDI_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_JTDO_0            (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_JTMS_SWDIO_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTA|GPIO_PIN13)
+#define GPIO_JTRST_0           (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN4)
 
 /* OTG FS */
 
-#define GPIO_OTGFS_SOF         (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_OTGFS_ID          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_OTGFS_DM          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_OTGFS_DP          (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_OTGFS_SOF_0       (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_OTGFS_ID_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_OTGFS_DM_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_OTGFS_DP_0        (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN12)
 #define GPIO_OTGFS_NOE_1       (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN13)
 #define GPIO_OTGFS_NOE_2       (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN9)
 
@@ -370,8 +370,8 @@
 
 /* RTC */
 
-#define GPIO_RTC_OUT           (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
-#define GPIO_RTC_REFIN         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_RTC_OUT_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN2)
+#define GPIO_RTC_REFIN_0       (GPIO_ALT|GPIO_AF0 |GPIO_PORTB|GPIO_PIN15)
 
 /* SAI */
 
@@ -432,16 +432,16 @@
 
 /* SDIO */
 
-#define GPIO_SDMMC1_CK         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_SDMMC1_CMD        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
-#define GPIO_SDMMC1_D0         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_SDMMC1_D1         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_SDMMC1_D2         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_SDMMC1_D3         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_SDMMC1_D4         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_SDMMC1_D5         (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_SDMMC1_D6         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_SDMMC1_D7         (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_SDMMC1_CK_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_SDMMC1_CMD_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_SDMMC1_D0_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_SDMMC1_D1_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_SDMMC1_D2_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_SDMMC1_D3_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_SDMMC1_D4_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_SDMMC1_D5_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_SDMMC1_D6_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_SDMMC1_D7_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN7)
 
 /* SPI */
 
@@ -494,195 +494,195 @@
 
 /* Timers */
 
-#define GPIO_TIM1_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_TIM1_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_TIM1_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TIM1_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_TIM1_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_TIM1_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_CH1N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM1_CH1N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM1_CH1N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_TIM1_CH2N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM1_CH2N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM1_CH2N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TIM1_CH3N_1       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM1_CH3N_2       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM1_CH3N_3       (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_1       (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN_3       (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP1   (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
-#define GPIO_TIM1_BKIN_COMP2_1 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM1_BKIN_COMP2_2 (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TIM1_BKIN2_1      (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_2      (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_BKIN2_COMP1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_TIM1_BKIN2_COMP2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
-#define GPIO_TIM1_ETR_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
-#define GPIO_TIM1_ETR_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
-
-#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM1_CH1IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH1OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_TIM1_CH1OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH2OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_TIM1_CH2OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TIM1_CH3IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH3OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_TIM1_CH3OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TIM1_CH4IN_1       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4IN_2       (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH4OUT_1      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_CH4OUT_2      (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_CH1N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM1_CH1N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM1_CH1N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_TIM1_CH2N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM1_CH2N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM1_CH2N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TIM1_CH3N_1        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM1_CH3N_2        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM1_CH3N_3        (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_1        (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_2        (GPIO_ALT|GPIO_AF1 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN_3        (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN15)
+#define GPIO_TIM1_BKIN_COMP2_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM1_BKIN_COMP2_2  (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TIM1_BKIN2_1       (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_2       (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_TIM1_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF3 |GPIO_PORTE|GPIO_PIN14)
+#define GPIO_TIM1_ETR_1         (GPIO_ALT|GPIO_AF1 |GPIO_PORTA|GPIO_PIN12)
+#define GPIO_TIM1_ETR_2         (GPIO_ALT|GPIO_AF1 |GPIO_PORTE|GPIO_PIN7)
+
+#define GPIO_TIM2_CH1IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1IN_3      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH1OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_CH1OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM2_CH1OUT_3     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_CH2IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH2OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM2_CH2OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TIM2_CH3IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH3OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM2_CH3OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_TIM2_CH4IN_1      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4IN_2      (GPIO_ALT|GPIO_AF1 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_TIM2_CH4OUT_1     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM2_CH4OUT_2     (GPIO_ALT|GPIO_AF1 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
 #define GPIO_TIM2_ETR_1        (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN0)
 #define GPIO_TIM2_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN5)
 #define GPIO_TIM2_ETR_3        (GPIO_ALT|GPIO_AF2 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TIM3_CH1OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM3_CH1OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TIM3_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2IN_4      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TIM3_CH2OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM3_CH2OUT_4     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TIM3_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM3_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM3_CH3OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM3_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4IN_3      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM3_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM3_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM3_CH4OUT_3     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
 #define GPIO_TIM3_ETR_1        (GPIO_ALT|GPIO_AF2 |GPIO_PORTD|GPIO_PIN2)
 #define GPIO_TIM3_ETR_2        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN2)
 
-#define GPIO_TIM4_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM4_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TIM4_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM4_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TIM4_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM4_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_TIM4_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM4_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_TIM4_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM4_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_TIM4_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM4_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_TIM4_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM4_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_TIM4_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM4_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_TIM4_ETR          (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN0)
-
-#define GPIO_TIM5_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM5_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM5_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM5_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM5_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM5_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM5_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM5_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM5_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM5_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM5_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM5_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM5_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM5_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM5_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM5_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM5_ETR          (GPIO_ALT|GPIO_AF1 |GPIO_PORTF|GPIO_PIN6)
-
-#define GPIO_TIM8_CH1IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH1OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH2IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH2OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH3IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH3OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH4IN        (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH4OUT       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH1N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_TIM8_CH1N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM8_CH2N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_TIM8_CH2N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM8_CH3N_1       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_TIM8_CH3N_2       (GPIO_ALT|GPIO_AF3 |GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM8_BKIN_1       (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM8_BKIN_2       (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM8_BKIN_COMP1   (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_TIM8_BKIN_COMP2   (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM8_BKIN2_1      (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM8_BKIN2_2      (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_BKIN2_COMP1  (GPIO_ALT|GPIO_AF14|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_BKIN2_COMP2  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM8_ETR          (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN0)
-
-#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM15_CH1IN_4     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM15_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM15_CH1OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_TIM15_CH2IN_4     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN11)
-#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM15_CH2OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_TIM15_CH2OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
-#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TIM15_CH1N_3      (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_TIM4_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM4_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TIM4_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM4_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TIM4_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM4_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TIM4_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM4_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TIM4_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM4_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_TIM4_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM4_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_TIM4_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM4_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_TIM4_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM4_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_TIM4_ETR_0        (GPIO_ALT|GPIO_AF2 |GPIO_PORTE|GPIO_PIN0)
+
+#define GPIO_TIM5_CH1IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM5_CH1IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM5_CH1OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM5_CH1OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM5_CH2IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM5_CH2IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM5_CH2OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM5_CH2OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM5_CH3IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM5_CH3IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM5_CH3OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM5_CH3OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM5_CH4IN_1      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM5_CH4IN_2      (GPIO_ALT|GPIO_AF2 |GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM5_CH4OUT_1     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM5_CH4OUT_2     (GPIO_ALT|GPIO_AF2 |GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM5_ETR_0        (GPIO_ALT|GPIO_AF1 |GPIO_PORTF|GPIO_PIN6)
+
+#define GPIO_TIM8_CH1IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH1OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH2IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH2OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH3IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH3OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH4IN_0       (GPIO_ALT|GPIO_AF3 |GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH4OUT_0      (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH1N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_TIM8_CH1N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM8_CH2N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_TIM8_CH2N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM8_CH3N_1        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_TIM8_CH3N_2        (GPIO_ALT|GPIO_AF3 |GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM8_BKIN_1        (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM8_BKIN_2        (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM8_BKIN_COMP1_0  (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM8_BKIN_COMP2_0  (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM8_BKIN2_1       (GPIO_ALT|GPIO_AF3 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM8_BKIN2_2       (GPIO_ALT|GPIO_AF1 |GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_BKIN2_COMP1_0 (GPIO_ALT|GPIO_AF14|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_BKIN2_COMP2_0 (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM8_ETR_0         (GPIO_ALT|GPIO_AF3 |GPIO_PORTA|GPIO_PIN0)
+
+#define GPIO_TIM15_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM15_CH1IN_4     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_TIM15_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM15_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM15_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM15_CH1OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_TIM15_CH2IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_TIM15_CH2IN_4     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTG|GPIO_PIN11)
+#define GPIO_TIM15_CH2OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM15_CH2OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM15_CH2OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_TIM15_CH2OUT_4    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
+#define GPIO_TIM15_CH1N_1      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_TIM15_CH1N_2      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TIM15_CH1N_3      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN9)
 #define GPIO_TIM15_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN12)
 
-#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_TIM16_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TIM16_BKIN        (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
-
-#define GPIO_TIM17_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM17_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM17_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_TIM17_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM17_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM17_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_TIM17_CH1N        (GPIO_ALT|GPIO_AF14|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TIM16_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM16_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM16_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_TIM16_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TIM16_BKIN_0      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN5)
+
+#define GPIO_TIM17_CH1IN_1     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM17_CH1IN_2     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM17_CH1IN_3     (GPIO_ALT|GPIO_AF14|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_TIM17_CH1OUT_1    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM17_CH1OUT_2    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM17_CH1OUT_3    (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_TIM17_CH1N_0      (GPIO_ALT|GPIO_AF14|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
 #define GPIO_TIM17_BKIN_1      (GPIO_ALT|GPIO_AF14|GPIO_PORTA|GPIO_PIN10)
 #define GPIO_TIM17_BKIN_2      (GPIO_ALT|GPIO_AF14|GPIO_PORTB|GPIO_PIN4)
 
@@ -711,47 +711,47 @@
 
 /* Touch Sensing Controller */
 
-#define GPIO_TSC_SYNC          (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_TSC_SYNC_0        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN2)
 
-#define GPIO_TSC_G1_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
-#define GPIO_TSC_G1_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
-#define GPIO_TSC_G1_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TSC_G1_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TSC_G1_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN12)
+#define GPIO_TSC_G1_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN13)
+#define GPIO_TSC_G1_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TSC_G1_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN15)
 
-#define GPIO_TSC_G2_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
-#define GPIO_TSC_G2_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_TSC_G2_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
-#define GPIO_TSC_G2_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_TSC_G2_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_TSC_G2_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_TSC_G2_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN6)
+#define GPIO_TSC_G2_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTB|GPIO_PIN7)
 
-#define GPIO_TSC_G3_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TSC_G3_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
-#define GPIO_TSC_G3_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_TSC_G3_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_TSC_G3_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TSC_G3_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN10)
+#define GPIO_TSC_G3_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
+#define GPIO_TSC_G3_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN12)
 
-#define GPIO_TSC_G4_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TSC_G4_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TSC_G4_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TSC_G4_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TSC_G4_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TSC_G4_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TSC_G4_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TSC_G4_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN9)
 
-#define GPIO_TSC_G5_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
-#define GPIO_TSC_G5_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
-#define GPIO_TSC_G5_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
-#define GPIO_TSC_G5_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
+#define GPIO_TSC_G5_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN10)
+#define GPIO_TSC_G5_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN11)
+#define GPIO_TSC_G5_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN12)
+#define GPIO_TSC_G5_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN13)
 
-#define GPIO_TSC_G6_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
-#define GPIO_TSC_G6_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
-#define GPIO_TSC_G6_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
-#define GPIO_TSC_G6_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
+#define GPIO_TSC_G6_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN10)
+#define GPIO_TSC_G6_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN11)
+#define GPIO_TSC_G6_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN12)
+#define GPIO_TSC_G6_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTD|GPIO_PIN13)
 
-#define GPIO_TSC_G7_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TSC_G7_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TSC_G7_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TSC_G7_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TSC_G7_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TSC_G7_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TSC_G7_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TSC_G7_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTE|GPIO_PIN5)
 
-#define GPIO_TSC_G8_IO1        (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN14)
-#define GPIO_TSC_G8_IO2        (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN15)
-#define GPIO_TSC_G8_IO3        (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN0)
-#define GPIO_TSC_G8_IO4        (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN1)
+#define GPIO_TSC_G8_IO1_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN14)
+#define GPIO_TSC_G8_IO2_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTF|GPIO_PIN15)
+#define GPIO_TSC_G8_IO3_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN0)
+#define GPIO_TSC_G8_IO4_0      (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN1)
 
 /* IR interface (with timers 16 and 17) */
 
@@ -760,11 +760,11 @@
 
 /* Trace */
 
-#define GPIO_TRACECK           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TRACED0           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
-#define GPIO_TRACED1           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
-#define GPIO_TRACED2           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TRACED3           (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TRACECK_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TRACED0_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN3)
+#define GPIO_TRACED1_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN4)
+#define GPIO_TRACED2_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TRACED3_0         (GPIO_ALT|GPIO_AF0 |GPIO_PORTE|GPIO_PIN6)
 
 /* UARTs/USARTs */
 
@@ -819,13 +819,13 @@
 #define GPIO_UART4_TX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN10)
 #define GPIO_UART4_RX_1        (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN1)
 #define GPIO_UART4_RX_2        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN11)
-#define GPIO_UART4_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
-#define GPIO_UART4_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
+#define GPIO_UART4_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN7)
+#define GPIO_UART4_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTA|GPIO_PIN15)
 
-#define GPIO_UART5_TX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
-#define GPIO_UART5_RX          (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
-#define GPIO_UART5_CTS         (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
-#define GPIO_UART5_RTS_DE      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
+#define GPIO_UART5_TX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN12)
+#define GPIO_UART5_RX_0        (GPIO_ALT|GPIO_AF8 |GPIO_PORTD|GPIO_PIN2)
+#define GPIO_UART5_CTS_0       (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN5)
+#define GPIO_UART5_RTS_DE_0    (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN4)
 
 #define GPIO_LPUART1_TX_1      (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN11)
 #define GPIO_LPUART1_TX_2      (GPIO_ALT|GPIO_AF8 |GPIO_PORTC|GPIO_PIN1)
diff --git a/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h b/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap_legacy.h
similarity index 99%
copy from arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h
copy to arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap_legacy.h
index dbb69c8703..50dc87f025 100644
--- a/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h
+++ b/arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap_legacy.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap.h
+ * arch/arm/src/stm32l4/hardware/stm32l4xrxx_pinmap_legacy.h
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,8 +18,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4XRXX_PINMAP_H
-#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4XRXX_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4XRXX_PINMAP_LEGACY_H
+#define __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4XRXX_PINMAP_LEGACY_H
 
 /****************************************************************************
  * Included Files
@@ -38,7 +38,7 @@
  * Alternative pin selections are provided with a numeric suffix like _1, _2,
  * etc. Drivers, however, will use the pin selection without the numeric
  * suffix. Additional definitions are required in the board.h file.
- * For example, if CAN1_RX connects vis PA11 on some board, then the
+ * For example, if CAN1_RX connects via PA11 on some board, then the
  * following definitions should appear in the board.h header file for that
  * board:
  *
@@ -838,4 +838,4 @@
 #define GPIO_LPUART1_RTS_DE_1  (GPIO_ALT|GPIO_AF8 |GPIO_PORTB|GPIO_PIN12)
 #define GPIO_LPUART1_RTS_DE_2  (GPIO_ALT|GPIO_AF8 |GPIO_PORTG|GPIO_PIN6)
 
-#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4XRXX_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32L4_HARDWARE_STM32L4XRXX_PINMAP_LEGACY_H */
diff --git a/arch/arm/src/stm32l4/stm32l4_gpio.c b/arch/arm/src/stm32l4/stm32l4_gpio.c
index 3b8b2541e5..d4195eadab 100644
--- a/arch/arm/src/stm32l4/stm32l4_gpio.c
+++ b/arch/arm/src/stm32l4/stm32l4_gpio.c
@@ -39,6 +39,10 @@
 
 #include "hardware/stm32l4_syscfg.h"
 
+#if defined(CONFIG_STM32L4_USE_LEGACY_PINMAP)
+#  pragma message "CONFIG_STM32L4_USE_LEGACY_PINMAP will be deprecated migrate board.h see tools/stm32_pinmap_tool.py"
+#endif
+
 /****************************************************************************
  * Public Data
  ****************************************************************************/