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

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

commit 7934a1c21c5fc9ac1fa703c6d6cd83f553930890
Author: raiden00pl <[email protected]>
AuthorDate: Thu Apr 23 13:32:00 2026 +0200

    boards/stm32f3: migrate to new pinmap
    
    migrate stm32f3 to new pinmap
    
    Signed-off-by: raiden00pl <[email protected]>
---
 .../arm/stm32/nucleo-f302r8/configs/can/defconfig  |  1 +
 .../stm32/nucleo-f302r8/configs/cansock/defconfig  |  1 +
 .../stm32/nucleo-f302r8/configs/highpri/defconfig  |  1 +
 .../nucleo-f302r8/configs/ihm07m1_b16/defconfig    |  1 +
 .../nucleo-f302r8/configs/ihm07m1_f32/defconfig    |  1 +
 .../arm/stm32/nucleo-f302r8/configs/nsh/defconfig  |  1 +
 .../stm32/nucleo-f302r8/configs/qenco/defconfig    |  1 +
 boards/arm/stm32/nucleo-f302r8/include/board.h     | 46 ++++++++--------
 boards/arm/stm32/nucleo-f302r8/src/stm32_adc.c     |  8 +--
 .../stm32/nucleo-f302r8/src/stm32_foc_ihm07m1.c    | 10 ++--
 boards/arm/stm32/nucleo-f302r8/src/stm32_highpri.c | 10 ++--
 .../arm/stm32/nucleo-f303re/configs/adc/defconfig  |  1 +
 .../arm/stm32/nucleo-f303re/configs/can/defconfig  |  1 +
 .../stm32/nucleo-f303re/configs/hello/defconfig    |  1 +
 .../arm/stm32/nucleo-f303re/configs/nsh/defconfig  |  1 +
 .../stm32/nucleo-f303re/configs/nxlines/defconfig  |  1 +
 .../arm/stm32/nucleo-f303re/configs/pwm/defconfig  |  1 +
 .../stm32/nucleo-f303re/configs/serialrx/defconfig |  1 +
 boards/arm/stm32/nucleo-f303re/include/board.h     | 29 +++++-----
 boards/arm/stm32/nucleo-f303re/src/stm32_adc.c     | 44 +++++++--------
 .../arm/stm32/nucleo-f303ze/configs/adc/defconfig  |  1 +
 .../arm/stm32/nucleo-f303ze/configs/nsh/defconfig  |  1 +
 .../nucleo-f303ze/configs/nxlines_oled/defconfig   |  1 +
 boards/arm/stm32/nucleo-f303ze/include/board.h     | 14 ++---
 boards/arm/stm32/nucleo-f303ze/src/stm32_adc.c     | 18 +++----
 .../arm/stm32/nucleo-f334r8/configs/adc/defconfig  |  1 +
 .../stm32/nucleo-f334r8/configs/highpri/defconfig  |  1 +
 .../arm/stm32/nucleo-f334r8/configs/nsh/defconfig  |  1 +
 .../stm32/nucleo-f334r8/configs/spwm1/defconfig    |  1 +
 .../stm32/nucleo-f334r8/configs/spwm2/defconfig    |  1 +
 boards/arm/stm32/nucleo-f334r8/include/board.h     | 63 ++++++++++++++--------
 boards/arm/stm32/nucleo-f334r8/src/stm32_adc.c     | 18 +++----
 boards/arm/stm32/nucleo-f334r8/src/stm32_highpri.c | 10 ++--
 .../stm32f334-disco/configs/buckboost/defconfig    |  1 +
 .../stm32/stm32f334-disco/configs/nsh/defconfig    |  1 +
 .../stm32f334-disco/configs/powerled/defconfig     |  1 +
 boards/arm/stm32/stm32f334-disco/include/board.h   | 60 ++++++++++++++++-----
 boards/arm/stm32/stm32f334-disco/src/stm32_adc.c   | 18 +++----
 boards/arm/stm32/stm32f334-disco/src/stm32_smps.c  |  4 +-
 .../stm32/stm32f3discovery/configs/nsh/defconfig   |  1 +
 .../stm32f3discovery/configs/usbnsh/defconfig      |  1 +
 boards/arm/stm32/stm32f3discovery/include/board.h  | 17 +++---
 42 files changed, 241 insertions(+), 155 deletions(-)

diff --git a/boards/arm/stm32/nucleo-f302r8/configs/can/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/can/defconfig
index aef827a25b3..32a9efff75d 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/can/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/can/defconfig
@@ -5,6 +5,7 @@
 # You can then do "make savedefconfig" to generate a new defconfig file that 
includes your
 # modifications.
 #
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
 CONFIG_ARCH_BOARD_NUCLEO_F302R8=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/cansock/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/cansock/defconfig
index 701e71056cc..b2a57e9cb40 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/cansock/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/cansock/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_ARCH_FPU is not set
 # CONFIG_NET_ETHERNET is not set
 # CONFIG_NET_IPv4 is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/highpri/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/highpri/defconfig
index 87db1d2a413..a629ea8132c 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/highpri/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/highpri/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
 CONFIG_ARCH_BOARD_NUCLEO_F302R8=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig
index 39910fedf69..2c598fbb810 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_DISABLE_MQUEUE is not set
 # CONFIG_DISABLE_PTHREAD is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ADC=y
 CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig
index c3c5fc1ce34..8be35e9da05 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_DISABLE_MQUEUE is not set
 # CONFIG_DISABLE_PTHREAD is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ADC=y
 CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/nsh/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/nsh/defconfig
index c03c2f9315d..1cd3ce1f578 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/nsh/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/nsh/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_ARCH_FPU is not set
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 # CONFIG_SYSTEM_DD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig 
b/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig
index 399e8177a46..0a64c1c3c05 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig
@@ -57,6 +57,7 @@
 # CONFIG_NSH_DISABLE_USLEEP is not set
 # CONFIG_NSH_DISABLE_WGET is not set
 # CONFIG_NSH_DISABLE_XD is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
 CONFIG_ARCH_BOARD_COMMON=y
diff --git a/boards/arm/stm32/nucleo-f302r8/include/board.h 
b/boards/arm/stm32/nucleo-f302r8/include/board.h
index 16ed19b353a..21d24f4b50e 100644
--- a/boards/arm/stm32/nucleo-f302r8/include/board.h
+++ b/boards/arm/stm32/nucleo-f302r8/include/board.h
@@ -193,8 +193,8 @@
 
 /* TIM2 input ***************************************************************/
 
-#define GPIO_TIM2_CH1IN (GPIO_TIM2_CH1IN_2 | GPIO_PULLUP) /* PA15 */
-#define GPIO_TIM2_CH2IN (GPIO_TIM2_CH2IN_2 | GPIO_PULLUP) /* PB3 */
+#define GPIO_TIM2_CH1IN (GPIO_TIM2_CH1IN_2 | GPIO_PULLUP | GPIO_SPEED_50MHz) 
/* PA15 */
+#define GPIO_TIM2_CH2IN (GPIO_TIM2_CH2IN_2 | GPIO_PULLUP | GPIO_SPEED_50MHz) 
/* PB3 */
 
 /* USART */
 
@@ -203,8 +203,8 @@
  * USART2_TX - PA2
  */
 
-#define GPIO_USART2_RX GPIO_USART2_RX_2 /* PA3 */
-#define GPIO_USART2_TX GPIO_USART2_TX_2 /* PA2 */
+#define GPIO_USART2_RX (GPIO_USART2_RX_2|GPIO_SPEED_50MHz) /* PA3 */
+#define GPIO_USART2_TX (GPIO_USART2_TX_2|GPIO_SPEED_50MHz) /* PA2 */
 
 /* USART1
  *
@@ -222,20 +222,20 @@
  */
 
 #ifdef CONFIG_NUCLEOF302R8_RS485_WAVESHARE
