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:27 UTC

[nuttx] 06/17: stm32:f4/f412 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 39c59314625859ef96410f40a902d85569f46a79
Author: David Sidrane <Da...@NscDg.com>
AuthorDate: Mon Apr 10 09:28:31 2023 -0700

    stm32:f4/f412 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_STM32_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, STM32_USE_LEGACY_PINMAP will be deprecated and the legacy
       pinmaps removed from NuttX.
    
       Any new boards added should set STM32_USE_LEGACY_PINMAP=n and
       fully define the pins in board.h
---
 arch/arm/src/stm32/Kconfig                         |   20 +
 arch/arm/src/stm32/hardware/stm32_pinmap.h         |   12 +-
 arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h   | 1494 ++++++++++----------
 ...f40xxx_pinmap.h => stm32f40xxx_pinmap_legacy.h} |    8 +-
 arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h   | 1144 +++++++--------
 ...f412xx_pinmap.h => stm32f412xx_pinmap_legacy.h} |    8 +-
 arch/arm/src/stm32/stm32_gpio.c                    |    4 +
 7 files changed, 1361 insertions(+), 1329 deletions(-)

diff --git a/arch/arm/src/stm32/Kconfig b/arch/arm/src/stm32/Kconfig
index 214a31ef37..d088badd9d 100644
--- a/arch/arm/src/stm32/Kconfig
+++ b/arch/arm/src/stm32/Kconfig
@@ -3452,6 +3452,26 @@ config STM32_NOEXT_VECTORS
 		Sometimes you may not need any Vector support beyond SysTick
 		and wish to save memory. This applies only to ARMv7-M architectures.
 
+config STM32_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.
+
+		STM32_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, STM32_USE_LEGACY_PINMAP will be deprecated and the legacy
+		pinmaps removed from NuttX. Any new boards added should set
+		STM32_USE_LEGACY_PINMAP=n and fully define the pins in board.h
+
 config STM32_SYSCFG_IOCOMPENSATION
 	bool "SYSCFG I/O Compensation"
 	default n
diff --git a/arch/arm/src/stm32/hardware/stm32_pinmap.h b/arch/arm/src/stm32/hardware/stm32_pinmap.h
index 219ea76cbe..4881b78fe2 100644
--- a/arch/arm/src/stm32/hardware/stm32_pinmap.h
+++ b/arch/arm/src/stm32/hardware/stm32_pinmap.h
@@ -115,12 +115,20 @@
 /* STM32 F412 Family ********************************************************/
 
 #elif defined(CONFIG_STM32_STM32F412)
-#  include "hardware/stm32f412xx_pinmap.h"
+#  if defined(CONFIG_STM32_USE_LEGACY_PINMAP)
+#    include "hardware/stm32f412xx_pinmap_legacy.h"
+#  else
+#    include "hardware/stm32f412xx_pinmap.h"
+#  endif
 
 /* STM32 F4 Family **********************************************************/
 
 #elif defined(CONFIG_STM32_STM32F4XXX)
-#  include "hardware/stm32f40xxx_pinmap.h"
+#  if defined(CONFIG_STM32_USE_LEGACY_PINMAP)
+#    include "hardware/stm32f40xxx_pinmap_legacy.h"
+#  else
+#    include "hardware/stm32f40xxx_pinmap.h"
+#  endif
 
 /* STM32 G4 Family **********************************************************/
 
diff --git a/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h b/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h
index e75dbd6a8c..37cb8c0b11 100644
--- a/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h
+++ b/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h
@@ -56,73 +56,73 @@
 
 /* ADC */
 
-#define GPIO_ADC1_IN0         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC1_IN1         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC1_IN2         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC1_IN3         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC1_IN4         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC1_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC1_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC1_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC1_IN8         (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC1_IN9         (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_ADC1_IN10        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC1_IN11        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC1_IN12        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC1_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC1_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC1_IN15        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-
-#define GPIO_ADC2_IN0         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC2_IN1         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC2_IN2         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC2_IN3         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC2_IN4         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_ADC2_IN5         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_ADC2_IN6         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_ADC2_IN7         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_ADC2_IN8         (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_ADC2_IN9         (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_ADC2_IN10        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC2_IN11        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC2_IN12        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC2_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC2_IN14        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
-#define GPIO_ADC2_IN15        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
-
-#define GPIO_ADC3_IN0         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_ADC3_IN1         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_ADC3_IN2         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_ADC3_IN3         (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_ADC3_IN4         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_ADC3_IN5         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_ADC3_IN6         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_ADC3_IN7         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_ADC3_IN8         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN10)
-#define GPIO_ADC3_IN9         (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_ADC3_IN10        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
-#define GPIO_ADC3_IN11        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
-#define GPIO_ADC3_IN12        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_ADC3_IN13        (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_ADC3_IN14        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_ADC3_IN15        (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_ADC1_IN0_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC1_IN1_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC1_IN2_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC1_IN3_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC1_IN4_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC1_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC1_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC1_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC1_IN8_0       (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC1_IN9_0       (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_ADC1_IN10_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC1_IN11_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC1_IN12_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC1_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC1_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC1_IN15_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+
+#define GPIO_ADC2_IN0_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC2_IN1_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC2_IN2_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC2_IN3_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC2_IN4_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_ADC2_IN5_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_ADC2_IN6_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_ADC2_IN7_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_ADC2_IN8_0       (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_ADC2_IN9_0       (GPIO_ANALOG|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_ADC2_IN10_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC2_IN11_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC2_IN12_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC2_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC2_IN14_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN4)
+#define GPIO_ADC2_IN15_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN5)
+
+#define GPIO_ADC3_IN0_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_ADC3_IN1_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_ADC3_IN2_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_ADC3_IN3_0       (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_ADC3_IN4_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_ADC3_IN5_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_ADC3_IN6_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_ADC3_IN7_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_ADC3_IN8_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN10)
+#define GPIO_ADC3_IN9_0       (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_ADC3_IN10_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_ADC3_IN11_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN1)
+#define GPIO_ADC3_IN12_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_ADC3_IN13_0      (GPIO_ANALOG|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_ADC3_IN14_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_ADC3_IN15_0      (GPIO_ANALOG|GPIO_PORTF|GPIO_PIN5)
 
 /* CAN */
 
-#define GPIO_CAN1_RX_1        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_CAN1_RX_2        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_CAN1_RX_3        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN0)
-#define GPIO_CAN1_RX_4        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN9)
-#define GPIO_CAN1_TX_1        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
-#define GPIO_CAN1_TX_2        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_CAN1_TX_3        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN1)
-#define GPIO_CAN1_TX_4        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN13)
-#define GPIO_CAN1_TX_5        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN1)
-
-#define GPIO_CAN2_RX_1        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_CAN2_RX_2        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_CAN2_TX_1        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_CAN2_TX_2        (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_CAN1_RX_1        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_CAN1_RX_2        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_CAN1_RX_3        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN0)
+#define GPIO_CAN1_RX_4        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN9)
+#define GPIO_CAN1_TX_1        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_CAN1_TX_2        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_CAN1_TX_3        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN1)
+#define GPIO_CAN1_TX_4        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN13)
+#define GPIO_CAN1_TX_5        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN1)
+
+#define GPIO_CAN2_RX_1        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_CAN2_RX_2        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_CAN2_TX_1        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_CAN2_TX_2        (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
 
 /* DAC - "Once the DAC channelx is enabled, the corresponding GPIO pin
  * (PA4 or PA5) is automatically connected to the analog converter output
@@ -130,8 +130,8 @@
  * should first be configured to analog (AIN)".
  */
 
-#define GPIO_DAC1_OUT1        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_DAC1_OUT2        (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_DAC1_OUT1_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_DAC1_OUT2_0      (GPIO_ANALOG|GPIO_PORTA|GPIO_PIN5)
 
 /* Digital Camera Interface (DCMI) */
 
@@ -170,7 +170,7 @@
 #define GPIO_DCMI_D13_2       (GPIO_ALT|GPIO_AF13|GPIO_PORTI|GPIO_PIN0)
 #define GPIO_DCMI_HSYNC_1     (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN4)
 #define GPIO_DCMI_HSYNC_2     (GPIO_ALT|GPIO_AF13|GPIO_PORTH|GPIO_PIN8)
-#define GPIO_DCMI_PIXCLK      (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_DCMI_PIXCLK_0    (GPIO_ALT|GPIO_AF13|GPIO_PORTA|GPIO_PIN6)
 #define GPIO_DCMI_VSYNC_1     (GPIO_ALT|GPIO_AF13|GPIO_PORTB|GPIO_PIN7)
 #define GPIO_DCMI_VSYNC_2     (GPIO_ALT|GPIO_AF13|GPIO_PORTI|GPIO_PIN5)
 
@@ -188,13 +188,13 @@
 #  define GPIO_DCMI_D13_3     (GPIO_ALT|GPIO_AF13|GPIO_PORTG|GPIO_PIN7)
 #  define GPIO_DCMI_VSYNC_3   (GPIO_ALT|GPIO_AF13|GPIO_PORTG|GPIO_PIN9)
 #else
-#  define GPIO_DCMI_D12       (GPIO_ALT|GPIO_AF13|GPIO_PORTF|GPIO_PIN11)
+#  define GPIO_DCMI_D12_0     (GPIO_ALT|GPIO_AF13|GPIO_PORTF|GPIO_PIN11)
 #endif
 
 /* Clocks outputs */
 
-#define GPIO_MCO1             (GPIO_ALT|GPIO_AF0|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_MCO2             (GPIO_ALT|GPIO_AF0|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_MCO1_0           (GPIO_ALT|GPIO_AF0|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_MCO2_0           (GPIO_ALT|GPIO_AF0|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
 
 /* Ethernet MAC */
 
@@ -202,302 +202,302 @@
     defined(CONFIG_STM32_STM32F405) || defined(CONFIG_STM32_STM32F407) || \
     defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F469)
-#  define GPIO_ETH_MDC          (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN1)
-#  define GPIO_ETH_MDIO         (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#  define GPIO_ETH_MII_COL_1    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#  define GPIO_ETH_MII_COL_2    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN3)
-#  define GPIO_ETH_MII_CRS_1    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#  define GPIO_ETH_MII_CRS_2    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN2)
-#  define GPIO_ETH_MII_RXD0     (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
-#  define GPIO_ETH_MII_RXD1     (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
-#  define GPIO_ETH_MII_RXD2_1   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#  define GPIO_ETH_MII_RXD2_2   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN6)
-#  define GPIO_ETH_MII_RXD3_1   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#  define GPIO_ETH_MII_RXD3_2   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN7)
-#  define GPIO_ETH_MII_RX_CLK   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#  define GPIO_ETH_MII_RX_DV    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#  define GPIO_ETH_MII_RX_ER_1  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#  define GPIO_ETH_MII_RX_ER_2  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN10)
-#  define GPIO_ETH_MII_TXD0_1   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
-#  define GPIO_ETH_MII_TXD0_2   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN13)
-#  define GPIO_ETH_MII_TXD1_1   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#  define GPIO_ETH_MII_TXD1_2   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN14)
-#  define GPIO_ETH_MII_TXD2     (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN2)
-#  define GPIO_ETH_MII_TXD3_1   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#  define GPIO_ETH_MII_TXD3_2   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN2)
-#  define GPIO_ETH_MII_TX_CLK   (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN3)
-#  define GPIO_ETH_MII_TX_EN_1  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
-#  define GPIO_ETH_MII_TX_EN_2  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
-#  define GPIO_ETH_PPS_OUT_1    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-#  define GPIO_ETH_PPS_OUT_2    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN8)
-#  define GPIO_ETH_RMII_CRS_DV  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#  define GPIO_ETH_RMII_REF_CLK (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN1)
-#  define GPIO_ETH_RMII_RXD0    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
-#  define GPIO_ETH_RMII_RXD1    (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
-#  define GPIO_ETH_RMII_TXD0_1  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
-#  define GPIO_ETH_RMII_TXD0_2  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN13)
-#  define GPIO_ETH_RMII_TXD1_1  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
-#  define GPIO_ETH_RMII_TXD1_2  (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN14)
-#  define GPIO_ETH_RMII_TX_EN_1 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
-#  define GPIO_ETH_RMII_TX_EN_2 (GPIO_ALT|GPIO_AF11|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
+#  define GPIO_ETH_MDC_0          (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN1)
+#  define GPIO_ETH_MDIO_0         (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#  define GPIO_ETH_MII_COL_1      (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#  define GPIO_ETH_MII_COL_2      (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN3)
+#  define GPIO_ETH_MII_CRS_1      (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#  define GPIO_ETH_MII_CRS_2      (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN2)
+#  define GPIO_ETH_MII_RXD0_0     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
+#  define GPIO_ETH_MII_RXD1_0     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
+#  define GPIO_ETH_MII_RXD2_1     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#  define GPIO_ETH_MII_RXD2_2     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN6)
+#  define GPIO_ETH_MII_RXD3_1     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#  define GPIO_ETH_MII_RXD3_2     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN7)
+#  define GPIO_ETH_MII_RX_CLK_0   (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#  define GPIO_ETH_MII_RX_DV_0    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#  define GPIO_ETH_MII_RX_ER_1    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#  define GPIO_ETH_MII_RX_ER_2    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN10)
+#  define GPIO_ETH_MII_TXD0_1     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
+#  define GPIO_ETH_MII_TXD0_2     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN13)
+#  define GPIO_ETH_MII_TXD1_1     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#  define GPIO_ETH_MII_TXD1_2     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN14)
+#  define GPIO_ETH_MII_TXD2_0     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN2)
+#  define GPIO_ETH_MII_TXD3_1     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#  define GPIO_ETH_MII_TXD3_2     (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN2)
+#  define GPIO_ETH_MII_TX_CLK_0   (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN3)
+#  define GPIO_ETH_MII_TX_EN_1    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#  define GPIO_ETH_MII_TX_EN_2    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
+#  define GPIO_ETH_PPS_OUT_1      (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+#  define GPIO_ETH_PPS_OUT_2      (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN8)
+#  define GPIO_ETH_RMII_CRS_DV_0  (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#  define GPIO_ETH_RMII_REF_CLK_0 (GPIO_ALT|GPIO_AF11|GPIO_PORTA|GPIO_PIN1)
+#  define GPIO_ETH_RMII_RXD0_0    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN4)
+#  define GPIO_ETH_RMII_RXD1_0    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
+#  define GPIO_ETH_RMII_TXD0_1    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
+#  define GPIO_ETH_RMII_TXD0_2    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN13)
+#  define GPIO_ETH_RMII_TXD1_1    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN13)
+#  define GPIO_ETH_RMII_TXD1_2    (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN14)
+#  define GPIO_ETH_RMII_TX_EN_1   (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#  define GPIO_ETH_RMII_TX_EN_2   (GPIO_ALT|GPIO_AF11|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
 #endif
 
 /* Flexible Memory Controller (FMC) */
 
-#define GPIO_FMC_A0          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN0)
-#define GPIO_FMC_A1          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN1)
-#define GPIO_FMC_A2          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN2)
-#define GPIO_FMC_A3          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_FMC_A4          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_FMC_A5          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_FMC_A6          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN12)
-#define GPIO_FMC_A7          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN13)
-#define GPIO_FMC_A8          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN14)
-#define GPIO_FMC_A9          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN15)
-#define GPIO_FMC_A10         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN0)
-#define GPIO_FMC_A11         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN1)
-#define GPIO_FMC_A12         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN2)
-#define GPIO_FMC_A13         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN3)
-#define GPIO_FMC_A14         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN4)
-#define GPIO_FMC_A15         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN5)
-#define GPIO_FMC_A16         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN11)
-#define GPIO_FMC_A17         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_FMC_A18         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_FMC_A19         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_FMC_A20         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_FMC_A21         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_FMC_A22         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_FMC_A23         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_FMC_A24         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN13)
-#define GPIO_FMC_A25         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN14)
-#define GPIO_FMC_NBL1        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_FMC_CLK         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN3)
-#define GPIO_FMC_D0          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_FMC_D1          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_FMC_D2          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN0)
-#define GPIO_FMC_D3          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN1)
-#define GPIO_FMC_D4          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN7)
-#define GPIO_FMC_D5          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_FMC_D6          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_FMC_D7          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_FMC_D8          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_FMC_D9          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_FMC_D10         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_FMC_D11         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_FMC_D12         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN15)
-#define GPIO_FMC_D13         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN8)
-#define GPIO_FMC_D14         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN9)
-#define GPIO_FMC_D15         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN10)
-#define GPIO_FMC_NBL0        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_FMC_NE1         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN7)
-#define GPIO_FMC_NE2         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN9)
-#define GPIO_FMC_NE3         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_FMC_NE4         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN12)
-#define GPIO_FMC_NL          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_FMC_NOE         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN4)
-#define GPIO_FMC_NWAIT       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN6)
-#define GPIO_FMC_NWE         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN5)
-
-#define GPIO_FMC_INT3        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN7)
-#define GPIO_FMC_NCE3        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|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_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_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)
+#define GPIO_FMC_NBL0_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
+#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_NL_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_FMC_NOE_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
+#define GPIO_FMC_NWAIT_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
+#define GPIO_FMC_NWE_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
+
+#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)
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429)
-#  define GPIO_FMC_CD        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN9)
-#  define GPIO_FMC_INT2      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN6)
-#  define GPIO_FMC_INTR      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN10)
-#  define GPIO_FMC_NCE2      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN7)
-#  define GPIO_FMC_NCE4_1    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN10)
-#  define GPIO_FMC_NCE4_2    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN11)
-#  define GPIO_FMC_NIORD     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN6)
-#  define GPIO_FMC_NIOWR     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN8)
-#  define GPIO_FMC_SDCKE0_1  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN2)
-#  define GPIO_FMC_SDCKE0_2  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN3)
-#  define GPIO_FMC_SDNE0_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN3)
-#  define GPIO_FMC_SDNE0_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN2)
-#  define GPIO_FMC_SDNWE_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN0)
-#  define GPIO_FMC_SDNWE_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN5)
-#  define GPIO_FMC_SDNRAS    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN11)
-#  define GPIO_FMC_SDCLK     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN8)
-#  define GPIO_FMC_SDNCAS    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN15)
-#  define GPIO_FMC_BA0       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN4)
-#  define GPIO_FMC_BA1       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN5)
-#  define GPIO_FMC_NREG      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN7)
+#  define GPIO_FMC_CD_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN9)
+#  define GPIO_FMC_INT2_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN6)
+#  define GPIO_FMC_INTR_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN10)
+#  define GPIO_FMC_NCE2_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
+#  define GPIO_FMC_NCE4_1    (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
+#  define GPIO_FMC_NCE4_2    (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN11)
+#  define GPIO_FMC_NIORD_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN6)
+#  define GPIO_FMC_NIOWR_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN8)
+#  define GPIO_FMC_SDCKE0_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN2)
+#  define GPIO_FMC_SDCKE0_2  (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN3)
+#  define GPIO_FMC_SDNE0_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN3)
+#  define GPIO_FMC_SDNE0_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN2)
+#  define GPIO_FMC_SDNWE_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN0)
+#  define GPIO_FMC_SDNWE_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN5)
+#  define GPIO_FMC_SDNRAS_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN11)
+#  define GPIO_FMC_SDCLK_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN8)
+#  define GPIO_FMC_SDNCAS_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN15)
+#  define GPIO_FMC_BA0_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#  define GPIO_FMC_BA1_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
+#  define GPIO_FMC_NREG_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN7)
 #endif
 
 #if defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469)
