From da48451a011c9af6bc310109f79413e6f043501f Mon Sep 17 00:00:00 2001 From: Francois Ramu Date: Wed, 26 Jun 2019 13:22:47 +0200 Subject: [PATCH] drivers: pwm: Add STM32G0XX pwm support Add pwm support for STM32G0X SoC series. Signed-off-by: Philippe Retornaz --- drivers/pwm/pwm_stm32.c | 2 +- dts/arm/st/g0/stm32g0.dtsi | 16 ++++++++++++++++ soc/arm/st_stm32/stm32g0/dts_fixup.h | 3 +++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/pwm/pwm_stm32.c b/drivers/pwm/pwm_stm32.c index 9616e52703be1c..5482f0008c95ea 100644 --- a/drivers/pwm/pwm_stm32.c +++ b/drivers/pwm/pwm_stm32.c @@ -35,7 +35,7 @@ static u32_t __get_tim_clk(u32_t bus_clk, if (pclken->bus == STM32_CLOCK_BUS_APB1) { apb_psc = CONFIG_CLOCK_STM32_APB1_PRESCALER; } -#ifndef CONFIG_SOC_SERIES_STM32F0X +#if !defined(CONFIG_SOC_SERIES_STM32F0X) && !defined(CONFIG_SOC_SERIES_STM32G0X) else { apb_psc = CONFIG_CLOCK_STM32_APB2_PRESCALER; } diff --git a/dts/arm/st/g0/stm32g0.dtsi b/dts/arm/st/g0/stm32g0.dtsi index a4ca246c8a4b87..f68a3734756057 100644 --- a/dts/arm/st/g0/stm32g0.dtsi +++ b/dts/arm/st/g0/stm32g0.dtsi @@ -54,6 +54,22 @@ label = "STM32_CLK_RCC"; }; + timers3: timers@40000400 { + compatible = "st,stm32-timers"; + reg = <0x40000400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000002>; + status = "disabled"; + label = "TIMERS_3"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_3"; + #pwm-cells = <2>; + }; + }; + }; }; diff --git a/soc/arm/st_stm32/stm32g0/dts_fixup.h b/soc/arm/st_stm32/stm32g0/dts_fixup.h index fa6210d131b463..8c699bbcac6909 100644 --- a/soc/arm/st_stm32/stm32g0/dts_fixup.h +++ b/soc/arm/st_stm32/stm32g0/dts_fixup.h @@ -11,4 +11,7 @@ #define DT_FLASH_DEV_BASE_ADDRESS DT_ST_STM32G0_FLASH_CONTROLLER_40022000_BASE_ADDRESS #define DT_FLASH_DEV_NAME DT_ST_STM32G0_FLASH_CONTROLLER_40022000_LABEL +#define DT_PWM_STM32_3_DEV_NAME DT_ST_STM32_PWM_40000400_PWM_LABEL +#define DT_PWM_STM32_3_PRESCALER DT_ST_STM32_PWM_40000400_PWM_ST_PRESCALER + /* End of SoC Level DTS fixup file */