13e98855cSAngeloGioacchino Del Regno# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
23e98855cSAngeloGioacchino Del Regno%YAML 1.2
33e98855cSAngeloGioacchino Del Regno---
43e98855cSAngeloGioacchino Del Regno$id: http://devicetree.org/schemas/pwm/mediatek,mt2712-pwm.yaml#
53e98855cSAngeloGioacchino Del Regno$schema: http://devicetree.org/meta-schemas/core.yaml#
63e98855cSAngeloGioacchino Del Regno
73e98855cSAngeloGioacchino Del Regnotitle: MediaTek PWM Controller
83e98855cSAngeloGioacchino Del Regno
93e98855cSAngeloGioacchino Del Regnomaintainers:
103e98855cSAngeloGioacchino Del Regno  - John Crispin <john@phrozen.org>
113e98855cSAngeloGioacchino Del Regno
123e98855cSAngeloGioacchino Del RegnoallOf:
133e98855cSAngeloGioacchino Del Regno  - $ref: pwm.yaml#
143e98855cSAngeloGioacchino Del Regno
153e98855cSAngeloGioacchino Del Regnoproperties:
163e98855cSAngeloGioacchino Del Regno  compatible:
173e98855cSAngeloGioacchino Del Regno    oneOf:
183e98855cSAngeloGioacchino Del Regno      - enum:
193e98855cSAngeloGioacchino Del Regno          - mediatek,mt2712-pwm
203e98855cSAngeloGioacchino Del Regno          - mediatek,mt6795-pwm
213e98855cSAngeloGioacchino Del Regno          - mediatek,mt7622-pwm
223e98855cSAngeloGioacchino Del Regno          - mediatek,mt7623-pwm
233e98855cSAngeloGioacchino Del Regno          - mediatek,mt7628-pwm
243e98855cSAngeloGioacchino Del Regno          - mediatek,mt7629-pwm
25*b3ad5235SDaniel Golle          - mediatek,mt7986-pwm
263e98855cSAngeloGioacchino Del Regno          - mediatek,mt8183-pwm
273e98855cSAngeloGioacchino Del Regno          - mediatek,mt8365-pwm
283e98855cSAngeloGioacchino Del Regno          - mediatek,mt8516-pwm
293e98855cSAngeloGioacchino Del Regno      - items:
303e98855cSAngeloGioacchino Del Regno          - enum:
313e98855cSAngeloGioacchino Del Regno              - mediatek,mt8195-pwm
323e98855cSAngeloGioacchino Del Regno          - const: mediatek,mt8183-pwm
333e98855cSAngeloGioacchino Del Regno
343e98855cSAngeloGioacchino Del Regno  reg:
353e98855cSAngeloGioacchino Del Regno    maxItems: 1
363e98855cSAngeloGioacchino Del Regno
373e98855cSAngeloGioacchino Del Regno  "#pwm-cells":
383e98855cSAngeloGioacchino Del Regno    const: 2
393e98855cSAngeloGioacchino Del Regno
403e98855cSAngeloGioacchino Del Regno  interrupts:
413e98855cSAngeloGioacchino Del Regno    maxItems: 1
423e98855cSAngeloGioacchino Del Regno
433e98855cSAngeloGioacchino Del Regno  clocks:
443e98855cSAngeloGioacchino Del Regno    minItems: 2
453e98855cSAngeloGioacchino Del Regno    maxItems: 10
463e98855cSAngeloGioacchino Del Regno
473e98855cSAngeloGioacchino Del Regno  clock-names:
483e98855cSAngeloGioacchino Del Regno    description:
493e98855cSAngeloGioacchino Del Regno      This controller needs two input clocks for its core and one
503e98855cSAngeloGioacchino Del Regno      clock for each PWM output.
513e98855cSAngeloGioacchino Del Regno    minItems: 2
523e98855cSAngeloGioacchino Del Regno    items:
533e98855cSAngeloGioacchino Del Regno      - const: top
543e98855cSAngeloGioacchino Del Regno      - const: main
553e98855cSAngeloGioacchino Del Regno      - const: pwm1
563e98855cSAngeloGioacchino Del Regno      - const: pwm2
573e98855cSAngeloGioacchino Del Regno      - const: pwm3
583e98855cSAngeloGioacchino Del Regno      - const: pwm4
593e98855cSAngeloGioacchino Del Regno      - const: pwm5
603e98855cSAngeloGioacchino Del Regno      - const: pwm6
613e98855cSAngeloGioacchino Del Regno      - const: pwm7
623e98855cSAngeloGioacchino Del Regno      - const: pwm8
633e98855cSAngeloGioacchino Del Regno
643e98855cSAngeloGioacchino Del Regnorequired:
653e98855cSAngeloGioacchino Del Regno  - compatible
663e98855cSAngeloGioacchino Del Regno  - reg
673e98855cSAngeloGioacchino Del Regno  - "#pwm-cells"
683e98855cSAngeloGioacchino Del Regno  - clocks
693e98855cSAngeloGioacchino Del Regno  - clock-names
703e98855cSAngeloGioacchino Del Regno
713e98855cSAngeloGioacchino Del RegnoadditionalProperties: false
723e98855cSAngeloGioacchino Del Regno
733e98855cSAngeloGioacchino Del Regnoexamples:
743e98855cSAngeloGioacchino Del Regno  - |
753e98855cSAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/arm-gic.h>
763e98855cSAngeloGioacchino Del Regno    #include <dt-bindings/clock/mt2712-clk.h>
773e98855cSAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/irq.h>
783e98855cSAngeloGioacchino Del Regno
793e98855cSAngeloGioacchino Del Regno    pwm0: pwm@11006000 {
803e98855cSAngeloGioacchino Del Regno        compatible = "mediatek,mt2712-pwm";
813e98855cSAngeloGioacchino Del Regno        reg = <0x11006000 0x1000>;
823e98855cSAngeloGioacchino Del Regno        #pwm-cells = <2>;
833e98855cSAngeloGioacchino Del Regno        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
843e98855cSAngeloGioacchino Del Regno        clocks = <&topckgen CLK_TOP_PWM_SEL>, <&pericfg CLK_PERI_PWM>,
853e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM0>, <&pericfg CLK_PERI_PWM1>,
863e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM2>, <&pericfg CLK_PERI_PWM3>,
873e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM4>, <&pericfg CLK_PERI_PWM5>,
883e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM6>, <&pericfg CLK_PERI_PWM7>;
893e98855cSAngeloGioacchino Del Regno        clock-names = "top", "main",
903e98855cSAngeloGioacchino Del Regno                      "pwm1", "pwm2",
913e98855cSAngeloGioacchino Del Regno                      "pwm3", "pwm4",
923e98855cSAngeloGioacchino Del Regno                      "pwm5", "pwm6",
933e98855cSAngeloGioacchino Del Regno                      "pwm7", "pwm8";
943e98855cSAngeloGioacchino Del Regno    };
95