ASoC: fsi: fixup clock inversion operation

Clock inversion should be specified by each flags bit.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Kuninori Morimoto 2010-07-13 12:01:15 +09:00 committed by Mark Brown
parent 5b61ea4997
commit b427b44cc8
1 changed files with 9 additions and 14 deletions

View File

@ -683,20 +683,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream,
/* clock inversion (CKG2) */
data = 0;
switch (SH_FSI_INVERSION_MASK & flags) {
case SH_FSI_LRM_INV:
data = 1 << 12;
break;
case SH_FSI_BRM_INV:
data = 1 << 8;
break;
case SH_FSI_LRS_INV:
data = 1 << 4;
break;
case SH_FSI_BRS_INV:
data = 1 << 0;
break;
}
if (SH_FSI_LRM_INV & flags)
data |= 1 << 12;
if (SH_FSI_BRM_INV & flags)
data |= 1 << 8;
if (SH_FSI_LRS_INV & flags)
data |= 1 << 4;
if (SH_FSI_BRS_INV & flags)
data |= 1 << 0;
fsi_reg_write(fsi, CKG2, data);
/* do fmt, di fmt */