[alsa-devel] [PATCH 1/3] ASoC: Add WM8510 driver

Geoffrey Wossum geoffrey at pager.net
Thu Jun 5 16:17:23 CEST 2008


On Thursday 05 June 2008 07:49:32 am Mark Brown wrote:

> +	/* bit size */
> +	switch (params_format(params)) {
> +	case SNDRV_PCM_FORMAT_S16_LE:
> +		break;
> +	case SNDRV_PCM_FORMAT_S20_3LE:
> +		iface |= 0x0020;
> +		break;
> +	case SNDRV_PCM_FORMAT_S24_LE:
> +		iface |= 0x0040;
> +		break;
> +	case SNDRV_PCM_FORMAT_S32_LE:
> +		iface |= 0x0060;
> +		break;
> +	}

This should either be changed to use SNDRV_PCM_FORMAT_S16 and friends, which I 
think will automagically use the correct endian for the selected 
architecture, or explicitly list both _LE and _BE formats.  Not an issue, 
unless you're using a correct endian, I mean big endian, processor like I 
am :)  I would think this would need to be propagated to other CODEC drivers.



> +#define WM8510_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE
> |\ +	SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)

Same thing with big endian here.


Mark, were able to verify that the default value SPKMIX differs from the 
datasheet?  Is this a datasheet mistake, or an issue in the WM8510 part I 
have?  The full markings on the part are "WM8510G / 63AETV9", and the 
datasheet is "February 2008, Rev 4.4".

---
Geoffrey


More information about the Alsa-devel mailing list