ASoC: tas2764: Fix amp gain register offset & default
The register default is 0x28 per the datasheet, and the amp gain field is supposed to be shifted left by one. With the wrong default, the ALSA controls lie about the power-up state. With the wrong shift, we get only half the gain we expect. Signed-off-by: Hector Martin <marcan@marcan.st> Fixes: 827ed8a0fa50 ("ASoC: tas2764: Add the driver for the TAS2764") Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220630075135.2221-4-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
3e99e5697e
commit
1c4f29ec87
@ -541,7 +541,7 @@ static DECLARE_TLV_DB_SCALE(tas2764_playback_volume, -10050, 50, 1);
|
||||
static const struct snd_kcontrol_new tas2764_snd_controls[] = {
|
||||
SOC_SINGLE_TLV("Speaker Volume", TAS2764_DVC, 0,
|
||||
TAS2764_DVC_MAX, 1, tas2764_playback_volume),
|
||||
SOC_SINGLE_TLV("Amp Gain Volume", TAS2764_CHNL_0, 0, 0x14, 0,
|
||||
SOC_SINGLE_TLV("Amp Gain Volume", TAS2764_CHNL_0, 1, 0x14, 0,
|
||||
tas2764_digital_tlv),
|
||||
};
|
||||
|
||||
@ -566,7 +566,7 @@ static const struct reg_default tas2764_reg_defaults[] = {
|
||||
{ TAS2764_SW_RST, 0x00 },
|
||||
{ TAS2764_PWR_CTRL, 0x1a },
|
||||
{ TAS2764_DVC, 0x00 },
|
||||
{ TAS2764_CHNL_0, 0x00 },
|
||||
{ TAS2764_CHNL_0, 0x28 },
|
||||
{ TAS2764_TDM_CFG0, 0x09 },
|
||||
{ TAS2764_TDM_CFG1, 0x02 },
|
||||
{ TAS2764_TDM_CFG2, 0x0a },
|
||||
|
Loading…
x
Reference in New Issue
Block a user