-#  define GPIO_USART1_RX GPIO_USART1_RX_1 /* PA10 */
-#  define GPIO_USART1_TX GPIO_USART1_TX_1 /* PA9 */
+#  define GPIO_USART1_RX (GPIO_USART1_RX_1|GPIO_SPEED_50MHz) /* PA10 */
+#  define GPIO_USART1_TX (GPIO_USART1_TX_1|GPIO_SPEED_50MHz) /* PA9 */
 #  define GPIO_USART1_RS485_DIR (GPIO_OUTPUT | GPIO_PUSHPULL |          \
                                  GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \
                                  GPIO_PORTA | GPIO_PIN8)
 #else
-#  define GPIO_USART1_RX GPIO_USART1_RX_2 /* PB7 */
-#  define GPIO_USART1_TX GPIO_USART1_TX_2 /* PB6 */
+#  define GPIO_USART1_RX (GPIO_USART1_RX_2|GPIO_SPEED_50MHz) /* PB7 */
+#  define GPIO_USART1_TX (GPIO_USART1_TX_2|GPIO_SPEED_50MHz) /* PB6 */
 #endif
 
 /* CAN */
 
-#define GPIO_CAN1_RX     GPIO_CAN_RX_3 /* PB8 */
-#define GPIO_CAN1_TX     GPIO_CAN_TX_3 /* PB9 */
+#define GPIO_CAN1_RX (GPIO_CAN_RX_3|GPIO_SPEED_50MHz) /* PB8 */
+#define GPIO_CAN1_TX (GPIO_CAN_TX_3|GPIO_SPEED_50MHz) /* PB9 */
 
 /* PWM configuration ********************************************************/
 
@@ -243,18 +243,18 @@
 
 #define STM32_TIM1_TRGO 0
 
-#define GPIO_TIM1_CH1OUT  GPIO_TIM1_CH1OUT_2  /* PA8 */
-#define GPIO_TIM1_CH1NOUT GPIO_TIM1_CH1N_3    /* PA11 */
-#define GPIO_TIM1_CH2OUT  GPIO_TIM1_CH2OUT_2  /* PA9 */
-#define GPIO_TIM1_CH2NOUT GPIO_TIM1_CH2N_2    /* PA12 */
-#define GPIO_TIM1_CH3OUT  GPIO_TIM1_CH3OUT_2  /* PA10 */
-#define GPIO_TIM1_CH3NOUT GPIO_TIM1_CH3N_3    /* PB1 */
+#define GPIO_TIM1_CH1OUT (GPIO_TIM1_CH1OUT_2|GPIO_SPEED_50MHz)  /* PA8 */
+#define GPIO_TIM1_CH1NOUT (GPIO_TIM1_CH1N_3|GPIO_SPEED_50MHz)   /* PA11 */
+#define GPIO_TIM1_CH2OUT (GPIO_TIM1_CH2OUT_2|GPIO_SPEED_50MHz)  /* PA9 */
+#define GPIO_TIM1_CH2NOUT (GPIO_TIM1_CH2N_2|GPIO_SPEED_50MHz)   /* PA12 */
+#define GPIO_TIM1_CH3OUT (GPIO_TIM1_CH3OUT_2|GPIO_SPEED_50MHz)  /* PA10 */
+#define GPIO_TIM1_CH3NOUT (GPIO_TIM1_CH3N_3|GPIO_SPEED_50MHz)   /* PB1 */
 
 /* TIM2 PWM */
 
-#define GPIO_TIM2_CH1OUT  GPIO_TIM2_CH1_ETR_1 /* PA0 */
-#define GPIO_TIM2_CH2OUT  GPIO_TIM2_CH2OUT_1  /* PA1 */
-#define GPIO_TIM2_CH3OUT  GPIO_TIM2_CH3OUT_1  /* PA9 */
+#define GPIO_TIM2_CH1OUT (GPIO_TIM2_CH1_ETR_1|GPIO_SPEED_50MHz) /* PA0 */
+#define GPIO_TIM2_CH2OUT (GPIO_TIM2_CH2OUT_1|GPIO_SPEED_50MHz)  /* PA1 */
+#define GPIO_TIM2_CH3OUT (GPIO_TIM2_CH3OUT_1|GPIO_SPEED_50MHz)  /* PA9 */
 
 /* DMA channels *************************************************************/
 
@@ -270,10 +270,10 @@
 
 /* TIM1 configuration *******************************************************/
 
-#  define GPIO_TIM1_CH1OUT   GPIO_TIM1_CH1OUT_2 /* TIM1 CH1  - PA8  - U high */
-#  define GPIO_TIM1_CH2OUT   GPIO_TIM1_CH2OUT_2 /* TIM1 CH2  - PA9  - V high */
-#  define GPIO_TIM1_CH3OUT   GPIO_TIM1_CH3OUT_2 /* TIM1 CH3  - PA10 - W high */
-#  define GPIO_TIM1_CH4OUT   0                  /* not used as output */
+#  define GPIO_TIM1_CH1OUT (GPIO_TIM1_CH1OUT_2|GPIO_SPEED_50MHz) /* TIM1 CH1  
- PA8  - U high */
+#  define GPIO_TIM1_CH2OUT (GPIO_TIM1_CH2OUT_2|GPIO_SPEED_50MHz) /* TIM1 CH2  
- PA9  - V high */
+#  define GPIO_TIM1_CH3OUT (GPIO_TIM1_CH3OUT_2|GPIO_SPEED_50MHz) /* TIM1 CH3  
- PA10 - W high */
+#  define GPIO_TIM1_CH4OUT 0                                     /* not used 
as output */
 
 /* UVW ENABLE */
 
diff --git a/boards/arm/stm32/nucleo-f302r8/src/stm32_adc.c 
b/boards/arm/stm32/nucleo-f302r8/src/stm32_adc.c
index 6855e09abc8..f4ec3e6b317 100644
--- a/boards/arm/stm32/nucleo-f302r8/src/stm32_adc.c
+++ b/boards/arm/stm32/nucleo-f302r8/src/stm32_adc.c
@@ -59,10 +59,10 @@ static const uint8_t  g_adc1_chanlist[ADC1_NCHANNELS] =
 
 static const uint32_t g_adc1_pinlist[ADC1_NCHANNELS]  =
 {
-  GPIO_ADC1_IN6,                /* PC0 */
-  GPIO_ADC1_IN7,                /* PC1 */
-  GPIO_ADC1_IN8,                /* PC2 */
-  GPIO_ADC1_IN9,                /* PC3 */
+  GPIO_ADC1_IN6_0,                /* PC0 */
+  GPIO_ADC1_IN7_0,                /* PC1 */
+  GPIO_ADC1_IN8_0,                /* PC2 */
+  GPIO_ADC1_IN9_0,                /* PC3 */
 };
 
 /****************************************************************************
diff --git a/boards/arm/stm32/nucleo-f302r8/src/stm32_foc_ihm07m1.c 
b/boards/arm/stm32/nucleo-f302r8/src/stm32_foc_ihm07m1.c
index 60471ed2ae3..3d061622c90 100644
--- a/boards/arm/stm32/nucleo-f302r8/src/stm32_foc_ihm07m1.c
+++ b/boards/arm/stm32/nucleo-f302r8/src/stm32_foc_ihm07m1.c
@@ -102,17 +102,17 @@ static uint8_t g_adc1_chan[] =
 static uint32_t g_adc1_pins[] =
 {
 #ifdef CONFIG_BOARD_STM32_IHM07M1_VBUS
-  GPIO_ADC1_IN2,
+  GPIO_ADC1_IN2_0,
 #endif
 #ifdef CONFIG_BOARD_STM32_IHM07M1_POT
-  GPIO_ADC1_IN12,
+  GPIO_ADC1_IN12_0,
 #endif
-  GPIO_ADC1_IN1,
+  GPIO_ADC1_IN1_0,
 #if CONFIG_MOTOR_FOC_SHUNTS > 1
-  GPIO_ADC1_IN7,
+  GPIO_ADC1_IN7_0,
 #endif
 #if CONFIG_MOTOR_FOC_SHUNTS > 2
-  GPIO_ADC1_IN6,
+  GPIO_ADC1_IN6_0,
 #endif
 };
 
diff --git a/boards/arm/stm32/nucleo-f302r8/src/stm32_highpri.c 
b/boards/arm/stm32/nucleo-f302r8/src/stm32_highpri.c
index 2a515dfc91c..a7775f2b0ec 100644
--- a/boards/arm/stm32/nucleo-f302r8/src/stm32_highpri.c
+++ b/boards/arm/stm32/nucleo-f302r8/src/stm32_highpri.c
@@ -163,16 +163,16 @@ static const uint8_t g_chanlist1[DEV1_NCHANNELS] =
 
 static const uint32_t g_pinlist1[DEV1_NCHANNELS] =
 {
-  GPIO_ADC1_IN1,                /* PA0/A0 */
+  GPIO_ADC1_IN1_0,                /* PA0/A0 */
 #ifdef CONFIG_STM32_ADC1_DMA
