# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/mediatek,mt8365-afe.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek Audio Front End PCM controller for MT8365

maintainers:
  - Alexandre Mergnat <amergnat@baylibre.com>

properties:
  compatible:
    const: mediatek,mt8365-afe-pcm

  reg:
    maxItems: 1

  "#sound-dai-cells":
    const: 0

  clocks:
    items:
      - description: 26M clock
      - description: mux for audio clock
      - description: audio i2s0 mck
      - description: audio i2s1 mck
      - description: audio i2s2 mck
      - description: audio i2s3 mck
      - description: engen 1 clock
      - description: engen 2 clock
      - description: audio 1 clock
      - description: audio 2 clock
      - description: mux for i2s0
      - description: mux for i2s1
      - description: mux for i2s2
      - description: mux for i2s3

  clock-names:
    items:
      - const: top_clk26m_clk
      - const: top_audio_sel
      - const: audio_i2s0_m
      - const: audio_i2s1_m
      - const: audio_i2s2_m
      - const: audio_i2s3_m
      - const: engen1
      - const: engen2
      - const: aud1
      - const: aud2
      - const: i2s0_m_sel
      - const: i2s1_m_sel
      - const: i2s2_m_sel
      - const: i2s3_m_sel

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1

  mediatek,dmic-mode:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Indicates how many data pins are used to transmit two channels of PDM
      signal. 1 means two wires, 0 means one wire. Default value is 0.
    enum:
      - 0 # one wire
      - 1 # two wires

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts
  - power-domains

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mediatek,mt8365-clk.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/mediatek,mt8365-power.h>

    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        audio-controller@11220000 {
            compatible = "mediatek,mt8365-afe-pcm";
            reg = <0 0x11220000 0 0x1000>;
            #sound-dai-cells = <0>;
            clocks = <&clk26m>,
                     <&topckgen CLK_TOP_AUDIO_SEL>,
                     <&topckgen CLK_TOP_AUD_I2S0_M>,
                     <&topckgen CLK_TOP_AUD_I2S1_M>,
                     <&topckgen CLK_TOP_AUD_I2S2_M>,
                     <&topckgen CLK_TOP_AUD_I2S3_M>,
                     <&topckgen CLK_TOP_AUD_ENGEN1_SEL>,
                     <&topckgen CLK_TOP_AUD_ENGEN2_SEL>,
                     <&topckgen CLK_TOP_AUD_1_SEL>,
                     <&topckgen CLK_TOP_AUD_2_SEL>,
                     <&topckgen CLK_TOP_APLL_I2S0_SEL>,
                     <&topckgen CLK_TOP_APLL_I2S1_SEL>,
                     <&topckgen CLK_TOP_APLL_I2S2_SEL>,
                     <&topckgen CLK_TOP_APLL_I2S3_SEL>;
            clock-names = "top_clk26m_clk",
                          "top_audio_sel",
                          "audio_i2s0_m",
                          "audio_i2s1_m",
                          "audio_i2s2_m",
                          "audio_i2s3_m",
                          "engen1",
                          "engen2",
                          "aud1",
                          "aud2",
                          "i2s0_m_sel",
                          "i2s1_m_sel",
                          "i2s2_m_sel",
                          "i2s3_m_sel";
            interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>;
            power-domains = <&spm MT8365_POWER_DOMAIN_AUDIO>;
            mediatek,dmic-mode = <1>;
        };
    };

...
