74 lines
2.1 KiB
Plaintext
74 lines
2.1 KiB
Plaintext
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...
|
|
};
|