TLV320aic3100 codec driver probe is failing : Due the maximum registers limit(1536=12*128).
[ 2.615815] davinci_evm sound.12: tlv320aic31xx-hifi <-> 4803c000.mcasp mapping ok
we are getting this error: which leads to codec driver is not loading.
[ 2.626516] tlv320aic31xx-codec 1-0018: Failed to restore cache: -121 //-121 error code refers to REMOTE IO ERROR
Code for this error log: in tlv320aic31xx.c: in this function
//----------------------------------------------------------------------------------
static int aic31xx_power_on(struct snd_soc_codec *codec)
{
struct aic31xx_priv *aic31xx = snd_soc_codec_get_drvdata(codec);
int ret = 0;
ret = regulator_bulk_enable(ARRAY_SIZE(aic31xx->supplies),
aic31xx->supplies);
if (ret)
return ret;
if (gpio_is_valid(aic31xx->pdata.gpio_reset)) {
gpio_set_value(aic31xx->pdata.gpio_reset, 1);
udelay(100);
}
regcache_cache_only(aic31xx->regmap, false);
ret = regcache_sync(aic31xx->regmap);
if (ret != 0) {
dev_err(codec->dev,
"Failed to restore cache: %d\n", ret);
regcache_cache_only(aic31xx->regmap, true);
regulator_bulk_disable(ARRAY_SIZE(aic31xx->supplies),
aic31xx->supplies);
return ret;
}
return 0;
}
//-------------------------------------------------------------------------------------
regards,
Viswanath K