-  GPIO_ADC1_IN2,                /* PA1/A1 */
-  GPIO_ADC1_IN11,               /* PB0/A3 */
+  GPIO_ADC1_IN2_0,                /* PA1/A1 */
+  GPIO_ADC1_IN11_0,               /* PB0/A3 */
 #endif
 #if INJ_NCHANNELS > 0
-  GPIO_ADC1_IN7,                /* PC1/A4 */
+  GPIO_ADC1_IN7_0,                /* PC1/A4 */
 #endif
 #if INJ_NCHANNELS > 1
-  GPIO_ADC1_IN6                 /* PC0/A5 */
+  GPIO_ADC1_IN6_0                 /* PC0/A5 */
 #endif
 };
 
diff --git a/boards/arm/stm32/nucleo-f303re/configs/adc/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/adc/defconfig
index ea4831dc3fd..05c6140c8d1 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/adc/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/adc/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_ARCH_FPU is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ADC=y
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
diff --git a/boards/arm/stm32/nucleo-f303re/configs/can/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/can/defconfig
index 4c85a315731..b701084eec5 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/can/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/can/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_ARCH_FPU is not set
 # CONFIG_DEV_CONSOLE is not set
 # CONFIG_SERIAL is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303re"
 CONFIG_ARCH_BOARD_NUCLEO_F303RE=y
diff --git a/boards/arm/stm32/nucleo-f303re/configs/hello/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/hello/defconfig
index a51fa54aaa0..96a30b78c43 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/hello/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/hello/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_ARCH_FPU is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303re"
 CONFIG_ARCH_BOARD_NUCLEO_F303RE=y
diff --git a/boards/arm/stm32/nucleo-f303re/configs/nsh/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/nsh/defconfig
index 95b091e30b4..39b304f1a1b 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/nsh/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/nsh/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_ARCH_FPU is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303re"
 CONFIG_ARCH_BOARD_NUCLEO_F303RE=y
diff --git a/boards/arm/stm32/nucleo-f303re/configs/nxlines/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/nxlines/defconfig
index 8bacca4eb3f..3a9fd10ea5b 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/nxlines/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/nxlines/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NXFONTS_DISABLE_16BPP is not set
 # CONFIG_NX_DISABLE_16BPP is not set
 # CONFIG_SERIAL is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303re"
 CONFIG_ARCH_BOARD_NUCLEO_F303RE=y
diff --git a/boards/arm/stm32/nucleo-f303re/configs/pwm/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/pwm/defconfig
index ae10fd15e4c..86c3c8eccf2 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/pwm/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/pwm/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_ARCH_FPU is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303re"
 CONFIG_ARCH_BOARD_NUCLEO_F303RE=y
diff --git a/boards/arm/stm32/nucleo-f303re/configs/serialrx/defconfig 
b/boards/arm/stm32/nucleo-f303re/configs/serialrx/defconfig
index 16397524983..04ee802aa4e 100644
--- a/boards/arm/stm32/nucleo-f303re/configs/serialrx/defconfig
+++ b/boards/arm/stm32/nucleo-f303re/configs/serialrx/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_ARCH_FPU is not set
 # CONFIG_DEV_CONSOLE is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303re"
diff --git a/boards/arm/stm32/nucleo-f303re/include/board.h 
b/boards/arm/stm32/nucleo-f303re/include/board.h
index 4c47af0d548..d5cb48ca3b4 100644
--- a/boards/arm/stm32/nucleo-f303re/include/board.h
+++ b/boards/arm/stm32/nucleo-f303re/include/board.h
@@ -195,34 +195,39 @@
 
 /* CAN */
 
-#define GPIO_CAN1_RX GPIO_CAN_RX_2
-#define GPIO_CAN1_TX GPIO_CAN_TX_2
+#define GPIO_CAN1_RX (GPIO_CAN_RX_2|GPIO_SPEED_25MHz)
+#define GPIO_CAN1_TX (GPIO_CAN_TX_2|GPIO_SPEED_25MHz)
 
 /* I2C */
 
-#define GPIO_I2C1_SCL GPIO_I2C1_SCL_3
-#define GPIO_I2C1_SDA GPIO_I2C1_SDA_3
+#define GPIO_I2C1_SCL (GPIO_I2C1_SCL_3|GPIO_SPEED_50MHz)
+#define GPIO_I2C1_SDA (GPIO_I2C1_SDA_3|GPIO_SPEED_50MHz)
 
 /* SPI */
 
 #define GPIO_SPI1_MISO GPIO_SPI1_MISO_1
 #define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1
-#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1
+#define GPIO_SPI1_SCK  GPIO_SPI1_SCK_1
 
 /* TIM */
 
-#define GPIO_TIM2_CH2OUT GPIO_TIM2_CH2OUT_2
-#define GPIO_TIM2_CH3OUT GPIO_TIM2_CH3OUT_3
+#define GPIO_TIM2_CH2OUT (GPIO_TIM2_CH2OUT_2|GPIO_SPEED_50MHz)
+#define GPIO_TIM2_CH3OUT (GPIO_TIM2_CH3OUT_3|GPIO_SPEED_50MHz)
 
-#define GPIO_TIM3_CH1OUT GPIO_TIM3_CH1OUT_2
-#define GPIO_TIM3_CH2OUT GPIO_TIM3_CH2OUT_4
+#define GPIO_TIM3_CH1OUT (GPIO_TIM3_CH1OUT_2|GPIO_SPEED_50MHz)
+#define GPIO_TIM3_CH2OUT (GPIO_TIM3_CH2OUT_4|GPIO_SPEED_50MHz)
 
-#define GPIO_TIM4_CH1OUT GPIO_TIM4_CH1OUT_2
+#define GPIO_TIM4_CH1OUT (GPIO_TIM4_CH1OUT_2|GPIO_SPEED_50MHz)
 
 /* USART */
 
-#define GPIO_USART2_RX GPIO_USART2_RX_2
-#define GPIO_USART2_TX GPIO_USART2_TX_2
+#define GPIO_USART2_RX (GPIO_USART2_RX_2|GPIO_SPEED_50MHz)
+#define GPIO_USART2_TX (GPIO_USART2_TX_2|GPIO_SPEED_50MHz)
+
+/* UART4 */
+
+#define GPIO_UART4_RX  (GPIO_UART4_RX_0|GPIO_SPEED_50MHz)
+#define GPIO_UART4_TX  (GPIO_UART4_TX_0|GPIO_SPEED_50MHz)
 
 /* DMA channels *************************************************************/
 
