ASoC: arizona: Add DSP_B and LEFT_J mode support
Subsystems (3)
PATCH 1/1 ASoC: arizona: Add DSP_B and LEFT_J mode support
From: Richard Fitzgerald <[email protected]>
Signed-off-by Richard Fitzgerald <[email protected]>
Signed-off-by Charles Keepax <[email protected]>
--- sound/soc/codecs/arizona.c | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-)
sound/soc/codecs/arizona.c +25 -3
@@ -61,6 +61,11 @@#define ARIZONA_FLL_MIN_OUTDIV 2#define ARIZONA_FLL_MAX_OUTDIV 7 +#define ARIZONA_FMT_DSP_MODE_A 0 +#define ARIZONA_FMT_DSP_MODE_B 1 +#define ARIZONA_FMT_I2S_MODE 2 +#define ARIZONA_FMT_LEFT_JUSTIFIED_MODE 3 +#define arizona_fll_err (_fll, fmt, ...) \ dev_err(_fll->arizona->dev, "FLL%d: " fmt, _fll->id, ##__VA_ARGS__)#define arizona_fll_warn (_fll, fmt, ...) \
@@ -946,10 +951,26 @@ static int arizona_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)switch (fmt &SND_SOC_DAIFMT_FORMAT_MASK ) {case SND_SOC_DAIFMT_DSP_A : - mode =0 ; + mode =ARIZONA_FMT_DSP_MODE_A ; +break ; +case SND_SOC_DAIFMT_DSP_B : +if ((fmt &SND_SOC_DAIFMT_MASTER_MASK ) + !=SND_SOC_DAIFMT_CBM_CFM ) { +arizona_aif_err (dai,"DSP_B not valid in slave mode\n" ); +return -EINVAL ; + } + mode =ARIZONA_FMT_DSP_MODE_B ;break ;case SND_SOC_DAIFMT_I2S : - mode =2 ; + mode =ARIZONA_FMT_I2S_MODE ; +break ; +case SND_SOC_DAIFMT_LEFT_J : +if ((fmt &SND_SOC_DAIFMT_MASTER_MASK ) + !=SND_SOC_DAIFMT_CBM_CFM ) { +arizona_aif_err (dai,"LEFT_J not valid in slave mode\n" ); +return -EINVAL ; + } + mode =ARIZONA_FMT_LEFT_JUSTIFIED_MODE ;break ;default : arizona_aif_err(dai, "Unsupported DAI format %d\n",
@@ -1298,7 +1319,8 @@ static int arizona_hw_params(struct snd_pcm_substream *substream,/* Force multiple of 2 channels for I2S mode */ val =snd_soc_read (codec, base +ARIZONA_AIF_FORMAT ); -if ((channels &1 ) && (val &ARIZONA_AIF1_FMT_MASK )) { + val &=ARIZONA_AIF1_FMT_MASK ; +if ((channels &1 ) && (val ==ARIZONA_FMT_I2S_MODE )) {arizona_aif_dbg (dai,"Forcing stereo mode\n" ); bclk_target /= channels; bclk_target *= channels +1 ;
Signature · 1 line
1.7.2.5
Quoted 4 lines · Charles Keepax
From: Richard Fitzgerald <[email protected]>
Signed-off-by Richard Fitzgerald <[email protected]>Signed-off-by Charles Keepax <[email protected]>
Applied, thanks.