[PATCH v0 5/7] ASoC: codecs: ES8389: Add private members related to HPF
Michael Zhang <[email protected]> Mon, 8 Jun 2026 16:35:38 +0800
| Newsgroups | org.alsa-project.alsa-devel,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <[email protected]> |
From: Zhang Yi <[email protected]> Add private members related to HPF. And defines ES8389_HPF_DEFAULT Signed-off-by: Zhang Yi <[email protected]> --- sound/soc/codecs/es8389.c | 18 ++++++++++++++++-- sound/soc/codecs/es8389.h | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/es8389.c b/sound/soc/codecs/es8389.c index ad016c255c77..743cfca2a6ab 100644 --- a/sound/soc/codecs/es8389.c +++ b/sound/soc/codecs/es8389.c @@ -36,6 +36,8 @@ struct es8389_private { unsigned int sysclk; int mastermode; + u8 hpfl; + u8 hpfr; u8 mclk_src; u8 vddd; int version; @@ -742,8 +744,8 @@ static int es8389_mute(struct snd_soc_dai *dai, int mute, int direction) regmap_update_bits(es8389->regmap, ES8389_DAC_FORMAT_MUTE, 0x03, 0x00); } else { - regmap_update_bits(es8389->regmap, ES8389_ADC_HPF1, 0x0f, 0x0a); - regmap_update_bits(es8389->regmap, ES8389_ADC_HPF2, 0x0f, 0x0a); + regmap_update_bits(es8389->regmap, ES8389_ADC_HPF1, 0x0f, es8389->hpfl); + regmap_update_bits(es8389->regmap, ES8389_ADC_HPF2, 0x0f, es8389->hpfr); regmap_update_bits(es8389->regmap, ES8389_ADC_FORMAT_MUTE, 0x03, 0x00); } @@ -905,6 +907,18 @@ static int es8389_probe(struct snd_soc_component *component) es8389->mclk_src = ES8389_MCLK_SOURCE; } + ret = device_property_read_u8(component->dev, "everest,hpfl", &es8389->hpfl); + if (ret != 0) { + dev_dbg(component->dev, "hpfl return %d", ret); + es8389->hpfl = ES8389_HPF_DEFAULT; + } + + ret = device_property_read_u8(component->dev, "everest,hpfr", &es8389->hpfr); + if (ret != 0) { + dev_dbg(component->dev, "hpfr return %d", ret); + es8389->hpfr = ES8389_HPF_DEFAULT; + } + for (i = 0; i < ARRAY_SIZE(es8389_core_supplies); i++) es8389->core_supply[i].supply = es8389_core_supplies[i]; ret = devm_regulator_bulk_get(component->dev, ARRAY_SIZE(es8389_core_supplies), es8389->core_supply); diff --git a/sound/soc/codecs/es8389.h b/sound/soc/codecs/es8389.h index 13ce241774dc..197e6f7b27e9 100644 --- a/sound/soc/codecs/es8389.h +++ b/sound/soc/codecs/es8389.h @@ -105,6 +105,7 @@ #define ES8389_MIC_SEL_MASK (7 << 4) #define ES8389_MIC_DEFAULT (1 << 4) +#define ES8389_HPF_DEFAULT (0x0A << 0) #define ES8389_MASTER_MODE_EN (1 << 0) -- 2.54.0.windows.1