This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: McASP endianness

Part Number: AM5728

Tool/software: Linux

Does McASP support data to be captured in big endian form ?

because i cant find any support in davinci driver for mcasp. I am trying to capture stream over mcasp but the format only allows little endian capture, because of this a separate application needed to be executed just to reverse the data obtained.This completely defy the purpose of continuous real time capture.

If possible how can i capture data in big endian form?

Thanks in advance.

  • There is no endianness conversion hardware in the McASP subsystem.
  • Are you referring to the bit-endianness of the data on the wire, or the byte-endianness of the data stored into memory?

    McASP supports both little and big bit-endianness on the wire. Both are used in different applications: I²S is big-endian, while S/PDIF is little-endian.

    McASP only supports little-endian byteorder in memory, the native endianness of all cores on the AM335x. Nevertheless, if the bitstream is big-endian, you can cause data to be stored into memory in big-endian byteorder simply by configuring the slot width to be 8 bits (and increasing the number of slots per frame to compensate).