STM32 Timers driver bindings This IP provides 3 types of timer along with PWM functionality: - advanced-control timers consist of a 16-bit auto-reload counter driven by a programmable prescaler, break input feature, PWM outputs and complementary PWM ouputs channels. - general-purpose timers consist of a 16-bit or 32-bit auto-reload counter driven by a programmable prescaler and PWM outputs. - basic timers consist of a 16-bit auto-reload counter driven by a programmable prescaler. Required parameters: - compatible: must be "st,stm32-timers" - reg: Physical base address and length of the controller's registers. - clock-names: Set to "int". - clocks: Phandle to the clock used by the timer module. For Clk properties, please refer to ../clock/clock-bindings.txt Optional parameters: - resets: Phandle to the parent reset controller. See ../reset/st,stm32-rcc.txt - dmas: List of phandle to dma channels that can be used for this timer instance. There may be up to 7 dma channels. - dma-names: List of dma names. Must match 'dmas' property. Valid names are: "ch1", "ch2", "ch3", "ch4", "up", "trig", "com". Optional subnodes: - pwm: See ../pwm/pwm-stm32.txt - timer: See ../iio/timer/stm32-timer-trigger.txt Example: timers@40010000 { #address-cells = <1>; #size-cells = <0>; compatible = "st,stm32-timers"; reg = <0x40010000 0x400>; clocks = <&rcc 0 160>; clock-names = "int"; pwm { compatible = "st,stm32-pwm"; pinctrl-0 = <&pwm1_pins>; pinctrl-names = "default"; }; timer@0 { compatible = "st,stm32-timer-trigger"; reg = <0>; }; }; Example with all dmas: timer@40010000 { ... dmas = <&dmamux1 11 0x400 0x0>, <&dmamux1 12 0x400 0x0>, <&dmamux1 13 0x400 0x0>, <&dmamux1 14 0x400 0x0>, <&dmamux1 15 0x400 0x0>, <&dmamux1 16 0x400 0x0>, <&dmamux1 17 0x400 0x0>; dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig", "com"; ... child nodes... };