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.

AM263P4: UART Rx FIFO Trigger Level

Part Number: AM263P4
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hello,

In SYSCONFIG, I have selected UART interrupt, callback read mode. I want an interrupt after I have received 4 bytes (characters).

SYSCONFIG offers 1, 8, 16, 56, 60 for the trigger level but is not specific about the units:

Question 1 :Are the units for the trigger level in characters?

The register addendum suggests that a trigger level of 1 to 63 characters is possible but it's far from clear.

Question 2:  Does the UART peripheral support 4 characters FIFO trigger?

Question 3: If so, is it possible to use SYSCONFIG to configure 4 characters FIFO trigger?

Thank you.

  • Hi Kier,

    Question 1: Yes the trigger levels are in the form of characters/bytes (1 char = 1 byte).

    Question 2: Yes the peripheral supports trigger levels ranging from 1-63 as mentioned in the above screenshot you attached. But, there is an errata (i311) that points out  inconsistent behavior of UART DMA Interrupts when the trigger levels are not a power of 2. So [1, 2, 4, 8, 16, 32] should be the ideal values to be used. https://www.ti.com/lit/er/sprz570a/sprz570a.pdf?ts=1732168172324&ref_url=https%253A%252F%252Fwww.google.com%252F).

    This might oppose the offering that is in the syscfg and we are already having an internal discussion on what is the best that should be provided with syscfg.

    Question 3: As of now the syscfg UART cannot configure a trigger level of 4. I am having a discussion internally with the team and I will update you once after alignment internally.

    Regards,
    Shaunak

  • Hi Shaunak,

    Thanks for the thorough answer. If there's a workaround then great. I'll await your conclusions in due course.

  • Hi Kier,

    We will be updating our drivers and syscfg to offer trigger levels that are only power of 2 (DMA mode). Not having this would lead to false DMA interrupts.

    For the Callback mode, all 1-63 trigger levels will be supported. This is yet to be added into the SDK. The official fix would be available in 1Q2025 release of the SDK, but I will try to give you a patch once the fix is made internally.

    Regards,
    Shaunak

  • Many thanks Shaunak!

  • Hi Kier,

    The fix might be available somewhere around early/ mid January. The SDK team is working on some high priority issues and the scope for the mid December release is already frozen. 

    Regards,
    Shaunak

  • Hi Shaunak,

    Thanks for letting me know. That's fine, I can be working on other things in the meantime.

  • Hi Kier,

    I will be closing the thread for now. I will get back once the official fix is available.

    Regards,
    Shaunak

  • Hi Shaunak, 

    I might need a local patch or workaround for this sooner than I first thought.

    Can you give me some code I can use to set the threshold to 4 bytes outside of SysConfig please?

  • Hi Kier,

    It might not be possible for me to prioritize this and give it right away. It would need driver changes, alignment internally with the development team, thorough testing, It can be expected around the 1Q2025 release.

    In case you want to enable it on your end, these would be the high level changes (im not sure if these would completely solve the issue, just a top level view):

    1. Edit the syscfg template files to add 4B as an option in the dropdown

    2. Edit the driver to add macros and modify the functions which check if the trigger level is valid. Make sure the registers are configured correctly as shown in the Register addendum and the TRM.

    3. Modify and test the application for UART to work with 4B changes

    note: I have edited my response incase you find a different reply compared to the E2E notification/email.

    Regards,
    Shaunak

  • Hi Shaunak,

    OK, understood. I'll raise another ticket if I have difficulty trying this out.

    Thank you.