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*88c66e01SDaniel Golle          - mediatek,mt7981-pwm
26b3ad5235SDaniel Golle          - mediatek,mt7986-pwm
273e98855cSAngeloGioacchino Del Regno          - mediatek,mt8183-pwm
283e98855cSAngeloGioacchino Del Regno          - mediatek,mt8365-pwm
293e98855cSAngeloGioacchino Del Regno          - mediatek,mt8516-pwm
303e98855cSAngeloGioacchino Del Regno      - items:
313e98855cSAngeloGioacchino Del Regno          - enum:
323e98855cSAngeloGioacchino Del Regno              - mediatek,mt8195-pwm
333e98855cSAngeloGioacchino Del Regno          - const: mediatek,mt8183-pwm
343e98855cSAngeloGioacchino Del Regno
353e98855cSAngeloGioacchino Del Regno  reg:
363e98855cSAngeloGioacchino Del Regno    maxItems: 1
373e98855cSAngeloGioacchino Del Regno
383e98855cSAngeloGioacchino Del Regno  "#pwm-cells":
393e98855cSAngeloGioacchino Del Regno    const: 2
403e98855cSAngeloGioacchino Del Regno
413e98855cSAngeloGioacchino Del Regno  interrupts:
423e98855cSAngeloGioacchino Del Regno    maxItems: 1
433e98855cSAngeloGioacchino Del Regno
443e98855cSAngeloGioacchino Del Regno  clocks:
453e98855cSAngeloGioacchino Del Regno    minItems: 2
463e98855cSAngeloGioacchino Del Regno    maxItems: 10
473e98855cSAngeloGioacchino Del Regno
483e98855cSAngeloGioacchino Del Regno  clock-names:
493e98855cSAngeloGioacchino Del Regno    description:
503e98855cSAngeloGioacchino Del Regno      This controller needs two input clocks for its core and one
513e98855cSAngeloGioacchino Del Regno      clock for each PWM output.
523e98855cSAngeloGioacchino Del Regno    minItems: 2
533e98855cSAngeloGioacchino Del Regno    items:
543e98855cSAngeloGioacchino Del Regno      - const: top
553e98855cSAngeloGioacchino Del Regno      - const: main
563e98855cSAngeloGioacchino Del Regno      - const: pwm1
573e98855cSAngeloGioacchino Del Regno      - const: pwm2
583e98855cSAngeloGioacchino Del Regno      - const: pwm3
593e98855cSAngeloGioacchino Del Regno      - const: pwm4
603e98855cSAngeloGioacchino Del Regno      - const: pwm5
613e98855cSAngeloGioacchino Del Regno      - const: pwm6
623e98855cSAngeloGioacchino Del Regno      - const: pwm7
633e98855cSAngeloGioacchino Del Regno      - const: pwm8
643e98855cSAngeloGioacchino Del Regno
653e98855cSAngeloGioacchino Del Regnorequired:
663e98855cSAngeloGioacchino Del Regno  - compatible
673e98855cSAngeloGioacchino Del Regno  - reg
683e98855cSAngeloGioacchino Del Regno  - "#pwm-cells"
693e98855cSAngeloGioacchino Del Regno  - clocks
703e98855cSAngeloGioacchino Del Regno  - clock-names
713e98855cSAngeloGioacchino Del Regno
723e98855cSAngeloGioacchino Del RegnoadditionalProperties: false
733e98855cSAngeloGioacchino Del Regno
743e98855cSAngeloGioacchino Del Regnoexamples:
753e98855cSAngeloGioacchino Del Regno  - |
763e98855cSAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/arm-gic.h>
773e98855cSAngeloGioacchino Del Regno    #include <dt-bindings/clock/mt2712-clk.h>
783e98855cSAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/irq.h>
793e98855cSAngeloGioacchino Del Regno
803e98855cSAngeloGioacchino Del Regno    pwm0: pwm@11006000 {
813e98855cSAngeloGioacchino Del Regno        compatible = "mediatek,mt2712-pwm";
823e98855cSAngeloGioacchino Del Regno        reg = <0x11006000 0x1000>;
833e98855cSAngeloGioacchino Del Regno        #pwm-cells = <2>;
843e98855cSAngeloGioacchino Del Regno        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
853e98855cSAngeloGioacchino Del Regno        clocks = <&topckgen CLK_TOP_PWM_SEL>, <&pericfg CLK_PERI_PWM>,
863e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM0>, <&pericfg CLK_PERI_PWM1>,
873e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM2>, <&pericfg CLK_PERI_PWM3>,
883e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM4>, <&pericfg CLK_PERI_PWM5>,
893e98855cSAngeloGioacchino Del Regno                 <&pericfg CLK_PERI_PWM6>, <&pericfg CLK_PERI_PWM7>;
903e98855cSAngeloGioacchino Del Regno        clock-names = "top", "main",
913e98855cSAngeloGioacchino Del Regno                      "pwm1", "pwm2",
923e98855cSAngeloGioacchino Del Regno                      "pwm3", "pwm4",
933e98855cSAngeloGioacchino Del Regno                      "pwm5", "pwm6",
943e98855cSAngeloGioacchino Del Regno                      "pwm7", "pwm8";
953e98855cSAngeloGioacchino Del Regno    };
96