From: Sascha Hauer s.hauer@pengutronix.de
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de Signed-off-by: Uwe Kleine-König u.kleine-koenig@pengutronix.de --- sound/soc/codecs/ad1980.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/ad1980.c b/sound/soc/codecs/ad1980.c index 70cfaec..35c0580 100644 --- a/sound/soc/codecs/ad1980.c +++ b/sound/soc/codecs/ad1980.c @@ -168,13 +168,21 @@ retry: }
soc_ac97_ops.reset(codec->ac97); + +#ifdef SND_BF5XX_SOC_AD1980 /* Set bit 16slot in register 74h, then every slot will has only 16 * bits. This command is sent out in 20bit mode, in which case the - * first nibble of data is eaten by the addr. (Tag is always 16 bit)*/ + * first nibble of data is eaten by the addr. (Tag is always 16 bit). + * + * This seems to be blackfin specific. On other systems we want 20bit + * mode. + */ ac97_write(codec, AC97_AD_SERIAL_CFG, 0x9900); +#endif
if (ac97_read(codec, AC97_RESET) != 0x0090) goto err; + return 0;
err: