[alsa-devel] About iMX6SL sign extension of SSI Receive Configuration Register (SSIx_SRCR)

Nicolin Chen nicoleotsuka at gmail.com
Tue Mar 10 03:33:03 CET 2015


On Mon, Mar 09, 2015 at 05:09:34PM +0800, Xuebing Wang wrote:
 
> After I receive data (in the format of S16_LE) from SSI/I2S, I got data like
> 0x7FFF or 0x77d2. Are they supposed to be 0xFFFF or 0xF7d2?
> 
> After setting bit 10 (RXEXT) of SSIx_SRCR, I still get 0x7FFF or 0x77d2.

I don't have much detail information on it. But what I see a sign
extension should only happen during some procedures like converting
a 16-bit signed number to a 32-bit signed number. For example, the
original number is 0x8000 (16-bit), then the result should be a 32-
bit 0xFFFF8000.

However, you are still using 16-bit format and the sample data you
provided looks like positive numbers.

You might need to read a 32-bit result from the Receive FIFO so as
to get a 32-bit sign extended data.


More information about the Alsa-devel mailing list