diff --git a/boards/arm/stm32/nucleo-f303re/src/stm32_adc.c 
b/boards/arm/stm32/nucleo-f303re/src/stm32_adc.c
index d2ec5e85cb6..7f9f78d1d8e 100644
--- a/boards/arm/stm32/nucleo-f303re/src/stm32_adc.c
+++ b/boards/arm/stm32/nucleo-f303re/src/stm32_adc.c
@@ -125,10 +125,10 @@ static const uint8_t g_chanlist1[4] =
 
 static const uint32_t g_pinlist1[4]  =
 {
-  GPIO_ADC1_IN1,
-  GPIO_ADC1_IN2,
-  GPIO_ADC1_IN6,
-  GPIO_ADC1_IN7
+  GPIO_ADC1_IN1_0,
+  GPIO_ADC1_IN2_0,
+  GPIO_ADC1_IN6_0,
+  GPIO_ADC1_IN7_0
 };
 
 #elif DEV1_PORT == 2
@@ -148,9 +148,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3] =
 {
-  GPIO_ADC2_IN1,
-  GPIO_ADC2_IN3,
-  GPIO_ADC2_IN4
+  GPIO_ADC2_IN1_0,
+  GPIO_ADC2_IN3_0,
+  GPIO_ADC2_IN4_0
 };
 
 #elif DEV1_PORT == 3
@@ -170,9 +170,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3] =
 {
-  GPIO_ADC3_IN1,
-  GPIO_ADC3_IN5,
-  GPIO_ADC3_IN12
+  GPIO_ADC3_IN1_0,
+  GPIO_ADC3_IN5_0,
+  GPIO_ADC3_IN12_0
 };
 
 #elif DEV1_PORT == 4
@@ -190,7 +190,7 @@ static const uint8_t g_chanlist1[1] =
 
 static const uint32_t g_pinlist1[1] =
 {
-  GPIO_ADC4_IN3
+  GPIO_ADC4_IN3_0
 };
 
 #endif
@@ -217,10 +217,10 @@ static const uint8_t g_chanlist2[4] =
 
 static const uint32_t g_pinlist2[4] =
 {
-  GPIO_ADC1_IN1,
-  GPIO_ADC1_IN2,
-  GPIO_ADC1_IN6,
-  GPIO_ADC1_IN7
+  GPIO_ADC1_IN1_0,
+  GPIO_ADC1_IN2_0,
+  GPIO_ADC1_IN6_0,
+  GPIO_ADC1_IN7_0
 };
 
 #elif DEV2_PORT == 2
@@ -240,9 +240,9 @@ static const uint8_t g_chanlist2[3] =
 
 static const uint32_t g_pinlist2[3] =
 {
-  GPIO_ADC2_IN1,
-  GPIO_ADC2_IN3,
-  GPIO_ADC2_IN4
+  GPIO_ADC2_IN1_0,
+  GPIO_ADC2_IN3_0,
+  GPIO_ADC2_IN4_0
 };
 
 #elif DEV2_PORT == 3
@@ -262,9 +262,9 @@ static const uint8_t g_chanlist2[3] =
 
 static const uint32_t g_pinlist2[3] =
 {
-  GPIO_ADC3_IN1,
-  GPIO_ADC3_IN5,
-  GPIO_ADC3_IN12
+  GPIO_ADC3_IN1_0,
+  GPIO_ADC3_IN5_0,
+  GPIO_ADC3_IN12_0
 };
 
 #elif DEV2_PORT == 4
@@ -282,7 +282,7 @@ static const uint8_t g_chanlist2[1] =
 
 static const uint32_t g_pinlist2[1] =
 {
-  GPIO_ADC4_IN3
+  GPIO_ADC4_IN3_0
 };
 
 #endif
diff --git a/boards/arm/stm32/nucleo-f303ze/configs/adc/defconfig 
b/boards/arm/stm32/nucleo-f303ze/configs/adc/defconfig
index b90be268b18..8a69e0cfc70 100644
--- a/boards/arm/stm32/nucleo-f303ze/configs/adc/defconfig
+++ b/boards/arm/stm32/nucleo-f303ze/configs/adc/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_ARCH_FPU is not set
 # CONFIG_STM32_CCMEXCLUDE is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ADC=y
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
diff --git a/boards/arm/stm32/nucleo-f303ze/configs/nsh/defconfig 
b/boards/arm/stm32/nucleo-f303ze/configs/nsh/defconfig
index 7081c146db7..a4497504f70 100644
--- a/boards/arm/stm32/nucleo-f303ze/configs/nsh/defconfig
+++ b/boards/arm/stm32/nucleo-f303ze/configs/nsh/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_ARCH_FPU is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303ze"
 CONFIG_ARCH_BOARD_NUCLEO_F303ZE=y
diff --git a/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig 
b/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig
index 3c09c2da600..09dc09cea8d 100644
--- a/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig
+++ b/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_ARCH_FPU is not set
 # CONFIG_EXAMPLES_NXLINES_DEFAULT_COLORS is not set
 # CONFIG_NX_DISABLE_1BPP is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303ze"
 CONFIG_ARCH_BOARD_COMMON=y
diff --git a/boards/arm/stm32/nucleo-f303ze/include/board.h 
b/boards/arm/stm32/nucleo-f303ze/include/board.h
index 4b726d23e22..b604725820c 100644
--- a/boards/arm/stm32/nucleo-f303ze/include/board.h
+++ b/boards/arm/stm32/nucleo-f303ze/include/board.h
@@ -185,19 +185,19 @@
 
 /* USART3 (Nucleo Virtual Console) */
 
-#define GPIO_USART3_RX     GPIO_USART3_RX_3  /* PD9 */
-#define GPIO_USART3_TX     GPIO_USART3_TX_3  /* PD8 */
+#define GPIO_USART3_RX     (GPIO_USART3_RX_3|GPIO_SPEED_50MHz)  /* PD9 */
+#define GPIO_USART3_TX     (GPIO_USART3_TX_3|GPIO_SPEED_50MHz)  /* PD8 */
 
 /* I2C1 Use Nucleo I2C1 pins */
 
-#define GPIO_I2C1_SCL GPIO_I2C1_SCL_3 /* PB8 - D15 */
-#define GPIO_I2C1_SDA GPIO_I2C1_SDA_3 /* PB9 - D14 */
+#define GPIO_I2C1_SCL (GPIO_I2C1_SCL_3|GPIO_SPEED_50MHz) /* PB8 - D15 */
+#define GPIO_I2C1_SDA (GPIO_I2C1_SDA_3|GPIO_SPEED_50MHz) /* PB9 - D14 */
 
 /* I2C2 Use Nucleo I2C2 pins */
 
-#define GPIO_I2C2_SCL  GPIO_I2C2_SCL_2  /* PF1 - D69 */
-#define GPIO_I2C2_SDA  GPIO_I2C2_SDA_2  /* PF0 - D68 */
-#define GPIO_I2C2_SMBA GPIO_I2C2_SMBA_2 /* PF2 - D70 */
+#define GPIO_I2C2_SCL  (GPIO_I2C2_SCL_2|GPIO_SPEED_50MHz)  /* PF1 - D69 */
+#define GPIO_I2C2_SDA  (GPIO_I2C2_SDA_2|GPIO_SPEED_50MHz)  /* PF0 - D68 */
+#define GPIO_I2C2_SMBA (GPIO_I2C2_SMBA_2|GPIO_SPEED_50MHz) /* PF2 - D70 */
 
 /* DMA **********************************************************************/
 
