2023-07-21 09:01:43

by Shengjiu Wang

[permalink] [raw]
Subject: [PATCH] ASoC: wm8960: Add DAC filter characteristics selection

Support DAC filter characteristics selection: Normal mode
and Sloping stopband. Sloping stopband may have
better frequency response.

Signed-off-by: Shengjiu Wang <[email protected]>
---
sound/soc/codecs/wm8960.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
index 366f5d769d6d..ff1355306b43 100644
--- a/sound/soc/codecs/wm8960.c
+++ b/sound/soc/codecs/wm8960.c
@@ -155,6 +155,7 @@ static const char *wm8960_adc_data_output_sel[] = {
"Left Data = Right ADC; Right Data = Left ADC",
};
static const char *wm8960_dmonomix[] = {"Stereo", "Mono"};
+static const char *wm8960_dacslope[] = {"Normal", "Sloping"};

static const struct soc_enum wm8960_enum[] = {
SOC_ENUM_SINGLE(WM8960_DACCTL1, 5, 4, wm8960_polarity),
@@ -165,6 +166,7 @@ static const struct soc_enum wm8960_enum[] = {
SOC_ENUM_SINGLE(WM8960_ALC3, 8, 2, wm8960_alcmode),
SOC_ENUM_SINGLE(WM8960_ADDCTL1, 2, 4, wm8960_adc_data_output_sel),
SOC_ENUM_SINGLE(WM8960_ADDCTL1, 4, 2, wm8960_dmonomix),
+ SOC_ENUM_SINGLE(WM8960_DACCTL2, 1, 2, wm8960_dacslope),
};

static const int deemph_settings[] = { 0, 32000, 44100, 48000 };
@@ -307,6 +309,7 @@ SOC_SINGLE_TLV("Right Output Mixer RINPUT3 Volume",

SOC_ENUM("ADC Data Output Select", wm8960_enum[6]),
SOC_ENUM("DAC Mono Mix", wm8960_enum[7]),
+SOC_ENUM("DAC filter characteristics", wm8960_enum[8]),
};

static const struct snd_kcontrol_new wm8960_lin_boost[] = {
--
2.34.1



2023-07-21 09:07:44

by Shengjiu Wang

[permalink] [raw]
Subject: Re: [PATCH] ASoC: wm8960: Add DAC filter characteristics selection


> > Support DAC filter characteristics selection: Normal mode and Sloping
> > stopband. Sloping stopband may have better frequency response.
> >
> > Signed-off-by: Shengjiu Wang <[email protected]>
> > ---
> > sound/soc/codecs/wm8960.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
> > index 366f5d769d6d..ff1355306b43 100644
> > --- a/sound/soc/codecs/wm8960.c
> > +++ b/sound/soc/codecs/wm8960.c
> > @@ -155,6 +155,7 @@ static const char *wm8960_adc_data_output_sel[]
> = {
> > "Left Data = Right ADC; Right Data = Left ADC", }; static
> > const char *wm8960_dmonomix[] = {"Stereo", "Mono"};
> > +static const char *wm8960_dacslope[] = {"Normal", "Sloping"};
> >
> > static const struct soc_enum wm8960_enum[] = {
> > SOC_ENUM_SINGLE(WM8960_DACCTL1, 5, 4, wm8960_polarity), @@
> > -165,6 +166,7 @@ static const struct soc_enum wm8960_enum[] = {
> > SOC_ENUM_SINGLE(WM8960_ALC3, 8, 2, wm8960_alcmode),
> > SOC_ENUM_SINGLE(WM8960_ADDCTL1, 2, 4,
> wm8960_adc_data_output_sel),
> > SOC_ENUM_SINGLE(WM8960_ADDCTL1, 4, 2, wm8960_dmonomix),
> > + SOC_ENUM_SINGLE(WM8960_DACCTL2, 1, 2, wm8960_dacslope),
> > };
> >
> > static const int deemph_settings[] = { 0, 32000, 44100, 48000 }; @@
> > -307,6 +309,7 @@ SOC_SINGLE_TLV("Right Output Mixer RINPUT3 Volume",
> >
> > SOC_ENUM("ADC Data Output Select", wm8960_enum[6]),
> SOC_ENUM("DAC
> > Mono Mix", wm8960_enum[7]),
> > +SOC_ENUM("DAC filter characteristics", wm8960_enum[8]),
>
> Be nice to capitalise, to match the other controls but otherwise looks good to
> me:
>
> Acked-by: Charles Keepax <[email protected]>
>

Ok, let me update it in v2.

Best regards
Wang shengjiu

2023-07-21 09:39:43

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH] ASoC: wm8960: Add DAC filter characteristics selection

On Fri, Jul 21, 2023 at 03:52:28PM +0800, Shengjiu Wang wrote:
> Support DAC filter characteristics selection: Normal mode
> and Sloping stopband. Sloping stopband may have
> better frequency response.
>
> Signed-off-by: Shengjiu Wang <[email protected]>
> ---
> sound/soc/codecs/wm8960.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
> index 366f5d769d6d..ff1355306b43 100644
> --- a/sound/soc/codecs/wm8960.c
> +++ b/sound/soc/codecs/wm8960.c
> @@ -155,6 +155,7 @@ static const char *wm8960_adc_data_output_sel[] = {
> "Left Data = Right ADC; Right Data = Left ADC",
> };
> static const char *wm8960_dmonomix[] = {"Stereo", "Mono"};
> +static const char *wm8960_dacslope[] = {"Normal", "Sloping"};
>
> static const struct soc_enum wm8960_enum[] = {
> SOC_ENUM_SINGLE(WM8960_DACCTL1, 5, 4, wm8960_polarity),
> @@ -165,6 +166,7 @@ static const struct soc_enum wm8960_enum[] = {
> SOC_ENUM_SINGLE(WM8960_ALC3, 8, 2, wm8960_alcmode),
> SOC_ENUM_SINGLE(WM8960_ADDCTL1, 2, 4, wm8960_adc_data_output_sel),
> SOC_ENUM_SINGLE(WM8960_ADDCTL1, 4, 2, wm8960_dmonomix),
> + SOC_ENUM_SINGLE(WM8960_DACCTL2, 1, 2, wm8960_dacslope),
> };
>
> static const int deemph_settings[] = { 0, 32000, 44100, 48000 };
> @@ -307,6 +309,7 @@ SOC_SINGLE_TLV("Right Output Mixer RINPUT3 Volume",
>
> SOC_ENUM("ADC Data Output Select", wm8960_enum[6]),
> SOC_ENUM("DAC Mono Mix", wm8960_enum[7]),
> +SOC_ENUM("DAC filter characteristics", wm8960_enum[8]),

Be nice to capitalise, to match the other controls but otherwise
looks good to me:

Acked-by: Charles Keepax <[email protected]>

Thanks,
Charles