Merge branch 'spectre' of git://git.armlinux.org.uk/~rmk/linux-arm
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / mfd / stm32-timers.txt
1 STM32 Timers driver bindings
2
3 This IP provides 3 types of timer along with PWM functionality:
4 - advanced-control timers consist of a 16-bit auto-reload counter driven by a programmable
5   prescaler, break input feature, PWM outputs and complementary PWM ouputs channels.
6 - general-purpose timers consist of a 16-bit or 32-bit auto-reload counter driven by a
7   programmable prescaler and PWM outputs.
8 - basic timers consist of a 16-bit auto-reload counter driven by a programmable prescaler.
9
10 Required parameters:
11 - compatible: must be "st,stm32-timers"
12
13 - reg:                  Physical base address and length of the controller's
14                         registers.
15 - clock-names:          Set to "int".
16 - clocks:               Phandle to the clock used by the timer module.
17                         For Clk properties, please refer to ../clock/clock-bindings.txt
18
19 Optional parameters:
20 - resets:               Phandle to the parent reset controller.
21                         See ../reset/st,stm32-rcc.txt
22 - dmas:                 List of phandle to dma channels that can be used for
23                         this timer instance. There may be up to 7 dma channels.
24 - dma-names:            List of dma names. Must match 'dmas' property. Valid
25                         names are: "ch1", "ch2", "ch3", "ch4", "up", "trig",
26                         "com".
27
28 Optional subnodes:
29 - pwm:                  See ../pwm/pwm-stm32.txt
30 - timer:                See ../iio/timer/stm32-timer-trigger.txt
31
32 Example:
33         timers@40010000 {
34                 #address-cells = <1>;
35                 #size-cells = <0>;
36                 compatible = "st,stm32-timers";
37                 reg = <0x40010000 0x400>;
38                 clocks = <&rcc 0 160>;
39                 clock-names = "int";
40
41                 pwm {
42                         compatible = "st,stm32-pwm";
43                         pinctrl-0       = <&pwm1_pins>;
44                         pinctrl-names   = "default";
45                 };
46
47                 timer@0 {
48                         compatible = "st,stm32-timer-trigger";
49                         reg = <0>;
50                 };
51         };
52
53 Example with all dmas:
54         timer@40010000 {
55                 ...
56                 dmas = <&dmamux1 11 0x400 0x0>,
57                        <&dmamux1 12 0x400 0x0>,
58                        <&dmamux1 13 0x400 0x0>,
59                        <&dmamux1 14 0x400 0x0>,
60                        <&dmamux1 15 0x400 0x0>,
61                        <&dmamux1 16 0x400 0x0>,
62                        <&dmamux1 17 0x400 0x0>;
63                 dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig", "com";
64                 ...
65                 child nodes...
66         };