diff --git a/boards/arm/stm32/nucleo-f303ze/src/stm32_adc.c 
b/boards/arm/stm32/nucleo-f303ze/src/stm32_adc.c
index 709f2661caf..a5f559fb432 100644
--- a/boards/arm/stm32/nucleo-f303ze/src/stm32_adc.c
+++ b/boards/arm/stm32/nucleo-f303ze/src/stm32_adc.c
@@ -93,9 +93,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3]  =
 {
-  GPIO_ADC1_IN4,                /* PA3/A0 */
-  GPIO_ADC1_IN6,                /* PC0/A1 */
-  GPIO_ADC1_IN9,                /* PC3/A2 */
+  GPIO_ADC1_IN4_0,                /* PA3/A0 */
+  GPIO_ADC1_IN6_0,                /* PC0/A1 */
+  GPIO_ADC1_IN9_0,                /* PC3/A2 */
 };
 
 #elif DEV1_PORT == 3
@@ -115,9 +115,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3] =
 {
-  GPIO_ADC3_IN8,                /* PD11/A3 */
-  GPIO_ADC3_IN9,                /* PD12/A4 */
-  GPIO_ADC3_IN10,               /* PD13/A5 */
+  GPIO_ADC3_IN8_0,                /* PD11/A3 */
+  GPIO_ADC3_IN9_0,                /* PD12/A4 */
+  GPIO_ADC3_IN10_0,               /* PD13/A5 */
 };
 
 #endif /* DEV1_PORT == 1 */
@@ -143,9 +143,9 @@ static const uint8_t g_chanlist2[3] =
 
 static const uint32_t g_pinlist2[3] =
 {
-  GPIO_ADC3_IN8,                /* PD11/A3 */
-  GPIO_ADC3_IN9,                /* PD12/A4 */
-  GPIO_ADC3_IN10,               /* PD13/A5 */
+  GPIO_ADC3_IN8_0,                /* PD11/A3 */
+  GPIO_ADC3_IN9_0,                /* PD12/A4 */
+  GPIO_ADC3_IN10_0,               /* PD13/A5 */
 };
 
 #endif /* DEV2_PORT == 3 */
diff --git a/boards/arm/stm32/nucleo-f334r8/configs/adc/defconfig 
b/boards/arm/stm32/nucleo-f334r8/configs/adc/defconfig
index d79086661b1..d863f89061d 100644
--- a/boards/arm/stm32/nucleo-f334r8/configs/adc/defconfig
+++ b/boards/arm/stm32/nucleo-f334r8/configs/adc/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_ARCH_FPU is not set
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 # CONFIG_SYSTEM_DD is not set
 CONFIG_ADC=y
 CONFIG_ANALOG=y
diff --git a/boards/arm/stm32/nucleo-f334r8/configs/highpri/defconfig 
b/boards/arm/stm32/nucleo-f334r8/configs/highpri/defconfig
index 3eaaee9d59c..bd4b8448d30 100644
--- a/boards/arm/stm32/nucleo-f334r8/configs/highpri/defconfig
+++ b/boards/arm/stm32/nucleo-f334r8/configs/highpri/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f334r8"
 CONFIG_ARCH_BOARD_NUCLEO_F334R8=y
diff --git a/boards/arm/stm32/nucleo-f334r8/configs/nsh/defconfig 
b/boards/arm/stm32/nucleo-f334r8/configs/nsh/defconfig
index 5b15d043c40..f595d8afcbb 100644
--- a/boards/arm/stm32/nucleo-f334r8/configs/nsh/defconfig
+++ b/boards/arm/stm32/nucleo-f334r8/configs/nsh/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_ARCH_FPU is not set
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 # CONFIG_SYSTEM_DD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f334r8"
diff --git a/boards/arm/stm32/nucleo-f334r8/configs/spwm1/defconfig 
b/boards/arm/stm32/nucleo-f334r8/configs/spwm1/defconfig
index 0b6a66f894f..a7cf8799a06 100644
--- a/boards/arm/stm32/nucleo-f334r8/configs/spwm1/defconfig
+++ b/boards/arm/stm32/nucleo-f334r8/configs/spwm1/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f334r8"
 CONFIG_ARCH_BOARD_NUCLEO_F334R8=y
diff --git a/boards/arm/stm32/nucleo-f334r8/configs/spwm2/defconfig 
b/boards/arm/stm32/nucleo-f334r8/configs/spwm2/defconfig
index 1773bcac527..af0a221de82 100644
--- a/boards/arm/stm32/nucleo-f334r8/configs/spwm2/defconfig
+++ b/boards/arm/stm32/nucleo-f334r8/configs/spwm2/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f334r8"
 CONFIG_ARCH_BOARD_NUCLEO_F334R8=y
diff --git a/boards/arm/stm32/nucleo-f334r8/include/board.h 
b/boards/arm/stm32/nucleo-f334r8/include/board.h
index 4fe03d8a9bd..e437be709a1 100644
--- a/boards/arm/stm32/nucleo-f334r8/include/board.h
+++ b/boards/arm/stm32/nucleo-f334r8/include/board.h
@@ -191,29 +191,29 @@
 
 /* CAN */
 
-#define GPIO_CAN1_RX GPIO_CAN_RX_2
-#define GPIO_CAN1_TX GPIO_CAN_TX_2
+#define GPIO_CAN1_RX (GPIO_CAN_RX_2|GPIO_SPEED_50MHz)
+#define GPIO_CAN1_TX (GPIO_CAN_TX_2|GPIO_SPEED_50MHz)
 
 /* I2C */
 
-#define GPIO_I2C1_SCL GPIO_I2C1_SCL_3
-#define GPIO_I2C1_SDA GPIO_I2C1_SDA_3
+#define GPIO_I2C1_SCL (GPIO_I2C1_SCL_3|GPIO_SPEED_50MHz)
+#define GPIO_I2C1_SDA (GPIO_I2C1_SDA_3|GPIO_SPEED_50MHz)
 
 /* SPI */
 
-#define GPIO_SPI1_MISO GPIO_SPI1_MISO_1
-#define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1
-#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1
+#define GPIO_SPI1_MISO (GPIO_SPI1_MISO_1|GPIO_SPEED_50MHz)
+#define GPIO_SPI1_MOSI (GPIO_SPI1_MOSI_1|GPIO_SPEED_50MHz)
+#define GPIO_SPI1_SCK (GPIO_SPI1_SCK_1|GPIO_SPEED_50MHz)
 
 /* TIM */
 
-#define GPIO_TIM2_CH2OUT GPIO_TIM2_CH2OUT_2
-#define GPIO_TIM2_CH3OUT GPIO_TIM2_CH3OUT_3
+#define GPIO_TIM2_CH2OUT (GPIO_TIM2_CH2OUT_2|GPIO_SPEED_50MHz)
+#define GPIO_TIM2_CH3OUT (GPIO_TIM2_CH3OUT_3|GPIO_SPEED_50MHz)
 
-#define GPIO_TIM3_CH1OUT GPIO_TIM3_CH1OUT_2
-#define GPIO_TIM3_CH2OUT GPIO_TIM3_CH2OUT_4
+#define GPIO_TIM3_CH1OUT (GPIO_TIM3_CH1OUT_2|GPIO_SPEED_50MHz)
+#define GPIO_TIM3_CH2OUT (GPIO_TIM3_CH2OUT_4|GPIO_SPEED_50MHz)
 
-#define GPIO_TIM4_CH1OUT GPIO_TIM4_CH1OUT_2
+#define GPIO_TIM4_CH1OUT (GPIO_TIM4_CH1OUT_2|GPIO_SPEED_50MHz)
 
 /* USART */
 
