[alsa-devel] [PATCH RFT] ASoC: sta529: Fix update register bits in sta529_set_dai_fmt

Rajeev kumar rajeev-dlh.kumar at st.com
Thu Dec 20 11:17:38 CET 2012


Hello Axel,

On 12/20/2012 1:47 PM, Axel Lin wrote:
> Both the mask and mode settings are wrong in current code.
>
> According to the datasheet:
>
> S2PCFG0 (0x0A)
> BIT[3:1] DATA_FORMAT
>          serial interface protocol format:
>          000: left Justified
>          001: I2S (default)
>          010: right justified
>          100: PCM no delay
>          101: PCM delay
>          111: DSP
>
> Thus fixes the defines for LEFT_J_DATA_FORMAT, I2S_DATA_FORMAT, and
> RIGHT_J_DATA_FORMAT.
> Also adds define for DATA_FORMAT_MSK.
>
> Signed-off-by: Axel Lin<axel.lin at ingics.com>
> ---
> Hi Rajeev,
> I don't have this hardware, can you test this patch?

Thanks for pointing it out. I have tested it and is working fine.

Acked-By: Rajeev Kumar <rajeev-dlh.kumar at st.com>

> Thanks,
> Axel
>   sound/soc/codecs/sta529.c |    9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/sound/soc/codecs/sta529.c b/sound/soc/codecs/sta529.c
> index ab355c4..40c07be 100644
> --- a/sound/soc/codecs/sta529.c
> +++ b/sound/soc/codecs/sta529.c
> @@ -74,9 +74,10 @@
>   				SNDRV_PCM_FMTBIT_S32_LE)
>   #define	S2PC_VALUE		0x98
>   #define CLOCK_OUT		0x60
> -#define LEFT_J_DATA_FORMAT	0x10
> -#define I2S_DATA_FORMAT		0x12
> -#define RIGHT_J_DATA_FORMAT	0x14
> +#define DATA_FORMAT_MSK		0x0E
> +#define LEFT_J_DATA_FORMAT	0x00
> +#define I2S_DATA_FORMAT		0x02
> +#define RIGHT_J_DATA_FORMAT	0x04


>   #define CODEC_MUTE_VAL		0x80
>
>   #define POWER_CNTLMSAK		0x40
> @@ -289,7 +290,7 @@ static int sta529_set_dai_fmt(struct snd_soc_dai *codec_dai, u32 fmt)
>   		return -EINVAL;
>   	}
>
> -	snd_soc_update_bits(codec, STA529_S2PCFG0, 0x0D, mode);
> +	snd_soc_update_bits(codec, STA529_S2PCFG0, DATA_FORMAT_MSK, mode);
>
>   	return 0;
>   }



More information about the Alsa-devel mailing list