diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig index c8466df38..9c7db5b5e 100644 --- a/src/stm32/Kconfig +++ b/src/stm32/Kconfig @@ -10,7 +10,7 @@ config STM32_SELECT select HAVE_GPIO_I2C if !MACH_STM32F031 select HAVE_GPIO_SPI if !MACH_STM32F031 select HAVE_GPIO_SDIO if MACH_STM32F4 - select HAVE_GPIO_HARD_PWM if MACH_STM32F042 || MACH_STM32F070 || MACH_STM32F072 || MACH_STM32F1 || MACH_STM32F4 || MACH_STM32F7 || MACH_STM32G0 || MACH_STM32H7 + select HAVE_GPIO_HARD_PWM if MACH_STM32F042 || MACH_STM32F070 || MACH_STM32F072 || MACH_STM32F1 || MACH_STM32F4 || MACH_STM32F7 || MACH_STM32G0 || MACH_STM32G4 || MACH_STM32H7 select HAVE_STRICT_TIMING select HAVE_CHIPID select HAVE_STEPPER_OPTIMIZED_BOTH_EDGE if !MACH_STM32H7 diff --git a/src/stm32/hard_pwm.c b/src/stm32/hard_pwm.c index 08defce22..201c214cc 100644 --- a/src/stm32/hard_pwm.c +++ b/src/stm32/hard_pwm.c @@ -232,6 +232,19 @@ static const struct gpio_pwm_info pwm_regs[] = { {TIM14, GPIO('F', 0), 1, GPIO_FUNCTION(2)}, {TIM15, GPIO('F', 12), 1, GPIO_FUNCTION(0)}, {TIM15, GPIO('F', 13), 2, GPIO_FUNCTION(0)}, +#elif CONFIG_MACH_STM32G4 + {TIM3, GPIO('B', 0), 3, GPIO_FUNCTION(2)}, + {TIM3, GPIO('B', 1), 4, GPIO_FUNCTION(2)}, + {TIM3, GPIO('B', 4), 1, GPIO_FUNCTION(2)}, + {TIM3, GPIO('B', 5), 2, GPIO_FUNCTION(2)}, + {TIM4, GPIO('B', 6), 1, GPIO_FUNCTION(2)}, + {TIM4, GPIO('B', 7), 2, GPIO_FUNCTION(2)}, + {TIM4, GPIO('B', 8), 3, GPIO_FUNCTION(2)}, + {TIM4, GPIO('B', 9), 4, GPIO_FUNCTION(2)}, + {TIM2, GPIO('B', 10), 3, GPIO_FUNCTION(1)}, + {TIM2, GPIO('B', 11), 4, GPIO_FUNCTION(1)}, + {TIM15, GPIO('B', 14), 1, GPIO_FUNCTION(1)}, + {TIM15, GPIO('B', 15), 2, GPIO_FUNCTION(1)}, #elif CONFIG_MACH_STM32H7 {TIM1, GPIO('A', 8), 1, GPIO_FUNCTION(1)}, {TIM1, GPIO('E', 9), 1, GPIO_FUNCTION(1)},