@@ -222,11 +222,11 @@
  * USART2_TX - PA2
  */
 
-#define GPIO_USART2_RX GPIO_USART2_RX_1 /* PA3 */
-#define GPIO_USART2_TX GPIO_USART2_TX_1 /* PA2 */
+#define GPIO_USART2_RX (GPIO_USART2_RX_1|GPIO_SPEED_50MHz) /* PA3 */
+#define GPIO_USART2_TX (GPIO_USART2_TX_1|GPIO_SPEED_50MHz) /* PA2 */
 
-#define GPIO_USART1_RX GPIO_USART1_RX_1 /* PA10 */
-#define GPIO_USART1_TX GPIO_USART1_TX_1 /* PA9 */
+#define GPIO_USART1_RX (GPIO_USART1_RX_1|GPIO_SPEED_50MHz) /* PA10 */
+#define GPIO_USART1_TX (GPIO_USART1_TX_1|GPIO_SPEED_50MHz) /* PA9 */
 
 /* COMP */
 
@@ -262,13 +262,13 @@
 
 /* TIM1 PWM configuration ***************************************************/
 
-#    define GPIO_TIM1_CH1OUT   GPIO_TIM1_CH1OUT_1 /* TIM1 CH1  - PA8 */
-#    define GPIO_TIM1_CH1NOUT  GPIO_TIM1_CH1N_3   /* TIM1 CH1N - PA7 */
-                                                  /* TIM1 CH2  - PA9 */
-#    define GPIO_TIM1_CH2NOUT  GPIO_TIM1_CH2N_2   /* TIM1 CH2N - PB0 */
-#    define GPIO_TIM1_CH3OUT   GPIO_TIM1_CH3OUT_1 /* TIM1 CH3  - PA10 */
-#    define GPIO_TIM1_CH3NOUT  GPIO_TIM1_CH3N_2   /* TIM1 CH3N - PB1 */
-#    define GPIO_TIM1_CH4OUT   GPIO_TIM1_CH4OUT_1 /* TIM1 CH4  - PA11 */
+#    define GPIO_TIM1_CH1OUT (GPIO_TIM1_CH1OUT_1|GPIO_SPEED_50MHz) /* TIM1 CH1 
 - PA8 */
+#    define GPIO_TIM1_CH1NOUT (GPIO_TIM1_CH1N_3|GPIO_SPEED_50MHz)  /* TIM1 
CH1N - PA7 */
+                                                                   /* TIM1 CH2 
 - PA9 */
+#    define GPIO_TIM1_CH2NOUT (GPIO_TIM1_CH2N_2|GPIO_SPEED_50MHz)  /* TIM1 
CH2N - PB0 */
+#    define GPIO_TIM1_CH3OUT (GPIO_TIM1_CH3OUT_1|GPIO_SPEED_50MHz) /* TIM1 CH3 
 - PA10 */
+#    define GPIO_TIM1_CH3NOUT (GPIO_TIM1_CH3N_2|GPIO_SPEED_50MHz)  /* TIM1 
CH3N - PB1 */
+#    define GPIO_TIM1_CH4OUT (GPIO_TIM1_CH4OUT_1|GPIO_SPEED_50MHz) /* TIM1 CH4 
 - PA11 */
 #  endif
 
 #  ifdef CONFIG_NUCLEOF334R8_SPWM_USE_HRTIM1
@@ -324,4 +324,21 @@
 
 #define ADC1_DMA_CHAN DMACHAN_ADC1     /* DMA1_CH1 */
 
+/* TIM1 CH2 alias (used by spwm2 config) */
+
+#define GPIO_TIM1_CH2OUT   (GPIO_TIM1_CH2OUT_0|GPIO_SPEED_50MHz)
+
+/* HRTIM1 */
+
+#define GPIO_HRTIM1_CHA1   GPIO_HRTIM1_CHA1_0
+#define GPIO_HRTIM1_CHA2   GPIO_HRTIM1_CHA2_0
+#define GPIO_HRTIM1_CHB1   GPIO_HRTIM1_CHB1_0
+#define GPIO_HRTIM1_CHB2   GPIO_HRTIM1_CHB2_0
+#define GPIO_HRTIM1_CHC1   GPIO_HRTIM1_CHC1_0
+#define GPIO_HRTIM1_CHC2   GPIO_HRTIM1_CHC2_0
+#define GPIO_HRTIM1_CHD1   GPIO_HRTIM1_CHD1_0
+#define GPIO_HRTIM1_CHD2   GPIO_HRTIM1_CHD2_0
+#define GPIO_HRTIM1_CHE1   GPIO_HRTIM1_CHE1_0
+#define GPIO_HRTIM1_CHE2   GPIO_HRTIM1_CHE2_0
+
 #endif /* __BOARDS_ARM_STM32_NUCLEO_F334R8_INCLUDE_BOARD_H */
diff --git a/boards/arm/stm32/nucleo-f334r8/src/stm32_adc.c 
b/boards/arm/stm32/nucleo-f334r8/src/stm32_adc.c
index fc6c9af6efb..a369fe2f4fa 100644
--- a/boards/arm/stm32/nucleo-f334r8/src/stm32_adc.c
+++ b/boards/arm/stm32/nucleo-f334r8/src/stm32_adc.c
@@ -91,9 +91,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3]  =
 {
-  GPIO_ADC1_IN1,                /* PA0/A0 */
-  GPIO_ADC1_IN2,                /* PA1/A1 */
-  GPIO_ADC1_IN11,               /* PB0/A3 */
+  GPIO_ADC1_IN1_0,                /* PA0/A0 */
+  GPIO_ADC1_IN2_0,                /* PA1/A1 */
+  GPIO_ADC1_IN11_0,               /* PB0/A3 */
 };
 
 #elif DEV1_PORT == 2
@@ -113,9 +113,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3] =
 {
-  GPIO_ADC2_IN1,                /* PA4/A2 */
-  GPIO_ADC2_IN7,                /* PC1/A4 */
-  GPIO_ADC2_IN6,                /* PC0/A5 */
+  GPIO_ADC2_IN1_0,                /* PA4/A2 */
+  GPIO_ADC2_IN7_0,                /* PC1/A4 */
+  GPIO_ADC2_IN6_0,                /* PC0/A5 */
 };
 
 #endif /* DEV1_PORT == 1 */
@@ -141,9 +141,9 @@ static const uint8_t g_chanlist2[3] =
 
 static const uint32_t g_pinlist2[3] =
 {
-  GPIO_ADC2_IN1,                /* PA4/A2 */
-  GPIO_ADC2_IN7,                /* PC1/A4 */
-  GPIO_ADC2_IN6,                /* PC0/A5 */
+  GPIO_ADC2_IN1_0,                /* PA4/A2 */
+  GPIO_ADC2_IN7_0,                /* PC1/A4 */
+  GPIO_ADC2_IN6_0,                /* PC0/A5 */
 };
 
 #endif /* DEV2_PORT == 2 */
diff --git a/boards/arm/stm32/nucleo-f334r8/src/stm32_highpri.c 
b/boards/arm/stm32/nucleo-f334r8/src/stm32_highpri.c
index 7d931c91ac2..7be598a7747 100644
--- a/boards/arm/stm32/nucleo-f334r8/src/stm32_highpri.c
+++ b/boards/arm/stm32/nucleo-f334r8/src/stm32_highpri.c
@@ -178,16 +178,16 @@ static const uint8_t g_chanlist1[DEV1_NCHANNELS] =
 
 static const uint32_t g_pinlist1[DEV1_NCHANNELS] =
 {
-  GPIO_ADC1_IN1,                /* PA0/A0 */
+  GPIO_ADC1_IN1_0,                /* PA0/A0 */
 #ifdef CONFIG_STM32_ADC1_DMA
-  GPIO_ADC1_IN2,                /* PA1/A1 */
-  GPIO_ADC1_IN11,               /* PB0/A3 */
+  GPIO_ADC1_IN2_0,                /* PA1/A1 */
+  GPIO_ADC1_IN11_0,               /* PB0/A3 */
 #endif
 #if INJ_NCHANNELS > 0
-  GPIO_ADC1_IN7,                /* PC1/A4 */
+  GPIO_ADC1_IN7_0,                /* PC1/A4 */
 #endif
 #if INJ_NCHANNELS > 1
-  GPIO_ADC1_IN6                 /* PC0/A5 */
+  GPIO_ADC1_IN6_0                 /* PC0/A5 */
 #endif
 };
 
