summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthread-liu <[email protected]>2020-09-27 13:52:52 +0800
committerthread-liu <[email protected]>2020-09-27 14:29:36 +0800
commit076e33aa03d5ff8bb8bda78cb7c8987be03235d0 (patch)
treef02fe130b3a0b2ea50a885a6f13f28a76eb303a3
parentaa05fc14696500620286b54c2621d07f0464cee4 (diff)
[update] stm32mp1 pin-index
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_gpio.c10
1 files changed, 10 insertions, 0 deletions
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)