mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 07:40:54 +07:00
ASoC: ak4642: add SND_SOC_DAIFMT_FORMAT support
This patch support LEFT_J / I2S only for now 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:
parent
477adb06bf
commit
cb9c130aa9
@ -116,6 +116,12 @@
|
|||||||
#define BCKO_MASK (1 << 3)
|
#define BCKO_MASK (1 << 3)
|
||||||
#define BCKO_64 BCKO_MASK
|
#define BCKO_64 BCKO_MASK
|
||||||
|
|
||||||
|
#define DIF_MASK (3 << 0)
|
||||||
|
#define DSP (0 << 0)
|
||||||
|
#define RIGHT_J (1 << 0)
|
||||||
|
#define LEFT_J (2 << 0)
|
||||||
|
#define I2S (3 << 0)
|
||||||
|
|
||||||
/* MD_CTL2 */
|
/* MD_CTL2 */
|
||||||
#define FS0 (1 << 0)
|
#define FS0 (1 << 0)
|
||||||
#define FS1 (1 << 1)
|
#define FS1 (1 << 1)
|
||||||
@ -354,6 +360,24 @@ static int ak4642_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
|
|||||||
snd_soc_update_bits(codec, PW_MGMT2, MS, data);
|
snd_soc_update_bits(codec, PW_MGMT2, MS, data);
|
||||||
snd_soc_update_bits(codec, MD_CTL1, BCKO_MASK, bcko);
|
snd_soc_update_bits(codec, MD_CTL1, BCKO_MASK, bcko);
|
||||||
|
|
||||||
|
/* format type */
|
||||||
|
data = 0;
|
||||||
|
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||||
|
case SND_SOC_DAIFMT_LEFT_J:
|
||||||
|
data = LEFT_J;
|
||||||
|
break;
|
||||||
|
case SND_SOC_DAIFMT_I2S:
|
||||||
|
data = I2S;
|
||||||
|
break;
|
||||||
|
/* FIXME
|
||||||
|
* Please add RIGHT_J / DSP support here
|
||||||
|
*/
|
||||||
|
default:
|
||||||
|
return -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
snd_soc_update_bits(codec, MD_CTL1, DIF_MASK, data);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,8 @@ static int fsi_ak4642_dai_init(struct snd_soc_pcm_runtime *rtd)
|
|||||||
struct snd_soc_dai *dai = rtd->codec_dai;
|
struct snd_soc_dai *dai = rtd->codec_dai;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = snd_soc_dai_set_fmt(dai, SND_SOC_DAIFMT_CBM_CFM);
|
ret = snd_soc_dai_set_fmt(dai, SND_SOC_DAIFMT_LEFT_J |
|
||||||
|
SND_SOC_DAIFMT_CBM_CFM);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user