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

title: MediaTek AUDSYS controller

maintainers:
  - Eugen Hristev <eugen.hristev@collabora.com>

description:
  The MediaTek AUDSYS controller provides various clocks to the system.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - mediatek,mt2701-audsys
              - mediatek,mt6765-audsys
              - mediatek,mt6779-audsys
              - mediatek,mt7622-audsys
              - mediatek,mt8167-audsys
              - mediatek,mt8173-audsys
              - mediatek,mt8183-audsys
              - mediatek,mt8186-audsys
              - mediatek,mt8192-audsys
              - mediatek,mt8516-audsys
          - const: syscon
      - items:
          # Special case for mt7623 for backward compatibility
          - const: mediatek,mt7623-audsys
          - const: mediatek,mt2701-audsys
          - const: syscon

  reg:
    maxItems: 1

  '#clock-cells':
    const: 1

  audio-controller:
    $ref: /schemas/sound/mediatek,mt2701-audio.yaml#
    type: object

required:
  - compatible
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/mt2701-power.h>
    #include <dt-bindings/clock/mt2701-clk.h>
    soc {
        #address-cells = <2>;
        #size-cells = <2>;
        audsys: clock-controller@11220000 {
            compatible = "mediatek,mt7622-audsys", "syscon";
            reg = <0 0x11220000 0 0x2000>;
            #clock-cells = <1>;

            afe: audio-controller {
                compatible = "mediatek,mt2701-audio";
                interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
                interrupt-names = "afe", "asys";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;

                clocks = <&infracfg CLK_INFRA_AUDIO>,
                         <&topckgen CLK_TOP_AUD_MUX1_SEL>,
                         <&topckgen CLK_TOP_AUD_MUX2_SEL>,
                         <&topckgen CLK_TOP_AUD_48K_TIMING>,
                         <&topckgen CLK_TOP_AUD_44K_TIMING>,
                         <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
                         <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
                         <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
                         <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
                         <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
                         <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
                         <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
                         <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
                         <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
                         <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
                         <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
                         <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
                         <&audsys CLK_AUD_I2SO1>,
                         <&audsys CLK_AUD_I2SO2>,
                         <&audsys CLK_AUD_I2SO3>,
                         <&audsys CLK_AUD_I2SO4>,
                         <&audsys CLK_AUD_I2SIN1>,
                         <&audsys CLK_AUD_I2SIN2>,
                         <&audsys CLK_AUD_I2SIN3>,
                         <&audsys CLK_AUD_I2SIN4>,
                         <&audsys CLK_AUD_ASRCO1>,
                         <&audsys CLK_AUD_ASRCO2>,
                         <&audsys CLK_AUD_ASRCO3>,
                         <&audsys CLK_AUD_ASRCO4>,
                         <&audsys CLK_AUD_AFE>,
                         <&audsys CLK_AUD_AFE_CONN>,
                         <&audsys CLK_AUD_A1SYS>,
                         <&audsys CLK_AUD_A2SYS>,
                         <&audsys CLK_AUD_AFE_MRGIF>;

                clock-names = "infra_sys_audio_clk",
                              "top_audio_mux1_sel",
                              "top_audio_mux2_sel",
                              "top_audio_a1sys_hp",
                              "top_audio_a2sys_hp",
                              "i2s0_src_sel",
                              "i2s1_src_sel",
                              "i2s2_src_sel",
                              "i2s3_src_sel",
                              "i2s0_src_div",
                              "i2s1_src_div",
                              "i2s2_src_div",
                              "i2s3_src_div",
                              "i2s0_mclk_en",
                              "i2s1_mclk_en",
                              "i2s2_mclk_en",
                              "i2s3_mclk_en",
                              "i2so0_hop_ck",
                              "i2so1_hop_ck",
                              "i2so2_hop_ck",
                              "i2so3_hop_ck",
                              "i2si0_hop_ck",
                              "i2si1_hop_ck",
                              "i2si2_hop_ck",
                              "i2si3_hop_ck",
                              "asrc0_out_ck",
                              "asrc1_out_ck",
                              "asrc2_out_ck",
                              "asrc3_out_ck",
                              "audio_afe_pd",
                              "audio_afe_conn_pd",
                              "audio_a1sys_pd",
                              "audio_a2sys_pd",
                              "audio_mrgif_pd";

                assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>,
                                  <&topckgen CLK_TOP_AUD_MUX2_SEL>,
                                  <&topckgen CLK_TOP_AUD_MUX1_DIV>,
                                  <&topckgen CLK_TOP_AUD_MUX2_DIV>;
                assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>,
                                         <&topckgen CLK_TOP_AUD2PLL_90M>;
                assigned-clock-rates = <0>, <0>, <49152000>, <45158400>;
            };
        };
    };
