[alsa-devel] [PATCH] ASoC: add RT5640 CODEC driver

Stephen Warren swarren at wwwdotorg.org
Wed Jun 5 00:05:32 CEST 2013


On 06/04/2013 03:51 PM, Stephen Warren wrote:
> On 05/31/2013 01:04 AM, bardliao at realtek.com wrote:
>> From: Bard Liao <bardliao at realtek.com>
>>
>> * Use regmap_range_cfg to replace index read/write function.
>> * Remove I2S3 related code since there is no I2S3 in ALC5640.
>> * Remove Voice DSP related code since there is no Voice DSP in ALC5640.
>> * Remove MICBIAS2 since there is no MICBIAS2 in ALC5640.
>> * Change DMIC1/2 CLK to DMIC1/2 Power since it is for enable/disable DMIC1/2
>> * Modify some texts for consistent coding style.
>> * Merge sto adc l/r mux since it shares the same control bits.
>> * Other minor changes.
> 
>> +static const struct snd_soc_dapm_widget rt5640_dapm_widgets[] = {

>> +	SND_SOC_DAPM_MIXER("HPO MIX L", SND_SOC_NOPM, 0, 0,
>> +		rt5640_hpo_mix, ARRAY_SIZE(rt5640_hpo_mix)),
>> +	SND_SOC_DAPM_MIXER("HPO MIX R", SND_SOC_NOPM, 0, 0,
>> +		rt5640_hpo_mix, ARRAY_SIZE(rt5640_hpo_mix)),
> 
> In the version of the driver I posted, I had replaced this with a single
> "HPO MIX" DAPM_MIXER, because there is a single bit in HW that controls
> both the L and R channels. I think you should incorporate that same change.
> 
> That relies on commit 85762e7 "ASoC: dapm: Implement mixer control sharing".

Sorry, ignore that comment; what I had done earlier was to make both the
SND_SOC_DAPM_MIXER() invocations above use the same rt5640_hpo_mix
kcontrol, which is exactly what you have in your patch.

So, this part is fine. Sorry for the noise.

BTW, I tested on my HW, and I see that headphone output still works fine
with this version of the driver.

I didn't test speaker output though, but that didn't work with the
previous driver I sent either. Are you able to get that working? I also
didn't test any capture path.


More information about the Alsa-devel mailing list