# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/sound/mediatek,mt7986-afe.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: MediaTek AFE PCM controller for MT7986 maintainers: - Maso Huang <maso.huang@mediatek.com> properties: compatible: oneOf: - const: mediatek,mt7986-afe - items: - enum: - mediatek,mt7981-afe - mediatek,mt7988-afe - const: mediatek,mt7986-afe reg: maxItems: 1 interrupts: maxItems: 1 clocks: minItems: 5 items: - description: audio bus clock - description: audio 26M clock - description: audio intbus clock - description: audio hopping clock - description: audio pll clock - description: mux for pcm_mck - description: audio i2s/pcm mck clock-names: minItems: 5 items: - const: bus_ck - const: 26m_ck - const: l_ck - const: aud_ck - const: eg2_ck - const: sel - const: i2s_m required: - compatible - reg - interrupts - clocks - clock-names allOf: - if: properties: compatible: contains: const: mediatek,mt7986-afe then: properties: clocks: items: - description: audio bus clock - description: audio 26M clock - description: audio intbus clock - description: audio hopping clock - description: audio pll clock clock-names: items: - const: bus_ck - const: 26m_ck - const: l_ck - const: aud_ck - const: eg2_ck - if: properties: compatible: contains: const: mediatek,mt7981-afe then: properties: clocks: items: - description: audio bus clock - description: audio 26M clock - description: audio intbus clock - description: audio hopping clock - description: audio pll clock - description: mux for pcm_mck clock-names: items: - const: bus_ck - const: 26m_ck - const: l_ck - const: aud_ck - const: eg2_ck - const: sel - if: properties: compatible: contains: const: mediatek,mt7988-afe then: properties: clocks: items: - description: audio bus clock - description: audio 26M clock - description: audio intbus clock - description: audio hopping clock - description: audio pll clock - description: mux for pcm_mck - description: audio i2s/pcm mck clock-names: items: - const: bus_ck - const: 26m_ck - const: l_ck - const: aud_ck - const: eg2_ck - const: sel - const: i2s_m additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/clock/mt7986-clk.h> afe@11210000 { compatible = "mediatek,mt7986-afe"; reg = <0x11210000 0x9000>; interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; clocks = <&infracfg_ao CLK_INFRA_AUD_BUS_CK>, <&infracfg_ao CLK_INFRA_AUD_26M_CK>, <&infracfg_ao CLK_INFRA_AUD_L_CK>, <&infracfg_ao CLK_INFRA_AUD_AUD_CK>, <&infracfg_ao CLK_INFRA_AUD_EG2_CK>; clock-names = "bus_ck", "26m_ck", "l_ck", "aud_ck", "eg2_ck"; assigned-clocks = <&topckgen CLK_TOP_A1SYS_SEL>, <&topckgen CLK_TOP_AUD_L_SEL>, <&topckgen CLK_TOP_A_TUNER_SEL>; assigned-clock-parents = <&topckgen CLK_TOP_APLL2_D4>, <&apmixedsys CLK_APMIXED_APLL2>, <&topckgen CLK_TOP_APLL2_D4>; }; ...