diff --git a/boards/arm/stm32/stm32f334-disco/configs/buckboost/defconfig 
b/boards/arm/stm32/stm32f334-disco/configs/buckboost/defconfig
index 8c31ee1302b..919c70b3fb8 100644
--- a/boards/arm/stm32/stm32f334-disco/configs/buckboost/defconfig
+++ b/boards/arm/stm32/stm32f334-disco/configs/buckboost/defconfig
@@ -5,6 +5,7 @@
 # You can then do "make savedefconfig" to generate a new defconfig file that 
includes your
 # modifications.
 #
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 # CONFIG_SYSTEM_DD is not set
 CONFIG_ADC=y
 CONFIG_ANALOG=y
diff --git a/boards/arm/stm32/stm32f334-disco/configs/nsh/defconfig 
b/boards/arm/stm32/stm32f334-disco/configs/nsh/defconfig
index c2bb6dfa98d..f5335589524 100644
--- a/boards/arm/stm32/stm32f334-disco/configs/nsh/defconfig
+++ b/boards/arm/stm32/stm32f334-disco/configs/nsh/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_ARCH_FPU is not set
 # CONFIG_LIBC_LONG_LONG is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 # CONFIG_SYSTEM_DD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f334-disco"
diff --git a/boards/arm/stm32/stm32f334-disco/configs/powerled/defconfig 
b/boards/arm/stm32/stm32f334-disco/configs/powerled/defconfig
index 10a5ed5968f..15ab2f580b4 100644
--- a/boards/arm/stm32/stm32f334-disco/configs/powerled/defconfig
+++ b/boards/arm/stm32/stm32f334-disco/configs/powerled/defconfig
@@ -22,6 +22,7 @@
 # CONFIG_NSH_DISABLE_SEMICOLON is not set
 # CONFIG_NSH_DISABLE_TRUNCATE is not set
 # CONFIG_NSH_DISABLE_UPTIME is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f334-disco"
diff --git a/boards/arm/stm32/stm32f334-disco/include/board.h 
b/boards/arm/stm32/stm32f334-disco/include/board.h
index fabc9f63852..b1b39e94d8f 100644
--- a/boards/arm/stm32/stm32f334-disco/include/board.h
+++ b/boards/arm/stm32/stm32f334-disco/include/board.h
@@ -168,34 +168,34 @@
 
 /* CAN */
 
-#define GPIO_CAN1_RX GPIO_CAN_RX_2
-#define GPIO_CAN1_TX GPIO_CAN_TX_2
+#define GPIO_CAN1_RX (GPIO_CAN_RX_2|GPIO_SPEED_50MHz)
+#define GPIO_CAN1_TX (GPIO_CAN_TX_2|GPIO_SPEED_50MHz)
 
 /* I2C */
 
-#define GPIO_I2C1_SCL GPIO_I2C1_SCL_3
-#define GPIO_I2C1_SDA GPIO_I2C1_SDA_3
+#define GPIO_I2C1_SCL (GPIO_I2C1_SCL_3|GPIO_SPEED_50MHz)
+#define GPIO_I2C1_SDA (GPIO_I2C1_SDA_3|GPIO_SPEED_50MHz)
 
 /* SPI */
 
-#define GPIO_SPI1_MISO GPIO_SPI1_MISO_1
-#define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1
-#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1
+#define GPIO_SPI1_MISO (GPIO_SPI1_MISO_1|GPIO_SPEED_50MHz)
+#define GPIO_SPI1_MOSI (GPIO_SPI1_MOSI_1|GPIO_SPEED_50MHz)
+#define GPIO_SPI1_SCK (GPIO_SPI1_SCK_1|GPIO_SPEED_50MHz)
 
 /* TIM */
 
-#define GPIO_TIM2_CH2OUT GPIO_TIM2_CH2OUT_2
-#define GPIO_TIM2_CH3OUT GPIO_TIM2_CH3OUT_3
+#define GPIO_TIM2_CH2OUT (GPIO_TIM2_CH2OUT_2|GPIO_SPEED_50MHz)
+#define GPIO_TIM2_CH3OUT (GPIO_TIM2_CH3OUT_3|GPIO_SPEED_50MHz)
 
-#define GPIO_TIM3_CH1OUT GPIO_TIM3_CH1OUT_2
-#define GPIO_TIM3_CH2OUT GPIO_TIM3_CH2OUT_4
+#define GPIO_TIM3_CH1OUT (GPIO_TIM3_CH1OUT_2|GPIO_SPEED_50MHz)
+#define GPIO_TIM3_CH2OUT (GPIO_TIM3_CH2OUT_4|GPIO_SPEED_50MHz)
 
-#define GPIO_TIM4_CH1OUT GPIO_TIM4_CH1OUT_2
+#define GPIO_TIM4_CH1OUT (GPIO_TIM4_CH1OUT_2|GPIO_SPEED_50MHz)
 
 /* USART */
 
-#define GPIO_USART2_RX GPIO_USART2_RX_3 /* PB4 */
-#define GPIO_USART2_TX GPIO_USART2_TX_3 /* PB3 */
+#define GPIO_USART2_RX (GPIO_USART2_RX_3|GPIO_SPEED_50MHz) /* PB4 */
+#define GPIO_USART2_TX (GPIO_USART2_TX_3|GPIO_SPEED_50MHz) /* PB3 */
 
 /* Board configuration for powerled example:
  *   - Set HRTIM TIMC output 1 (PB12) on PERIOD.
@@ -302,4 +302,36 @@
 
 #endif /* CONFIG_EXAMPLES_SMPS */
 
+/* HRTIM1 */
+
+#define GPIO_HRTIM1_CHA1   GPIO_HRTIM1_CHA1_0
+#define GPIO_HRTIM1_CHA2   GPIO_HRTIM1_CHA2_0
+#define GPIO_HRTIM1_CHB1   GPIO_HRTIM1_CHB1_0
+#define GPIO_HRTIM1_CHB2   GPIO_HRTIM1_CHB2_0
+#define GPIO_HRTIM1_CHC1   GPIO_HRTIM1_CHC1_0
+#define GPIO_HRTIM1_CHC2   GPIO_HRTIM1_CHC2_0
+#define GPIO_HRTIM1_CHD1   GPIO_HRTIM1_CHD1_0
+#define GPIO_HRTIM1_CHD2   GPIO_HRTIM1_CHD2_0
+#define GPIO_HRTIM1_CHE1   GPIO_HRTIM1_CHE1_0
+#define GPIO_HRTIM1_CHE2   GPIO_HRTIM1_CHE2_0
+#define GPIO_HRTIM1_EEV1   GPIO_HRTIM1_EEV1_0
+#define GPIO_HRTIM1_EEV2   GPIO_HRTIM1_EEV2_0
+#define GPIO_HRTIM1_EEV3   GPIO_HRTIM1_EEV3_0
+#define GPIO_HRTIM1_FLT1   GPIO_HRTIM1_FLT1_0
+#define GPIO_HRTIM1_FLT2   GPIO_HRTIM1_FLT2_0
+#define GPIO_HRTIM1_FLT3   GPIO_HRTIM1_FLT3_0
+#define GPIO_HRTIM1_FLT4   GPIO_HRTIM1_FLT4_0
+#define GPIO_HRTIM1_FLT5   GPIO_HRTIM1_FLT5_0
+
+/* COMP */
+
+#define GPIO_COMP2_INP     GPIO_COMP2_INP_0
+#define GPIO_COMP4_INP     GPIO_COMP4_INP_0
+#define GPIO_COMP6_INP     GPIO_COMP6_INP_0
+
+/* DAC */
+
+#define GPIO_DAC1_OUT1     GPIO_DAC1_OUT1_0
+#define GPIO_DAC1_OUT2     GPIO_DAC1_OUT2_0
+
 #endif /* __BOARDS_ARM_STM32_STM32F334_DISCO_INCLUDE_BOARD_H */