-#  define GPIO_FMC_SDCKE0_1  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN3)
-#  define GPIO_FMC_SDCKE0_2  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN5)
-#  define GPIO_FMC_SDNE0_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN2)
-#  define GPIO_FMC_SDNE0_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN4)
-#  define GPIO_FMC_SDNWE_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTA|GPIO_PIN7)
-#  define GPIO_FMC_SDNWE_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN0)
-#  define GPIO_FMC_SDNRAS    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN11)
-#  define GPIO_FMC_SDCLK     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN8)
-#  define GPIO_FMC_SDNCAS    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN15)
-#  define GPIO_FMC_BA0       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN4)
-#  define GPIO_FMC_BA1       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN5)
+#  define GPIO_FMC_SDCKE0_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN3)
+#  define GPIO_FMC_SDCKE0_2  (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN5)
+#  define GPIO_FMC_SDNE0_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN2)
+#  define GPIO_FMC_SDNE0_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN4)
+#  define GPIO_FMC_SDNWE_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTA|GPIO_PIN7)
+#  define GPIO_FMC_SDNWE_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN0)
+#  define GPIO_FMC_SDNRAS_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN11)
+#  define GPIO_FMC_SDCLK_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN8)
+#  define GPIO_FMC_SDNCAS_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN15)
+#  define GPIO_FMC_BA0_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#  define GPIO_FMC_BA1_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
 #endif
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F469)
-#  define GPIO_FMC_D16       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN8)
-#  define GPIO_FMC_D17       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN9)
-#  define GPIO_FMC_D18       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN10)
-#  define GPIO_FMC_D19       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN11)
-#  define GPIO_FMC_D20       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN12)
-#  define GPIO_FMC_D21       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN13)
-#  define GPIO_FMC_D22       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN14)
-#  define GPIO_FMC_D23       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN15)
-#  define GPIO_FMC_D24       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN0)
-#  define GPIO_FMC_D25       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN1)
-#  define GPIO_FMC_D26       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN2)
-#  define GPIO_FMC_D27       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN3)
-#  define GPIO_FMC_D28       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN6)
-#  define GPIO_FMC_D29       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN7)
-#  define GPIO_FMC_D30       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN9)
-#  define GPIO_FMC_D31       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN10)
-#  define GPIO_FMC_NBL2      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN4)
-#  define GPIO_FMC_NBL3      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTI|GPIO_PIN5)
-#  define GPIO_FMC_SDCKE0_3  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN2)
-#  define GPIO_FMC_SDCKE1_1  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTB|GPIO_PIN5)
-#  define GPIO_FMC_SDCKE1_2  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN7)
-#  define GPIO_FMC_SDNE0_3   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN3)
-#  define GPIO_FMC_SDNE1_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTB|GPIO_PIN6)
-#  define GPIO_FMC_SDNE1_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN6)
-#  define GPIO_FMC_SDNWE_3   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN5)
+#  define GPIO_FMC_D16_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN8)
+#  define GPIO_FMC_D17_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN9)
+#  define GPIO_FMC_D18_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN10)
+#  define GPIO_FMC_D19_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN11)
+#  define GPIO_FMC_D20_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN12)
+#  define GPIO_FMC_D21_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN13)
+#  define GPIO_FMC_D22_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN14)
+#  define GPIO_FMC_D23_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN15)
+#  define GPIO_FMC_D24_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN0)
+#  define GPIO_FMC_D25_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN1)
+#  define GPIO_FMC_D26_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN2)
+#  define GPIO_FMC_D27_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN3)
+#  define GPIO_FMC_D28_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN6)
+#  define GPIO_FMC_D29_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN7)
+#  define GPIO_FMC_D30_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN9)
+#  define GPIO_FMC_D31_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN10)
+#  define GPIO_FMC_NBL2_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN4)
+#  define GPIO_FMC_NBL3_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTI|GPIO_PIN5)
+#  define GPIO_FMC_SDCKE0_3  (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN2)
+#  define GPIO_FMC_SDCKE1_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN5)
+#  define GPIO_FMC_SDCKE1_2  (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN7)
+#  define GPIO_FMC_SDNE0_3   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN3)
+#  define GPIO_FMC_SDNE1_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
+#  define GPIO_FMC_SDNE1_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN6)
+#  define GPIO_FMC_SDNWE_3   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN5)
 #endif
 
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_FMC_SDCKE1    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTB|GPIO_PIN5)
-#  define GPIO_FMC_SDNE1     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTB|GPIO_PIN6)
+#  define GPIO_FMC_SDCKE1_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN5)
+#  define GPIO_FMC_SDNE1_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN6)
 #endif
 
 #if defined(CONFIG_STM32_STM32F469)
-#  define GPIO_FMC_CLE       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN11)
-#  define GPIO_FMC_ALE       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN12)
+#  define GPIO_FMC_CLE_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
+#  define GPIO_FMC_ALE_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
 #endif
 
 /* Flexible Static Memory Controller (FSMC) */
 
-#define GPIO_FSMC_A0          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN0)
-#define GPIO_FSMC_A1          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN1)
-#define GPIO_FSMC_A2          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN2)
-#define GPIO_FSMC_A3          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN3)
-#define GPIO_FSMC_A4          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN4)
-#define GPIO_FSMC_A5          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN5)
-#define GPIO_FSMC_A6          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN12)
-#define GPIO_FSMC_A7          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN13)
-#define GPIO_FSMC_A8          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN14)
-#define GPIO_FSMC_A9          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN15)
-#define GPIO_FSMC_A10         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN0)
-#define GPIO_FSMC_A11         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN1)
-#define GPIO_FSMC_A12         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN2)
-#define GPIO_FSMC_A13         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN3)
-#define GPIO_FSMC_A14         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN4)
-#define GPIO_FSMC_A15         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN5)
-#define GPIO_FSMC_A16         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN11)
-#define GPIO_FSMC_A17         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_FSMC_A18         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN13)
-#define GPIO_FSMC_A19         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN3)
-#define GPIO_FSMC_A20         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN4)
-#define GPIO_FSMC_A21         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_FSMC_A22         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_FSMC_A23         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_FSMC_A24         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN13)
-#define GPIO_FSMC_A25         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN14)
-#define GPIO_FSMC_NBL1        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN1)
-#define GPIO_FSMC_CLK         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN3)
-#define GPIO_FSMC_D0          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN14)
-#define GPIO_FSMC_D1          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN15)
-#define GPIO_FSMC_D2          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN0)
-#define GPIO_FSMC_D3          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN1)
-#define GPIO_FSMC_D4          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN7)
-#define GPIO_FSMC_D5          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN8)
-#define GPIO_FSMC_D6          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN9)
-#define GPIO_FSMC_D7          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN10)
-#define GPIO_FSMC_D8          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN11)
-#define GPIO_FSMC_D9          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN12)
-#define GPIO_FSMC_D10         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN13)
-#define GPIO_FSMC_D11         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN14)
-#define GPIO_FSMC_D12         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN15)
-#define GPIO_FSMC_D13         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN8)
-#define GPIO_FSMC_D14         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN9)
-#define GPIO_FSMC_D15         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN10)
-#define GPIO_FSMC_NBL0        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTE|GPIO_PIN0)
-#define GPIO_FSMC_NE1         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN7)
-#define GPIO_FSMC_NE2         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN9)
-#define GPIO_FSMC_NE3         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN10)
-#define GPIO_FSMC_NE4         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN12)
-#define GPIO_FSMC_NL          (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_FSMC_NOE         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN4)
-#define GPIO_FSMC_NWAIT       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN6)
-#define GPIO_FSMC_NWE         (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN5)
-
-#define GPIO_FSMC_INT3        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN7)
-#define GPIO_FSMC_NCE3        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_FSMC_A0_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN0)
+#define GPIO_FSMC_A1_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN1)
+#define GPIO_FSMC_A2_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN2)
+#define GPIO_FSMC_A3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN3)
+#define GPIO_FSMC_A4_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN4)
+#define GPIO_FSMC_A5_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN5)
+#define GPIO_FSMC_A6_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN12)
+#define GPIO_FSMC_A7_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN13)
+#define GPIO_FSMC_A8_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN14)
+#define GPIO_FSMC_A9_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN15)
+#define GPIO_FSMC_A10_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN0)
+#define GPIO_FSMC_A11_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN1)
+#define GPIO_FSMC_A12_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN2)
+#define GPIO_FSMC_A13_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN3)
+#define GPIO_FSMC_A14_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#define GPIO_FSMC_A15_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
+#define GPIO_FSMC_A16_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN11)
+#define GPIO_FSMC_A17_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN12)
+#define GPIO_FSMC_A18_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN13)
+#define GPIO_FSMC_A19_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN3)
+#define GPIO_FSMC_A20_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN4)
+#define GPIO_FSMC_A21_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_FSMC_A22_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_FSMC_A23_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN2)
+#define GPIO_FSMC_A24_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN13)
+#define GPIO_FSMC_A25_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN14)
+#define GPIO_FSMC_NBL1_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN1)
+#define GPIO_FSMC_CLK_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN3)
+#define GPIO_FSMC_D0_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN14)
+#define GPIO_FSMC_D1_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN15)
+#define GPIO_FSMC_D2_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN0)
+#define GPIO_FSMC_D3_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN1)
+#define GPIO_FSMC_D4_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN7)
+#define GPIO_FSMC_D5_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN8)
+#define GPIO_FSMC_D6_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN9)
+#define GPIO_FSMC_D7_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN10)
+#define GPIO_FSMC_D8_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN11)
+#define GPIO_FSMC_D9_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN12)
+#define GPIO_FSMC_D10_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN13)
+#define GPIO_FSMC_D11_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN14)
+#define GPIO_FSMC_D12_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN15)
+#define GPIO_FSMC_D13_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN8)
+#define GPIO_FSMC_D14_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN9)
+#define GPIO_FSMC_D15_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN10)
+#define GPIO_FSMC_NBL0_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTE|GPIO_PIN0)
+#define GPIO_FSMC_NE1_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
+#define GPIO_FSMC_NE2_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_FSMC_NE3_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
+#define GPIO_FSMC_NE4_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN12)
+#define GPIO_FSMC_NL_0        (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_FSMC_NOE_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN4)
+#define GPIO_FSMC_NWAIT_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN6)
+#define GPIO_FSMC_NWE_0       (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN5)
+
+#define GPIO_FSMC_INT3_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN7)
+#define GPIO_FSMC_NCE3_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN9)
 
 #if defined(CONFIG_STM32_STM32F401) || defined(CONFIG_STM32_STM32F411) || \
     defined(CONFIG_STM32_STM32F405) || defined(CONFIG_STM32_STM32F407)
-#  define GPIO_FSMC_CD        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN9)
-#  define GPIO_FSMC_INT2      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN6)
-#  define GPIO_FSMC_INTR      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN10)
-#  define GPIO_FSMC_NCE2      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTD|GPIO_PIN7)
-#  define GPIO_FSMC_NCE4_1    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN10)
-#  define GPIO_FSMC_NCE4_2    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN11)
-#  define GPIO_FSMC_NIORD     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN6)
-#  define GPIO_FSMC_NIOWR     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN8)
-#  define GPIO_FSMC_SDCKE0_1  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN2)
-#  define GPIO_FSMC_SDCKE0_2  (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN3)
-#  define GPIO_FSMC_SDNE0_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN3)
-#  define GPIO_FSMC_SDNE0_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN2)
-#  define GPIO_FSMC_SDNWE_1   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTC|GPIO_PIN0)
-#  define GPIO_FSMC_SDNWE_2   (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTH|GPIO_PIN5)
-#  define GPIO_FSMC_SDNRAS    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN11)
-#  define GPIO_FSMC_SDCLK     (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN8)
-#  define GPIO_FSMC_SDNCAS    (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN15)
-#  define GPIO_FSMC_BA0       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN4)
-#  define GPIO_FSMC_BA1       (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTG|GPIO_PIN5)
-#  define GPIO_FSMC_NREG      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PORTF|GPIO_PIN7)
+#  define GPIO_FSMC_CD_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN9)
+#  define GPIO_FSMC_INT2_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN6)
+#  define GPIO_FSMC_INTR_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN10)
+#  define GPIO_FSMC_NCE2_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTD|GPIO_PIN7)
+#  define GPIO_FSMC_NCE4_1    (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN10)
+#  define GPIO_FSMC_NCE4_2    (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN11)
+#  define GPIO_FSMC_NIORD_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN6)
+#  define GPIO_FSMC_NIOWR_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN8)
+#  define GPIO_FSMC_SDCKE0_1  (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN2)
+#  define GPIO_FSMC_SDCKE0_2  (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN3)
+#  define GPIO_FSMC_SDNE0_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN3)
+#  define GPIO_FSMC_SDNE0_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN2)
+#  define GPIO_FSMC_SDNWE_1   (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN0)
+#  define GPIO_FSMC_SDNWE_2   (GPIO_ALT|GPIO_AF12|GPIO_PORTH|GPIO_PIN5)
+#  define GPIO_FSMC_SDNRAS_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN11)
+#  define GPIO_FSMC_SDCLK_0   (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN8)
+#  define GPIO_FSMC_SDNCAS_0  (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN15)
+#  define GPIO_FSMC_BA0_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN4)
+#  define GPIO_FSMC_BA1_0     (GPIO_ALT|GPIO_AF12|GPIO_PORTG|GPIO_PIN5)
+#  define GPIO_FSMC_NREG_0    (GPIO_ALT|GPIO_AF12|GPIO_PORTF|GPIO_PIN7)
 #endif
 
 /* I2C */
 
-#define GPIO_I2C1_SCL_1       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN6)
-#define GPIO_I2C1_SCL_2       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_I2C1_SDA_1       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN7)
-#define GPIO_I2C1_SDA_2       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_I2C1_SMBA        (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
-
-#define GPIO_I2C2_SCL_1       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_I2C2_SCL_2       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN1)
-#define GPIO_I2C2_SCL_3       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN4)
-#define GPIO_I2C2_SDA_1       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_I2C2_SDA_2       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN0)
-#define GPIO_I2C2_SDA_3       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN5)
-#define GPIO_I2C2_SMBA_1      (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_I2C2_SMBA_2      (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN2)
-#define GPIO_I2C2_SMBA_3      (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN6)
+#define GPIO_I2C1_SCL_1       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_I2C1_SCL_2       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_I2C1_SDA_1       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_I2C1_SDA_2       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_I2C1_SMBA_0      (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN5)
+
+#define GPIO_I2C2_SCL_1       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_I2C2_SCL_2       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN1)
+#define GPIO_I2C2_SCL_3       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN4)
+#define GPIO_I2C2_SDA_1       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_I2C2_SDA_2       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN0)
+#define GPIO_I2C2_SDA_3       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN5)
+#define GPIO_I2C2_SMBA_1      (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_I2C2_SMBA_2      (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN2)
+#define GPIO_I2C2_SMBA_3      (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN6)
 #if defined(CONFIG_STM32_STM32F411)
-#  define GPIO_I2C2_SDA_4     (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN3)
-#  define GPIO_I2C2_SDA_5     (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN9)
+#  define GPIO_I2C2_SDA_4     (GPIO_ALT|GPIO_AF9|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN3)
+#  define GPIO_I2C2_SDA_5     (GPIO_ALT|GPIO_AF9|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN9)
 #endif
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_I2C2_SDA_4     (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN3)
-#  define GPIO_I2C2_SDA_5     (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN12)
+#  define GPIO_I2C2_SDA_4     (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN3)
+#  define GPIO_I2C2_SDA_5     (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN12)
 #endif
 
-#define GPIO_I2C3_SCL_1       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_I2C3_SCL_2       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN7)
-#define GPIO_I2C3_SDA_1       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_I2C3_SDA_2       (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN8)
+#define GPIO_I2C3_SCL_1       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_I2C3_SCL_2       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN7)
+#define GPIO_I2C3_SDA_1       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_I2C3_SDA_2       (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTH|GPIO_PIN8)
 #if defined(CONFIG_STM32_STM32F411)
-#  define GPIO_I2C3_SDA_3     (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN4)
-#  define GPIO_I2C3_SDA_4     (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN8)
+#  define GPIO_I2C3_SDA_3     (GPIO_ALT|GPIO_AF9|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN4)
+#  define GPIO_I2C3_SDA_4     (GPIO_ALT|GPIO_AF9|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN8)
 #endif
-#define GPIO_I2C3_SMBA_1      (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_I2C3_SMBA_2      (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN9)
+#define GPIO_I2C3_SMBA_1      (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_I2C3_SMBA_2      (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN9)
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_I2C3_SDA_3     (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN4)
+#  define GPIO_I2C3_SDA_3     (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN4)
 #endif
 
 /* I2S */
@@ -537,7 +537,7 @@
 #  define GPIO_I2S2_WS_7      (GPIO_ALT|GPIO_AF7|GPIO_PORTB|GPIO_PIN4)
 #  define GPIO_I2S2_WS_8      (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN1)
 #else
-#  define GPIO_I2S2_MCK       (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN6)
+#  define GPIO_I2S2_MCK_0     (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN6)
 #endif
 
 #define GPIO_I2S2EXT_SD_1     (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN14)
@@ -546,7 +546,7 @@
 
 #define GPIO_I2S3_CK_1        (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN3)
 #define GPIO_I2S3_CK_2        (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_I2S3_MCK         (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_I2S3_MCK_0       (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN7)
 #define GPIO_I2S3_SD_1        (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN5)
 #define GPIO_I2S3_SD_2        (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN12)
 #define GPIO_I2S3_WS_1        (GPIO_ALT|GPIO_AF6|GPIO_PORTA|GPIO_PIN4)
@@ -569,178 +569,178 @@
 
 #define GPIO_I2S3EXT_SD_1     (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN11)
 
-#define GPIO_I2S_CKIN         (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_I2S_CKIN_0       (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN9)
 
 /* 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/HS (VBUS PA9 is not an alternate configuration) */
 
-#define GPIO_OTGFS_DM         (GPIO_ALT|GPIO_FLOAT|GPIO_AF10|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_OTGFS_DP         (GPIO_ALT|GPIO_FLOAT|GPIO_AF10|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
-#define GPIO_OTGFS_ID         (GPIO_ALT|GPIO_PULLUP|GPIO_AF10|GPIO_SPEED_100MHz|GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_OTGFS_SOF        (GPIO_ALT|GPIO_FLOAT|GPIO_AF10|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-
-#define GPIO_OTGHSFS_DM       (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_OTGHSFS_DP       (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_OTGHSFS_ID       (GPIO_ALT|GPIO_PULLUP|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN12)
-
-#define GPIO_OTGHS_DM         (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_OTGHS_DP         (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_OTGHS_ID         (GPIO_ALT|GPIO_PULLUP|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_OTGHS_SOF        (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN4)
-
-#define GPIO_OTGHS_ULPI_CK    (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_OTGHS_ULPI_D0    (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_OTGHS_ULPI_D1    (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN0)
-#define GPIO_OTGHS_ULPI_D2    (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN1)
-#define GPIO_OTGHS_ULPI_D3    (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_OTGHS_ULPI_D5    (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_OTGHS_ULPI_D6    (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_OTGHS_ULPI_D7    (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_OTGFS_DM_0       (GPIO_ALT|GPIO_FLOAT|GPIO_AF10|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_OTGFS_DP_0       (GPIO_ALT|GPIO_FLOAT|GPIO_AF10|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_OTGFS_ID_0       (GPIO_ALT|GPIO_PULLUP|GPIO_AF10|GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_OTGFS_SOF_0      (GPIO_ALT|GPIO_FLOAT|GPIO_AF10|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+
+#define GPIO_OTGHSFS_DM_0     (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_OTGHSFS_DP_0     (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_OTGHSFS_ID_0     (GPIO_ALT|GPIO_PULLUP|GPIO_AF12|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN12)
+
+#define GPIO_OTGHS_DM_0       (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_OTGHS_DP_0       (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_OTGHS_ID_0       (GPIO_ALT|GPIO_PULLUP|GPIO_AF12|GPIO_OPENDRAIN|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_OTGHS_SOF_0      (GPIO_ALT|GPIO_FLOAT|GPIO_AF12|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN4)
+
+#define GPIO_OTGHS_ULPI_CK_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_OTGHS_ULPI_D0_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_OTGHS_ULPI_D1_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN0)
+#define GPIO_OTGHS_ULPI_D2_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN1)
+#define GPIO_OTGHS_ULPI_D3_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_OTGHS_ULPI_D5_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_OTGHS_ULPI_D6_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_OTGHS_ULPI_D7_0  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN5)
 #define GPIO_OTGHS_ULPI_DIR_1 (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN2)
 #define GPIO_OTGHS_ULPI_DIR_2 (GPIO_ALT|GPIO_AF10|GPIO_PORTI|GPIO_PIN11)
 #define GPIO_OTGHS_ULPI_NXT_1 (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN3)
 #define GPIO_OTGHS_ULPI_NXT_2 (GPIO_ALT|GPIO_AF10|GPIO_PORTH|GPIO_PIN4)
