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