Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pwm / pwm-mediatek.txt
1 MediaTek PWM controller
2
3 Required properties:
4  - compatible: should be "mediatek,<name>-pwm":
5    - "mediatek,mt2712-pwm": found on mt2712 SoC.
6    - "mediatek,mt7622-pwm": found on mt7622 SoC.
7    - "mediatek,mt7623-pwm": found on mt7623 SoC.
8    - "mediatek,mt7628-pwm": found on mt7628 SoC.
9    - "mediatek,mt7629-pwm": found on mt7629 SoC.
10    - "mediatek,mt8183-pwm": found on mt8183 SoC.
11    - "mediatek,mt8516-pwm": found on mt8516 SoC.
12  - reg: physical base address and length of the controller's registers.
13  - #pwm-cells: must be 2. See pwm.yaml in this directory for a description of
14    the cell format.
15  - clocks: phandle and clock specifier of the PWM reference clock.
16  - clock-names: must contain the following, except for MT7628 which
17                 has no clocks
18    - "top": the top clock generator
19    - "main": clock used by the PWM core
20    - "pwm1-8": the eight per PWM clocks for mt2712
21    - "pwm1-6": the six per PWM clocks for mt7622
22    - "pwm1-5": the five per PWM clocks for mt7623
23    - "pwm1"  : the PWM1 clock for mt7629
24  - pinctrl-names: Must contain a "default" entry.
25  - pinctrl-0: One property must exist for each entry in pinctrl-names.
26    See pinctrl/pinctrl-bindings.txt for details of the property values.
27
28 Optional properties:
29 - assigned-clocks: Reference to the PWM clock entries.
30 - assigned-clock-parents: The phandle of the parent clock of PWM clock.
31
32 Example:
33         pwm0: pwm@11006000 {
34                 compatible = "mediatek,mt7623-pwm";
35                 reg = <0 0x11006000 0 0x1000>;
36                 #pwm-cells = <2>;
37                 clocks = <&topckgen CLK_TOP_PWM_SEL>,
38                          <&pericfg CLK_PERI_PWM>,
39                          <&pericfg CLK_PERI_PWM1>,
40                          <&pericfg CLK_PERI_PWM2>,
41                          <&pericfg CLK_PERI_PWM3>,
42                          <&pericfg CLK_PERI_PWM4>,
43                          <&pericfg CLK_PERI_PWM5>;
44                 clock-names = "top", "main", "pwm1", "pwm2",
45                               "pwm3", "pwm4", "pwm5";
46                 pinctrl-names = "default";
47                 pinctrl-0 = <&pwm0_pins>;
48         };