summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pwm/pwm-mediatek.txt
blob: 554c96b6d0c3e006cae943d41ad62228a66be372 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
MediaTek PWM controller

Required properties:
 - compatible: should be "mediatek,<name>-pwm":
   - "mediatek,mt2712-pwm": found on mt2712 SoC.
   - "mediatek,mt6795-pwm": found on mt6795 SoC.
   - "mediatek,mt7622-pwm": found on mt7622 SoC.
   - "mediatek,mt7623-pwm": found on mt7623 SoC.
   - "mediatek,mt7628-pwm": found on mt7628 SoC.
   - "mediatek,mt7629-pwm": found on mt7629 SoC.
   - "mediatek,mt8183-pwm": found on mt8183 SoC.
   - "mediatek,mt8195-pwm", "mediatek,mt8183-pwm": found on mt8195 SoC.
   - "mediatek,mt8365-pwm": found on mt8365 SoC.
   - "mediatek,mt8516-pwm": found on mt8516 SoC.
 - reg: physical base address and length of the controller's registers.
 - #pwm-cells: must be 2. See pwm.yaml in this directory for a description of
   the cell format.
 - clocks: phandle and clock specifier of the PWM reference clock.
 - clock-names: must contain the following, except for MT7628 which
                has no clocks
   - "top": the top clock generator
   - "main": clock used by the PWM core
   - "pwm1-3": the three per PWM clocks for mt8365
   - "pwm1-8": the eight per PWM clocks for mt2712
   - "pwm1-6": the six per PWM clocks for mt7622
   - "pwm1-5": the five per PWM clocks for mt7623
   - "pwm1"  : the PWM1 clock for mt7629
 - pinctrl-names: Must contain a "default" entry.
 - pinctrl-0: One property must exist for each entry in pinctrl-names.
   See pinctrl/pinctrl-bindings.txt for details of the property values.

Optional properties:
- assigned-clocks: Reference to the PWM clock entries.
- assigned-clock-parents: The phandle of the parent clock of PWM clock.

Example:
	pwm0: pwm@11006000 {
		compatible = "mediatek,mt7623-pwm";
		reg = <0 0x11006000 0 0x1000>;
		#pwm-cells = <2>;
		clocks = <&topckgen CLK_TOP_PWM_SEL>,
			 <&pericfg CLK_PERI_PWM>,
			 <&pericfg CLK_PERI_PWM1>,
			 <&pericfg CLK_PERI_PWM2>,
			 <&pericfg CLK_PERI_PWM3>,
			 <&pericfg CLK_PERI_PWM4>,
			 <&pericfg CLK_PERI_PWM5>;
		clock-names = "top", "main", "pwm1", "pwm2",
			      "pwm3", "pwm4", "pwm5";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm0_pins>;
	};