From 335222d189bb9fd785aefce6d7293afc70185ada Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sun, 16 Sep 2018 13:42:52 +0200 Subject: [PATCH] dts/arm/st_stm32: Add timers and PWM nodes to STM32 F7 series This patch adds timers and PWM nodes to STM32 F7 series, as well as the corresponding dts fixup entries. Signed-off-by: Aurelien Jarno --- dts/arm/st/f7/stm32f7.dtsi | 210 +++++++++++++++++++++++++++++ soc/arm/st_stm32/stm32f7/dts.fixup | 42 ++++++ 2 files changed, 252 insertions(+) diff --git a/dts/arm/st/f7/stm32f7.dtsi b/dts/arm/st/f7/stm32f7.dtsi index 5191319e8ad..b55a538f471 100644 --- a/dts/arm/st/f7/stm32f7.dtsi +++ b/dts/arm/st/f7/stm32f7.dtsi @@ -240,6 +240,216 @@ label = "I2C_3"; }; + timers1: timers@40010000 { + compatible = "st,stm32-timers"; + reg = <0x40010000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00000001>; + status = "disabled"; + label = "TIMERS_1"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_1"; + }; + }; + + timers2: timers@40000000 { + compatible = "st,stm32-timers"; + reg = <0x40000000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000001>; + status = "disabled"; + label = "TIMERS_2"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <0>; + label = "PWM_2"; + }; + }; + + 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"; + }; + }; + + timers4: timers@40000800 { + compatible = "st,stm32-timers"; + reg = <0x40000800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000004>; + status = "disabled"; + label = "TIMERS_4"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_4"; + }; + }; + + timers5: timers@40000c00 { + compatible = "st,stm32-timers"; + reg = <0x40000c00 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000008>; + status = "disabled"; + label = "TIMERS_5"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <0>; + label = "PWM_5"; + }; + }; + + timers6: timers@40001000 { + compatible = "st,stm32-timers"; + reg = <0x40001000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000010>; + status = "disabled"; + label = "TIMERS_6"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_6"; + }; + }; + + timers7: timers@40001400 { + compatible = "st,stm32-timers"; + reg = <0x40001400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000020>; + status = "disabled"; + label = "TIMERS_7"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_7"; + }; + }; + + timers8: timers@40010400 { + compatible = "st,stm32-timers"; + reg = <0x40010400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00000002>; + status = "disabled"; + label = "TIMERS_8"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_8"; + }; + }; + + timers9: timers@40014000 { + compatible = "st,stm32-timers"; + reg = <0x40014000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00010000>; + status = "disabled"; + label = "TIMERS_9"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_9"; + }; + }; + + timers10: timers@40014400 { + compatible = "st,stm32-timers"; + reg = <0x40014400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00020000>; + status = "disabled"; + label = "TIMERS_10"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_10"; + }; + }; + + timers11: timers@40014800 { + compatible = "st,stm32-timers"; + reg = <0x40014800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00040000>; + status = "disabled"; + label = "TIMERS_11"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_11"; + }; + }; + + timers12: timers@40001800 { + compatible = "st,stm32-timers"; + reg = <0x40001800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000040>; + status = "disabled"; + label = "TIMERS_12"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_12"; + }; + }; + + timers13: timers@40001c00 { + compatible = "st,stm32-timers"; + reg = <0x40001c00 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000080>; + status = "disabled"; + label = "TIMERS_13"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_13"; + }; + }; + + timers14: timers@40002000 { + compatible = "st,stm32-timers"; + reg = <0x40002000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000100>; + status = "disabled"; + label = "TIMERS_14"; + + pwm { + compatible = "st,stm32-pwm"; + status = "disabled"; + st,prescaler = <10000>; + label = "PWM_14"; + }; + }; + usbotg_fs: usb@50000000 { compatible = "st,stm32-otgfs"; reg = <0x50000000 0x40000>; diff --git a/soc/arm/st_stm32/stm32f7/dts.fixup b/soc/arm/st_stm32/stm32f7/dts.fixup index 16a4a0939a4..27089d2cadc 100644 --- a/soc/arm/st_stm32/stm32f7/dts.fixup +++ b/soc/arm/st_stm32/stm32f7/dts.fixup @@ -90,4 +90,46 @@ #define CONFIG_USB_RAM_SIZE ST_STM32_OTGHS_40040000_RAM_SIZE #endif /* ST_STM32_OTGHS_40040000_BASE_ADDRESS */ +#define CONFIG_PWM_STM32_1_DEV_NAME ST_STM32_PWM_40010000_PWM_LABEL +#define CONFIG_PWM_STM32_1_PRESCALER ST_STM32_PWM_40010000_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_2_DEV_NAME ST_STM32_PWM_40000000_PWM_LABEL +#define CONFIG_PWM_STM32_2_PRESCALER ST_STM32_PWM_40000000_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_3_DEV_NAME ST_STM32_PWM_40000400_PWM_LABEL +#define CONFIG_PWM_STM32_3_PRESCALER ST_STM32_PWM_40000400_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_4_DEV_NAME ST_STM32_PWM_40000800_PWM_LABEL +#define CONFIG_PWM_STM32_4_PRESCALER ST_STM32_PWM_40000800_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_5_DEV_NAME ST_STM32_PWM_40000C00_PWM_LABEL +#define CONFIG_PWM_STM32_5_PRESCALER ST_STM32_PWM_40000C00_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_6_DEV_NAME ST_STM32_PWM_40001000_PWM_LABEL +#define CONFIG_PWM_STM32_6_PRESCALER ST_STM32_PWM_40001000_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_7_DEV_NAME ST_STM32_PWM_40001400_PWM_LABEL +#define CONFIG_PWM_STM32_7_PRESCALER ST_STM32_PWM_40001400_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_8_DEV_NAME ST_STM32_PWM_40010400_PWM_LABEL +#define CONFIG_PWM_STM32_8_PRESCALER ST_STM32_PWM_40010400_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_9_DEV_NAME ST_STM32_PWM_40014000_PWM_LABEL +#define CONFIG_PWM_STM32_9_PRESCALER ST_STM32_PWM_40014000_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_10_DEV_NAME ST_STM32_PWM_40014400_PWM_LABEL +#define CONFIG_PWM_STM32_10_PRESCALER ST_STM32_PWM_40014400_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_11_DEV_NAME ST_STM32_PWM_40014800_PWM_LABEL +#define CONFIG_PWM_STM32_11_PRESCALER ST_STM32_PWM_40014800_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_12_DEV_NAME ST_STM32_PWM_40001800_PWM_LABEL +#define CONFIG_PWM_STM32_12_PRESCALER ST_STM32_PWM_40001800_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_13_DEV_NAME ST_STM32_PWM_40001C00_PWM_LABEL +#define CONFIG_PWM_STM32_13_PRESCALER ST_STM32_PWM_40001C00_PWM_ST_PRESCALER + +#define CONFIG_PWM_STM32_14_DEV_NAME ST_STM32_PWM_40002000_PWM_LABEL +#define CONFIG_PWM_STM32_14_PRESCALER ST_STM32_PWM_40002000_PWM_ST_PRESCALER + /* End of SoC Level DTS fixup file */