Hi Paul
* for alsa data endian definitions one can look at alsa project documentation and alsa mail lists.
PCM - MultimediaWiki
ALSA project - the C library reference: Helper Functions
[alsa-devel] WM9712 - Big and little endian format conversion.
* right, data bytes and bits written in STX register use the same order
as arranged in memory. So SSI module has not special "endian" settings/conversions.
> Is this saying that if a multi-byte PCM data value is stored in big-endian in memory
>then it will be written to the STX register with the most significant byte in the lower end of the register?
in general, SSI data bit/byte order remains the same as it was arranged in memory. May be useful to look at
sect.61.8.2.1 Data Alignment Formats Supported i.MX6DQ Reference Manual
https://www.nxp.com/docs/en/reference-manual/IMX6DQRM.pdf
* NXP sound drivers support limited number of codecs and pcm formats. One can refer to
sect.7.1.1 ALSA Sound Driver Introduction attached Linux Manual. Full list of alsa formats can be found on
ALSA project - the C library reference: PCM Interface
* Linux SSI driver written by NXP (Freescale) does not support all alsa formats. Supported only
configurations presented in NXP reference boards. Other formats can be added by customers themselves.
Below some useful links for adding support for new formats:
ALSA is not supporting 16 bits signed audio · Issue #173 · raspberrypi/firmware · GitHub
c++ - Signed 16-bit ALSA PCM data to U8 Conversion on Linux - Stack Overflow
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------