1c66ec88fSEmmanuel VadotMediatek AFE PCM controller for mt2701 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotRequired properties: 4*aa1a8ff2SEmmanuel Vadot- compatible: should be one of the following. 5c66ec88fSEmmanuel Vadot - "mediatek,mt2701-audio" 6c66ec88fSEmmanuel Vadot - "mediatek,mt7622-audio" 7c66ec88fSEmmanuel Vadot- interrupts: should contain AFE and ASYS interrupts 8c66ec88fSEmmanuel Vadot- interrupt-names: should be "afe" and "asys" 9c66ec88fSEmmanuel Vadot- power-domains: should define the power domain 10c66ec88fSEmmanuel Vadot- clocks: Must contain an entry for each entry in clock-names 11c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details 12c66ec88fSEmmanuel Vadot- clock-names: should have these clock names: 13c66ec88fSEmmanuel Vadot "infra_sys_audio_clk", 14c66ec88fSEmmanuel Vadot "top_audio_mux1_sel", 15c66ec88fSEmmanuel Vadot "top_audio_mux2_sel", 16c66ec88fSEmmanuel Vadot "top_audio_a1sys_hp", 17c66ec88fSEmmanuel Vadot "top_audio_a2sys_hp", 18c66ec88fSEmmanuel Vadot "i2s0_src_sel", 19c66ec88fSEmmanuel Vadot "i2s1_src_sel", 20c66ec88fSEmmanuel Vadot "i2s2_src_sel", 21c66ec88fSEmmanuel Vadot "i2s3_src_sel", 22c66ec88fSEmmanuel Vadot "i2s0_src_div", 23c66ec88fSEmmanuel Vadot "i2s1_src_div", 24c66ec88fSEmmanuel Vadot "i2s2_src_div", 25c66ec88fSEmmanuel Vadot "i2s3_src_div", 26c66ec88fSEmmanuel Vadot "i2s0_mclk_en", 27c66ec88fSEmmanuel Vadot "i2s1_mclk_en", 28c66ec88fSEmmanuel Vadot "i2s2_mclk_en", 29c66ec88fSEmmanuel Vadot "i2s3_mclk_en", 30c66ec88fSEmmanuel Vadot "i2so0_hop_ck", 31c66ec88fSEmmanuel Vadot "i2so1_hop_ck", 32c66ec88fSEmmanuel Vadot "i2so2_hop_ck", 33c66ec88fSEmmanuel Vadot "i2so3_hop_ck", 34c66ec88fSEmmanuel Vadot "i2si0_hop_ck", 35c66ec88fSEmmanuel Vadot "i2si1_hop_ck", 36c66ec88fSEmmanuel Vadot "i2si2_hop_ck", 37c66ec88fSEmmanuel Vadot "i2si3_hop_ck", 38c66ec88fSEmmanuel Vadot "asrc0_out_ck", 39c66ec88fSEmmanuel Vadot "asrc1_out_ck", 40c66ec88fSEmmanuel Vadot "asrc2_out_ck", 41c66ec88fSEmmanuel Vadot "asrc3_out_ck", 42c66ec88fSEmmanuel Vadot "audio_afe_pd", 43c66ec88fSEmmanuel Vadot "audio_afe_conn_pd", 44c66ec88fSEmmanuel Vadot "audio_a1sys_pd", 45c66ec88fSEmmanuel Vadot "audio_a2sys_pd", 46c66ec88fSEmmanuel Vadot "audio_mrgif_pd"; 47c66ec88fSEmmanuel Vadot- assigned-clocks: list of input clocks and dividers for the audio system. 48c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details. 49c66ec88fSEmmanuel Vadot- assigned-clocks-parents: parent of input clocks of assigned clocks. 50c66ec88fSEmmanuel Vadot- assigned-clock-rates: list of clock frequencies of assigned clocks. 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel VadotMust be a subnode of MediaTek audsys device tree node. 53c66ec88fSEmmanuel VadotSee ../arm/mediatek/mediatek,audsys.txt for details about the parent node. 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel VadotExample: 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot audsys: audio-subsystem@11220000 { 58c66ec88fSEmmanuel Vadot compatible = "mediatek,mt2701-audsys", "syscon"; 59c66ec88fSEmmanuel Vadot ... 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot afe: audio-controller { 62c66ec88fSEmmanuel Vadot compatible = "mediatek,mt2701-audio"; 63c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>, 64c66ec88fSEmmanuel Vadot <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 65c66ec88fSEmmanuel Vadot interrupt-names = "afe", "asys"; 66c66ec88fSEmmanuel Vadot power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot clocks = <&infracfg CLK_INFRA_AUDIO>, 69c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX1_SEL>, 70c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX2_SEL>, 71c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_48K_TIMING>, 72c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_44K_TIMING>, 73c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K1_SRC_SEL>, 74c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K2_SRC_SEL>, 75c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K3_SRC_SEL>, 76c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K4_SRC_SEL>, 77c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K1_SRC_DIV>, 78c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K2_SRC_DIV>, 79c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K3_SRC_DIV>, 80c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_K4_SRC_DIV>, 81c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S1_MCLK>, 82c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S2_MCLK>, 83c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S3_MCLK>, 84c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_I2S4_MCLK>, 85c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SO1>, 86c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SO2>, 87c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SO3>, 88c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SO4>, 89c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SIN1>, 90c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SIN2>, 91c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SIN3>, 92c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_I2SIN4>, 93c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_ASRCO1>, 94c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_ASRCO2>, 95c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_ASRCO3>, 96c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_ASRCO4>, 97c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_AFE>, 98c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_AFE_CONN>, 99c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_A1SYS>, 100c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_A2SYS>, 101c66ec88fSEmmanuel Vadot <&audsys CLK_AUD_AFE_MRGIF>; 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot clock-names = "infra_sys_audio_clk", 104c66ec88fSEmmanuel Vadot "top_audio_mux1_sel", 105c66ec88fSEmmanuel Vadot "top_audio_mux2_sel", 106c66ec88fSEmmanuel Vadot "top_audio_a1sys_hp", 107c66ec88fSEmmanuel Vadot "top_audio_a2sys_hp", 108c66ec88fSEmmanuel Vadot "i2s0_src_sel", 109c66ec88fSEmmanuel Vadot "i2s1_src_sel", 110c66ec88fSEmmanuel Vadot "i2s2_src_sel", 111c66ec88fSEmmanuel Vadot "i2s3_src_sel", 112c66ec88fSEmmanuel Vadot "i2s0_src_div", 113c66ec88fSEmmanuel Vadot "i2s1_src_div", 114c66ec88fSEmmanuel Vadot "i2s2_src_div", 115c66ec88fSEmmanuel Vadot "i2s3_src_div", 116c66ec88fSEmmanuel Vadot "i2s0_mclk_en", 117c66ec88fSEmmanuel Vadot "i2s1_mclk_en", 118c66ec88fSEmmanuel Vadot "i2s2_mclk_en", 119c66ec88fSEmmanuel Vadot "i2s3_mclk_en", 120c66ec88fSEmmanuel Vadot "i2so0_hop_ck", 121c66ec88fSEmmanuel Vadot "i2so1_hop_ck", 122c66ec88fSEmmanuel Vadot "i2so2_hop_ck", 123c66ec88fSEmmanuel Vadot "i2so3_hop_ck", 124c66ec88fSEmmanuel Vadot "i2si0_hop_ck", 125c66ec88fSEmmanuel Vadot "i2si1_hop_ck", 126c66ec88fSEmmanuel Vadot "i2si2_hop_ck", 127c66ec88fSEmmanuel Vadot "i2si3_hop_ck", 128c66ec88fSEmmanuel Vadot "asrc0_out_ck", 129c66ec88fSEmmanuel Vadot "asrc1_out_ck", 130c66ec88fSEmmanuel Vadot "asrc2_out_ck", 131c66ec88fSEmmanuel Vadot "asrc3_out_ck", 132c66ec88fSEmmanuel Vadot "audio_afe_pd", 133c66ec88fSEmmanuel Vadot "audio_afe_conn_pd", 134c66ec88fSEmmanuel Vadot "audio_a1sys_pd", 135c66ec88fSEmmanuel Vadot "audio_a2sys_pd", 136c66ec88fSEmmanuel Vadot "audio_mrgif_pd"; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>, 139c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX2_SEL>, 140c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX1_DIV>, 141c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD_MUX2_DIV>; 142c66ec88fSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>, 143c66ec88fSEmmanuel Vadot <&topckgen CLK_TOP_AUD2PLL_90M>; 144c66ec88fSEmmanuel Vadot assigned-clock-rates = <0>, <0>, <49152000>, <45158400>; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot }; 147