ASoC: uda134x: correct bias level setup for codecs family
For UDA1341 codec power control is managed in STATUS1 register, and for all other codecs in DATA011 register. Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
ed632ad3b8
commit
338de9d9da
sound/soc/codecs
|
@ -341,8 +341,22 @@ static int uda134x_set_bias_level(struct snd_soc_codec *codec,
|
|||
switch (level) {
|
||||
case SND_SOC_BIAS_ON:
|
||||
/* ADC, DAC on */
|
||||
reg = uda134x_read_reg_cache(codec, UDA134X_STATUS1);
|
||||
uda134x_write(codec, UDA134X_STATUS1, reg | 0x03);
|
||||
switch (pd->model) {
|
||||
case UDA134X_UDA1340:
|
||||
case UDA134X_UDA1344:
|
||||
case UDA134X_UDA1345:
|
||||
reg = uda134x_read_reg_cache(codec, UDA134X_DATA011);
|
||||
uda134x_write(codec, UDA134X_DATA011, reg | 0x03);
|
||||
break;
|
||||
case UDA134X_UDA1341:
|
||||
reg = uda134x_read_reg_cache(codec, UDA134X_STATUS1);
|
||||
uda134x_write(codec, UDA134X_STATUS1, reg | 0x03);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "UDA134X SoC codec: "
|
||||
"unsupported model %d\n", pd->model);
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
case SND_SOC_BIAS_PREPARE:
|
||||
/* power on */
|
||||
|
@ -355,8 +369,22 @@ static int uda134x_set_bias_level(struct snd_soc_codec *codec,
|
|||
break;
|
||||
case SND_SOC_BIAS_STANDBY:
|
||||
/* ADC, DAC power off */
|
||||
reg = uda134x_read_reg_cache(codec, UDA134X_STATUS1);
|
||||
uda134x_write(codec, UDA134X_STATUS1, reg & ~(0x03));
|
||||
switch (pd->model) {
|
||||
case UDA134X_UDA1340:
|
||||
case UDA134X_UDA1344:
|
||||
case UDA134X_UDA1345:
|
||||
reg = uda134x_read_reg_cache(codec, UDA134X_DATA011);
|
||||
uda134x_write(codec, UDA134X_DATA011, reg & ~(0x03));
|
||||
break;
|
||||
case UDA134X_UDA1341:
|
||||
reg = uda134x_read_reg_cache(codec, UDA134X_STATUS1);
|
||||
uda134x_write(codec, UDA134X_STATUS1, reg & ~(0x03));
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "UDA134X SoC codec: "
|
||||
"unsupported model %d\n", pd->model);
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
case SND_SOC_BIAS_OFF:
|
||||
/* power off */
|
||||
|
|
Loading…
Reference in New Issue