18c2ecf20Sopenharmony_ciMediaTek PWM controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci - compatible: should be "mediatek,<name>-pwm":
58c2ecf20Sopenharmony_ci   - "mediatek,mt2712-pwm": found on mt2712 SoC.
68c2ecf20Sopenharmony_ci   - "mediatek,mt7622-pwm": found on mt7622 SoC.
78c2ecf20Sopenharmony_ci   - "mediatek,mt7623-pwm": found on mt7623 SoC.
88c2ecf20Sopenharmony_ci   - "mediatek,mt7628-pwm": found on mt7628 SoC.
98c2ecf20Sopenharmony_ci   - "mediatek,mt7629-pwm": found on mt7629 SoC.
108c2ecf20Sopenharmony_ci   - "mediatek,mt8516-pwm": found on mt8516 SoC.
118c2ecf20Sopenharmony_ci - reg: physical base address and length of the controller's registers.
128c2ecf20Sopenharmony_ci - #pwm-cells: must be 2. See pwm.yaml in this directory for a description of
138c2ecf20Sopenharmony_ci   the cell format.
148c2ecf20Sopenharmony_ci - clocks: phandle and clock specifier of the PWM reference clock.
158c2ecf20Sopenharmony_ci - clock-names: must contain the following, except for MT7628 which
168c2ecf20Sopenharmony_ci                has no clocks
178c2ecf20Sopenharmony_ci   - "top": the top clock generator
188c2ecf20Sopenharmony_ci   - "main": clock used by the PWM core
198c2ecf20Sopenharmony_ci   - "pwm1-8": the eight per PWM clocks for mt2712
208c2ecf20Sopenharmony_ci   - "pwm1-6": the six per PWM clocks for mt7622
218c2ecf20Sopenharmony_ci   - "pwm1-5": the five per PWM clocks for mt7623
228c2ecf20Sopenharmony_ci   - "pwm1"  : the PWM1 clock for mt7629
238c2ecf20Sopenharmony_ci - pinctrl-names: Must contain a "default" entry.
248c2ecf20Sopenharmony_ci - pinctrl-0: One property must exist for each entry in pinctrl-names.
258c2ecf20Sopenharmony_ci   See pinctrl/pinctrl-bindings.txt for details of the property values.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciOptional properties:
288c2ecf20Sopenharmony_ci- assigned-clocks: Reference to the PWM clock entries.
298c2ecf20Sopenharmony_ci- assigned-clock-parents: The phandle of the parent clock of PWM clock.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciExample:
328c2ecf20Sopenharmony_ci	pwm0: pwm@11006000 {
338c2ecf20Sopenharmony_ci		compatible = "mediatek,mt7623-pwm";
348c2ecf20Sopenharmony_ci		reg = <0 0x11006000 0 0x1000>;
358c2ecf20Sopenharmony_ci		#pwm-cells = <2>;
368c2ecf20Sopenharmony_ci		clocks = <&topckgen CLK_TOP_PWM_SEL>,
378c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM>,
388c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM1>,
398c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM2>,
408c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM3>,
418c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM4>,
428c2ecf20Sopenharmony_ci			 <&pericfg CLK_PERI_PWM5>;
438c2ecf20Sopenharmony_ci		clock-names = "top", "main", "pwm1", "pwm2",
448c2ecf20Sopenharmony_ci			      "pwm3", "pwm4", "pwm5";
458c2ecf20Sopenharmony_ci		pinctrl-names = "default";
468c2ecf20Sopenharmony_ci		pinctrl-0 = <&pwm0_pins>;
478c2ecf20Sopenharmony_ci	};
48