-#define GPIO_OTGHS_ULPI_STP   (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN0)
+#define GPIO_OTGHS_ULPI_STP_0 (GPIO_ALT|GPIO_AF10|GPIO_PORTC|GPIO_PIN0)
 
 #if defined(CONFIG_STM32_STM32F446)
 #  define GPIO_OTGHS_ULPI_D4_1 (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN11)
 #  define GPIO_OTGHS_ULPI_D4_2 (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN2)
 #else
-#  define GPIO_OTGHS_ULPI_D4  (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN11)
+#  define GPIO_OTGHS_ULPI_D4_0 (GPIO_ALT|GPIO_AF10|GPIO_PORTB|GPIO_PIN11)
 #endif
 
 /* RTC */
 
-#define GPIO_RTC_50HZ         (GPIO_ALT|GPIO_AF0|GPIO_PORTC|GPIO_PIN15)
+#define GPIO_RTC_50HZ_0       (GPIO_ALT|GPIO_AF0|GPIO_PORTC|GPIO_PIN15)
 
 /* SDIO
  *
- * Note that the below configures GPIO_SPEED_50MHz I/O, that means for using
- * the SDIO that you must enable I/O Compensation via the configuration
+ * Note if the board uses GPIO_SPEED_50MHz I/O, for using the SDIO that you
+ * must enable I/O Compensation via the configuration
  * option CONFIG_STM32_SYSCFG_IOCOMPENSATION=y.
  */
 
-#define GPIO_SDIO_CMD         (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN2)
-#define GPIO_SDIO_D0          (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_SDIO_D3          (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_SDIO_D4          (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_SDIO_D5          (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_SDIO_D6          (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_SDIO_D7          (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_SDIO_CMD_0       (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_SDIO_D0_0        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_SDIO_D3_0        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_SDIO_D4_0        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_SDIO_D5_0        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_SDIO_D6_0        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_SDIO_D7_0        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
 
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_SDIO_CK_1      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN12)
-#  define GPIO_SDIO_CK_2      (GPIO_ALT|GPIO_AF12|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN2)
-#  define GPIO_SDIO_D1_1      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#  define GPIO_SDIO_D1_2      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#  define GPIO_SDIO_D2_1      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
-#  define GPIO_SDIO_D2_2      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#  define GPIO_SDIO_CK_1      (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
+#  define GPIO_SDIO_CK_2      (GPIO_ALT|GPIO_AF12|GPIO_PORTB|GPIO_PIN2)
+#  define GPIO_SDIO_D1_1      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#  define GPIO_SDIO_D1_2      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#  define GPIO_SDIO_D2_1      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
+#  define GPIO_SDIO_D2_2      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
 #else
-#  define GPIO_SDIO_CK        (GPIO_ALT|GPIO_AF12|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN12)
-#  define GPIO_SDIO_D1        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#  define GPIO_SDIO_D2        (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
+#  define GPIO_SDIO_CK_0      (GPIO_ALT|GPIO_AF12|GPIO_PORTC|GPIO_PIN12)
+#  define GPIO_SDIO_D1_0      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#  define GPIO_SDIO_D2_0      (GPIO_ALT|GPIO_AF12|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
 #endif
 
 /* SPI */
 
-#define GPIO_SPI1_MISO_1      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_SPI1_MISO_2      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_SPI1_MOSI_1      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_SPI1_MOSI_2      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_SPI1_NSS_1       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_SPI1_NSS_2       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_SPI1_SCK_1       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN5)
-#define GPIO_SPI1_SCK_2       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN3)
-
-#define GPIO_SPI2_MISO_1      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_SPI2_MISO_2      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN2)
-#define GPIO_SPI2_MISO_3      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTI|GPIO_PIN2)
-#define GPIO_SPI2_MOSI_1      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_SPI2_MOSI_2      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN3)
-#define GPIO_SPI2_MOSI_3      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTI|GPIO_PIN3)
-#define GPIO_SPI2_NSS_1       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN12)
-#define GPIO_SPI2_NSS_2       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_SPI2_NSS_3       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTI|GPIO_PIN0)
-#define GPIO_SPI2_SCK_1       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_SPI2_SCK_2       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN13)
-#define GPIO_SPI2_SCK_3       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTI|GPIO_PIN1)
+#define GPIO_SPI1_MISO_1      (GPIO_ALT|GPIO_AF5|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_SPI1_MISO_2      (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_SPI1_MOSI_1      (GPIO_ALT|GPIO_AF5|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_SPI1_MOSI_2      (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_SPI1_NSS_1       (GPIO_ALT|GPIO_AF5|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_SPI1_NSS_2       (GPIO_ALT|GPIO_AF5|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_SPI1_SCK_1       (GPIO_ALT|GPIO_AF5|GPIO_PORTA|GPIO_PIN5)
+#define GPIO_SPI1_SCK_2       (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN3)
+
+#define GPIO_SPI2_MISO_1      (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_SPI2_MISO_2      (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN2)
+#define GPIO_SPI2_MISO_3      (GPIO_ALT|GPIO_AF5|GPIO_PORTI|GPIO_PIN2)
+#define GPIO_SPI2_MOSI_1      (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_SPI2_MOSI_2      (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN3)
+#define GPIO_SPI2_MOSI_3      (GPIO_ALT|GPIO_AF5|GPIO_PORTI|GPIO_PIN3)
+#define GPIO_SPI2_NSS_1       (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN12)
+#define GPIO_SPI2_NSS_2       (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_SPI2_NSS_3       (GPIO_ALT|GPIO_AF5|GPIO_PORTI|GPIO_PIN0)
+#define GPIO_SPI2_SCK_1       (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_SPI2_SCK_2       (GPIO_ALT|GPIO_AF5|GPIO_PORTB|GPIO_PIN13)
+#define GPIO_SPI2_SCK_3       (GPIO_ALT|GPIO_AF5|GPIO_PORTI|GPIO_PIN1)
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469)
-#  define GPIO_SPI2_SCK_4     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTD|GPIO_PIN3)
+#  define GPIO_SPI2_SCK_4     (GPIO_ALT|GPIO_AF5|GPIO_PORTD|GPIO_PIN3)
 #endif
 #if defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469)
-#  define GPIO_SPI2_SCK_5     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN9)
+#  define GPIO_SPI2_SCK_5     (GPIO_ALT|GPIO_AF5|GPIO_PORTA|GPIO_PIN9)
 #endif
 #if defined(CONFIG_STM32_STM32F469)
-#  define GPIO_SPI2_MOSI_4    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN1)
+#  define GPIO_SPI2_MOSI_4    (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN1)
 #endif
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_SPI2_MOSI_4    (GPIO_ALT|GPIO_AF7|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN1)
-#  define GPIO_SPI2_NSS_4     (GPIO_ALT|GPIO_AF7|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN4)
-#  define GPIO_SPI2_NSS_5     (GPIO_ALT|GPIO_AF7|GPIO_SPEED_50MHz|GPIO_PORTD|GPIO_PIN1)
-#  define GPIO_SPI2_SCK_6     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN7)
+#  define GPIO_SPI2_MOSI_4    (GPIO_ALT|GPIO_AF7|GPIO_PORTC|GPIO_PIN1)
+#  define GPIO_SPI2_NSS_4     (GPIO_ALT|GPIO_AF7|GPIO_PORTB|GPIO_PIN4)
+#  define GPIO_SPI2_NSS_5     (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN1)
+#  define GPIO_SPI2_SCK_6     (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN7)
 #endif
 
-#define GPIO_SPI3_MISO_1      (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN4)
-#define GPIO_SPI3_MISO_2      (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_SPI3_MOSI_1      (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN5)
-#define GPIO_SPI3_MOSI_2      (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN12)
-#define GPIO_SPI3_NSS_1       (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_SPI3_NSS_2       (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTA|GPIO_PIN4)
-#define GPIO_SPI3_SCK_1       (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN3)
-#define GPIO_SPI3_SCK_2       (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_SPI3_MISO_1      (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN4)
+#define GPIO_SPI3_MISO_2      (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_SPI3_MOSI_1      (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN5)
+#define GPIO_SPI3_MOSI_2      (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_SPI3_NSS_1       (GPIO_ALT|GPIO_AF6|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_SPI3_NSS_2       (GPIO_ALT|GPIO_AF6|GPIO_PORTA|GPIO_PIN4)
+#define GPIO_SPI3_SCK_1       (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_SPI3_SCK_2       (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN10)
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469)
-#  define GPIO_SPI3_MOSI_3    (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTD|GPIO_PIN6)
+#  define GPIO_SPI3_MOSI_3    (GPIO_ALT|GPIO_AF6|GPIO_PORTD|GPIO_PIN6)
 #endif
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_SPI3_MOSI_4    (GPIO_ALT|GPIO_AF7|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN0)
-#  define GPIO_SPI3_MOSI_5    (GPIO_ALT|GPIO_AF7|GPIO_SPEED_50MHz|GPIO_PORTB|GPIO_PIN2)
-#  define GPIO_SPI3_MOSI_6    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTC|GPIO_PIN1)
-#  define GPIO_SPI3_MOSI_7    (GPIO_ALT|GPIO_AF6|GPIO_SPEED_50MHz|GPIO_PORTD|GPIO_PIN0)
+#  define GPIO_SPI3_MOSI_4    (GPIO_ALT|GPIO_AF7|GPIO_PORTB|GPIO_PIN0)
+#  define GPIO_SPI3_MOSI_5    (GPIO_ALT|GPIO_AF7|GPIO_PORTB|GPIO_PIN2)
+#  define GPIO_SPI3_MOSI_6    (GPIO_ALT|GPIO_AF5|GPIO_PORTC|GPIO_PIN1)
+#  define GPIO_SPI3_MOSI_7    (GPIO_ALT|GPIO_AF6|GPIO_PORTD|GPIO_PIN0)
 #endif
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469) || \
     defined(CONFIG_STM32_STM32F411)
-#  define GPIO_SPI4_MISO_1    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN5)
-#  define GPIO_SPI4_MISO_2    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN13)
-#  define GPIO_SPI4_MOSI_1    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN6)
-#  define GPIO_SPI4_MOSI_2    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN14)
-#  define GPIO_SPI4_NSS_1     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN4)
-#  define GPIO_SPI4_NSS_2     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN11)
-#  define GPIO_SPI4_SCK_1     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN2)
-#  define GPIO_SPI4_SCK_2     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTE|GPIO_PIN12)
+#  define GPIO_SPI4_MISO_1    (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN5)
+#  define GPIO_SPI4_MISO_2    (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN13)
+#  define GPIO_SPI4_MOSI_1    (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN6)
+#  define GPIO_SPI4_MOSI_2    (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN14)
+#  define GPIO_SPI4_NSS_1     (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN4)
+#  define GPIO_SPI4_NSS_2     (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN11)
+#  define GPIO_SPI4_SCK_1     (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN2)
+#  define GPIO_SPI4_SCK_2     (GPIO_ALT|GPIO_AF5|GPIO_PORTE|GPIO_PIN12)
 #endif
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_SPI4_MISO_3    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTD|GPIO_PIN0)
+#  define GPIO_SPI4_MISO_3    (GPIO_ALT|GPIO_AF5|GPIO_PORTD|GPIO_PIN0)
 #endif
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F469) || defined(CONFIG_STM32_STM32F411)
-#  define GPIO_SPI5_MISO_1    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTF|GPIO_PIN8)
-#  define GPIO_SPI5_MISO_2    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTH|GPIO_PIN7)
-#  define GPIO_SPI5_MOSI_1    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTF|GPIO_PIN9)
-#  define GPIO_SPI5_MOSI_2    (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTF|GPIO_PIN11)
-#  define GPIO_SPI5_NSS_1     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTF|GPIO_PIN6)
-#  define GPIO_SPI5_NSS_2     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTH|GPIO_PIN5)
-#  define GPIO_SPI5_SCK_1     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTF|GPIO_PIN7)
-#  define GPIO_SPI5_SCK_2     (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTH|GPIO_PIN6)
+#  define GPIO_SPI5_MISO_1    (GPIO_ALT|GPIO_AF5|GPIO_PORTF|GPIO_PIN8)
+#  define GPIO_SPI5_MISO_2    (GPIO_ALT|GPIO_AF5|GPIO_PORTH|GPIO_PIN7)
+#  define GPIO_SPI5_MOSI_1    (GPIO_ALT|GPIO_AF5|GPIO_PORTF|GPIO_PIN9)
+#  define GPIO_SPI5_MOSI_2    (GPIO_ALT|GPIO_AF5|GPIO_PORTF|GPIO_PIN11)
+#  define GPIO_SPI5_NSS_1     (GPIO_ALT|GPIO_AF5|GPIO_PORTF|GPIO_PIN6)
+#  define GPIO_SPI5_NSS_2     (GPIO_ALT|GPIO_AF5|GPIO_PORTH|GPIO_PIN5)
+#  define GPIO_SPI5_SCK_1     (GPIO_ALT|GPIO_AF5|GPIO_PORTF|GPIO_PIN7)
+#  define GPIO_SPI5_SCK_2     (GPIO_ALT|GPIO_AF5|GPIO_PORTH|GPIO_PIN6)
 #endif
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F469)
-#  define GPIO_SPI6_MISO      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTG|GPIO_PIN12)
-#  define GPIO_SPI6_MOSI      (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTG|GPIO_PIN14)
-#  define GPIO_SPI6_NSS       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTG|GPIO_PIN8)
-#  define GPIO_SPI6_SCK       (GPIO_ALT|GPIO_AF5|GPIO_SPEED_50MHz|GPIO_PORTG|GPIO_PIN13)
+#  define GPIO_SPI6_MISO_0    (GPIO_ALT|GPIO_AF5|GPIO_PORTG|GPIO_PIN12)
+#  define GPIO_SPI6_MOSI_0    (GPIO_ALT|GPIO_AF5|GPIO_PORTG|GPIO_PIN14)
+#  define GPIO_SPI6_NSS_0     (GPIO_ALT|GPIO_AF5|GPIO_PORTG|GPIO_PIN8)
+#  define GPIO_SPI6_SCK_0     (GPIO_ALT|GPIO_AF5|GPIO_PORTG|GPIO_PIN13)
 #endif
 
 /* Timers */
@@ -751,200 +751,200 @@
 #define GPIO_TIM1_CH1N_1      (GPIO_ALT|GPIO_AF1|GPIO_PORTA|GPIO_PIN7)
 #define GPIO_TIM1_CH1N_2      (GPIO_ALT|GPIO_AF1|GPIO_PORTB|GPIO_PIN13)
 #define GPIO_TIM1_CH1N_3      (GPIO_ALT|GPIO_AF1|GPIO_PORTE|GPIO_PIN8)
-#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_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_CH2N_1      (GPIO_ALT|GPIO_AF1|GPIO_PORTB|GPIO_PIN0)
 #define GPIO_TIM1_CH2N_2      (GPIO_ALT|GPIO_AF1|GPIO_PORTB|GPIO_PIN14)
 #define GPIO_TIM1_CH2N_3      (GPIO_ALT|GPIO_AF1|GPIO_PORTE|GPIO_PIN10)
-#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_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_CH3N_1      (GPIO_ALT|GPIO_AF1|GPIO_PORTB|GPIO_PIN1)
 #define GPIO_TIM1_CH3N_2      (GPIO_ALT|GPIO_AF1|GPIO_PORTB|GPIO_PIN15)
 #define GPIO_TIM1_CH3N_3      (GPIO_ALT|GPIO_AF1|GPIO_PORTE|GPIO_PIN12)
-#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_ETR_1       (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN12)
-#define GPIO_TIM1_ETR_2       (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|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_PIN15)
-#define GPIO_TIM2_CH1IN_3     (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
-#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_PIN15)
-#define GPIO_TIM2_CH1OUT_3    (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
-#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_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM2_ETR_2       (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
-#define GPIO_TIM2_ETR_3       (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
-
-#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_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_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_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_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_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_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_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_ETR         (GPIO_ALT|GPIO_AF2|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTD|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_SPEED_50MHz|GPIO_FLOAT|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_PORTH|GPIO_PIN10)
-#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_PORTH|GPIO_PIN10)
-#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_PORTH|GPIO_PIN11)
-#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_PORTH|GPIO_PIN11)
-#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_PORTH|GPIO_PIN12)
-#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_PORTH|GPIO_PIN12)
-#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_PORTI|GPIO_PIN0)
-#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_PORTI|GPIO_PIN0)
-#define GPIO_TIM5_ETR         (GPIO_ALT|GPIO_AF2|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTH|GPIO_PIN10)
+#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_ETR_1       (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_TIM1_ETR_2       (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|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_PIN15)
+#define GPIO_TIM2_CH1IN_3     (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
+#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_PIN15)
+#define GPIO_TIM2_CH1OUT_3    (GPIO_ALT|GPIO_AF1|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN5)
+#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_AF1|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM2_ETR_2       (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN15)
+#define GPIO_TIM2_ETR_3       (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN5)
+
+#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_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_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_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_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_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_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_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_ETR_0       (GPIO_ALT|GPIO_AF2|GPIO_FLOAT|GPIO_PORTD|GPIO_PIN2)
+
+#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_FLOAT|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_PORTH|GPIO_PIN10)
+#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_PORTH|GPIO_PIN10)
+#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_PORTH|GPIO_PIN11)
+#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_PORTH|GPIO_PIN11)
+#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_PORTH|GPIO_PIN12)
+#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_PORTH|GPIO_PIN12)
+#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_PORTI|GPIO_PIN0)
+#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_PORTI|GPIO_PIN0)
+#define GPIO_TIM5_ETR_0       (GPIO_ALT|GPIO_AF2|GPIO_FLOAT|GPIO_PORTH|GPIO_PIN10)
 
 #define GPIO_TIM8_BKIN_1      (GPIO_ALT|GPIO_AF3|GPIO_PORTA|GPIO_PIN6)
 #define GPIO_TIM8_BKIN_2      (GPIO_ALT|GPIO_AF3|GPIO_PORTI|GPIO_PIN4)
 #define GPIO_TIM8_CH1N_1      (GPIO_ALT|GPIO_AF3|GPIO_PORTA|GPIO_PIN5)
 #define GPIO_TIM8_CH1N_2      (GPIO_ALT|GPIO_AF3|GPIO_PORTA|GPIO_PIN7)
 #define GPIO_TIM8_CH1N_3      (GPIO_ALT|GPIO_AF3|GPIO_PORTH|GPIO_PIN13)
-#define GPIO_TIM8_CH1IN_1     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH1IN_2     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN5)
-#define GPIO_TIM8_CH1OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_TIM8_CH1OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN5)
+#define GPIO_TIM8_CH1IN_1     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH1IN_2     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN5)
+#define GPIO_TIM8_CH1OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_TIM8_CH1OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN5)
 #define GPIO_TIM8_CH2N_1      (GPIO_ALT|GPIO_AF3|GPIO_PORTB|GPIO_PIN0)
 #define GPIO_TIM8_CH2N_2      (GPIO_ALT|GPIO_AF3|GPIO_PORTB|GPIO_PIN14)
 #define GPIO_TIM8_CH2N_3      (GPIO_ALT|GPIO_AF3|GPIO_PORTH|GPIO_PIN14)