diff --git a/boards/arm/stm32/stm32f334-disco/src/stm32_adc.c 
b/boards/arm/stm32/stm32f334-disco/src/stm32_adc.c
index 8cd8fd82422..9d40e86bd6c 100644
--- a/boards/arm/stm32/stm32f334-disco/src/stm32_adc.c
+++ b/boards/arm/stm32/stm32f334-disco/src/stm32_adc.c
@@ -91,9 +91,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3]  =
 {
-  GPIO_ADC1_IN1,                /* PA0/A0 */
-  GPIO_ADC1_IN2,                /* PA1/A1 */
-  GPIO_ADC1_IN11,               /* PB0/A3 */
+  GPIO_ADC1_IN1_0,                /* PA0/A0 */
+  GPIO_ADC1_IN2_0,                /* PA1/A1 */
+  GPIO_ADC1_IN11_0,               /* PB0/A3 */
 };
 
 #elif DEV1_PORT == 2
@@ -113,9 +113,9 @@ static const uint8_t g_chanlist1[3] =
 
 static const uint32_t g_pinlist1[3] =
 {
-  GPIO_ADC2_IN1,                /* PA4/A2 */
-  GPIO_ADC2_IN7,                /* PC1/A4 */
-  GPIO_ADC2_IN6,                /* PC0/A5 */
+  GPIO_ADC2_IN1_0,                /* PA4/A2 */
+  GPIO_ADC2_IN7_0,                /* PC1/A4 */
+  GPIO_ADC2_IN6_0,                /* PC0/A5 */
 };
 
 #endif /* DEV1_PORT == 1 */
@@ -141,9 +141,9 @@ static const uint8_t g_chanlist2[1] =
 
 static const uint32_t g_pinlist2[3] =
 {
-  GPIO_ADC2_IN1,                /* PA4/A2 */
-  GPIO_ADC2_IN7,                /* PC1/A4 */
-  GPIO_ADC2_IN6,                /* PC0/A5 */
+  GPIO_ADC2_IN1_0,                /* PA4/A2 */
+  GPIO_ADC2_IN7_0,                /* PC1/A4 */
+  GPIO_ADC2_IN6_0,                /* PC0/A5 */
 };
 
 #endif /* DEV2_PORT == 2 */
diff --git a/boards/arm/stm32/stm32f334-disco/src/stm32_smps.c 
b/boards/arm/stm32/stm32f334-disco/src/stm32_smps.c
index 9dc01746e99..a78e0dcd468 100644
--- a/boards/arm/stm32/stm32f334-disco/src/stm32_smps.c
+++ b/boards/arm/stm32/stm32f334-disco/src/stm32_smps.c
@@ -309,8 +309,8 @@ static const uint8_t g_adc1chan[ADC1_NCHANNELS] =
 
 static const uint32_t g_adc1pins[ADC1_NCHANNELS] =
 {
-  GPIO_ADC1_IN2,                /* PA1 - V_IN */
-  GPIO_ADC1_IN4,                /* PA3 - V_OUT */
+  GPIO_ADC1_IN2_0,                /* PA1 - V_IN */
+  GPIO_ADC1_IN4_0,                /* PA3 - V_OUT */
 };
 
 /****************************************************************************
diff --git a/boards/arm/stm32/stm32f3discovery/configs/nsh/defconfig 
b/boards/arm/stm32/stm32f3discovery/configs/nsh/defconfig
index 1973cf7321a..442299af967 100644
--- a/boards/arm/stm32/stm32f3discovery/configs/nsh/defconfig
+++ b/boards/arm/stm32/stm32f3discovery/configs/nsh/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_ARCH_FPU is not set
 # CONFIG_NSH_DISABLE_IFCONFIG is not set
 # CONFIG_NSH_DISABLE_PS is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f3discovery"
 CONFIG_ARCH_BOARD_STM32F3_DISCOVERY=y
diff --git a/boards/arm/stm32/stm32f3discovery/configs/usbnsh/defconfig 
b/boards/arm/stm32/stm32f3discovery/configs/usbnsh/defconfig
index 5d388639fb4..7bab287779d 100644
--- a/boards/arm/stm32/stm32f3discovery/configs/usbnsh/defconfig
+++ b/boards/arm/stm32/stm32f3discovery/configs/usbnsh/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_DEV_CONSOLE is not set
 # CONFIG_NSH_DISABLE_IFCONFIG is not set
 # CONFIG_NSH_DISABLE_PS is not set
+# CONFIG_STM32_USE_LEGACY_PINMAP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f3discovery"
 CONFIG_ARCH_BOARD_STM32F3_DISCOVERY=y
diff --git a/boards/arm/stm32/stm32f3discovery/include/board.h 
b/boards/arm/stm32/stm32f3discovery/include/board.h
index fb4e76becf9..2761c0cfb05 100644
--- a/boards/arm/stm32/stm32f3discovery/include/board.h
+++ b/boards/arm/stm32/stm32f3discovery/include/board.h
@@ -229,8 +229,8 @@
  *    TX (PA2)
  */
 
-#define GPIO_USART2_RX GPIO_USART2_RX_2
-#define GPIO_USART2_TX GPIO_USART2_TX_2
+#define GPIO_USART2_RX (GPIO_USART2_RX_2|GPIO_SPEED_50MHz)
+#define GPIO_USART2_TX (GPIO_USART2_TX_2|GPIO_SPEED_50MHz)
 
 /* SPI
  *
@@ -258,13 +258,18 @@
  */
 
 #ifdef CONFIG_STM32_I2C1
-#define GPIO_I2C1_SCL  GPIO_I2C1_SCL_1
-#define GPIO_I2C1_SDA  GPIO_I2C1_SDA_1
+#define GPIO_I2C1_SCL  (GPIO_I2C1_SCL_1|GPIO_SPEED_50MHz)
+#define GPIO_I2C1_SDA  (GPIO_I2C1_SDA_1|GPIO_SPEED_50MHz)
 #endif
 
 #ifdef CONFIG_STM32_I2C2
-#define GPIO_I2C2_SCL  GPIO_I2C2_SCL_1
-#define GPIO_I2C2_SDA  GPIO_I2C2_SDA_1
+#define GPIO_I2C2_SCL  (GPIO_I2C2_SCL_1|GPIO_SPEED_50MHz)
+#define GPIO_I2C2_SDA  (GPIO_I2C2_SDA_1|GPIO_SPEED_50MHz)
 #endif
 
+/* USB */
+
+#define GPIO_USB_DM    (GPIO_USB_DM_0|GPIO_SPEED_50MHz)
+#define GPIO_USB_DP    (GPIO_USB_DP_0|GPIO_SPEED_50MHz)
+
 #endif /* __BOARDS_ARM_STM32_STM32F3DISCOVERY_INCLUDE_BOARD_H */


Reply via email to