| 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 |
| - counter: See ../counter/stm32-timer-cnt.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>; |
| }; |
| |
| counter { |
| compatible = "st,stm32-timer-counter"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&tim1_in_pins>; |
| }; |
| }; |
| |
| 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... |
| }; |