From 076e33aa03d5ff8bb8bda78cb7c8987be03235d0 Mon Sep 17 00:00:00 2001 From: thread-liu Date: Sun, 27 Sep 2020 13:52:52 +0800 Subject: [PATCH] [update] stm32mp1 pin-index --- bsp/stm32/libraries/HAL_Drivers/drv_gpio.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c index 822e4f8301..8d1995c41b 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c @@ -21,7 +21,17 @@ #define PIN_PORT(pin) ((uint8_t)(((pin) >> 4) & 0xFu)) #define PIN_NO(pin) ((uint8_t)((pin) & 0xFu)) +#if defined(SOC_SERIES_STM32MP1) +#if defined(GPIOZ) +#define gpioz_port_base (175) /* PIN_STPORT_MAX * 16 - 16 */ +#define PIN_STPORT(pin) ((pin > gpioz_port_base) ? ((GPIO_TypeDef *)(GPIOZ_BASE )) : ((GPIO_TypeDef *)(GPIOA_BASE + (0x1000u * PIN_PORT(pin))))) +#else +#define PIN_STPORT(pin) ((GPIO_TypeDef *)(GPIOA_BASE + (0x1000u * PIN_PORT(pin))))) +#endif /* GPIOZ */ +#else #define PIN_STPORT(pin) ((GPIO_TypeDef *)(GPIOA_BASE + (0x400u * PIN_PORT(pin)))) +#endif /* SOC_SERIES_STM32MP1 */ + #define PIN_STPIN(pin) ((uint16_t)(1u << PIN_NO(pin))) #if defined(GPIOZ)