Message ID | 20230517111534.32630-1-trevor.wu@mediatek.com (mailing list archive) |
---|---|
Headers | show |
Series | ASoC: mt8188: add new board support | expand |
Il 17/05/23 13:15, Trevor Wu ha scritto: > This patch adds multiple i2s codecs support including NAU88L25, > MAX98390, and the dumb amp like NAU8318 usage. In addition, dmic-codec > is also added to skip the beginning pop noise. > > Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> > --- > sound/soc/mediatek/Kconfig | 4 + > sound/soc/mediatek/mt8188/mt8188-mt6359.c | 267 +++++++++++++++++++++- > 2 files changed, 270 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/mediatek/Kconfig b/sound/soc/mediatek/Kconfig > index 4baac72677d9..4ea012342b52 100644 > --- a/sound/soc/mediatek/Kconfig > +++ b/sound/soc/mediatek/Kconfig > @@ -225,6 +225,10 @@ config SND_SOC_MT8188_MT6359 > depends on SND_SOC_MT8188 && MTK_PMIC_WRAP > select SND_SOC_MT6359 > select SND_SOC_HDMI_CODEC > + select SND_SOC_DMIC > + select SND_SOC_MAX98390 > + select SND_SOC_NAU8315 > + select SND_SOC_NAU8825 > help > This adds support for ASoC machine driver for MediaTek MT8188 > boards with the MT6359 and other I2S audio codecs. > diff --git a/sound/soc/mediatek/mt8188/mt8188-mt6359.c b/sound/soc/mediatek/mt8188/mt8188-mt6359.c > index 6c3f36e2fffd..15fce2741f01 100644 > --- a/sound/soc/mediatek/mt8188/mt8188-mt6359.c > +++ b/sound/soc/mediatek/mt8188/mt8188-mt6359.c > @@ -6,6 +6,7 @@ > * Author: Trevor Wu <trevor.wu@mediatek.com> > */ > > +#include <linux/input.h> > #include <linux/module.h> > #include <linux/of_device.h> > #include <linux/pm_runtime.h> > @@ -13,10 +14,25 @@ > #include <sound/pcm_params.h> > #include <sound/soc.h> > #include "mt8188-afe-common.h" > +#include "../../codecs/nau8825.h" > #include "../../codecs/mt6359.h" > #include "../common/mtk-afe-platform-driver.h" > #include "../common/mtk-soundcard-driver.h" > > +/* > + * Maxim MAX98390 > + */ > +#define MAX98390_CODEC_DAI "max98390-aif1" > +#define MAX98390_DEV0_NAME "max98390.0-0038" /* rear right */ > +#define MAX98390_DEV1_NAME "max98390.0-0039" /* rear left */ > +#define MAX98390_DEV2_NAME "max98390.0-003a" /* front right */ > +#define MAX98390_DEV3_NAME "max98390.0-003b" /* front left */ > + > +/* > + * Nau88l25 > + */ > +#define NAU8825_CODEC_DAI "nau8825-hifi" > + > /* FE */ > SND_SOC_DAILINK_DEFS(playback2, > DAILINK_COMP_ARRAY(COMP_CPU("DL2")), > @@ -143,12 +159,15 @@ SND_SOC_DAILINK_DEFS(pcm1, > SND_SOC_DAILINK_DEFS(ul_src, > DAILINK_COMP_ARRAY(COMP_CPU("UL_SRC")), > DAILINK_COMP_ARRAY(COMP_CODEC("mt6359-sound", > - "mt6359-snd-codec-aif1")), > + "mt6359-snd-codec-aif1"), > + COMP_CODEC("dmic-codec", > + "dmic-hifi")), > DAILINK_COMP_ARRAY(COMP_EMPTY())); > > struct mt8188_mt6359_priv { > struct snd_soc_jack dp_jack; > struct snd_soc_jack hdmi_jack; > + struct snd_soc_jack headset_jack; > }; > > static struct snd_soc_jack_pin mt8188_hdmi_jack_pins[] = { > @@ -165,11 +184,50 @@ static struct snd_soc_jack_pin mt8188_dp_jack_pins[] = { > }, > }; > > +static struct snd_soc_jack_pin nau8825_jack_pins[] = { > + { > + .pin = "Headphone", One Intel driver using NAU8825 declares this as .pin = "Headphone Jack", can we please use the same name, so that we're able to eventually share the same configuration in the userspace? For reference, please check intel/avs/boards/nau8825.c Thanks, Angelo
On Wed, 2023-05-17 at 13:54 +0200, AngeloGioacchino Del Regno wrote: > External email : Please do not click links or open attachments until > you have verified the sender or the content. > > > Il 17/05/23 13:15, Trevor Wu ha scritto: > > This patch adds multiple i2s codecs support including NAU88L25, > > MAX98390, and the dumb amp like NAU8318 usage. In addition, dmic- > > codec > > is also added to skip the beginning pop noise. > > > > Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> > > --- > > sound/soc/mediatek/Kconfig | 4 + > > sound/soc/mediatek/mt8188/mt8188-mt6359.c | 267 > > +++++++++++++++++++++- > > 2 files changed, 270 insertions(+), 1 deletion(-) > > > > diff --git a/sound/soc/mediatek/Kconfig > > b/sound/soc/mediatek/Kconfig > > index 4baac72677d9..4ea012342b52 100644 > > --- a/sound/soc/mediatek/Kconfig > > +++ b/sound/soc/mediatek/Kconfig > > @@ -225,6 +225,10 @@ config SND_SOC_MT8188_MT6359 > > depends on SND_SOC_MT8188 && MTK_PMIC_WRAP > > select SND_SOC_MT6359 > > select SND_SOC_HDMI_CODEC > > + select SND_SOC_DMIC > > + select SND_SOC_MAX98390 > > + select SND_SOC_NAU8315 > > + select SND_SOC_NAU8825 > > help > > This adds support for ASoC machine driver for MediaTek > > MT8188 > > boards with the MT6359 and other I2S audio codecs. > > diff --git a/sound/soc/mediatek/mt8188/mt8188-mt6359.c > > b/sound/soc/mediatek/mt8188/mt8188-mt6359.c > > index 6c3f36e2fffd..15fce2741f01 100644 > > --- a/sound/soc/mediatek/mt8188/mt8188-mt6359.c > > +++ b/sound/soc/mediatek/mt8188/mt8188-mt6359.c > > @@ -6,6 +6,7 @@ > > * Author: Trevor Wu <trevor.wu@mediatek.com> > > */ > > > > +#include <linux/input.h> > > #include <linux/module.h> > > #include <linux/of_device.h> > > #include <linux/pm_runtime.h> > > @@ -13,10 +14,25 @@ > > #include <sound/pcm_params.h> > > #include <sound/soc.h> > > #include "mt8188-afe-common.h" > > +#include "../../codecs/nau8825.h" > > #include "../../codecs/mt6359.h" > > #include "../common/mtk-afe-platform-driver.h" > > #include "../common/mtk-soundcard-driver.h" > > > > +/* > > + * Maxim MAX98390 > > + */ > > +#define MAX98390_CODEC_DAI "max98390-aif1" > > +#define MAX98390_DEV0_NAME "max98390.0-0038" /* rear right */ > > +#define MAX98390_DEV1_NAME "max98390.0-0039" /* rear left */ > > +#define MAX98390_DEV2_NAME "max98390.0-003a" /* front right */ > > +#define MAX98390_DEV3_NAME "max98390.0-003b" /* front left */ > > + > > +/* > > + * Nau88l25 > > + */ > > +#define NAU8825_CODEC_DAI "nau8825-hifi" > > + > > /* FE */ > > SND_SOC_DAILINK_DEFS(playback2, > > DAILINK_COMP_ARRAY(COMP_CPU("DL2")), > > @@ -143,12 +159,15 @@ SND_SOC_DAILINK_DEFS(pcm1, > > SND_SOC_DAILINK_DEFS(ul_src, > > DAILINK_COMP_ARRAY(COMP_CPU("UL_SRC")), > > DAILINK_COMP_ARRAY(COMP_CODEC("mt6359-sound", > > - "mt6359-snd-codec- > > aif1")), > > + "mt6359-snd-codec- > > aif1"), > > + COMP_CODEC("dmic-codec", > > + "dmic-hifi")), > > DAILINK_COMP_ARRAY(COMP_EMPTY())); > > > > struct mt8188_mt6359_priv { > > struct snd_soc_jack dp_jack; > > struct snd_soc_jack hdmi_jack; > > + struct snd_soc_jack headset_jack; > > }; > > > > static struct snd_soc_jack_pin mt8188_hdmi_jack_pins[] = { > > @@ -165,11 +184,50 @@ static struct snd_soc_jack_pin > > mt8188_dp_jack_pins[] = { > > }, > > }; > > > > +static struct snd_soc_jack_pin nau8825_jack_pins[] = { > > + { > > + .pin = "Headphone", > > One Intel driver using NAU8825 declares this as > > .pin = "Headphone Jack", > > can we please use the same name, so that we're able to eventually > share the > same configuration in the userspace? > > For reference, please check intel/avs/boards/nau8825.c > > Thanks, > Angelo OK. I will replace "Headphone" with "Headphone Jack" in V2. Thanks, Trevor