Message ID | 20250218-genio700-dmic-v1-4-6bc653da60f7@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Enable DMIC for Genio 700/510 EVK | expand |
Il 18/02/25 21:52, Nícolas F. R. A. Prado ha scritto: > From: parkeryang <Parker.Yang@mediatek.com> > > Add the AFE routes that connect the DMIC (I004-I011) to the UL9 frontend > (O002-O009) and register the mt8188-dmic DAI driver during probe. > > Signed-off-by: parkeryang <Parker.Yang@mediatek.com> > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > --- > sound/soc/mediatek/mt8188/Makefile | 1 + > sound/soc/mediatek/mt8188/mt8188-afe-common.h | 1 + > sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 24 ++++++++++++++++++++++++ > 3 files changed, 26 insertions(+) > > diff --git a/sound/soc/mediatek/mt8188/Makefile b/sound/soc/mediatek/mt8188/Makefile > index 1178bce45c50ba252672a32b3877732a5a76c610..b9f3e4ad7b07ba9e21c846706371c53269f894db 100644 > --- a/sound/soc/mediatek/mt8188/Makefile > +++ b/sound/soc/mediatek/mt8188/Makefile > @@ -6,6 +6,7 @@ snd-soc-mt8188-afe-y := \ > mt8188-afe-pcm.o \ > mt8188-audsys-clk.o \ > mt8188-dai-adda.o \ > + mt8188-dai-dmic.o \ > mt8188-dai-etdm.o \ > mt8188-dai-pcm.o The Makefile addition doesn't belong to this commit. Please fix. The rest looks good. Cheers, Angelo
On Wed, Feb 19, 2025 at 12:29:13PM +0100, AngeloGioacchino Del Regno wrote: > Il 18/02/25 21:52, Nícolas F. R. A. Prado ha scritto: > > From: parkeryang <Parker.Yang@mediatek.com> > > > > Add the AFE routes that connect the DMIC (I004-I011) to the UL9 frontend > > (O002-O009) and register the mt8188-dmic DAI driver during probe. > > > > Signed-off-by: parkeryang <Parker.Yang@mediatek.com> > > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > > sound/soc/mediatek/mt8188/Makefile | 1 + > > sound/soc/mediatek/mt8188/mt8188-afe-common.h | 1 + > > sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 24 ++++++++++++++++++++++++ > > 3 files changed, 26 insertions(+) > > > > diff --git a/sound/soc/mediatek/mt8188/Makefile b/sound/soc/mediatek/mt8188/Makefile > > index 1178bce45c50ba252672a32b3877732a5a76c610..b9f3e4ad7b07ba9e21c846706371c53269f894db 100644 > > --- a/sound/soc/mediatek/mt8188/Makefile > > +++ b/sound/soc/mediatek/mt8188/Makefile > > @@ -6,6 +6,7 @@ snd-soc-mt8188-afe-y := \ > > mt8188-afe-pcm.o \ > > mt8188-audsys-clk.o \ > > mt8188-dai-adda.o \ > > + mt8188-dai-dmic.o \ > > mt8188-dai-etdm.o \ > > mt8188-dai-pcm.o > > The Makefile addition doesn't belong to this commit. Please fix. I was divided between adding it here or in the previous commit that adds the dmic driver. Only in this commit is the mt8188_dai_dmic_register() added, so this is the first commit in which any of the code from the dmic driver is actually used, hence why I added it here. But adding the makefile entry together with the driver code, even if it's not used, makes sense too, so I'll move it there. Thanks, Nícolas
Il 19/02/25 14:40, Nícolas F. R. A. Prado ha scritto: > On Wed, Feb 19, 2025 at 12:29:13PM +0100, AngeloGioacchino Del Regno wrote: >> Il 18/02/25 21:52, Nícolas F. R. A. Prado ha scritto: >>> From: parkeryang <Parker.Yang@mediatek.com> >>> >>> Add the AFE routes that connect the DMIC (I004-I011) to the UL9 frontend >>> (O002-O009) and register the mt8188-dmic DAI driver during probe. >>> >>> Signed-off-by: parkeryang <Parker.Yang@mediatek.com> >>> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> >>> --- >>> sound/soc/mediatek/mt8188/Makefile | 1 + >>> sound/soc/mediatek/mt8188/mt8188-afe-common.h | 1 + >>> sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 24 ++++++++++++++++++++++++ >>> 3 files changed, 26 insertions(+) >>> >>> diff --git a/sound/soc/mediatek/mt8188/Makefile b/sound/soc/mediatek/mt8188/Makefile >>> index 1178bce45c50ba252672a32b3877732a5a76c610..b9f3e4ad7b07ba9e21c846706371c53269f894db 100644 >>> --- a/sound/soc/mediatek/mt8188/Makefile >>> +++ b/sound/soc/mediatek/mt8188/Makefile >>> @@ -6,6 +6,7 @@ snd-soc-mt8188-afe-y := \ >>> mt8188-afe-pcm.o \ >>> mt8188-audsys-clk.o \ >>> mt8188-dai-adda.o \ >>> + mt8188-dai-dmic.o \ >>> mt8188-dai-etdm.o \ >>> mt8188-dai-pcm.o >> >> The Makefile addition doesn't belong to this commit. Please fix. > > I was divided between adding it here or in the previous commit that adds the > dmic driver. Only in this commit is the mt8188_dai_dmic_register() added, so > this is the first commit in which any of the code from the dmic driver is > actually used, hence why I added it here. But adding the makefile entry together > with the driver code, even if it's not used, makes sense too, so I'll move it > there. > You can even squash the two commits... after all, adding a piece that doesn't get used until a later time is practically useless... right?! :-)
diff --git a/sound/soc/mediatek/mt8188/Makefile b/sound/soc/mediatek/mt8188/Makefile index 1178bce45c50ba252672a32b3877732a5a76c610..b9f3e4ad7b07ba9e21c846706371c53269f894db 100644 --- a/sound/soc/mediatek/mt8188/Makefile +++ b/sound/soc/mediatek/mt8188/Makefile @@ -6,6 +6,7 @@ snd-soc-mt8188-afe-y := \ mt8188-afe-pcm.o \ mt8188-audsys-clk.o \ mt8188-dai-adda.o \ + mt8188-dai-dmic.o \ mt8188-dai-etdm.o \ mt8188-dai-pcm.o diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-common.h b/sound/soc/mediatek/mt8188/mt8188-afe-common.h index 1304d685a306bcb43b5131eff165b80051810b04..01aa11242e29c51539903fd1decc4c575d5e97bd 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-common.h +++ b/sound/soc/mediatek/mt8188/mt8188-afe-common.h @@ -137,6 +137,7 @@ struct mt8188_afe_private { int mt8188_afe_fs_timing(unsigned int rate); /* dai register */ int mt8188_dai_adda_register(struct mtk_base_afe *afe); +int mt8188_dai_dmic_register(struct mtk_base_afe *afe); int mt8188_dai_etdm_register(struct mtk_base_afe *afe); int mt8188_dai_pcm_register(struct mtk_base_afe *afe); diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c b/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c index d36520c6272dd8c8302bc3f59da33f82f273f366..a2b57e00ff4e502bfd8bc57835b792825f348c1b 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c @@ -652,6 +652,7 @@ static struct snd_soc_dai_driver mt8188_memif_dai_driver[] = { static const struct snd_kcontrol_new o002_mix[] = { SOC_DAPM_SINGLE_AUTODISABLE("I000 Switch", AFE_CONN2, 0, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I004 Switch", AFE_CONN2, 4, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I012 Switch", AFE_CONN2, 12, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I020 Switch", AFE_CONN2, 20, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I022 Switch", AFE_CONN2, 22, 1, 0), @@ -662,6 +663,8 @@ static const struct snd_kcontrol_new o002_mix[] = { static const struct snd_kcontrol_new o003_mix[] = { SOC_DAPM_SINGLE_AUTODISABLE("I001 Switch", AFE_CONN3, 1, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I005 Switch", AFE_CONN3, 5, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I006 Switch", AFE_CONN3, 6, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I013 Switch", AFE_CONN3, 13, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I021 Switch", AFE_CONN3, 21, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I023 Switch", AFE_CONN3, 23, 1, 0), @@ -672,6 +675,8 @@ static const struct snd_kcontrol_new o003_mix[] = { static const struct snd_kcontrol_new o004_mix[] = { SOC_DAPM_SINGLE_AUTODISABLE("I000 Switch", AFE_CONN4, 0, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I006 Switch", AFE_CONN4, 6, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I008 Switch", AFE_CONN4, 8, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I014 Switch", AFE_CONN4, 14, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I024 Switch", AFE_CONN4, 24, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I074 Switch", AFE_CONN4_2, 10, 1, 0), @@ -679,6 +684,8 @@ static const struct snd_kcontrol_new o004_mix[] = { static const struct snd_kcontrol_new o005_mix[] = { SOC_DAPM_SINGLE_AUTODISABLE("I001 Switch", AFE_CONN5, 1, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I007 Switch", AFE_CONN5, 7, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I010 Switch", AFE_CONN5, 10, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I015 Switch", AFE_CONN5, 15, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I025 Switch", AFE_CONN5, 25, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I075 Switch", AFE_CONN5_2, 11, 1, 0), @@ -686,6 +693,7 @@ static const struct snd_kcontrol_new o005_mix[] = { static const struct snd_kcontrol_new o006_mix[] = { SOC_DAPM_SINGLE_AUTODISABLE("I000 Switch", AFE_CONN6, 0, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I008 Switch", AFE_CONN6, 8, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I016 Switch", AFE_CONN6, 16, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I026 Switch", AFE_CONN6, 26, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I076 Switch", AFE_CONN6_2, 12, 1, 0), @@ -693,18 +701,21 @@ static const struct snd_kcontrol_new o006_mix[] = { static const struct snd_kcontrol_new o007_mix[] = { SOC_DAPM_SINGLE_AUTODISABLE("I001 Switch", AFE_CONN7, 1, 1, 0), + SOC_DAPM_SINGLE_AUTODISABLE("I009 Switch", AFE_CONN7, 9, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I017 Switch", AFE_CONN7, 17, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I027 Switch", AFE_CONN7, 27, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I077 Switch", AFE_CONN7_2, 13, 1, 0), }; static const struct snd_kcontrol_new o008_mix[] = { + SOC_DAPM_SINGLE_AUTODISABLE("I010 Switch", AFE_CONN8, 10, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I018 Switch", AFE_CONN8, 18, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I028 Switch", AFE_CONN8, 28, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I078 Switch", AFE_CONN8_2, 14, 1, 0), }; static const struct snd_kcontrol_new o009_mix[] = { + SOC_DAPM_SINGLE_AUTODISABLE("I011 Switch", AFE_CONN9, 11, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I019 Switch", AFE_CONN9, 19, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I029 Switch", AFE_CONN9, 29, 1, 0), SOC_DAPM_SINGLE_AUTODISABLE("I079 Switch", AFE_CONN9_2, 15, 1, 0), @@ -1275,6 +1286,18 @@ static const struct snd_soc_dapm_route mt8188_memif_routes[] = { {"O002", "I070 Switch", "I070"}, {"O003", "I071 Switch", "I071"}, + {"O002", "I004 Switch", "I004"}, + {"O003", "I005 Switch", "I005"}, + {"O003", "I006 Switch", "I006"}, + {"O004", "I006 Switch", "I006"}, + {"O004", "I008 Switch", "I008"}, + {"O005", "I007 Switch", "I007"}, + {"O005", "I010 Switch", "I010"}, + {"O006", "I008 Switch", "I008"}, + {"O007", "I009 Switch", "I009"}, + {"O008", "I010 Switch", "I010"}, + {"O009", "I011 Switch", "I011"}, + {"O034", "I000 Switch", "I000"}, {"O035", "I001 Switch", "I001"}, {"O034", "I002 Switch", "I002"}, @@ -3072,6 +3095,7 @@ static int mt8188_dai_memif_register(struct mtk_base_afe *afe) typedef int (*dai_register_cb)(struct mtk_base_afe *); static const dai_register_cb dai_register_cbs[] = { mt8188_dai_adda_register, + mt8188_dai_dmic_register, mt8188_dai_etdm_register, mt8188_dai_pcm_register, mt8188_dai_memif_register,