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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel