mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 02:49:14 +07:00
acc8e22f5d
Add support for DMAs to STM32 timers. STM32 Timers can support up to 7 dma requests: up to 4 channels, update, compare and trigger. DMAs may be used to transfer data from pwm capture for instance. DMA support is made optional, PWM capture support is also an option. This is much more wise system-wide to avoid shortage on DMA request lines as there's significant amount of timer instances that can request up to 7 channels. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
67 lines
1.9 KiB
Plaintext
67 lines
1.9 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
|
|
|
|
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...
|
|
};
|