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 7e48b58993b690e7b7b9b35e15d0365a52f76553 Author: David Sidrane <[email protected]> AuthorDate: Wed Apr 12 06:26:37 2023 -0700 stm32wb:pinmap Add suffix to all pins and add legacy pinmap Pinmaps should not have contained GPIO_SPEED_xxx settings and all pins should have had suffixes to allow any pins attributes to be set. This is board dependent. This change adds CONFIG_STM32WB_USE_LEGACY_PINMAP to allow for lazy migration to using pinmaps with suffixes. The work required to do this can be aided by running tools/stm32_pinmap_tool.py. The tools will take a board.h file and a legacy pinmap and outut the required changes that one needs to make to a board.h file. Eventually, CONFIG_STM32WB_USE_LEGACY_PINMAP will be deprecated and the legacy pinmaps removed from NuttX. Any new boards added should set CONFIG_STM32WB_USE_LEGACY_PINMAP=n and fully define the pins in board.h --- arch/arm/src/stm32wb/Kconfig | 20 + arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h | 583 +-------------------- .../{stm32wb_pinmap.h => stm32wbxx_pinmap.h} | 166 +++--- ...{stm32wb_pinmap.h => stm32wbxx_pinmap_legacy.h} | 10 +- arch/arm/src/stm32wb/stm32wb_gpio.c | 4 + 5 files changed, 122 insertions(+), 661 deletions(-) diff --git a/arch/arm/src/stm32wb/Kconfig b/arch/arm/src/stm32wb/Kconfig index d80b2f6b66..b1d5cb01dd 100644 --- a/arch/arm/src/stm32wb/Kconfig +++ b/arch/arm/src/stm32wb/Kconfig @@ -381,6 +381,26 @@ config STM32WB_SRAM2B_INIT avoided by first writing to all locations to force the parity into a valid state. +config STM32WB_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. + + CONFIG_STM32WB_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, CONFIG_STM32WB_USE_LEGACY_PINMAP will be deprecated and the + legacy pinmaps removed from NuttX. Any new boards added should set + CONFIG_STM32WB_USE_LEGACY_PINMAP=n and fully define the pins in board.h + comment "STM32WB Peripherals" menu "STM32WB Peripheral Support" diff --git a/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h b/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h index e8162b71f7..896c027d74 100644 --- a/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h +++ b/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h @@ -28,579 +28,16 @@ #include <nuttx/config.h> #include "chip.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/* Alternate Pin Functions. All members of the STM32WB3x and STM32WB5x - * family share the same pin multiplexing (although they may differ in the - * pins physically available), while the STM32WB1x family have some - * differences. - * - * Alternative pin selections are provided with a numeric suffix like _1, _2, - * etc. Drivers, however, will use the pin selection without the numeric - * suffix. Additional definitions are required in the board.h file. For - * example, if CAN1_RX connects vis PA11 on some board, then the following - * definitions should appear in the board.h header file for that board: - * - * #define GPIO_CAN1_RX GPIO_CAN1_RX_1 - * - * The driver will then automatically configure PA11 as the CAN1 RX pin. - */ - -/* WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! - * Additional effort is required to select specific GPIO options such as - * frequency, open-drain/push-pull, and pull-up/down! Just the basics are - * defined for most pins in this file. - */ - -/* ADC */ - -#if defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) -# define GPIO_ADC1_IN2 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7) -# define GPIO_ADC1_IN3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8) -# define GPIO_ADC1_IN4 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) -#elif defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_ADC1_IN1 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0) -# define GPIO_ADC1_IN2 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1) -# define GPIO_ADC1_IN3 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2) -# define GPIO_ADC1_IN4 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3) -#endif - -#define GPIO_ADC1_IN5 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0) -#define GPIO_ADC1_IN6 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1) -#define GPIO_ADC1_IN7 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2) -#define GPIO_ADC1_IN8 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3) -#define GPIO_ADC1_IN9 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4) -#define GPIO_ADC1_IN10 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5) -#define GPIO_ADC1_IN11 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN6) - -#if defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB50) \ - || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) -# define GPIO_ADC1_IN12 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7) -# define GPIO_ADC1_IN15 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8) -# define GPIO_ADC1_IN16 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_ADC1_IN13 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4) -# define GPIO_ADC1_IN14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5) -#endif - -/* Clocks outputs */ - -#define GPIO_MCO (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN8) - -/* Comparators */ - -#if defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_COMP1_INP_1 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1) -#define GPIO_COMP1_INP_2 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN2) -#define GPIO_COMP1_INM_1 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0) -#define GPIO_COMP1_INM_2 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4) -#define GPIO_COMP1_INM_3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5) -#define GPIO_COMP1_INM_4 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) -#define GPIO_COMP1_OUT_1 (GPIO_ALT | GPIO_AF12 | GPIO_PORTA | GPIO_PIN0) -#define GPIO_COMP1_OUT_2 (GPIO_ALT | GPIO_AF12 | GPIO_PORTB | GPIO_PIN0) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_COMP1_INP_3 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5) -# define GPIO_COMP1_INM_5 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4) -# define GPIO_COMP1_OUT_3 (GPIO_ALT | GPIO_AF12 | GPIO_PORTB | GPIO_PIN10) -#endif - -#define GPIO_COMP2_INP_1 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN4) -#define GPIO_COMP2_INP_2 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN6) -#define GPIO_COMP2_INP_3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3) -#define GPIO_COMP2_INM_1 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN3) -#define GPIO_COMP2_INM_2 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN7) -#define GPIO_COMP2_INM_3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2) -#define GPIO_COMP2_INM_4 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4) -#define GPIO_COMP2_INM_5 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5) -#define GPIO_COMP2_OUT_1 (GPIO_ALT | GPIO_AF12 | GPIO_PORTA | GPIO_PIN2) -#define GPIO_COMP2_OUT_2 (GPIO_ALT | GPIO_AF12 | GPIO_PORTA | GPIO_PIN7) -#define GPIO_COMP2_OUT_3 (GPIO_ALT | GPIO_AF12 | GPIO_PORTB | GPIO_PIN5) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_COMP2_OUT_4 (GPIO_ALT | GPIO_AF12 | GPIO_PORTB | GPIO_PIN11) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - -/* I2C */ - -#define GPIO_I2C1_SDA_1 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN7) -#define GPIO_I2C1_SDA_3 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN10) -#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_SCL_3 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN9) -#define GPIO_I2C1_SMBA_1 (GPIO_ALT | GPIO_AF4 | GPIO_PORTA | GPIO_PIN1) -#define GPIO_I2C1_SMBA_2 (GPIO_ALT | GPIO_AF4 | GPIO_PORTA | GPIO_PIN14) -#define GPIO_I2C1_SMBA_3 (GPIO_ALT | GPIO_AF4 | GPIO_PORTB | GPIO_PIN5) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_I2C1_SDA_2 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN9) -#endif - -#if defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_I2C3_SDA_1 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN4) -#define GPIO_I2C3_SCL_1 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTA | GPIO_PIN7) -#define GPIO_I2C3_SMBA_1 (GPIO_ALT | GPIO_AF4 | GPIO_PORTB | GPIO_PIN2) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_I2C3_SMBA_2 (GPIO_ALT | GPIO_AF4 | GPIO_PORTB | GPIO_PIN12) -# define GPIO_I2C3_SDA_2 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN11) -# define GPIO_I2C3_SDA_3 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN14) -# define GPIO_I2C3_SCL_2 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN10) -# define GPIO_I2C3_SCL_3 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTB | GPIO_PIN13) -# define GPIO_I2C3_SCL_4 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN0) -# define GPIO_I2C3_SDA_4 (GPIO_ALT | GPIO_AF4 | GPIO_OPENDRAIN | GPIO_PORTC | GPIO_PIN1) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - -/* JTAG/SWD */ - -#define GPIO_JTMS_SWDIO (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN13) -#define GPIO_JTCK_SWCLK (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN14) -#define GPIO_NJTRST (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN4) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_JTDO_SWO (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN3) -# define GPIO_JTDI (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN15) -#endif - -/* QUADSPI */ - -#if defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_QSPI_NCS_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN2) -#define GPIO_QSPI_CLK_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN3) -#define GPIO_QSPI_BK1_IO0_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTB | GPIO_PIN9) -#define GPIO_QSPI_BK1_IO1_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTB | GPIO_PIN8) -#define GPIO_QSPI_BK1_IO2_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN7) -#define GPIO_QSPI_BK1_IO3_1 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN6) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_QSPI_NCS_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTB | GPIO_PIN11) -# define GPIO_QSPI_CLK_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTB | GPIO_PIN10) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_QSPI_NCS_3 (GPIO_ALT | GPIO_AF10 | GPIO_PORTD | GPIO_PIN3) -# define GPIO_QSPI_BK1_IO0_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTD | GPIO_PIN4) -# define GPIO_QSPI_BK1_IO1_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTD | GPIO_PIN5) -# define GPIO_QSPI_BK1_IO2_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTD | GPIO_PIN6) -# define GPIO_QSPI_BK1_IO3_2 (GPIO_ALT | GPIO_AF10 | GPIO_PORTD | GPIO_PIN7) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - -/* RTC */ - -#define GPIO_RTC_OUT_1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN2) -#define GPIO_RTC_TAMP2 (GPIO_PORTA | GPIO_PIN0) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_RTC_OUT_2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN13) -# define GPIO_RTC_REFIN (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN15) -# define GPIO_RTC_TS (GPIO_PORTC | GPIO_PIN13) -# define GPIO_RTC_TAMP1 (GPIO_PORTC | GPIO_PIN13) -# define GPIO_RTC_TAMP3 (GPIO_PORTC | GPIO_PIN12) -#endif - -/* SAI */ - -#if defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_SAI1_EXTCLK_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN0) -#define GPIO_SAI1_EXTCLK_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN2) -#define GPIO_SAI1_FS_A_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN9) -#define GPIO_SAI1_FS_A_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN9) -#define GPIO_SAI1_SCK_A_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN8) -#define GPIO_SAI1_SD_A_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN10) -#define GPIO_SAI1_MCLK_A_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN3) -#define GPIO_SAI1_MCLK_A_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN8) -#define GPIO_SAI1_FS_B_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN4) -#define GPIO_SAI1_FS_B_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN14) -#define GPIO_SAI1_FS_B_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN6) -#define GPIO_SAI1_SCK_B_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN3) -#define GPIO_SAI1_SD_B_1 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN5) -#define GPIO_SAI1_SD_B_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTA | GPIO_PIN13) -#define GPIO_SAI1_SD_B_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_SAI1_PDMCK1_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN3) -#define GPIO_SAI1_PDMCK1_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN8) -#define GPIO_SAI1_PDMCK2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN8) -#define GPIO_SAI1_PDMDI1_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN10) -#define GPIO_SAI1_PDMDI2_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN9) -#define GPIO_SAI1_PDMDI2_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN9) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_SAI1_FS_A_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN12) -# define GPIO_SAI1_SCK_A_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN10) -# define GPIO_SAI1_SCK_A_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN13) -# define GPIO_SAI1_SD_A_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN15) -# define GPIO_SAI1_SD_A_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTC | GPIO_PIN3) -# define GPIO_SAI1_MCLK_A_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN14) -# define GPIO_SAI1_PDMDI1_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN3) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_SAI1_SD_A_4 (GPIO_ALT | GPIO_AF13 | GPIO_PORTD | GPIO_PIN6) -# define GPIO_SAI1_MCLK_A_4 (GPIO_ALT | GPIO_AF13 | GPIO_PORTE | GPIO_PIN2) -# define GPIO_SAI1_SCK_B_2 (GPIO_ALT | GPIO_AF13 | GPIO_PORTC | GPIO_PIN9) -# define GPIO_SAI1_PDMCK1_3 (GPIO_ALT | GPIO_AF3 | GPIO_PORTE | GPIO_PIN2) -# define GPIO_SAI1_PDMDI1_3 (GPIO_ALT | GPIO_AF3 | GPIO_PORTD | GPIO_PIN6) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - -/* SPI */ - -#define GPIO_SPI1_NSS_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN4) -#define GPIO_SPI1_NSS_2 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN2) -#define GPIO_SPI1_SCK_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN1) -#define GPIO_SPI1_SCK_2 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN5) -#define GPIO_SPI1_MOSI_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN7) -#define GPIO_SPI1_MOSI_2 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN12) -#define GPIO_SPI1_MOSI_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_SPI1_MISO_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN6) -#define GPIO_SPI1_MISO_2 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN11) -#define GPIO_SPI1_MISO_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN4) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_SPI1_NSS_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN15) -# define GPIO_SPI1_SCK_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN3) -#endif - -#if defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) -# define GPIO_SPI1_MOSI_4 (GPIO_ALT | GPIO_AF4 | GPIO_PORTA | GPIO_PIN5) -# define GPIO_SPI1_MOSI_5 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN13) -# define GPIO_SPI1_NSS_4 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN14) -# define GPIO_SPI1_NSS_5 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN6) -#endif - -#if defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_SPI2_NSS_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN9) -#define GPIO_SPI2_NSS_2 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN12) -#define GPIO_SPI2_NSS_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN0) -#define GPIO_SPI2_SCK_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTA | GPIO_PIN9) -#define GPIO_SPI2_SCK_2 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN13) -#define GPIO_SPI2_SCK_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN1) -#define GPIO_SPI2_SCK_5 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN10) -#define GPIO_SPI2_MOSI_1 (GPIO_ALT | GPIO_AF5 | GPIO_PORTB | GPIO_PIN15) -#define GPIO_SPI2_MOSI_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTC | GPIO_PIN1) -#define GPIO_SPI2_MOSI_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTC | 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) - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_SPI2_SCK_4 (GPIO_ALT | GPIO_AF3 | GPIO_PORTD | GPIO_PIN3) -# define GPIO_SPI2_MOSI_4 (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN4) -# define GPIO_SPI2_MISO_3 (GPIO_ALT | GPIO_AF5 | GPIO_PORTD | GPIO_PIN3) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB55) */ - -/* Timers */ - -#define GPIO_TIM1_ETR_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN12) -#define GPIO_TIM1_BKIN1_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN6) -#define GPIO_TIM1_BKIN1_2 (GPIO_ALT | GPIO_AF12 | GPIO_PORTA | GPIO_PIN6) -#define GPIO_TIM1_BKIN1_3 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN7) -#define GPIO_TIM1_BKIN2_1 (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN11) -#define GPIO_TIM1_BKIN2_2 (GPIO_ALT | GPIO_AF12 | GPIO_PORTA | GPIO_PIN11) -#define GPIO_TIM1_CH1IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN8) -#define GPIO_TIM1_CH1OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN8) -#define GPIO_TIM1_CH1N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN7) -#define GPIO_TIM1_CH2IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN9) -#define GPIO_TIM1_CH2OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN9) -#define GPIO_TIM1_CH2N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8) -#define GPIO_TIM1_CH3IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN10) -#define GPIO_TIM1_CH3OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN10) -#define GPIO_TIM1_CH4IN (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN11) -#define GPIO_TIM1_CH4OUT (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_TIM1_CH3N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TIM1_BKIN1_4 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN12) -# define GPIO_TIM1_BKIN1_5 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN12) -# define GPIO_TIM1_CH1N_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13) -# define GPIO_TIM1_CH2N_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN14) -# define GPIO_TIM1_CH3N_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN15) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TIM1_ETR_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTE | GPIO_PIN0) -# define GPIO_TIM1_CH1IN_2 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTD | GPIO_PIN14) -# define GPIO_TIM1_CH1OUT_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN14) -# define GPIO_TIM1_CH2IN_2 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTD | GPIO_PIN15) -# define GPIO_TIM1_CH2OUT_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTD | GPIO_PIN15) -#endif - -#if defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) -# define GPIO_TIM1_CH3IN_2 (GPIO_ALT | GPIO_AF12 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN7) -# define GPIO_TIM1_CH3OUT_2 (GPIO_ALT | GPIO_AF12 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN7) +#if defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) || \ + defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB35) || \ + defined(CONFIG_STM32WB_STM32WB50) || defined(CONFIG_STM32WB_STM32WB55) +# if defined(CONFIG_STM32WB_USE_LEGACY_PINMAP) +# include "hardware/stm32wbxx_pinmap_legacy.h" +# else +# include "hardware/stm32wbxx_pinmap.h" +# endif +#else +# error "Unsupported STM32WB Pin map" #endif -#if defined(CONFIG_STM32WB_IO_CONFIG_C_48E) -# define GPIO_TIM1_CH1IN_3 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN14) -# define GPIO_TIM1_CH1OUT_3 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN14) -#endif - -#define GPIO_TIM2_ETR_1 (GPIO_ALT | GPIO_AF14 | GPIO_PORTA | GPIO_PIN0) -#define GPIO_TIM2_ETR_2 (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN5) -#define GPIO_TIM2_CH1IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN0) -#define GPIO_TIM2_CH1OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN0) -#define GPIO_TIM2_CH1IN_2 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN5) -#define GPIO_TIM2_CH1OUT_2 (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_CH2OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN1) -#define GPIO_TIM2_CH3IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN2) -#define GPIO_TIM2_CH3OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN2) -#define GPIO_TIM2_CH4IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN3) -#define GPIO_TIM2_CH4OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN3) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_TIM2_ETR_3 (GPIO_ALT | GPIO_AF2 | GPIO_PORTA | GPIO_PIN15) -# define GPIO_TIM2_CH1IN_3 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN15) -# define GPIO_TIM2_CH1OUT_3 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN15) -# define GPIO_TIM2_CH2IN_2 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN3) -# define GPIO_TIM2_CH2OUT_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN3) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TIM2_CH3IN_2 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN10) -# define GPIO_TIM2_CH3OUT_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN10) -# define GPIO_TIM2_CH4IN_2 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN11) -# define GPIO_TIM2_CH4OUT_2 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN11) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_C_48E) -# define GPIO_TIM2_CH1IN_4 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN15) -# define GPIO_TIM2_CH1OUT_4 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN15) -# define GPIO_TIM2_CH2IN_3 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN12) -# define GPIO_TIM2_CH2OUT_3 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN12) -# define GPIO_TIM2_CH3IN_3 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN13) -# define GPIO_TIM2_CH3OUT_3 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN13) -#endif - -#if defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB50) \ - || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_TIM16_BKIN (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_TIM16_CH1IN_1 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN8) -#define GPIO_TIM16_CH1OUT_1 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8) -#define GPIO_TIM16_CH1IN_2 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN6) -#define GPIO_TIM16_CH1OUT_2 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN6) -#define GPIO_TIM16_CH1N (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6) - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TIM16_CH1IN_3 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTE | GPIO_PIN0) -# define GPIO_TIM16_CH1OUT_3 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN0) -#endif - -#define GPIO_TIM17_BKIN (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN4) -#define GPIO_TIM17_CH1IN_1 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN9) -#define GPIO_TIM17_CH1OUT_1 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9) -#define GPIO_TIM17_CH1IN_2 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN7) -#define GPIO_TIM17_CH1OUT_2 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN7) -#define GPIO_TIM17_CH1N (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN7) - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TIM17_CH1IN_3 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTE | GPIO_PIN1) -# define GPIO_TIM17_CH1OUT_3 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN1) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB50) || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - -#define GPIO_LPTIM1_ETR_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN6) -#define GPIO_LPTIM1_OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTA | GPIO_PIN14) -#define GPIO_LPTIM1_OUT_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN2) -#define GPIO_LPTIM1_IN1_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_LPTIM1_IN2_1 (GPIO_ALT | GPIO_AF1 | GPIO_PORTB | GPIO_PIN7) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_LPTIM1_ETR_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTC | GPIO_PIN3) -# define GPIO_LPTIM1_IN1_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTC | GPIO_PIN0) -# define GPIO_LPTIM1_OUT_3 (GPIO_ALT | GPIO_AF1 | GPIO_PORTC | GPIO_PIN1) -# define GPIO_LPTIM1_IN2_2 (GPIO_ALT | GPIO_AF1 | GPIO_PORTC | GPIO_PIN2) -#endif - -#define GPIO_LPTIM2_ETR_1 (GPIO_ALT | GPIO_AF14 | GPIO_PORTA | GPIO_PIN5) -#define GPIO_LPTIM2_OUT_1 (GPIO_ALT | GPIO_AF14 | GPIO_PORTA | GPIO_PIN4) -#define GPIO_LPTIM2_OUT_2 (GPIO_ALT | GPIO_AF14 | GPIO_PORTA | GPIO_PIN8) -#define GPIO_LPTIM2_IN1_1 (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN1) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_LPTIM2_ETR_2 (GPIO_ALT | GPIO_AF14 | GPIO_PORTC | GPIO_PIN3) -# define GPIO_LPTIM2_IN1_2 (GPIO_ALT | GPIO_AF14 | GPIO_PORTC | GPIO_PIN0) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_LPTIM2_ETR_3 (GPIO_ALT | GPIO_AF14 | GPIO_PORTD | GPIO_PIN11) -# define GPIO_LPTIM2_OUT_3 (GPIO_ALT | GPIO_AF14 | GPIO_PORTD | GPIO_PIN13) -# define GPIO_LPTIM2_IN1_3 (GPIO_ALT | GPIO_AF14 | GPIO_PORTD | GPIO_PIN12) -#endif - -/* Touch Screen Controller */ - -#if defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) || defined(CONFIG_STM32WB_STM32WB55) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_SYNC_1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN10) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_SYNC_2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN2) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) || defined(CONFIG_STM32WB_IO_CONFIG_C_48E) -# define GPIO_TSC_G1_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN12) -# define GPIO_TSC_G1_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN13) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G1_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN14) -# define GPIO_TSC_G1_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN15) -#endif - -#define GPIO_TSC_G2_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN4) -#define GPIO_TSC_G2_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_TSC_G2_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN6) -#define GPIO_TSC_G2_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN7) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_TSC_G3_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN15) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G3_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN10) -# define GPIO_TSC_G3_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN11) -# define GPIO_TSC_G3_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN12) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_C_48E) -# define GPIO_TSC_G3_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN10) -# define GPIO_TSC_G3_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN1) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G4_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN6) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G4_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN7) -# define GPIO_TSC_G4_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN8) -# define GPIO_TSC_G4_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN9) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G5_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN4) -# define GPIO_TSC_G5_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN5) -# define GPIO_TSC_G5_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN6) -# define GPIO_TSC_G5_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN7) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G6_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN10) -# define GPIO_TSC_G6_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN11) -# define GPIO_TSC_G6_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN12) -# define GPIO_TSC_G6_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN13) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G7_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN0) -# define GPIO_TSC_G7_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN1) -# define GPIO_TSC_G7_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN2) -#endif - -#if defined(CONFIG_STM32WB_STM32WB15) -# define GPIO_TSC_G7_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN13) -# define GPIO_TSC_G7_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN10) -# define GPIO_TSC_G7_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN8) -#endif - -#define GPIO_TSC_G7_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN9) - -#endif /* defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) || defined(CONFIG_STM32WB_STM32WB55) */ - -/* IR interface (with timers 16 and 17) */ - -#if defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB50) \ - || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) -# define GPIO_IR_OUT_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTA | GPIO_PIN13) -# define GPIO_IR_OUT_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN9) -#endif - -/* Trace port */ - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TRACED1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN10) -# define GPIO_TRACED3 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN12) -#endif - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TRACECK (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN2) -# define GPIO_TRACED0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN9) -# define GPIO_TRACED2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN2) -#endif - -/* USART/LPUART */ - -#define GPIO_USART1_TX_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN9) -#define GPIO_USART1_TX_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN6) -#define GPIO_USART1_RX_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN10) -#define GPIO_USART1_RX_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN7) -#define GPIO_USART1_CK_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN8) -#define GPIO_USART1_CK_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_USART1_CTS_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN11) -#define GPIO_USART1_CTS_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN4) -#define GPIO_USART1_RTS_DE_1 (GPIO_ALT | GPIO_AF7 | GPIO_PORTA | GPIO_PIN12) - -#if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_USART1_RTS_DE_2 (GPIO_ALT | GPIO_AF7 | GPIO_PORTB | GPIO_PIN3) -#endif - -#if defined(CONFIG_STM32WB_STM32WB15) || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_LPUART1_TX_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTA | GPIO_PIN2) -#define GPIO_LPUART1_TX_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_LPUART1_RX_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTA | GPIO_PIN3) -#define GPIO_LPUART1_RX_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTA | GPIO_PIN12) -#define GPIO_LPUART1_CTS_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTA | GPIO_PIN6) -#define GPIO_LPUART1_RTS_DE_1 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN1) - -#if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_LPUART1_TX_3 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN11) -# define GPIO_LPUART1_TX_4 (GPIO_ALT | GPIO_AF8 | GPIO_PORTC | GPIO_PIN1) -# define GPIO_LPUART1_RX_3 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN10) -# define GPIO_LPUART1_RX_4 (GPIO_ALT | GPIO_AF8 | GPIO_PORTC | GPIO_PIN0) -# define GPIO_LPUART1_CTS_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN13) -# define GPIO_LPUART1_RTS_DE_2 (GPIO_ALT | GPIO_AF8 | GPIO_PORTB | GPIO_PIN12) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB15) || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - -/* USB */ - -#if defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) - -#define GPIO_USB_CRS_SYNC (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN10) -#define GPIO_USB_DM (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11) -#define GPIO_USB_DP (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12) -#define GPIO_USB_NOE_1 (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN13) - -#if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_USB_NOE_2 (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTC | GPIO_PIN9) -#endif - -#endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ - #endif /* __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WB_PINMAP_H */ diff --git a/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h b/arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap.h similarity index 84% copy from arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h copy to arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap.h index e8162b71f7..fb2cf588fb 100644 --- a/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h +++ b/arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap.h @@ -1,5 +1,5 @@ /**************************************************************************** - * arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h + * arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap.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_STM32WB_HARDWARE_STM32WB_PINMAP_H -#define __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WB_PINMAP_H +#ifndef __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WBXX_PINMAP_H +#define __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WBXX_PINMAP_H /**************************************************************************** * Included Files @@ -40,7 +40,7 @@ * Alternative pin selections are provided with a numeric suffix like _1, _2, * etc. Drivers, however, will use the pin selection without the numeric * suffix. Additional definitions are required in the board.h file. For - * example, if CAN1_RX connects vis PA11 on some board, then the following + * example, if CAN1_RX connects via PA11 on some board, then the following * definitions should appear in the board.h header file for that board: * * #define GPIO_CAN1_RX GPIO_CAN1_RX_1 @@ -57,39 +57,39 @@ /* ADC */ #if defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) -# define GPIO_ADC1_IN2 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7) -# define GPIO_ADC1_IN3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8) -# define GPIO_ADC1_IN4 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) +# define GPIO_ADC1_IN2_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7) +# define GPIO_ADC1_IN3_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8) +# define GPIO_ADC1_IN4_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) #elif defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_ADC1_IN1 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0) -# define GPIO_ADC1_IN2 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1) -# define GPIO_ADC1_IN3 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2) -# define GPIO_ADC1_IN4 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3) +# define GPIO_ADC1_IN1_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0) +# define GPIO_ADC1_IN2_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1) +# define GPIO_ADC1_IN3_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2) +# define GPIO_ADC1_IN4_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3) #endif -#define GPIO_ADC1_IN5 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0) -#define GPIO_ADC1_IN6 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1) -#define GPIO_ADC1_IN7 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2) -#define GPIO_ADC1_IN8 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3) -#define GPIO_ADC1_IN9 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4) -#define GPIO_ADC1_IN10 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5) -#define GPIO_ADC1_IN11 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN6) +#define GPIO_ADC1_IN5_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0) +#define GPIO_ADC1_IN6_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1) +#define GPIO_ADC1_IN7_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2) +#define GPIO_ADC1_IN8_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3) +#define GPIO_ADC1_IN9_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4) +#define GPIO_ADC1_IN10_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN5) +#define GPIO_ADC1_IN11_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN6) #if defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB50) \ || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) -# define GPIO_ADC1_IN12 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7) -# define GPIO_ADC1_IN15 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8) -# define GPIO_ADC1_IN16 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) +# define GPIO_ADC1_IN12_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7) +# define GPIO_ADC1_IN15_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8) +# define GPIO_ADC1_IN16_0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN9) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_ADC1_IN13 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4) -# define GPIO_ADC1_IN14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5) +# define GPIO_ADC1_IN13_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4) +# define GPIO_ADC1_IN14_0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5) #endif /* Clocks outputs */ -#define GPIO_MCO (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN8) +#define GPIO_MCO_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN8) /* Comparators */ @@ -163,13 +163,13 @@ /* JTAG/SWD */ -#define GPIO_JTMS_SWDIO (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN13) -#define GPIO_JTCK_SWCLK (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN14) -#define GPIO_NJTRST (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN4) +#define GPIO_JTMS_SWDIO_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN13) +#define GPIO_JTCK_SWCLK_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN14) +#define GPIO_NJTRST_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN4) #if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_JTDO_SWO (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN3) -# define GPIO_JTDI (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN15) +# define GPIO_JTDO_SWO_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN3) +# define GPIO_JTDI_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTA | GPIO_PIN15) #endif /* QUADSPI */ @@ -201,14 +201,14 @@ /* RTC */ #define GPIO_RTC_OUT_1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN2) -#define GPIO_RTC_TAMP2 (GPIO_PORTA | GPIO_PIN0) +#define GPIO_RTC_TAMP2_0 (GPIO_PORTA | GPIO_PIN0) #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) # define GPIO_RTC_OUT_2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN13) -# define GPIO_RTC_REFIN (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN15) -# define GPIO_RTC_TS (GPIO_PORTC | GPIO_PIN13) -# define GPIO_RTC_TAMP1 (GPIO_PORTC | GPIO_PIN13) -# define GPIO_RTC_TAMP3 (GPIO_PORTC | GPIO_PIN12) +# define GPIO_RTC_REFIN_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTB | GPIO_PIN15) +# define GPIO_RTC_TS_0 (GPIO_PORTC | GPIO_PIN13) +# define GPIO_RTC_TAMP1_0 (GPIO_PORTC | GPIO_PIN13) +# define GPIO_RTC_TAMP3_0 (GPIO_PORTC | GPIO_PIN12) #endif /* SAI */ @@ -232,7 +232,7 @@ #define GPIO_SAI1_SD_B_3 (GPIO_ALT | GPIO_AF13 | GPIO_PORTB | GPIO_PIN5) #define GPIO_SAI1_PDMCK1_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN3) #define GPIO_SAI1_PDMCK1_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN8) -#define GPIO_SAI1_PDMCK2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN8) +#define GPIO_SAI1_PDMCK2_0 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN8) #define GPIO_SAI1_PDMDI1_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN10) #define GPIO_SAI1_PDMDI2_1 (GPIO_ALT | GPIO_AF3 | GPIO_PORTA | GPIO_PIN9) #define GPIO_SAI1_PDMDI2_2 (GPIO_ALT | GPIO_AF3 | GPIO_PORTB | GPIO_PIN9) @@ -321,8 +321,8 @@ #define GPIO_TIM1_CH2N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8) #define GPIO_TIM1_CH3IN_1 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN10) #define GPIO_TIM1_CH3OUT_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN10) -#define GPIO_TIM1_CH4IN (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN11) -#define GPIO_TIM1_CH4OUT (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11) +#define GPIO_TIM1_CH4IN_0 (GPIO_ALT | GPIO_AF1 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN11) +#define GPIO_TIM1_CH4OUT_0 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11) #if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) # define GPIO_TIM1_CH3N_1 (GPIO_ALT | GPIO_AF1 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9) @@ -394,24 +394,24 @@ #if defined(CONFIG_STM32WB_STM32WB30) || defined(CONFIG_STM32WB_STM32WB50) \ || defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) -#define GPIO_TIM16_BKIN (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN5) +#define GPIO_TIM16_BKIN_0 (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN5) #define GPIO_TIM16_CH1IN_1 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN8) #define GPIO_TIM16_CH1OUT_1 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN8) #define GPIO_TIM16_CH1IN_2 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN6) #define GPIO_TIM16_CH1OUT_2 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN6) -#define GPIO_TIM16_CH1N (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6) +#define GPIO_TIM16_CH1N_0 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN6) #if defined(CONFIG_STM32WB_IO_CONFIG_V) # define GPIO_TIM16_CH1IN_3 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTE | GPIO_PIN0) # define GPIO_TIM16_CH1OUT_3 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTE | GPIO_PIN0) #endif -#define GPIO_TIM17_BKIN (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN4) +#define GPIO_TIM17_BKIN_0 (GPIO_ALT | GPIO_AF14 | GPIO_PORTB | GPIO_PIN4) #define GPIO_TIM17_CH1IN_1 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTB | GPIO_PIN9) #define GPIO_TIM17_CH1OUT_1 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN9) #define GPIO_TIM17_CH1IN_2 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTA | GPIO_PIN7) #define GPIO_TIM17_CH1OUT_2 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN7) -#define GPIO_TIM17_CH1N (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN7) +#define GPIO_TIM17_CH1N_0 (GPIO_ALT | GPIO_AF14 | GPIO_PUSHPULL | GPIO_PORTB | GPIO_PIN7) #if defined(CONFIG_STM32WB_IO_CONFIG_V) # define GPIO_TIM17_CH1IN_3 (GPIO_ALT | GPIO_AF14 | GPIO_FLOAT | GPIO_PORTE | GPIO_PIN1) @@ -462,72 +462,72 @@ #endif #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) || defined(CONFIG_STM32WB_IO_CONFIG_C_48E) -# define GPIO_TSC_G1_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN12) -# define GPIO_TSC_G1_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN13) +# define GPIO_TSC_G1_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN12) +# define GPIO_TSC_G1_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN13) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G1_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN14) -# define GPIO_TSC_G1_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN15) +# define GPIO_TSC_G1_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN14) +# define GPIO_TSC_G1_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN15) #endif -#define GPIO_TSC_G2_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN4) -#define GPIO_TSC_G2_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN5) -#define GPIO_TSC_G2_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN6) -#define GPIO_TSC_G2_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN7) +#define GPIO_TSC_G2_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN4) +#define GPIO_TSC_G2_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN5) +#define GPIO_TSC_G2_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN6) +#define GPIO_TSC_G2_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN7) #if !defined(CONFIG_STM32WB_IO_CONFIG_C_49) -# define GPIO_TSC_G3_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN15) +# define GPIO_TSC_G3_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN15) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G3_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN10) -# define GPIO_TSC_G3_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN11) -# define GPIO_TSC_G3_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN12) +# define GPIO_TSC_G3_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN10) +# define GPIO_TSC_G3_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN11) +# define GPIO_TSC_G3_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN12) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_C_48E) -# define GPIO_TSC_G3_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN10) -# define GPIO_TSC_G3_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN1) +# define GPIO_TSC_G3_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN10) +# define GPIO_TSC_G3_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN1) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G4_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN6) +# define GPIO_TSC_G4_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN6) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G4_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN7) -# define GPIO_TSC_G4_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN8) -# define GPIO_TSC_G4_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN9) +# define GPIO_TSC_G4_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN7) +# define GPIO_TSC_G4_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN8) +# define GPIO_TSC_G4_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTC | GPIO_PIN9) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G5_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN4) -# define GPIO_TSC_G5_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN5) -# define GPIO_TSC_G5_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN6) -# define GPIO_TSC_G5_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN7) +# define GPIO_TSC_G5_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN4) +# define GPIO_TSC_G5_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN5) +# define GPIO_TSC_G5_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN6) +# define GPIO_TSC_G5_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN7) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G6_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN10) -# define GPIO_TSC_G6_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN11) -# define GPIO_TSC_G6_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN12) -# define GPIO_TSC_G6_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN13) +# define GPIO_TSC_G6_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN10) +# define GPIO_TSC_G6_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN11) +# define GPIO_TSC_G6_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN12) +# define GPIO_TSC_G6_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTD | GPIO_PIN13) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TSC_G7_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN0) -# define GPIO_TSC_G7_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN1) -# define GPIO_TSC_G7_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN2) +# define GPIO_TSC_G7_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN0) +# define GPIO_TSC_G7_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN1) +# define GPIO_TSC_G7_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTE | GPIO_PIN2) #endif #if defined(CONFIG_STM32WB_STM32WB15) -# define GPIO_TSC_G7_IO1 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN13) -# define GPIO_TSC_G7_IO2 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN10) -# define GPIO_TSC_G7_IO3 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN8) +# define GPIO_TSC_G7_IO1_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN13) +# define GPIO_TSC_G7_IO2_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTA | GPIO_PIN10) +# define GPIO_TSC_G7_IO3_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN8) #endif -#define GPIO_TSC_G7_IO4 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN9) +#define GPIO_TSC_G7_IO4_0 (GPIO_ALT | GPIO_AF9 | GPIO_PORTB | GPIO_PIN9) #endif /* defined(CONFIG_STM32WB_STM32WB10) || defined(CONFIG_STM32WB_STM32WB15) || defined(CONFIG_STM32WB_STM32WB55) */ @@ -542,14 +542,14 @@ /* Trace port */ #if defined(CONFIG_STM32WB_IO_CONFIG_R) || defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TRACED1 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN10) -# define GPIO_TRACED3 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN12) +# define GPIO_TRACED1_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN10) +# define GPIO_TRACED3_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTC | GPIO_PIN12) #endif #if defined(CONFIG_STM32WB_IO_CONFIG_V) -# define GPIO_TRACECK (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN2) -# define GPIO_TRACED0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN9) -# define GPIO_TRACED2 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN2) +# define GPIO_TRACECK_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTE | GPIO_PIN2) +# define GPIO_TRACED0_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN9) +# define GPIO_TRACED2_0 (GPIO_ALT | GPIO_AF0 | GPIO_PORTD | GPIO_PIN2) #endif /* USART/LPUART */ @@ -592,9 +592,9 @@ #if defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) -#define GPIO_USB_CRS_SYNC (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN10) -#define GPIO_USB_DM (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11) -#define GPIO_USB_DP (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12) +#define GPIO_USB_CRS_SYNC_0 (GPIO_ALT | GPIO_AF10 | GPIO_PORTA | GPIO_PIN10) +#define GPIO_USB_DM_0 (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN11) +#define GPIO_USB_DP_0 (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN12) #define GPIO_USB_NOE_1 (GPIO_ALT | GPIO_AF10 | GPIO_PUSHPULL | GPIO_PORTA | GPIO_PIN13) #if defined(CONFIG_STM32WB_IO_CONFIG_V) @@ -603,4 +603,4 @@ #endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ -#endif /* __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WB_PINMAP_H */ +#endif /* __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WBXX_PINMAP_H */ diff --git a/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h b/arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap_legacy.h similarity index 99% copy from arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h copy to arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap_legacy.h index e8162b71f7..ba1105b71e 100644 --- a/arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h +++ b/arch/arm/src/stm32wb/hardware/stm32wbxx_pinmap_legacy.h @@ -1,5 +1,5 @@ /**************************************************************************** - * arch/arm/src/stm32wb/hardware/stm32wb_pinmap.h + * arch/arm/src/stm32wb/hardware/stm32wbxx_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_STM32WB_HARDWARE_STM32WB_PINMAP_H -#define __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WB_PINMAP_H +#ifndef __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WBXX_PINMAP_LEGACY_H +#define __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WBXX_PINMAP_LEGACY_H /**************************************************************************** * Included Files @@ -40,7 +40,7 @@ * Alternative pin selections are provided with a numeric suffix like _1, _2, * etc. Drivers, however, will use the pin selection without the numeric * suffix. Additional definitions are required in the board.h file. For - * example, if CAN1_RX connects vis PA11 on some board, then the following + * example, if CAN1_RX connects via PA11 on some board, then the following * definitions should appear in the board.h header file for that board: * * #define GPIO_CAN1_RX GPIO_CAN1_RX_1 @@ -603,4 +603,4 @@ #endif /* defined(CONFIG_STM32WB_STM32WB35) || defined(CONFIG_STM32WB_STM32WB55) */ -#endif /* __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WB_PINMAP_H */ +#endif /* __ARCH_ARM_SRC_STM32WB_HARDWARE_STM32WBXX_PINMAP_LEGACY_H */ diff --git a/arch/arm/src/stm32wb/stm32wb_gpio.c b/arch/arm/src/stm32wb/stm32wb_gpio.c index a07b0d3e24..c4bff8eff9 100644 --- a/arch/arm/src/stm32wb/stm32wb_gpio.c +++ b/arch/arm/src/stm32wb/stm32wb_gpio.c @@ -36,6 +36,10 @@ #include "hardware/stm32wb_syscfg.h" +#if defined(CONFIG_STM32WB_USE_LEGACY_PINMAP) +# pragma message "CONFIG_STM32WB_USE_LEGACY_PINMAP will be deprecated migrate board.h see tools/stm32_pinmap_tool.py" +#endif + /**************************************************************************** * Public Data ****************************************************************************/