-#define GPIO_TIM8_CH2IN_1     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH2IN_2     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN6)
-#define GPIO_TIM8_CH2OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_TIM8_CH2OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN6)
+#define GPIO_TIM8_CH2IN_1     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH2IN_2     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN6)
+#define GPIO_TIM8_CH2OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_TIM8_CH2OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN6)
 #define GPIO_TIM8_CH3N_1      (GPIO_ALT|GPIO_AF3|GPIO_PORTB|GPIO_PIN1)
 #define GPIO_TIM8_CH3N_2      (GPIO_ALT|GPIO_AF3|GPIO_PORTB|GPIO_PIN15)
 #define GPIO_TIM8_CH3N_3      (GPIO_ALT|GPIO_AF3|GPIO_PORTH|GPIO_PIN15)
-#define GPIO_TIM8_CH3IN_1     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH3IN_2     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN7)
-#define GPIO_TIM8_CH3OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
-#define GPIO_TIM8_CH3OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN7)
-#define GPIO_TIM8_CH4IN_1     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH4IN_2     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN2)
-#define GPIO_TIM8_CH4OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
-#define GPIO_TIM8_CH4OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN2)
-#define GPIO_TIM8_ETR_1       (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_TIM8_ETR_2       (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN3)
-
-#define GPIO_TIM9_CH1IN_1     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM9_CH1IN_2     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM9_CH1OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_TIM9_CH1OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
-#define GPIO_TIM9_CH2IN_1     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM9_CH2IN_2     (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
-#define GPIO_TIM9_CH2OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_TIM9_CH2OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
-
-#define GPIO_TIM10_CH1IN_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM10_CH1IN_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
-#define GPIO_TIM10_CH1OUT_1   (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#define GPIO_TIM10_CH1OUT_2   (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
-
-#define GPIO_TIM11_CH1IN_1    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM11_CH1IN_2    (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
-#define GPIO_TIM11_CH1OUT_1   (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#define GPIO_TIM11_CH1OUT_2   (GPIO_ALT|GPIO_AF3|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
-
-#define GPIO_TIM12_CH1IN_1    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTH|GPIO_PIN6)
-#define GPIO_TIM12_CH1IN_2    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM12_CH1OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN6)
-#define GPIO_TIM12_CH1OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
-#define GPIO_TIM12_CH2IN_1    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM12_CH2IN_2    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTH|GPIO_PIN9)
-#define GPIO_TIM12_CH2OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
-#define GPIO_TIM12_CH2OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN9)
-
-#define GPIO_TIM13_CH1IN_1    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM13_CH1IN_2    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
-#define GPIO_TIM13_CH1OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#define GPIO_TIM13_CH1OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
-
-#define GPIO_TIM14_CH1IN_1    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM14_CH1IN_2    (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
-#define GPIO_TIM14_CH1OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
-#define GPIO_TIM14_CH1OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM8_CH3IN_1     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH3IN_2     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN7)
+#define GPIO_TIM8_CH3OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#define GPIO_TIM8_CH3OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN7)
+#define GPIO_TIM8_CH4IN_1     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH4IN_2     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN2)
+#define GPIO_TIM8_CH4OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN9)
+#define GPIO_TIM8_CH4OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN2)
+#define GPIO_TIM8_ETR_1       (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_TIM8_ETR_2       (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTI|GPIO_PIN3)
+
+#define GPIO_TIM9_CH1IN_1     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM9_CH1IN_2     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM9_CH1OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_TIM9_CH1OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
+#define GPIO_TIM9_CH2IN_1     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM9_CH2IN_2     (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTE|GPIO_PIN6)
+#define GPIO_TIM9_CH2OUT_1    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_TIM9_CH2OUT_2    (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
+
+#define GPIO_TIM10_CH1IN_1    (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM10_CH1IN_2    (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN6)
+#define GPIO_TIM10_CH1OUT_1   (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#define GPIO_TIM10_CH1OUT_2   (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
+
+#define GPIO_TIM11_CH1IN_1    (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM11_CH1IN_2    (GPIO_ALT|GPIO_AF3|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN7)
+#define GPIO_TIM11_CH1OUT_1   (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#define GPIO_TIM11_CH1OUT_2   (GPIO_ALT|GPIO_AF3|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
+
+#define GPIO_TIM12_CH1IN_1    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTH|GPIO_PIN6)
+#define GPIO_TIM12_CH1IN_2    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM12_CH1OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN6)
+#define GPIO_TIM12_CH1OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN14)
+#define GPIO_TIM12_CH2IN_1    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM12_CH2IN_2    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTH|GPIO_PIN9)
+#define GPIO_TIM12_CH2OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN15)
+#define GPIO_TIM12_CH2OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN9)
+
+#define GPIO_TIM13_CH1IN_1    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM13_CH1IN_2    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN8)
+#define GPIO_TIM13_CH1OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#define GPIO_TIM13_CH1OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN8)
+
+#define GPIO_TIM14_CH1IN_1    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM14_CH1IN_2    (GPIO_ALT|GPIO_AF9|GPIO_FLOAT|GPIO_PORTF|GPIO_PIN9)
+#define GPIO_TIM14_CH1OUT_1   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN7)
+#define GPIO_TIM14_CH1OUT_2   (GPIO_ALT|GPIO_AF9|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN9)
 
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_TIM2_CH1IN_4   (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
-#  define GPIO_TIM2_CH1OUT_4  (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#  define GPIO_TIM2_CH2IN_3   (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
-#  define GPIO_TIM2_CH2OUT_3  (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#  define GPIO_TIM2_CH4IN_3   (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN2)
-#  define GPIO_TIM2_CH4OUT_3  (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN2)
-#  define GPIO_TIM2_ETR_4     (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#  define GPIO_TIM2_CH1IN_4   (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
+#  define GPIO_TIM2_CH1OUT_4  (GPIO_ALT|GPIO_AF1|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#  define GPIO_TIM2_CH2IN_3   (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN9)
+#  define GPIO_TIM2_CH2OUT_3  (GPIO_ALT|GPIO_AF1|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#  define GPIO_TIM2_CH4IN_3   (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN2)
+#  define GPIO_TIM2_CH4OUT_3  (GPIO_ALT|GPIO_AF1|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN2)
+#  define GPIO_TIM2_ETR_4     (GPIO_ALT|GPIO_AF1|GPIO_FLOAT|GPIO_PORTB|GPIO_PIN8)
 #endif
 
 /* Trace */
 
-#define GPIO_TRACECLK         (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN2)
-#define GPIO_TRACESWO         (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
+#define GPIO_TRACECLK_0       (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN2)
+#define GPIO_TRACESWO_0       (GPIO_ALT|GPIO_AF0|GPIO_PORTB|GPIO_PIN3)
 
 #if defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469)
 #  define GPIO_TRACED0_1      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN3)
 #  define GPIO_TRACED1_1      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN4)
 #else
-#  define GPIO_TRACED0        (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN3)
-#  define GPIO_TRACED1        (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN4)
+#  define GPIO_TRACED0_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN3)
+#  define GPIO_TRACED1_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN4)
 #endif
 
 #if defined(CONFIG_STM32_STM32F446)
@@ -962,20 +962,20 @@
 #  define GPIO_TRACED3_1      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN6)
 #  define GPIO_TRACED3_2      (GPIO_ALT|GPIO_AF0|GPIO_PORTC|GPIO_PIN12)
 #else
-#  define GPIO_TRACED2        (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN5)
-#  define GPIO_TRACED3        (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN6)
+#  define GPIO_TRACED2_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN5)
+#  define GPIO_TRACED3_0      (GPIO_ALT|GPIO_AF0|GPIO_PORTE|GPIO_PIN6)
 #endif
 
 /* UARTs/USARTs */
 
-#define GPIO_USART1_CK        (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN8)
-#define GPIO_USART1_CTS       (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN11)
-#define GPIO_USART1_RTS       (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN12)
-#define GPIO_USART1_RX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
-#define GPIO_USART1_RX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
+#define GPIO_USART1_CK_0      (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN8)
+#define GPIO_USART1_CTS_0     (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN11)
+#define GPIO_USART1_RTS_0     (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN12)
+#define GPIO_USART1_RX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN10)
+#define GPIO_USART1_RX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN7)
 
-#define GPIO_USART1_TX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
-#define GPIO_USART1_TX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
+#define GPIO_USART1_TX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN9)
+#define GPIO_USART1_TX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN6)
 
 #define GPIO_USART2_CK_1      (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN4)
 #define GPIO_USART2_CK_2      (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN7)
@@ -983,10 +983,10 @@
 #define GPIO_USART2_CTS_2     (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN3)
 #define GPIO_USART2_RTS_1     (GPIO_ALT|GPIO_AF7|GPIO_PORTA|GPIO_PIN1)
 #define GPIO_USART2_RTS_2     (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN4)
-#define GPIO_USART2_RX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#define GPIO_USART2_RX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN6)
-#define GPIO_USART2_TX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
-#define GPIO_USART2_TX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN5)
+#define GPIO_USART2_RX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#define GPIO_USART2_RX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN6)
+#define GPIO_USART2_TX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN2)
+#define GPIO_USART2_TX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN5)
 
 #define GPIO_USART3_CK_1      (GPIO_ALT|GPIO_AF7|GPIO_PORTB|GPIO_PIN12)
 #define GPIO_USART3_CK_2      (GPIO_ALT|GPIO_AF7|GPIO_PORTC|GPIO_PIN12)
@@ -995,31 +995,31 @@
 #define GPIO_USART3_CTS_2     (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN11)
 #define GPIO_USART3_RTS_1     (GPIO_ALT|GPIO_AF7|GPIO_PORTB|GPIO_PIN14)
 #define GPIO_USART3_RTS_2     (GPIO_ALT|GPIO_AF7|GPIO_PORTD|GPIO_PIN12)
-#define GPIO_USART3_RX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
-#define GPIO_USART3_RX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_USART3_RX_3      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN9)
+#define GPIO_USART3_RX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#define GPIO_USART3_RX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_USART3_RX_3      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN9)
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_USART3_RX_4    (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
+#  define GPIO_USART3_RX_4    (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN5)
 #endif
-#define GPIO_USART3_TX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#define GPIO_USART3_TX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
-#define GPIO_USART3_TX_3      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN8)
+#define GPIO_USART3_TX_1      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#define GPIO_USART3_TX_2      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_USART3_TX_3      (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN8)
 
 #if defined(CONFIG_STM32_STM32F446)
 #  define GPIO_UART4_CTS_1    (GPIO_ALT|GPIO_AF8|GPIO_PORTB|GPIO_PIN0)
-#  define GPIO_UART4_RTS_1    (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
+#  define GPIO_UART4_RTS_1    (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15)
 #endif
-#define GPIO_UART4_RX_1       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
-#define GPIO_UART4_RX_2       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN11)
-#define GPIO_UART4_TX_1       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
-#define GPIO_UART4_TX_2       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
+#define GPIO_UART4_RX_1       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN1)
+#define GPIO_UART4_RX_2       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN11)
+#define GPIO_UART4_TX_1       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN0)
+#define GPIO_UART4_TX_2       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
 
 #if defined(CONFIG_STM32_STM32F446)
 #  define GPIO_UART5_CTS_1    (GPIO_ALT|GPIO_AF7|GPIO_PORTC|GPIO_PIN9)
-#  define GPIO_UART5_RTS_1    (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
+#  define GPIO_UART5_RTS_1    (GPIO_ALT|GPIO_AF7|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8)
 #endif
-#define GPIO_UART5_RX         (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN2)
-#define GPIO_UART5_TX         (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN12)
+#define GPIO_UART5_RX_0       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN2)
+#define GPIO_UART5_TX_0       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN12)
 
 #define GPIO_USART6_CK_1      (GPIO_ALT|GPIO_AF8|GPIO_PORTC|GPIO_PIN8)
 #define GPIO_USART6_CK_2      (GPIO_ALT|GPIO_AF8|GPIO_PORTG|GPIO_PIN7)
@@ -1027,110 +1027,110 @@
 #define GPIO_USART6_CTS_2     (GPIO_ALT|GPIO_AF8|GPIO_PORTG|GPIO_PIN15)
 #define GPIO_USART6_RTS_1     (GPIO_ALT|GPIO_AF8|GPIO_PORTG|GPIO_PIN12)
 #define GPIO_USART6_RTS_2     (GPIO_ALT|GPIO_AF8|GPIO_PORTG|GPIO_PIN8)
-#define GPIO_USART6_RX_1      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#define GPIO_USART6_RX_2      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
-#define GPIO_USART6_TX_1      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#define GPIO_USART6_TX_2      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN14)
+#define GPIO_USART6_RX_1      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#define GPIO_USART6_RX_2      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN9)
+#define GPIO_USART6_TX_1      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#define GPIO_USART6_TX_2      (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN14)
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F469)
-#  define GPIO_UART7_RX_1     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN7)
-#  define GPIO_UART7_RX_2     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
-#  define GPIO_UART7_TX_1     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
-#  define GPIO_UART7_TX_2     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
+#  define GPIO_UART7_RX_1     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN7)
+#  define GPIO_UART7_RX_2     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN6)
+#  define GPIO_UART7_TX_1     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN8)
+#  define GPIO_UART7_TX_2     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN7)
 
-#  define GPIO_UART8_RX       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
-#  define GPIO_UART8_TX       (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
+#  define GPIO_UART8_RX_0     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN0)
+#  define GPIO_UART8_TX_0     (GPIO_ALT|GPIO_AF8|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN1)
 #endif
 
 /* LCD-TFT Display Controller (LTDC) */
 
 #if defined(CONFIG_STM32_STM32F427) || defined(CONFIG_STM32_STM32F429) || \
     defined(CONFIG_STM32_STM32F469)
-#  define GPIO_LTDC_R0_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN2)
-#  define GPIO_LTDC_R0_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN15)
-#  define GPIO_LTDC_R1_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN3)
-#  define GPIO_LTDC_R1_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN0)
-#  define GPIO_LTDC_R2_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
-#  define GPIO_LTDC_R2_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN8)
-#  define GPIO_LTDC_R2_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN1)
-#  define GPIO_LTDC_R3_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
-#  define GPIO_LTDC_R3_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN9)
-#  define GPIO_LTDC_R3_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN2)
-#  define GPIO_LTDC_R4_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
-#  define GPIO_LTDC_R4_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN10)
-#  define GPIO_LTDC_R4_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN3)
-#  define GPIO_LTDC_R5_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
-#  define GPIO_LTDC_R5_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN11)
-#  define GPIO_LTDC_R5_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN4)
-#  define GPIO_LTDC_R6_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
-#  define GPIO_LTDC_R6_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN12)
-#  define GPIO_LTDC_R6_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN5)
-#  define GPIO_LTDC_R6_4      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
-#  define GPIO_LTDC_R7_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN6)
-#  define GPIO_LTDC_R7_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN15)
-#  define GPIO_LTDC_R7_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN6)
-
-#  define GPIO_LTDC_G0_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
-#  define GPIO_LTDC_G0_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN7)
-#  define GPIO_LTDC_G1_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
-#  define GPIO_LTDC_G1_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN8)
-#  define GPIO_LTDC_G2_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
-#  define GPIO_LTDC_G2_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN13)
-#  define GPIO_LTDC_G2_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN9)
-#  define GPIO_LTDC_G3_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
-#  define GPIO_LTDC_G3_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN14)
-#  define GPIO_LTDC_G3_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN10)
-#  define GPIO_LTDC_G3_4      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
-#  define GPIO_LTDC_G4_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
-#  define GPIO_LTDC_G4_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN15)
-#  define GPIO_LTDC_G4_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN11)
-#  define GPIO_LTDC_G5_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
-#  define GPIO_LTDC_G5_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN0)
-#  define GPIO_LTDC_G5_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN0)
-#  define GPIO_LTDC_G6_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
-#  define GPIO_LTDC_G6_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN1)
-#  define GPIO_LTDC_G6_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN1)
-#  define GPIO_LTDC_G7_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN3)
-#  define GPIO_LTDC_G7_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN2)
-#  define GPIO_LTDC_G7_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN2)
-
-#  define GPIO_LTDC_B0_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
-#  define GPIO_LTDC_B0_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN12)
-#  define GPIO_LTDC_B1_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN12)
-#  define GPIO_LTDC_B1_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN13)
-#  define GPIO_LTDC_B2_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN6)
-#  define GPIO_LTDC_B2_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
-#  define GPIO_LTDC_B2_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN14)
-#  define GPIO_LTDC_B3_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
-#  define GPIO_LTDC_B3_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN10)
-#  define GPIO_LTDC_B3_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN15)
-#  define GPIO_LTDC_B4_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN12)
-#  define GPIO_LTDC_B4_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
-#  define GPIO_LTDC_B4_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN4)
-#  define GPIO_LTDC_B4_4      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN3)
-#  define GPIO_LTDC_B5_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
-#  define GPIO_LTDC_B5_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN5)
-#  define GPIO_LTDC_B5_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN4)
-#  define GPIO_LTDC_B6_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
-#  define GPIO_LTDC_B6_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN6)
-#  define GPIO_LTDC_B6_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN5)
-#  define GPIO_LTDC_B7_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
-#  define GPIO_LTDC_B7_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN7)
-#  define GPIO_LTDC_B7_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN6)
-
-#  define GPIO_LTDC_VSYNC_1   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN4)
-#  define GPIO_LTDC_VSYNC_2   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN9)
-#  define GPIO_LTDC_VSYNC_3   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN13)
-#  define GPIO_LTDC_HSYNC_1   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
-#  define GPIO_LTDC_HSYNC_2   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN10)
-#  define GPIO_LTDC_HSYNC_3   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN12)
-#  define GPIO_LTDC_DE_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
-#  define GPIO_LTDC_DE_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
-#  define GPIO_LTDC_DE_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN7)
-#  define GPIO_LTDC_CLK_1     (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN7)
-#  define GPIO_LTDC_CLK_2     (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
-#  define GPIO_LTDC_CLK_3     (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_SPEED_100MHz|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN14)
+#  define GPIO_LTDC_R0_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN2)
+#  define GPIO_LTDC_R0_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN15)
+#  define GPIO_LTDC_R1_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN3)
+#  define GPIO_LTDC_R1_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN0)
+#  define GPIO_LTDC_R2_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN10)
+#  define GPIO_LTDC_R2_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN8)
+#  define GPIO_LTDC_R2_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN1)
+#  define GPIO_LTDC_R3_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN0)
+#  define GPIO_LTDC_R3_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN9)
+#  define GPIO_LTDC_R3_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN2)
+#  define GPIO_LTDC_R4_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN11)
+#  define GPIO_LTDC_R4_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN10)
+#  define GPIO_LTDC_R4_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN3)
+#  define GPIO_LTDC_R5_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN12)
+#  define GPIO_LTDC_R5_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN11)
+#  define GPIO_LTDC_R5_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN4)
+#  define GPIO_LTDC_R6_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN1)
+#  define GPIO_LTDC_R6_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN12)
+#  define GPIO_LTDC_R6_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN5)
+#  define GPIO_LTDC_R6_4      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN8)
+#  define GPIO_LTDC_R7_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN6)
+#  define GPIO_LTDC_R7_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN15)
+#  define GPIO_LTDC_R7_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN6)
+
+#  define GPIO_LTDC_G0_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN5)
+#  define GPIO_LTDC_G0_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN7)
+#  define GPIO_LTDC_G1_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN6)
+#  define GPIO_LTDC_G1_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN8)
+#  define GPIO_LTDC_G2_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN6)
+#  define GPIO_LTDC_G2_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN13)
+#  define GPIO_LTDC_G2_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN9)
+#  define GPIO_LTDC_G3_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
+#  define GPIO_LTDC_G3_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN14)
+#  define GPIO_LTDC_G3_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN10)
+#  define GPIO_LTDC_G3_4      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11)
+#  define GPIO_LTDC_G4_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN10)
+#  define GPIO_LTDC_G4_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTH|GPIO_PIN15)
+#  define GPIO_LTDC_G4_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN11)
+#  define GPIO_LTDC_G5_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN11)
+#  define GPIO_LTDC_G5_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN0)
+#  define GPIO_LTDC_G5_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN0)
+#  define GPIO_LTDC_G6_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN7)
+#  define GPIO_LTDC_G6_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN1)
+#  define GPIO_LTDC_G6_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN1)
+#  define GPIO_LTDC_G7_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN3)
+#  define GPIO_LTDC_G7_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN2)
+#  define GPIO_LTDC_G7_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN2)
+
+#  define GPIO_LTDC_B0_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN4)
+#  define GPIO_LTDC_B0_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN12)
+#  define GPIO_LTDC_B1_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN12)
+#  define GPIO_LTDC_B1_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN13)
+#  define GPIO_LTDC_B2_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN6)
+#  define GPIO_LTDC_B2_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN10)
+#  define GPIO_LTDC_B2_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN14)
+#  define GPIO_LTDC_B3_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN11)
+#  define GPIO_LTDC_B3_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN10)
+#  define GPIO_LTDC_B3_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTJ|GPIO_PIN15)
+#  define GPIO_LTDC_B4_1      (GPIO_ALT|GPIO_AF9 |GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN12)
+#  define GPIO_LTDC_B4_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN12)
+#  define GPIO_LTDC_B4_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN4)
+#  define GPIO_LTDC_B4_4      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN3)
+#  define GPIO_LTDC_B5_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN3)
+#  define GPIO_LTDC_B5_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN5)
+#  define GPIO_LTDC_B5_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN4)
+#  define GPIO_LTDC_B6_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN8)
+#  define GPIO_LTDC_B6_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN6)
+#  define GPIO_LTDC_B6_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN5)
+#  define GPIO_LTDC_B7_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTB|GPIO_PIN9)
+#  define GPIO_LTDC_B7_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN7)
+#  define GPIO_LTDC_B7_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN6)
+
+#  define GPIO_LTDC_VSYNC_1   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN4)
+#  define GPIO_LTDC_VSYNC_2   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN9)
+#  define GPIO_LTDC_VSYNC_3   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN13)
+#  define GPIO_LTDC_HSYNC_1   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN6)
+#  define GPIO_LTDC_HSYNC_2   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN10)
+#  define GPIO_LTDC_HSYNC_3   (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN12)
+#  define GPIO_LTDC_DE_1      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN10)
+#  define GPIO_LTDC_DE_2      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13)
+#  define GPIO_LTDC_DE_3      (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTK|GPIO_PIN7)
+#  define GPIO_LTDC_CLK_1     (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTG|GPIO_PIN7)
+#  define GPIO_LTDC_CLK_2     (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14)
+#  define GPIO_LTDC_CLK_3     (GPIO_ALT|GPIO_AF14|GPIO_PULLUP|GPIO_PUSHPULL|GPIO_PORTI|GPIO_PIN14)
 #endif
 
 /* Quad SPI */
@@ -1162,7 +1162,7 @@
 #  define GPIO_QUADSPI_BK2_IO2_2 (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN9)
 #  define GPIO_QUADSPI_BK2_IO3_1 (GPIO_ALT|GPIO_AF10|GPIO_PORTE|GPIO_PIN10)
 #  define GPIO_QUADSPI_BK2_IO3_2 (GPIO_ALT|GPIO_AF9 |GPIO_PORTG|GPIO_PIN14)
-#  define GPIO_QUADSPI_BK2_NCS   (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
+#  define GPIO_QUADSPI_BK2_NCS_0 (GPIO_ALT|GPIO_AF9 |GPIO_PORTC|GPIO_PIN11)
 #endif
 #if defined(CONFIG_STM32_STM32F469)
 #  define GPIO_QUADSPI_BK2_IO0_2 (GPIO_ALT|GPIO_AF9 |GPIO_PORTH|GPIO_PIN2)
@@ -1191,7 +1191,7 @@
 #  define GPIO_SAI1_FS_A_2    (GPIO_ALT|GPIO_AF6|GPIO_PORTA|GPIO_PIN3)
 #  define GPIO_SAI1_FS_B_1    (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN9)
 #  define GPIO_SAI1_FS_B_2    (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN9)
-#  define GPIO_SAI1_MCLK_A    (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN2)
+#  define GPIO_SAI1_MCLK_A_0  (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN2)
 #  define GPIO_SAI1_MCLK_B_1  (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN7)
 #  define GPIO_SAI1_MCLK_B_2  (GPIO_ALT|GPIO_AF6|GPIO_PORTC|GPIO_PIN0)
 #  define GPIO_SAI1_SCK_A_1   (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN5)
@@ -1201,13 +1201,13 @@
 #  define GPIO_SAI1_SD_A_1    (GPIO_ALT|GPIO_AF6|GPIO_PORTB|GPIO_PIN2)
 #  define GPIO_SAI1_SD_B_1    (GPIO_ALT|GPIO_AF6|GPIO_PORTA|GPIO_PIN9)
 #elif defined(CONFIG_STM32_STM32F469)
-#  define GPIO_SAI1_FS_A      (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN4)
-#  define GPIO_SAI1_FS_B      (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN9)
+#  define GPIO_SAI1_FS_A_0    (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN4)
+#  define GPIO_SAI1_FS_B_0    (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN9)
 #  define GPIO_SAI1_MCLK_A_1  (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN2)
 #  define GPIO_SAI1_MCLK_A_2  (GPIO_ALT|GPIO_AF6|GPIO_PORTG|GPIO_PIN7)
-#  define GPIO_SAI1_MCLK_B    (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN7)
-#  define GPIO_SAI1_SCK_A     (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN5)
-#  define GPIO_SAI1_SCK_B     (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN8)
+#  define GPIO_SAI1_MCLK_B_0  (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN7)
+#  define GPIO_SAI1_SCK_A_0   (GPIO_ALT|GPIO_AF6|GPIO_PORTE|GPIO_PIN5)
+#  define GPIO_SAI1_SCK_B_0   (GPIO_ALT|GPIO_AF6|GPIO_PORTF|GPIO_PIN8)
 #endif
 
 #if defined(CONFIG_STM32_STM32F446) || defined(CONFIG_STM32_STM32F469)
@@ -1247,18 +1247,18 @@
 /* FMPI2C */
 
 #if defined(CONFIG_STM32_STM32F446)
-#  define GPIO_FMPI2C1_SCL_1  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN6)
-#  define GPIO_FMPI2C1_SCL_2  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN12)
-#  define GPIO_FMPI2C1_SCL_3  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN14)
-#  define GPIO_FMPI2C1_SCL_4  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN14)
-
-#  define GPIO_FMPI2C1_SDA_1  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN7)
-#  define GPIO_FMPI2C1_SDA_2  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN13)
-#  define GPIO_FMPI2C1_SDA_3  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN15)
-#  define GPIO_FMPI2C1_SDA_4  (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN15)
-
-#  define GPIO_FMPI2C1_SMBA_1 (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN11)
-#  define GPIO_FMPI2C1_SMBA_2 (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN13)
+#  define GPIO_FMPI2C1_SCL_1  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN6)
+#  define GPIO_FMPI2C1_SCL_2  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN12)
+#  define GPIO_FMPI2C1_SCL_3  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN14)
+#  define GPIO_FMPI2C1_SCL_4  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN14)
+
+#  define GPIO_FMPI2C1_SDA_1  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTC|GPIO_PIN7)
+#  define GPIO_FMPI2C1_SDA_2  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN13)
+#  define GPIO_FMPI2C1_SDA_3  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTD|GPIO_PIN15)
+#  define GPIO_FMPI2C1_SDA_4  (GPIO_ALT|GPIO_AF4|GPIO_OPENDRAIN|GPIO_PORTF|GPIO_PIN15)
+
+#  define GPIO_FMPI2C1_SMBA_1 (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN11)
+#  define GPIO_FMPI2C1_SMBA_2 (GPIO_ALT|GPIO_AF4|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN13)
 #endif
 
 #endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32F40XXX_PINMAP_H */
diff --git a/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h b/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap_legacy.h
similarity index 99%
copy from arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h
copy to arch/arm/src/stm32/hardware/stm32f40xxx_pinmap_legacy.h
index e75dbd6a8c..eabd7a1d6e 100644
--- a/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h
+++ b/arch/arm/src/stm32/hardware/stm32f40xxx_pinmap_legacy.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h
+ * arch/arm/src/stm32/hardware/stm32f40xxx_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_STM32_HARDWARE_STM32F40XXX_PINMAP_H
-#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32F40XXX_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32F40XXX_PINMAP_LEGACY_H
+#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32F40XXX_PINMAP_LEGACY_H
 
 /****************************************************************************
  * Included Files
@@ -1261,4 +1261,4 @@
 #  define GPIO_FMPI2C1_SMBA_2 (GPIO_ALT|GPIO_AF4|GPIO_SPEED_50MHz|GPIO_PUSHPULL|GPIO_PORTF|GPIO_PIN13)
 #endif
 
-#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32F40XXX_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32F40XXX_PINMAP_LEGACY_H */
diff --git a/arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h b/arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h
index 48b489aeb7..918556576a 100644
--- a/arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h
+++ b/arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h
@@ -56,374 +56,374 @@
 
 /* ADC */
 
-#define GPIO_ADC1_IN0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0)
-#define GPIO_ADC1_IN1  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1)
-#define GPIO_ADC1_IN2  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2)
-#define GPIO_ADC1_IN3  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3)
-#define GPIO_ADC1_IN4  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_ADC1_IN5  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_ADC1_IN6  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_ADC1_IN7  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_ADC1_IN8  (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
-#define GPIO_ADC1_IN9  (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_ADC1_IN10 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
-#define GPIO_ADC1_IN11 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
-#define GPIO_ADC1_IN12 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
-#define GPIO_ADC1_IN13 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3)
-#define GPIO_ADC1_IN14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4)
-#define GPIO_ADC1_IN15 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5)
+#define GPIO_ADC1_IN0_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0)
+#define GPIO_ADC1_IN1_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1)
+#define GPIO_ADC1_IN2_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2)
+#define GPIO_ADC1_IN3_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3)
+#define GPIO_ADC1_IN4_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4)
+#define GPIO_ADC1_IN5_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5)
+#define GPIO_ADC1_IN6_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN6)
+#define GPIO_ADC1_IN7_0  (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7)
+#define GPIO_ADC1_IN8_0  (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
+#define GPIO_ADC1_IN9_0  (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
+#define GPIO_ADC1_IN10_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
+#define GPIO_ADC1_IN11_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
+#define GPIO_ADC1_IN12_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
+#define GPIO_ADC1_IN13_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3)
+#define GPIO_ADC1_IN14_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4)
+#define GPIO_ADC1_IN15_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5)
 
 /* CAN */
 
-#define GPIO_CAN1_RX_1 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11)
-#define GPIO_CAN1_RX_2 (GPIO_ALT | GPIO_AF8 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8)
-#define GPIO_CAN1_RX_3 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN0)
-#define GPIO_CAN1_RX_4 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN0)
-#define GPIO_CAN1_TX_1 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_CAN1_TX_2 (GPIO_ALT | GPIO_AF8 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_CAN1_TX_3 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN1)
-#define GPIO_CAN1_TX_4 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN1)
-
-#define GPIO_CAN2_RX_1 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_CAN2_RX_2 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_CAN2_RX_3 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN11)
-#define GPIO_CAN2_TX_1 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_CAN2_TX_2 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6)
-#define GPIO_CAN2_TX_3 (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN12)
+#define GPIO_CAN1_RX_1  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11)
+#define GPIO_CAN1_RX_2  (GPIO_ALT | GPIO_AF8 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8)
+#define GPIO_CAN1_RX_3  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN0)
+#define GPIO_CAN1_RX_4  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN0)
+#define GPIO_CAN1_TX_1  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12)
+#define GPIO_CAN1_TX_2  (GPIO_ALT | GPIO_AF8 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9)
+#define GPIO_CAN1_TX_3  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN1)
+#define GPIO_CAN1_TX_4  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN1)
+
+#define GPIO_CAN2_RX_1  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN5)
+#define GPIO_CAN2_RX_2  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_CAN2_RX_3  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN11)
+#define GPIO_CAN2_TX_1  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_CAN2_TX_2  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6)
+#define GPIO_CAN2_TX_3  (GPIO_ALT | GPIO_AF9 |  GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN12)
 
 /* Digital filter for sigma delta modulators */
 
-#define GPIO_DFSDM1_CKOUT_1  (GPIO_ALT | GPIO_AF6  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN9)
-#define GPIO_DFSDM1_CKOUT_2  (GPIO_ALT | GPIO_AF8  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN2)
-#define GPIO_DFSDM1_CKIN0_1  (GPIO_ALT | GPIO_AF6  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN2)
-#define GPIO_DFSDM1_CKIN0_2  (GPIO_ALT | GPIO_AF6  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN4)
-#define GPIO_DFSDM1_CKIN1_1  (GPIO_ALT | GPIO_AF8  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_DFSDM1_CKIN1_2  (GPIO_ALT | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_DFSDM1_CKIN1_3  (GPIO_ALT | GPIO_AF6  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN7)
-#define GPIO_DFSDM1_CKIN2_1  (GPIO_ALT | GPIO_AF8  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN15)
-#define GPIO_DFSDM1_CKIN2_2  (GPIO_ALT | GPIO_AF6  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN8)
-#define GPIO_DFSDM1_CKIN3_1  (GPIO_ALT | GPIO_AF6  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_DFSDM1_CKIN3_2  (GPIO_ALT | GPIO_AF8  | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN5)
-
-#define GPIO_DFSDM1_DATIN0_1 (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_DFSDM1_DATIN0_2 (GPIO_ALT | GPIO_AF6  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN3)
-#define GPIO_DFSDM1_DATIN1_1 (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_DFSDM1_DATIN1_2 (GPIO_ALT | GPIO_AF10 |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_DFSDM1_DATIN1_3 (GPIO_ALT | GPIO_AF6  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN6)
-#define GPIO_DFSDM1_DATIN2_1 (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_DFSDM1_DATIN2_2 (GPIO_ALT | GPIO_AF6  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN7)
-#define GPIO_DFSDM1_DATIN3_1 (GPIO_ALT | GPIO_AF10 |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_DFSDM1_DATIN3_2 (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN4)
+#define GPIO_DFSDM1_CKOUT_1  (GPIO_ALT | GPIO_AF6  |  GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN9)
+#define GPIO_DFSDM1_CKOUT_2  (GPIO_ALT | GPIO_AF8  |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN2)
+#define GPIO_DFSDM1_CKIN0_1  (GPIO_ALT | GPIO_AF6  |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN2)
+#define GPIO_DFSDM1_CKIN0_2  (GPIO_ALT | GPIO_AF6  |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN4)
+#define GPIO_DFSDM1_CKIN1_1  (GPIO_ALT | GPIO_AF8  |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN5)
+#define GPIO_DFSDM1_CKIN1_2  (GPIO_ALT | GPIO_AF10 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_DFSDM1_CKIN1_3  (GPIO_ALT | GPIO_AF6  |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN7)
+#define GPIO_DFSDM1_CKIN2_1  (GPIO_ALT | GPIO_AF8  |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_DFSDM1_CKIN2_2  (GPIO_ALT | GPIO_AF6  |  GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN8)
+#define GPIO_DFSDM1_CKIN3_1  (GPIO_ALT | GPIO_AF6  |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_DFSDM1_CKIN3_2  (GPIO_ALT | GPIO_AF8  |  GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN5)
+
+#define GPIO_DFSDM1_DATIN0_1  (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN1)
+#define GPIO_DFSDM1_DATIN0_2  (GPIO_ALT | GPIO_AF6  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN3)
+#define GPIO_DFSDM1_DATIN1_1  (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN4)
+#define GPIO_DFSDM1_DATIN1_2  (GPIO_ALT | GPIO_AF10 |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_DFSDM1_DATIN1_3  (GPIO_ALT | GPIO_AF6  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN6)
+#define GPIO_DFSDM1_DATIN2_1  (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_DFSDM1_DATIN2_2  (GPIO_ALT | GPIO_AF6  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN7)
+#define GPIO_DFSDM1_DATIN3_1  (GPIO_ALT | GPIO_AF10 |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_DFSDM1_DATIN3_2  (GPIO_ALT | GPIO_AF8  |GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN4)
 
 /* Clocks outputs */
 
-#define GPIO_MCO1 (GPIO_ALT | GPIO_AF0 | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_MCO2 (GPIO_ALT | GPIO_AF0 | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_MCO1_0 (GPIO_ALT | GPIO_AF0 |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_MCO2_0 (GPIO_ALT | GPIO_AF0 |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN9)
 
 /* Event outputs */
 
-#define GPIO_PA0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN0)
-#define GPIO_PA1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN1)
-#define GPIO_PA2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN2)
-#define GPIO_PA3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN3)
-#define GPIO_PA4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_PA5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_PA6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_PA7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_PA8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_PA9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN9)
-#define GPIO_PA10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN10)
-#define GPIO_PA11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN11)
-#define GPIO_PA12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_PA13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN13)
-#define GPIO_PA14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN14)
-#define GPIO_PA15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN15)
-
-#define GPIO_PB0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN0)
-#define GPIO_PB1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_PB2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN2)
-#define GPIO_PB3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_PB4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN4)
-#define GPIO_PB5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_PB6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN6)
-#define GPIO_PB7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN7)
-#define GPIO_PB8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN8)
-#define GPIO_PB9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_PB10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_PB11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN11)
-#define GPIO_PB12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_PB13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_PB14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_PB15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN15)
-
-#define GPIO_PC0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN0)
-#define GPIO_PC1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN1)
-#define GPIO_PC2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN2)
-#define GPIO_PC3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN3)
-#define GPIO_PC4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN4)
-#define GPIO_PC5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN5)
-#define GPIO_PC6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_PC7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_PC8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN8)
-#define GPIO_PC9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN9)
-#define GPIO_PC10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN10)
-#define GPIO_PC11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN11)
-#define GPIO_PC12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN12)
-#define GPIO_PC13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN13)
-#define GPIO_PC14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN14)
-#define GPIO_PC15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN15)
-
-#define GPIO_PD0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN0)
-#define GPIO_PD1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN1)
-#define GPIO_PD2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN2)
-#define GPIO_PD3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN3)
-#define GPIO_PD4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN4)
-#define GPIO_PD5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN5)
-#define GPIO_PD6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN6)
-#define GPIO_PD7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN7)
-#define GPIO_PD8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN8)
-#define GPIO_PD9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN9)
-#define GPIO_PD10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN10)
-#define GPIO_PD11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN11)
-#define GPIO_PD12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN12)
-#define GPIO_PD13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN13)
-#define GPIO_PD14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN14)
-#define GPIO_PD15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN15)
-
-#define GPIO_PE0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN0)
-#define GPIO_PE1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN1)
-#define GPIO_PE2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN2)
-#define GPIO_PE3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN3)
-#define GPIO_PE4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN4)
-#define GPIO_PE5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN5)
-#define GPIO_PE6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN6)
-#define GPIO_PE7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN7)
-#define GPIO_PE8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN8)
-#define GPIO_PE9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN9)
-#define GPIO_PE10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN10)
-#define GPIO_PE11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN11)
-#define GPIO_PE12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN12)
-#define GPIO_PE13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN13)
-#define GPIO_PE14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN14)
-#define GPIO_PE15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN15)
-
-#define GPIO_PF0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN0)
-#define GPIO_PF1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN1)
-#define GPIO_PF2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN2)
-#define GPIO_PF3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN3)
-#define GPIO_PF4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN4)
-#define GPIO_PF5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN5)
-#define GPIO_PF6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN6)
-#define GPIO_PF7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN7)
-#define GPIO_PF8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN8)
-#define GPIO_PF9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN9)
-#define GPIO_PF10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN10)
-#define GPIO_PF11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN11)
-#define GPIO_PF12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN12)
-#define GPIO_PF13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN13)
-#define GPIO_PF14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN14)
-#define GPIO_PF15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN15)
-
-#define GPIO_PG0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN0)
-#define GPIO_PG1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN1)
-#define GPIO_PG2_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN2)
-#define GPIO_PG3_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN3)
-#define GPIO_PG4_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN4)
-#define GPIO_PG5_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN5)
-#define GPIO_PG6_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN6)
-#define GPIO_PG7_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN7)
-#define GPIO_PG8_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN8)
-#define GPIO_PG9_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN9)
-#define GPIO_PG10_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN10)
-#define GPIO_PG11_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN11)
-#define GPIO_PG12_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN12)
-#define GPIO_PG13_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN13)
-#define GPIO_PG14_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN14)
-#define GPIO_PG15_EVENTOUT (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN15)
-
-#define GPIO_PH0_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTH | GPIO_PIN0)
-#define GPIO_PH1_EVENTOUT  (GPIO_ALT | GPIO_AF15 | GPIO_PORTH | GPIO_PIN1)
+#define GPIO_PA0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN0)
+#define GPIO_PA1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN1)
+#define GPIO_PA2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN2)
+#define GPIO_PA3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN3)
+#define GPIO_PA4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN4)
+#define GPIO_PA5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN5)
+#define GPIO_PA6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN6)
+#define GPIO_PA7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN7)
+#define GPIO_PA8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_PA9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN9)
+#define GPIO_PA10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN10)
+#define GPIO_PA11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN11)
+#define GPIO_PA12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN12)
+#define GPIO_PA13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN13)
+#define GPIO_PA14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN14)
+#define GPIO_PA15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTA | GPIO_PIN15)
+
+#define GPIO_PB0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN0)
+#define GPIO_PB1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN1)
+#define GPIO_PB2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN2)
+#define GPIO_PB3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_PB4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN4)
+#define GPIO_PB5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN5)
+#define GPIO_PB6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN6)
+#define GPIO_PB7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN7)
+#define GPIO_PB8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN8)
+#define GPIO_PB9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN9)
+#define GPIO_PB10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_PB11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN11)
+#define GPIO_PB12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_PB13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_PB14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_PB15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTB | GPIO_PIN15)
+
+#define GPIO_PC0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN0)
+#define GPIO_PC1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN1)
+#define GPIO_PC2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN2)
+#define GPIO_PC3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN3)
+#define GPIO_PC4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN4)
+#define GPIO_PC5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN5)
+#define GPIO_PC6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_PC7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_PC8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN8)
+#define GPIO_PC9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_PC10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN10)
+#define GPIO_PC11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN11)
+#define GPIO_PC12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN12)
+#define GPIO_PC13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN13)
+#define GPIO_PC14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN14)
+#define GPIO_PC15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTC | GPIO_PIN15)
+
+#define GPIO_PD0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN0)
+#define GPIO_PD1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN1)
+#define GPIO_PD2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN2)
+#define GPIO_PD3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN3)
+#define GPIO_PD4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN4)
+#define GPIO_PD5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN5)
+#define GPIO_PD6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN6)
+#define GPIO_PD7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN7)
+#define GPIO_PD8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN8)
+#define GPIO_PD9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN9)
+#define GPIO_PD10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN10)
+#define GPIO_PD11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN11)
+#define GPIO_PD12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN12)
+#define GPIO_PD13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN13)
+#define GPIO_PD14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN14)
+#define GPIO_PD15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTD | GPIO_PIN15)
+
+#define GPIO_PE0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN0)
+#define GPIO_PE1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN1)
+#define GPIO_PE2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN2)
+#define GPIO_PE3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN3)
+#define GPIO_PE4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN4)
+#define GPIO_PE5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN5)
+#define GPIO_PE6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN6)
+#define GPIO_PE7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN7)
+#define GPIO_PE8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN8)
+#define GPIO_PE9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN9)
+#define GPIO_PE10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN10)
+#define GPIO_PE11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN11)
+#define GPIO_PE12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN12)
+#define GPIO_PE13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN13)
+#define GPIO_PE14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN14)
+#define GPIO_PE15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTE | GPIO_PIN15)
+
+#define GPIO_PF0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN0)
+#define GPIO_PF1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN1)
+#define GPIO_PF2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN2)
+#define GPIO_PF3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN3)
+#define GPIO_PF4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN4)
+#define GPIO_PF5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN5)
+#define GPIO_PF6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN6)
+#define GPIO_PF7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN7)
+#define GPIO_PF8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN8)
+#define GPIO_PF9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN9)
+#define GPIO_PF10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN10)
+#define GPIO_PF11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN11)
+#define GPIO_PF12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN12)
+#define GPIO_PF13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN13)
+#define GPIO_PF14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN14)
+#define GPIO_PF15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTF | GPIO_PIN15)
+
+#define GPIO_PG0_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN0)
+#define GPIO_PG1_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN1)
+#define GPIO_PG2_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN2)
+#define GPIO_PG3_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN3)
+#define GPIO_PG4_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN4)
+#define GPIO_PG5_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN5)
+#define GPIO_PG6_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN6)
+#define GPIO_PG7_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN7)
+#define GPIO_PG8_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN8)
+#define GPIO_PG9_EVENTOUT_0  (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN9)
+#define GPIO_PG10_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN10)
+#define GPIO_PG11_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN11)
+#define GPIO_PG12_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN12)
+#define GPIO_PG13_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN13)
+#define GPIO_PG14_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN14)
+#define GPIO_PG15_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTG | GPIO_PIN15)
+
+#define GPIO_PH0_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTH | GPIO_PIN0)
+#define GPIO_PH1_EVENTOUT_0 (GPIO_ALT | GPIO_AF15 | GPIO_PORTH | GPIO_PIN1)
 
 /* FMPI2C */
 
-#define GPIO_FMPI2C1_SCL_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_FMPI2C1_SCL_2  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN12)
-#define GPIO_FMPI2C1_SCL_3  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN14)
-#define GPIO_FMPI2C1_SCL_4  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN14)
-#define GPIO_FMPI2C1_SCL_5  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN15)
-#define GPIO_FMPI2C1_SCL_6  (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN10)
-
-#define GPIO_FMPI2C1_SDA_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_FMPI2C1_SDA_2  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN13)
-#define GPIO_FMPI2C1_SDA_3  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN15)
-#define GPIO_FMPI2C1_SDA_4  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN15)
-#define GPIO_FMPI2C1_SDA_5  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_FMPI2C1_SDA_6  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN14)
-
-#define GPIO_FMPI2C1_SMBA_1 (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN11)
-#define GPIO_FMPI2C1_SMBA_2 (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTF | GPIO_PIN13)
-#define GPIO_FMPI2C1_SMBA_3 (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_FMPI2C1_SMBA_4 (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN5)
+#define GPIO_FMPI2C1_SCL_1   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_FMPI2C1_SCL_2   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN12)
+#define GPIO_FMPI2C1_SCL_3   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN14)
+#define GPIO_FMPI2C1_SCL_4   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN14)
+#define GPIO_FMPI2C1_SCL_5   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_FMPI2C1_SCL_6   (GPIO_ALT | GPIO_AF9 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN10)
+
+#define GPIO_FMPI2C1_SDA_1   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_FMPI2C1_SDA_2   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN13)
+#define GPIO_FMPI2C1_SDA_3   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTD | GPIO_PIN15)
+#define GPIO_FMPI2C1_SDA_4   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN15)
+#define GPIO_FMPI2C1_SDA_5   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_FMPI2C1_SDA_6   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN14)
+
+#define GPIO_FMPI2C1_SMBA_1  (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN11)
+#define GPIO_FMPI2C1_SMBA_2  (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTF | GPIO_PIN13)
+#define GPIO_FMPI2C1_SMBA_3  (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_FMPI2C1_SMBA_4  (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN5)
 
 /* Flexible Static Memory Controller (FSMC) */
 
-#define GPIO_FSMC_A0_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN0)
-#define GPIO_FSMC_A0_2   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN3)
-
-#define GPIO_FSMC_A1     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN1)
-#define GPIO_FSMC_A2     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN2)
-#define GPIO_FSMC_A3     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN3)
-#define GPIO_FSMC_A4     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN4)
-#define GPIO_FSMC_A5     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN5)
-#define GPIO_FSMC_A6     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN12)
-#define GPIO_FSMC_A7     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN13)
-#define GPIO_FSMC_A8     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN14)
-#define GPIO_FSMC_A9     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTF | GPIO_PIN15)
-#define GPIO_FSMC_A10    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN0)
-#define GPIO_FSMC_A11    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN1)
-#define GPIO_FSMC_A12    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN2)
-#define GPIO_FSMC_A13    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN3)
-#define GPIO_FSMC_A14    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN4)
-#define GPIO_FSMC_A15    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN5)
-#define GPIO_FSMC_A16    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN11)
-#define GPIO_FSMC_A17    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN12)
-#define GPIO_FSMC_A18    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN13)
-#define GPIO_FSMC_A19    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN3)
-#define GPIO_FSMC_A20    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN4)
-#define GPIO_FSMC_A21    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN5)
-#define GPIO_FSMC_A22    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN6)
-#define GPIO_FSMC_A23    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN2)
-#define GPIO_FSMC_A24    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN13)
-#define GPIO_FSMC_A25    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN14)
-
-#define GPIO_FSMC_CLK    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN3)
-
-#define GPIO_FSMC_D0_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN14)
-#define GPIO_FSMC_D0_2   (GPIO_ALT | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_FSMC_D1_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN15)
-#define GPIO_FSMC_D1_2   (GPIO_ALT | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_FSMC_D2_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN0)
-#define GPIO_FSMC_D2_2   (GPIO_ALT | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN11)
-#define GPIO_FSMC_D3_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN1)
-#define GPIO_FSMC_D3_2   (GPIO_ALT | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN12)
-#define GPIO_FSMC_D4_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN7)
-#define GPIO_FSMC_D4_2   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTA | GPIO_PIN2)
-#define GPIO_FSMC_D5_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN8)
-#define GPIO_FSMC_D5_2   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTA | GPIO_PIN3)
-#define GPIO_FSMC_D6_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN9)
-#define GPIO_FSMC_D6_2   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_FSMC_D7_1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN10)
-#define GPIO_FSMC_D7_2   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_FSMC_D8     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN11)
-#define GPIO_FSMC_D9     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN12)
-#define GPIO_FSMC_D10    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN13)
-#define GPIO_FSMC_D11    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN14)
-#define GPIO_FSMC_D12    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN15)
-#define GPIO_FSMC_D13_1  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN8)
-#define GPIO_FSMC_D13_2  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_FSMC_D14    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN9)
-#define GPIO_FSMC_D15    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN10)
-
-#define GPIO_FSMC_DA0    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN14)
-#define GPIO_FSMC_DA1    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN15)
-#define GPIO_FSMC_DA2    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN0)
-#define GPIO_FSMC_DA3    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN1)
-#define GPIO_FSMC_DA4    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN7)
-#define GPIO_FSMC_DA5    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN8)
-#define GPIO_FSMC_DA6    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN9)
-#define GPIO_FSMC_DA7    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN10)
-#define GPIO_FSMC_DA8    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN11)
-#define GPIO_FSMC_DA9    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN12)
-#define GPIO_FSMC_DA10   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN13)
-#define GPIO_FSMC_DA11   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN14)
-#define GPIO_FSMC_DA12   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN15)
-#define GPIO_FSMC_DA13_1 (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_FSMC_DA13_2 (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN8)
-#define GPIO_FSMC_DA14   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN9)
-#define GPIO_FSMC_DA15   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN10)
-
-#define GPIO_FSMC_NBL0   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN0)
-#define GPIO_FSMC_NBL1   (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTE | GPIO_PIN1)
-
-#define GPIO_FSMC_NE1    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN7)
-#define GPIO_FSMC_NE2    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN9)
-#define GPIO_FSMC_NE3    (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN10)
-#define GPIO_FSMC_NE4_1  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN4)
-#define GPIO_FSMC_NE4_2  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTG | GPIO_PIN12)
-
-#define GPIO_FSMC_NL     (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTB | GPIO_PIN7)
-
-#define GPIO_FSMC_NOE_1  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN4)
-#define GPIO_FSMC_NOE_2  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN5)
-
-#define GPIO_FSMC_NWAIT  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN6)
-
-#define GPIO_FSMC_NWE_1  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTC | GPIO_PIN2)
-#define GPIO_FSMC_NWE_2  (GPIO_ALT | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN2)
-#define GPIO_FSMC_NWE_3  (GPIO_ALT | GPIO_AF12 | GPIO_SPEED_100MHz | GPIO_PORTD | GPIO_PIN5)
+#define GPIO_FSMC_A0_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN0)
+#define GPIO_FSMC_A0_2   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTC | GPIO_PIN3)
+
+#define GPIO_FSMC_A1_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN1)
+#define GPIO_FSMC_A2_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN2)
+#define GPIO_FSMC_A3_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN3)
+#define GPIO_FSMC_A4_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN4)
+#define GPIO_FSMC_A5_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN5)
+#define GPIO_FSMC_A6_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN12)
+#define GPIO_FSMC_A7_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN13)
+#define GPIO_FSMC_A8_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN14)
+#define GPIO_FSMC_A9_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTF | GPIO_PIN15)
+#define GPIO_FSMC_A10_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN0)
+#define GPIO_FSMC_A11_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN1)
+#define GPIO_FSMC_A12_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN2)
+#define GPIO_FSMC_A13_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN3)
+#define GPIO_FSMC_A14_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN4)
+#define GPIO_FSMC_A15_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN5)
+#define GPIO_FSMC_A16_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN11)
+#define GPIO_FSMC_A17_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN12)
+#define GPIO_FSMC_A18_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN13)
+#define GPIO_FSMC_A19_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN3)
+#define GPIO_FSMC_A20_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN4)
+#define GPIO_FSMC_A21_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN5)
+#define GPIO_FSMC_A22_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN6)
+#define GPIO_FSMC_A23_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN2)
+#define GPIO_FSMC_A24_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN13)
+#define GPIO_FSMC_A25_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN14)
+
+#define GPIO_FSMC_CLK_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN3)
+
+#define GPIO_FSMC_D0_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN14)
+#define GPIO_FSMC_D0_2   (GPIO_ALT | GPIO_AF10 |  GPIO_PORTB | GPIO_PIN14)
+#define GPIO_FSMC_D1_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN15)
+#define GPIO_FSMC_D1_2   (GPIO_ALT | GPIO_AF10 |  GPIO_PORTC | GPIO_PIN6)
+#define GPIO_FSMC_D2_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN0)
+#define GPIO_FSMC_D2_2   (GPIO_ALT | GPIO_AF10 |  GPIO_PORTC | GPIO_PIN11)
+#define GPIO_FSMC_D3_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN1)
+#define GPIO_FSMC_D3_2   (GPIO_ALT | GPIO_AF10 |  GPIO_PORTC | GPIO_PIN12)
+#define GPIO_FSMC_D4_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN7)
+#define GPIO_FSMC_D4_2   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTA | GPIO_PIN2)
+#define GPIO_FSMC_D5_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN8)
+#define GPIO_FSMC_D5_2   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTA | GPIO_PIN3)
+#define GPIO_FSMC_D6_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN9)
+#define GPIO_FSMC_D6_2   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTA | GPIO_PIN4)
+#define GPIO_FSMC_D7_1   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN10)
+#define GPIO_FSMC_D7_2   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTA | GPIO_PIN5)
+#define GPIO_FSMC_D8_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN11)
+#define GPIO_FSMC_D9_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN12)
+#define GPIO_FSMC_D10_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN13)
+#define GPIO_FSMC_D11_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN14)
+#define GPIO_FSMC_D12_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN15)
+#define GPIO_FSMC_D13_1  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN8)
+#define GPIO_FSMC_D13_2  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTB | GPIO_PIN12)
+#define GPIO_FSMC_D14_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN9)
+#define GPIO_FSMC_D15_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN10)
+
+#define GPIO_FSMC_DA0_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN14)
+#define GPIO_FSMC_DA1_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN15)
+#define GPIO_FSMC_DA2_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN0)
+#define GPIO_FSMC_DA3_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN1)
+#define GPIO_FSMC_DA4_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN7)
+#define GPIO_FSMC_DA5_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN8)
+#define GPIO_FSMC_DA6_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN9)
+#define GPIO_FSMC_DA7_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN10)
+#define GPIO_FSMC_DA8_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN11)
+#define GPIO_FSMC_DA9_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN12)
+#define GPIO_FSMC_DA10_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN13)
+#define GPIO_FSMC_DA11_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN14)
+#define GPIO_FSMC_DA12_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN15)
+#define GPIO_FSMC_DA13_1  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTB | GPIO_PIN12)
+#define GPIO_FSMC_DA13_2  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN8)
+#define GPIO_FSMC_DA14_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN9)
+#define GPIO_FSMC_DA15_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN10)
+
+#define GPIO_FSMC_NBL0_0 (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN0)
+#define GPIO_FSMC_NBL1_0 (GPIO_ALT | GPIO_AF12 |  GPIO_PORTE | GPIO_PIN1)
+
+#define GPIO_FSMC_NE1_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN7)
+#define GPIO_FSMC_NE2_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN9)
+#define GPIO_FSMC_NE3_0  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN10)
+#define GPIO_FSMC_NE4_1  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTC | GPIO_PIN4)
+#define GPIO_FSMC_NE4_2  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTG | GPIO_PIN12)
+
+#define GPIO_FSMC_NL_0   (GPIO_ALT | GPIO_AF12 |  GPIO_PORTB | GPIO_PIN7)
+
+#define GPIO_FSMC_NOE_1  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN4)
+#define GPIO_FSMC_NOE_2  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTC | GPIO_PIN5)
+
+#define GPIO_FSMC_NWAIT_0 (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN6)
+
+#define GPIO_FSMC_NWE_1  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTC | GPIO_PIN2)
+#define GPIO_FSMC_NWE_2  (GPIO_ALT | GPIO_AF10 |  GPIO_PORTD | GPIO_PIN2)
+#define GPIO_FSMC_NWE_3  (GPIO_ALT | GPIO_AF12 |  GPIO_PORTD | GPIO_PIN5)
 
 /* I2C */
 
-#define GPIO_I2C1_SCL_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN6)
-#define GPIO_I2C1_SCL_2  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN8)
-#define GPIO_I2C1_SDA_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN7)
-#define GPIO_I2C1_SDA_2  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_I2C1_SMBA   (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN5)
-
-#define GPIO_I2C2_SCL_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_I2C2_SCL_2  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN1)
-#define GPIO_I2C2_SDA_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN11)
-#define GPIO_I2C2_SDA_2  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN0)
-#define GPIO_I2C2_SDA_3  (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_I2C2_SDA_4  (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_I2C2_SMBA_1 (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_I2C2_SMBA_2 (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTF | GPIO_PIN2)
-
-#define GPIO_I2C3_SCL_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_I2C3_SDA_1  (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN9)
-#define GPIO_I2C3_SDA_2  (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN4)
-#define GPIO_I2C3_SDA_3  (GPIO_ALT | GPIO_AF9 | GPIO_SPEED_50MHz | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN8)
-#define GPIO_I2C3_SMBA   (GPIO_ALT | GPIO_AF4 | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9)
+#define GPIO_I2C1_SCL_1  (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN6)
+#define GPIO_I2C1_SCL_2  (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN8)
+#define GPIO_I2C1_SDA_1  (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN7)
+#define GPIO_I2C1_SDA_2  (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN9)
+#define GPIO_I2C1_SMBA_0 (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN5)
+
+#define GPIO_I2C2_SCL_1   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_I2C2_SCL_2   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN1)
+#define GPIO_I2C2_SDA_1   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN11)
+#define GPIO_I2C2_SDA_2   (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTF | GPIO_PIN0)
+#define GPIO_I2C2_SDA_3   (GPIO_ALT | GPIO_AF9 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_I2C2_SDA_4   (GPIO_ALT | GPIO_AF9 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN9)
+#define GPIO_I2C2_SMBA_1  (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_I2C2_SMBA_2  (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTF | GPIO_PIN2)
+
+#define GPIO_I2C3_SCL_1  (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_I2C3_SDA_1  (GPIO_ALT | GPIO_AF4 |  GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_I2C3_SDA_2  (GPIO_ALT | GPIO_AF9 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN4)
+#define GPIO_I2C3_SDA_3  (GPIO_ALT | GPIO_AF9 |  GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN8)
+#define GPIO_I2C3_SMBA_0 (GPIO_ALT | GPIO_AF4 |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9)
 
 /* I2S */
 
-#define GPIO_I2S1_CK_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_I2S1_CK_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_I2S1_MCK     (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN4)
-#define GPIO_I2S1_SD_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_I2S1_SD_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_I2S1_WS_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_I2S1_WS_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN15)
-
-#define GPIO_I2S2_CK_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_I2S2_CK_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_I2S2_CK_3    (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_I2S2_CK_4    (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN3)
-#define GPIO_I2S2_SD_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN15)
-#define GPIO_I2S2_SD_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN3)
-#define GPIO_I2S2_WS_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_I2S2_WS_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_I2S2_MCK_1   (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_I2S2_MCK_2   (GPIO_ALT | GPIO_AF6 | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_I2S2_MCK_3   (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN3)
-#define GPIO_I2S2EXT_SD_1 (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN)
-#define GPIO_I2S2EXT_SD_2 (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN)
-#define GPIO_I2S2_CKIN_1  (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN9)
-#define GPIO_I2S2_CKIN_2  (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN2)
-#define GPIO_I2S2_CKIN_3  (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN1)
-
-#define GPIO_I2S3_CK_1    (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_I2S3_CK_2    (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN10)
-#define GPIO_I2S3_CK_3    (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_I2S1_CK_1     (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN5)
+#define GPIO_I2S1_CK_2     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_I2S1_MCK_0    (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN4)
+#define GPIO_I2S1_SD_1     (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN7)
+#define GPIO_I2S1_SD_2     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN5)
+#define GPIO_I2S1_WS_1     (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN4)
+#define GPIO_I2S1_WS_2     (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN15)
+
+#define GPIO_I2S2_CK_1     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_I2S2_CK_2     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_I2S2_CK_3     (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_I2S2_CK_4     (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN3)
+#define GPIO_I2S2_SD_1     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_I2S2_SD_2     (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN3)
+#define GPIO_I2S2_WS_1     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_I2S2_WS_2     (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN9)
+#define GPIO_I2S2_MCK_1    (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_I2S2_MCK_2    (GPIO_ALT | GPIO_AF6 | GPIO_PORTA | GPIO_PIN6)
+#define GPIO_I2S2_MCK_3    (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN3)
+#define GPIO_I2S2EXT_SD_1  (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN)
+#define GPIO_I2S2EXT_SD_2  (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN)
+#define GPIO_I2S2_CKIN_1   (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_I2S2_CKIN_2   (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN2)
+#define GPIO_I2S2_CKIN_3   (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN1)
+
+#define GPIO_I2S3_CK_1     (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_I2S3_CK_2     (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN10)
+#define GPIO_I2S3_CK_3     (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN12)
 #define GPIO_I2S3_MCK_1    (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_I2S3_MCK_2  (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_I2S3_SD_1    (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_I2S3_SD_2    (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN12)
-#define GPIO_I2S3_SD_3    (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN6)
-#define GPIO_I2S3_WS_1    (GPIO_ALT | GPIO_AF6 | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_I2S3_WS_2    (GPIO_ALT | GPIO_AF6 | GPIO_PORTA | GPIO_PIN15)
-#define GPIO_I2S3EXT_SD_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN)
-#define GPIO_I2S3EXT_SD_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN)
+#define GPIO_I2S3_MCK_2    (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_I2S3_SD_1     (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN5)
+#define GPIO_I2S3_SD_2     (GPIO_ALT | GPIO_AF6 | GPIO_PORTC | GPIO_PIN12)
+#define GPIO_I2S3_SD_3     (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN6)
+#define GPIO_I2S3_WS_1     (GPIO_ALT | GPIO_AF6 | GPIO_PORTA | GPIO_PIN4)
+#define GPIO_I2S3_WS_2     (GPIO_ALT | GPIO_AF6 | GPIO_PORTA | GPIO_PIN15)
+#define GPIO_I2S3EXT_SD_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN)
+#define GPIO_I2S3EXT_SD_1  (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | GPIO_PIN)
 
 #define GPIO_I2S4_CK_1    (GPIO_ALT | GPIO_AF6 | GPIO_PORTB | GPIO_PIN13)
 #define GPIO_I2S4_CK_2    (GPIO_ALT | GPIO_AF5 | GPIO_PORTE | GPIO_PIN2)
@@ -448,23 +448,23 @@
 
 /* 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_SWO   (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_SWO_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/HS (VBUS PA9 is not an alternate configuration) */
 
-#define GPIO_OTGFS_DM   (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN11)
-#define GPIO_OTGFS_DP   (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_OTGFS_ID   (GPIO_ALT | GPIO_PULLUP | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN10)
-#define GPIO_OTGFS_SOF  (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_OTGFS_VBUS (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 | GPIO_SPEED_100MHz | GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN9)
+#define GPIO_OTGFS_DM_0   (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 |  GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN11)
+#define GPIO_OTGFS_DP_0   (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 |  GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN12)
+#define GPIO_OTGFS_ID_0   (GPIO_ALT | GPIO_PULLUP | GPIO_AF10 |  GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN10)
+#define GPIO_OTGFS_SOF_0  (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 |  GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_OTGFS_VBUS_0 (GPIO_ALT | GPIO_FLOAT  | GPIO_AF10 |  GPIO_PUSHPULL  | GPIO_PORTA | GPIO_PIN9)
 
 /* RTC */
 
-#define GPIO_RTC_50HZ (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_RTC_50HZ_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN15)
 
 /* SDIO
  *
@@ -473,124 +473,124 @@
  * option CONFIG_STM32_SYSCFG_IOCOMPENSATION=y.
  */
 
-#define GPIO_SDIO_CMD_1 (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN2)
-#define GPIO_SDIO_CMD_2 (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_SDIO_D0_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN8)
-#define GPIO_SDIO_D0_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6)
-#define GPIO_SDIO_D0_3  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN4)
-#define GPIO_SDIO_D3_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN11)
-#define GPIO_SDIO_D3_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_SDIO_D4    (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8)
-#define GPIO_SDIO_D5    (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_SDIO_D6_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_SDIO_D6_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_SDIO_D7_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_SDIO_D7_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_SDIO_D1_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN9)
-#define GPIO_SDIO_D1_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_SDIO_D2_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN10)
-#define GPIO_SDIO_D2_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP | GPIO_SPEED_50MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9)
-#define GPIO_SDIO_CK_1  (GPIO_ALT | GPIO_AF12 | GPIO_FLOAT  | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN12)
-#define GPIO_SDIO_CK_2  (GPIO_ALT | GPIO_AF12 | GPIO_FLOAT  | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_SDIO_CMD_1  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN2)
+#define GPIO_SDIO_CMD_2  (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN6)
+#define GPIO_SDIO_D0_1   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN8)
+#define GPIO_SDIO_D0_2   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6)
+#define GPIO_SDIO_D0_3   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN4)
+#define GPIO_SDIO_D3_1   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN11)
+#define GPIO_SDIO_D3_2   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN5)
+#define GPIO_SDIO_D4_0   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8)
+#define GPIO_SDIO_D5_0   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9)
+#define GPIO_SDIO_D6_1   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_SDIO_D6_2   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_SDIO_D7_1   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_SDIO_D7_2   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_SDIO_D1_1   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_SDIO_D1_2   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_SDIO_D2_1   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN10)
+#define GPIO_SDIO_D2_2   (GPIO_ALT | GPIO_AF12 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9)
+#define GPIO_SDIO_CK_1   (GPIO_ALT | GPIO_AF12 | GPIO_FLOAT  |  GPIO_PORTC | GPIO_PIN12)
+#define GPIO_SDIO_CK_2   (GPIO_ALT | GPIO_AF12 | GPIO_FLOAT  |  GPIO_PORTB | GPIO_PIN15)
 
 /* SPI */
 
-#define GPIO_SPI1_MISO_1 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_SPI1_MISO_2 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN4)
-#define GPIO_SPI1_MOSI_1 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_SPI1_MOSI_2 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_SPI1_NSS_1  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN15)
-#define GPIO_SPI1_NSS_2  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_SPI1_SCK_1  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_SPI1_SCK_2  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN3)
-
-#define GPIO_SPI2_MISO_1 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_SPI2_MISO_2 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN2)
-#define GPIO_SPI2_MOSI_1 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN15)
-#define GPIO_SPI2_MOSI_2 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN3)
-#define GPIO_SPI2_NSS_1  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_SPI2_NSS_2  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN9)
-#define GPIO_SPI2_SCK_1  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_SPI2_SCK_2  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_SPI2_SCK_3  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_SPI2_SCK_4  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTD | GPIO_PIN3)
-
-#define GPIO_SPI3_MISO_1 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN4)
-#define GPIO_SPI3_MISO_2 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN11)
-#define GPIO_SPI3_MOSI_1 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN5)
-#define GPIO_SPI3_MOSI_2 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN12)
-#define GPIO_SPI3_MOSI_3 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTD | GPIO_PIN6)
-#define GPIO_SPI3_NSS_1  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN15)
-#define GPIO_SPI3_NSS_2  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_SPI3_SCK_1  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_SPI3_SCK_2  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTC | GPIO_PIN10)
-#define GPIO_SPI3_SCK_3  (GPIO_ALT | GPIO_AF7 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN12)
-
-#define GPIO_SPI4_MISO_1 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN5)
-#define GPIO_SPI4_MISO_2 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN13)
-#define GPIO_SPI4_MISO_3 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN11)
-#define GPIO_SPI4_MOSI_1 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN6)
-#define GPIO_SPI4_MOSI_2 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN14)
-#define GPIO_SPI4_MOSI_3 (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN1)
-#define GPIO_SPI4_NSS_1  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN4)
-#define GPIO_SPI4_NSS_2  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN11)
-#define GPIO_SPI4_NSS_3  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_SPI4_SCK_1  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN2)
-#define GPIO_SPI4_SCK_2  (GPIO_ALT | GPIO_AF5 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN12)
-#define GPIO_SPI4_SCK_3  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN13)
-
-#define GPIO_SPI5_MISO_1 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_SPI5_MISO_2 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN5)
-#define GPIO_SPI5_MISO_3 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN13)
-#define GPIO_SPI5_MOSI_1 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTA | GPIO_PIN10)
-#define GPIO_SPI5_MOSI_2 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN8)
-#define GPIO_SPI5_MOSI_3 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN6)
-#define GPIO_SPI5_MOSI_4 (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN14)
-#define GPIO_SPI5_NSS_1  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_SPI5_NSS_2  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN4)
-#define GPIO_SPI5_NSS_3  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN11)
-#define GPIO_SPI5_SCK_1  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTB | GPIO_PIN0)
-#define GPIO_SPI5_SCK_2  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN2)
-#define GPIO_SPI5_SCK_3  (GPIO_ALT | GPIO_AF6 | GPIO_SPEED_50MHz | GPIO_PORTE | GPIO_PIN12)
+#define GPIO_SPI1_MISO_1  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTA | GPIO_PIN6)
+#define GPIO_SPI1_MISO_2  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN4)
+#define GPIO_SPI1_MOSI_1  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTA | GPIO_PIN7)
+#define GPIO_SPI1_MOSI_2  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN5)
+#define GPIO_SPI1_NSS_1   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTA | GPIO_PIN15)
+#define GPIO_SPI1_NSS_2   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTA | GPIO_PIN4)
+#define GPIO_SPI1_SCK_1   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTA | GPIO_PIN5)
+#define GPIO_SPI1_SCK_2   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN3)
+
+#define GPIO_SPI2_MISO_1  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN14)
+#define GPIO_SPI2_MISO_2  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTC | GPIO_PIN2)
+#define GPIO_SPI2_MOSI_1  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN15)
+#define GPIO_SPI2_MOSI_2  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTC | GPIO_PIN3)
+#define GPIO_SPI2_NSS_1   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN12)
+#define GPIO_SPI2_NSS_2   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN9)
+#define GPIO_SPI2_SCK_1   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN10)
+#define GPIO_SPI2_SCK_2   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTB | GPIO_PIN13)
+#define GPIO_SPI2_SCK_3   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTC | GPIO_PIN7)
+#define GPIO_SPI2_SCK_4   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTD | GPIO_PIN3)
+
+#define GPIO_SPI3_MISO_1  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN4)
+#define GPIO_SPI3_MISO_2  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTC | GPIO_PIN11)
+#define GPIO_SPI3_MOSI_1  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN5)
+#define GPIO_SPI3_MOSI_2  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTC | GPIO_PIN12)
+#define GPIO_SPI3_MOSI_3  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTD | GPIO_PIN6)
+#define GPIO_SPI3_NSS_1   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTA | GPIO_PIN15)
+#define GPIO_SPI3_NSS_2   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTA | GPIO_PIN4)
+#define GPIO_SPI3_SCK_1   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN3)
+#define GPIO_SPI3_SCK_2   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTC | GPIO_PIN10)
+#define GPIO_SPI3_SCK_3   (GPIO_ALT | GPIO_AF7 |  GPIO_PORTB | GPIO_PIN12)
+
+#define GPIO_SPI4_MISO_1  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN5)
+#define GPIO_SPI4_MISO_2  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN13)
+#define GPIO_SPI4_MISO_3  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTA | GPIO_PIN11)
+#define GPIO_SPI4_MOSI_1  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN6)
+#define GPIO_SPI4_MOSI_2  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN14)
+#define GPIO_SPI4_MOSI_3  (GPIO_ALT | GPIO_AF5 |  GPIO_PORTA | GPIO_PIN1)
+#define GPIO_SPI4_NSS_1   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN4)
+#define GPIO_SPI4_NSS_2   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN11)
+#define GPIO_SPI4_NSS_3   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN12)
+#define GPIO_SPI4_SCK_1   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN2)
+#define GPIO_SPI4_SCK_2   (GPIO_ALT | GPIO_AF5 |  GPIO_PORTE | GPIO_PIN12)
+#define GPIO_SPI4_SCK_3   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN13)
+
+#define GPIO_SPI5_MISO_1  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTA | GPIO_PIN12)
+#define GPIO_SPI5_MISO_2  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN5)
+#define GPIO_SPI5_MISO_3  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN13)
+#define GPIO_SPI5_MOSI_1  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTA | GPIO_PIN10)
+#define GPIO_SPI5_MOSI_2  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN8)
+#define GPIO_SPI5_MOSI_3  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN6)
+#define GPIO_SPI5_MOSI_4  (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN14)
+#define GPIO_SPI5_NSS_1   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN1)
+#define GPIO_SPI5_NSS_2   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN4)
+#define GPIO_SPI5_NSS_3   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN11)
+#define GPIO_SPI5_SCK_1   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTB | GPIO_PIN0)
+#define GPIO_SPI5_SCK_2   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN2)
+#define GPIO_SPI5_SCK_3   (GPIO_ALT | GPIO_AF6 |  GPIO_PORTE | GPIO_PIN12)
 
 /* Timers */
 
-#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_CH1N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_TIM1_CH1N_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_TIM1_CH1N_3 (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN8)
-#define GPIO_TIM1_CH2N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN0)
-#define GPIO_TIM1_CH2N_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_TIM1_CH2N_3 (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN10)
-#define GPIO_TIM1_CH3N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_TIM1_CH3N_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN15)
-#define GPIO_TIM1_CH3N_3 (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN12)
-#define GPIO_TIM1_ETR_1  (GPIO_ALT | GPIO_AF1 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_TIM1_ETR_2  (GPIO_ALT | GPIO_AF1 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTE | GPIO_PIN7)
-#define GPIO_TIM1_ETR_3  (GPIO_ALT | GPIO_AF1 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTF | GPIO_PIN10)
-#define GPIO_TIM1_CH1_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_TIM1_CH1_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN9)
-#define GPIO_TIM1_CH2_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN9)
-#define GPIO_TIM1_CH2_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN11)
-#define GPIO_TIM1_CH3_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN10)
-#define GPIO_TIM1_CH3_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN13)
-#define GPIO_TIM1_CH4_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN11)
-#define GPIO_TIM1_CH4_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN14)
-
-#define GPIO_TIM2_CH1_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN0)
-#define GPIO_TIM2_CH1_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_TIM2_CH1_3  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN15)
-#define GPIO_TIM2_CH2_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN1)
-#define GPIO_TIM2_CH2_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_TIM2_CH3_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN2)
-#define GPIO_TIM2_CH3_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_TIM2_CH4_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN3)
-#define GPIO_TIM2_CH4_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN11)
-#define GPIO_TIM2_ETR_1  (GPIO_ALT | GPIO_AF1 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN0)
-#define GPIO_TIM2_ETR_2  (GPIO_ALT | GPIO_AF1 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN15)
-#define GPIO_TIM2_ETR_3  (GPIO_ALT | GPIO_AF1 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN5)
+#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_CH1N_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN7)
+#define GPIO_TIM1_CH1N_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_TIM1_CH1N_3  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN8)
+#define GPIO_TIM1_CH2N_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN0)
+#define GPIO_TIM1_CH2N_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_TIM1_CH2N_3  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN10)
+#define GPIO_TIM1_CH3N_1  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN1)
+#define GPIO_TIM1_CH3N_2  (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_TIM1_CH3N_3  (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN12)
+#define GPIO_TIM1_ETR_1   (GPIO_ALT | GPIO_AF1 |  GPIO_FLOAT | GPIO_PORTA | GPIO_PIN12)
+#define GPIO_TIM1_ETR_2   (GPIO_ALT | GPIO_AF1 |  GPIO_FLOAT | GPIO_PORTE | GPIO_PIN7)
+#define GPIO_TIM1_ETR_3   (GPIO_ALT | GPIO_AF1 |  GPIO_FLOAT | GPIO_PORTF | GPIO_PIN10)
+#define GPIO_TIM1_CH1_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_TIM1_CH1_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN9)
+#define GPIO_TIM1_CH2_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN9)
+#define GPIO_TIM1_CH2_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN11)
+#define GPIO_TIM1_CH3_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN10)
+#define GPIO_TIM1_CH3_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN13)
+#define GPIO_TIM1_CH4_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN11)
+#define GPIO_TIM1_CH4_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN14)
+
+#define GPIO_TIM2_CH1_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN0)
+#define GPIO_TIM2_CH1_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN5)
+#define GPIO_TIM2_CH1_3   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN15)
+#define GPIO_TIM2_CH2_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN1)
+#define GPIO_TIM2_CH2_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_TIM2_CH3_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN2)
+#define GPIO_TIM2_CH3_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_TIM2_CH4_1   (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN3)
+#define GPIO_TIM2_CH4_2   (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN11)
+#define GPIO_TIM2_ETR_1   (GPIO_ALT | GPIO_AF1 |  GPIO_FLOAT | GPIO_PORTA | GPIO_PIN0)
+#define GPIO_TIM2_ETR_2   (GPIO_ALT | GPIO_AF1 |  GPIO_FLOAT | GPIO_PORTA | GPIO_PIN15)
+#define GPIO_TIM2_ETR_3   (GPIO_ALT | GPIO_AF1 |  GPIO_FLOAT | GPIO_PORTA | GPIO_PIN5)
 
 #define GPIO_TIM3_CH1_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN6)
 #define GPIO_TIM3_CH1_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTB | GPIO_PIN4)
@@ -602,7 +602,7 @@
 #define GPIO_TIM3_CH3_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTC | GPIO_PIN8)
 #define GPIO_TIM3_CH4_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTB | GPIO_PIN1)
 #define GPIO_TIM3_CH4_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTC | GPIO_PIN9)
-#define GPIO_TIM3_ETR    (GPIO_ALT | GPIO_AF2 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTD | GPIO_PIN2)
+#define GPIO_TIM3_ETR_0  (GPIO_ALT | GPIO_AF2 |  GPIO_FLOAT | GPIO_PORTD | GPIO_PIN2)
 
 #define GPIO_TIM4_CH1_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTB | GPIO_PIN6)
 #define GPIO_TIM4_CH1_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTD | GPIO_PIN12)
@@ -612,7 +612,7 @@
 #define GPIO_TIM4_CH3_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTD | GPIO_PIN14)
 #define GPIO_TIM4_CH4_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTB | GPIO_PIN9)
 #define GPIO_TIM4_CH4_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTD | GPIO_PIN15)
-#define GPIO_TIM4_ETR    (GPIO_ALT | GPIO_AF2 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTE | GPIO_PIN0)
+#define GPIO_TIM4_ETR_0  (GPIO_ALT | GPIO_AF2 |  GPIO_FLOAT | GPIO_PORTE | GPIO_PIN0)
 #define GPIO_TIM5_CH1_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN0)
 #define GPIO_TIM5_CH1_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTF | GPIO_PIN3)
 #define GPIO_TIM5_CH2_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN1)
@@ -622,20 +622,20 @@
 #define GPIO_TIM5_CH4_1  (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN3)
 #define GPIO_TIM5_CH4_2  (GPIO_ALT | GPIO_AF2 | GPIO_PORTF | GPIO_PIN10)
 
-#define GPIO_TIM8_BKIN_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_TIM8_BKIN_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTF | GPIO_PIN12)
-#define GPIO_TIM8_CH1N_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN5)
-#define GPIO_TIM8_CH1N_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_TIM8_CH2N_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN0)
-#define GPIO_TIM8_CH2N_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_TIM8_CH3N_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_TIM8_CH3N_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN15)
-#define GPIO_TIM8_ETR_1  (GPIO_ALT | GPIO_AF3 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN0)
-#define GPIO_TIM8_ETR_2  (GPIO_ALT | GPIO_AF3 | GPIO_SPEED_50MHz | GPIO_FLOAT | GPIO_PORTF | GPIO_PIN11)
-#define GPIO_TIM8_CH1    (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_TIM8_CH2    (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_TIM8_CH3    (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN8)
-#define GPIO_TIM8_CH4    (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_TIM8_BKIN_1  (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN6)
+#define GPIO_TIM8_BKIN_2  (GPIO_ALT | GPIO_AF3 | GPIO_PORTF | GPIO_PIN12)
+#define GPIO_TIM8_CH1N_1  (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN5)
+#define GPIO_TIM8_CH1N_2  (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN7)
+#define GPIO_TIM8_CH2N_1  (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN0)
+#define GPIO_TIM8_CH2N_2  (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_TIM8_CH3N_1  (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN1)
+#define GPIO_TIM8_CH3N_2  (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_TIM8_ETR_1   (GPIO_ALT | GPIO_AF3 |  GPIO_FLOAT | GPIO_PORTA | GPIO_PIN0)
+#define GPIO_TIM8_ETR_2   (GPIO_ALT | GPIO_AF3 |  GPIO_FLOAT | GPIO_PORTF | GPIO_PIN11)
+#define GPIO_TIM8_CH1_0   (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_TIM8_CH2_0   (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_TIM8_CH3_0   (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN8)
+#define GPIO_TIM8_CH4_0   (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN9)
 
 #define GPIO_TIM9_CH1_1  (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN2)
 #define GPIO_TIM9_CH1_2  (GPIO_ALT | GPIO_AF3 | GPIO_PORTE | GPIO_PIN5)
@@ -648,8 +648,8 @@
 #define GPIO_TIM11_CH1_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN9)
 #define GPIO_TIM11_CH1_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTF | GPIO_PIN7)
 
-#define GPIO_TIM12_CH1   (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_TIM12_CH2   (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN15)
+#define GPIO_TIM12_CH1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_TIM12_CH2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN15)
 
 #define GPIO_TIM13_CH1_1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN6)
 #define GPIO_TIM13_CH1_2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTF | GPIO_PIN8)
@@ -659,100 +659,100 @@
 
 /* Trace */
 
-#define GPIO_TRACECLK  (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN2)
-#define GPIO_TRACED0_1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN3)
-#define GPIO_TRACED0_2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTF | GPIO_PIN6)
-#define GPIO_TRACED1_1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN3)
-#define GPIO_TRACED1_2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN4)
-#define GPIO_TRACED1_3 (GPIO_ALT | GPIO_AF0 | GPIO_PORTF | GPIO_PIN7)
+#define GPIO_TRACECLK_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN2)
+#define GPIO_TRACED0_1  (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN3)
+#define GPIO_TRACED0_2  (GPIO_ALT | GPIO_AF0 | GPIO_PORTF | GPIO_PIN6)
+#define GPIO_TRACED1_1  (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN3)
+#define GPIO_TRACED1_2  (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN4)
+#define GPIO_TRACED1_3  (GPIO_ALT | GPIO_AF0 | GPIO_PORTF | GPIO_PIN7)
 
-#define GPIO_TRACED2_1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN5)
-#define GPIO_TRACED2_2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTG | GPIO_PIN13)
-#define GPIO_TRACED3_1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN6)
-#define GPIO_TRACED3_2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTG | GPIO_PIN14)
+#define GPIO_TRACED2_1  (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN5)
+#define GPIO_TRACED2_2  (GPIO_ALT | GPIO_AF0 | GPIO_PORTG | GPIO_PIN13)
+#define GPIO_TRACED3_1  (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN6)
+#define GPIO_TRACED3_2  (GPIO_ALT | GPIO_AF0 | GPIO_PORTG | GPIO_PIN14)
 
 /* UARTs/USARTs */
 
-#define GPIO_USART1_CK    (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN8)
-#define GPIO_USART1_CTS   (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN11)
-#define GPIO_USART1_RTS   (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_USART1_RX_1  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN10)
-#define GPIO_USART1_RX_2  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN3)
-#define GPIO_USART1_RX_3  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN7)
-#define GPIO_USART1_TX_1  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9)
-#define GPIO_USART1_TX_2  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6)
-#define GPIO_USART1_TX_3  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN15)
-
-#define GPIO_USART2_CK_1  (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN4)
-#define GPIO_USART2_CK_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN7)
-#define GPIO_USART2_CTS_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN0)
-#define GPIO_USART2_CTS_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN3)
-#define GPIO_USART2_RTS_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN1)
-#define GPIO_USART2_RTS_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN4)
-#define GPIO_USART2_RX_1  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN3)
-#define GPIO_USART2_RX_2  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN6)
-#define GPIO_USART2_TX_1  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN2)
-#define GPIO_USART2_TX_2  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN5)
-
-#define GPIO_USART3_CK_1  (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN12)
-#define GPIO_USART3_CK_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTC | GPIO_PIN12)
-#define GPIO_USART3_CK_3  (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN10)
-#define GPIO_USART3_CTS_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN13)
-#define GPIO_USART3_CTS_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN11)
-#define GPIO_USART3_RTS_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN14)
-#define GPIO_USART3_RTS_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN12)
-#define GPIO_USART3_RX_1  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN11)
-#define GPIO_USART3_RX_2  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN11)
-#define GPIO_USART3_RX_3  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN9)
-#define GPIO_USART3_RX_4  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN5)
-#define GPIO_USART3_TX_1  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN10)
-#define GPIO_USART3_TX_2  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN10)
-#define GPIO_USART3_TX_3  (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN8)
-
-#define GPIO_USART6_CK_1  (GPIO_ALT | GPIO_AF8 | GPIO_PORTC | GPIO_PIN8)
-#define GPIO_USART6_CK_2  (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN7)
-#define GPIO_USART6_CTS_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN13)
-#define GPIO_USART6_CTS_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN15)
-#define GPIO_USART6_RTS_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN12)
-#define GPIO_USART6_RTS_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN8)
-#define GPIO_USART6_RX_1  (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN7)
-#define GPIO_USART6_RX_2  (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN9)
-#define GPIO_USART6_RX_3  (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12)
-#define GPIO_USART6_TX_1  (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN6)
-#define GPIO_USART6_TX_2  (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN14)
-#define GPIO_USART6_TX_3  (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP | GPIO_SPEED_100MHz | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11)
+#define GPIO_USART1_CK_0   (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN8)
+#define GPIO_USART1_CTS_0  (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN11)
+#define GPIO_USART1_RTS_0  (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN12)
+#define GPIO_USART1_RX_1   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN10)
+#define GPIO_USART1_RX_2   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN3)
+#define GPIO_USART1_RX_3   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN7)
+#define GPIO_USART1_TX_1   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9)
+#define GPIO_USART1_TX_2   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6)
+#define GPIO_USART1_TX_3   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN15)
+
+#define GPIO_USART2_CK_1   (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN4)
+#define GPIO_USART2_CK_2   (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN7)
+#define GPIO_USART2_CTS_1  (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN0)
+#define GPIO_USART2_CTS_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN3)
+#define GPIO_USART2_RTS_1  (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN1)
+#define GPIO_USART2_RTS_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN4)
+#define GPIO_USART2_RX_1   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN3)
+#define GPIO_USART2_RX_2   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN6)
+#define GPIO_USART2_TX_1   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN2)
+#define GPIO_USART2_TX_2   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN5)
+
+#define GPIO_USART3_CK_1   (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN12)
+#define GPIO_USART3_CK_2   (GPIO_ALT | GPIO_AF7 | GPIO_PORTC | GPIO_PIN12)
+#define GPIO_USART3_CK_3   (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN10)
+#define GPIO_USART3_CTS_1  (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN13)
+#define GPIO_USART3_CTS_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN11)
+#define GPIO_USART3_RTS_1  (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN14)
+#define GPIO_USART3_RTS_2  (GPIO_ALT | GPIO_AF7 | GPIO_PORTD | GPIO_PIN12)
+#define GPIO_USART3_RX_1   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN11)
+#define GPIO_USART3_RX_2   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN11)
+#define GPIO_USART3_RX_3   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN9)
+#define GPIO_USART3_RX_4   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN5)
+#define GPIO_USART3_TX_1   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN10)
+#define GPIO_USART3_TX_2   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN10)
+#define GPIO_USART3_TX_3   (GPIO_ALT | GPIO_AF7 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN8)
+
+#define GPIO_USART6_CK_1   (GPIO_ALT | GPIO_AF8 | GPIO_PORTC | GPIO_PIN8)
+#define GPIO_USART6_CK_2   (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN7)
+#define GPIO_USART6_CTS_1  (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN13)
+#define GPIO_USART6_CTS_2  (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN15)
+#define GPIO_USART6_RTS_1  (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN12)
+#define GPIO_USART6_RTS_2  (GPIO_ALT | GPIO_AF8 | GPIO_PORTG | GPIO_PIN8)
+#define GPIO_USART6_RX_1   (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN7)
+#define GPIO_USART6_RX_2   (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN9)
+#define GPIO_USART6_RX_3   (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12)
+#define GPIO_USART6_TX_1   (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN6)
+#define GPIO_USART6_TX_2   (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTG | GPIO_PIN14)
+#define GPIO_USART6_TX_3   (GPIO_ALT | GPIO_AF8 | GPIO_PULLUP |  GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11)
 
 /* Quad SPI */
 
-#define GPIO_QUADSPI_BK1_IO0_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTF | GPIO_PIN8)
-#define GPIO_QUADSPI_BK1_IO0_2 (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN9)
-#define GPIO_QUADSPI_BK1_IO0_3 (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN11)
-#define GPIO_QUADSPI_BK1_IO1_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTF | GPIO_PIN9)
-#define GPIO_QUADSPI_BK1_IO1_2 (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN10)
-#define GPIO_QUADSPI_BK1_IO1_3 (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN12)
-#define GPIO_QUADSPI_BK1_IO2_1 (GPIO_ALT | GPIO_AF9  | GPIO_PORTE | GPIO_PIN2)
-#define GPIO_QUADSPI_BK1_IO2_2 (GPIO_ALT | GPIO_AF9  | GPIO_PORTF | GPIO_PIN7)
-#define GPIO_QUADSPI_BK1_IO2_3 (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN8)
-#define GPIO_QUADSPI_BK1_IO3_1 (GPIO_ALT | GPIO_AF9  | GPIO_PORTA | GPIO_PIN1)
-#define GPIO_QUADSPI_BK1_IO3_2 (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN13)
-#define GPIO_QUADSPI_BK1_IO3_3 (GPIO_ALT | GPIO_AF9  | GPIO_PORTF | GPIO_PIN6)
-#define GPIO_QUADSPI_BK1_NCS_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTB | GPIO_PIN6)
-#define GPIO_QUADSPI_BK1_NCS_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTG | GPIO_PIN6)
-
-#define GPIO_QUADSPI_BK2_IO0_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN7)
-#define GPIO_QUADSPI_BK2_IO0_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN6)
-#define GPIO_QUADSPI_BK2_IO1_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN8)
-#define GPIO_QUADSPI_BK2_IO1_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN7)
-#define GPIO_QUADSPI_BK2_IO2_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN9)
-#define GPIO_QUADSPI_BK2_IO2_2 (GPIO_ALT | GPIO_AF9  | GPIO_PORTG | GPIO_PIN9)
-#define GPIO_QUADSPI_BK2_IO2_3 (GPIO_ALT | GPIO_AF10 | GPIO_PORTC | GPIO_PIN4)
-#define GPIO_QUADSPI_BK2_IO3_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTC | GPIO_PIN5)
-#define GPIO_QUADSPI_BK2_IO3_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN10)
-#define GPIO_QUADSPI_BK2_IO3_3 (GPIO_ALT | GPIO_AF9  | GPIO_PORTG | GPIO_PIN14)
-#define GPIO_QUADSPI_BK2_NCS   (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN11)
-
-#define GPIO_QUADSPI_CLK_1     (GPIO_ALT | GPIO_AF9  | GPIO_PORTB | GPIO_PIN1)
-#define GPIO_QUADSPI_CLK_2     (GPIO_ALT | GPIO_AF9  | GPIO_PORTB | GPIO_PIN2)
-#define GPIO_QUADSPI_CLK_3     (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN3)
+#define GPIO_QUADSPI_BK1_IO0_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTF | GPIO_PIN8)
+#define GPIO_QUADSPI_BK1_IO0_2  (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN9)
+#define GPIO_QUADSPI_BK1_IO0_3  (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN11)
+#define GPIO_QUADSPI_BK1_IO1_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTF | GPIO_PIN9)
+#define GPIO_QUADSPI_BK1_IO1_2  (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN10)
+#define GPIO_QUADSPI_BK1_IO1_3  (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN12)
+#define GPIO_QUADSPI_BK1_IO2_1  (GPIO_ALT | GPIO_AF9  | GPIO_PORTE | GPIO_PIN2)
+#define GPIO_QUADSPI_BK1_IO2_2  (GPIO_ALT | GPIO_AF9  | GPIO_PORTF | GPIO_PIN7)
+#define GPIO_QUADSPI_BK1_IO2_3  (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN8)
+#define GPIO_QUADSPI_BK1_IO3_1  (GPIO_ALT | GPIO_AF9  | GPIO_PORTA | GPIO_PIN1)
+#define GPIO_QUADSPI_BK1_IO3_2  (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN13)
+#define GPIO_QUADSPI_BK1_IO3_3  (GPIO_ALT | GPIO_AF9  | GPIO_PORTF | GPIO_PIN6)
+#define GPIO_QUADSPI_BK1_NCS_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTB | GPIO_PIN6)
+#define GPIO_QUADSPI_BK1_NCS_2  (GPIO_ALT | GPIO_AF10 | GPIO_PORTG | GPIO_PIN6)
+
+#define GPIO_QUADSPI_BK2_IO0_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN7)
+#define GPIO_QUADSPI_BK2_IO0_2  (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN6)
+#define GPIO_QUADSPI_BK2_IO1_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN8)
+#define GPIO_QUADSPI_BK2_IO1_2  (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN7)
+#define GPIO_QUADSPI_BK2_IO2_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN9)
+#define GPIO_QUADSPI_BK2_IO2_2  (GPIO_ALT | GPIO_AF9  | GPIO_PORTG | GPIO_PIN9)
+#define GPIO_QUADSPI_BK2_IO2_3  (GPIO_ALT | GPIO_AF10 | GPIO_PORTC | GPIO_PIN4)
+#define GPIO_QUADSPI_BK2_IO3_1  (GPIO_ALT | GPIO_AF10 | GPIO_PORTC | GPIO_PIN5)
+#define GPIO_QUADSPI_BK2_IO3_2  (GPIO_ALT | GPIO_AF10 | GPIO_PORTE | GPIO_PIN10)
+#define GPIO_QUADSPI_BK2_IO3_3  (GPIO_ALT | GPIO_AF9  | GPIO_PORTG | GPIO_PIN14)
+#define GPIO_QUADSPI_BK2_NCS_0  (GPIO_ALT | GPIO_AF9  | GPIO_PORTC | GPIO_PIN11)
+
+#define GPIO_QUADSPI_CLK_1      (GPIO_ALT | GPIO_AF9  | GPIO_PORTB | GPIO_PIN1)
+#define GPIO_QUADSPI_CLK_2      (GPIO_ALT | GPIO_AF9  | GPIO_PORTB | GPIO_PIN2)
+#define GPIO_QUADSPI_CLK_3      (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN3)
 
 #endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32F412XX_PINMAP_H */
diff --git a/arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h b/arch/arm/src/stm32/hardware/stm32f412xx_pinmap_legacy.h
similarity index 99%
copy from arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h
copy to arch/arm/src/stm32/hardware/stm32f412xx_pinmap_legacy.h
index 48b489aeb7..f3ff263555 100644
--- a/arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h
+++ b/arch/arm/src/stm32/hardware/stm32f412xx_pinmap_legacy.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32/hardware/stm32f412xx_pinmap.h
+ * arch/arm/src/stm32/hardware/stm32f412xx_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_STM32_HARDWARE_STM32F412XX_PINMAP_H
-#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32F412XX_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32F412XX_PINMAP_LEGACY_H
+#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32F412XX_PINMAP_LEGACY_H
 
 /****************************************************************************
  * Included Files
@@ -755,4 +755,4 @@
 #define GPIO_QUADSPI_CLK_2     (GPIO_ALT | GPIO_AF9  | GPIO_PORTB | GPIO_PIN2)
 #define GPIO_QUADSPI_CLK_3     (GPIO_ALT | GPIO_AF9  | GPIO_PORTD | GPIO_PIN3)
 
-#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32F412XX_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32F412XX_PINMAP_LEGACY_H */
diff --git a/arch/arm/src/stm32/stm32_gpio.c b/arch/arm/src/stm32/stm32_gpio.c
index 974aea8c2a..1ff25b3f6d 100644
--- a/arch/arm/src/stm32/stm32_gpio.c
+++ b/arch/arm/src/stm32/stm32_gpio.c
@@ -37,6 +37,10 @@
 #include "stm32_syscfg.h"
 #include "stm32_gpio.h"
 
+#if defined(CONFIG_STM32_USE_LEGACY_PINMAP)
+#  pragma message "CONFIG_STM32_USE_LEGACY_PINMAP will be deprecated migrate board.h see tools/stm32_pinmap_tool.py"
+#endif
+
 /****************************************************************************
  * Public Data
  ****************************************************************************/