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.

PROCESSOR-SDK-AM64X: Am64 uart trigger level problem

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: SYSCONFIG

Hello.

i am using am64x and i m trying to develop uart driver. With Code Composer Stdio.

Datasheet says there is programmable trigger for uart. That means programmable fifo interrupt.
if fifo has more number of bytes than trigger level, interrupt occur.

i m trying to implement it. i have some issues about Uart / Dma / Fifo mode. 

there are two uart example in my sdk. Both uses callback .

here is technical referance manual ->www.ti.com/.../spruim2f.pdf

UART_echo_low_latency_interrupt example :

This example uses user managed interrupts.

the example calls callback function everytime char arrived and writes as echo. No matter what is tx and rx trigger level on sysconfig.

That is not what i expected. techical documents says interrupt will occur when there are more bytes than trigger level in fifo.

->https://github.com/TexasInstruments/mcupsdk-core/blob/next/examples/drivers/uart/uart_echo_low_latency_interrupt/uart_echo_low_latency_interrupt.c

UART_echo_callback example:

in this example there is transaction parameter for Uart_read function. transation has count for trigger level variable. 

it is reads every byte like other example but prints back when tx triggered.

i assume Rx trigger is not working but Tx does. Because interrupt occurs for every byte for reading but only occurs if its above triggered level for printing. 

->https://github.com/TexasInstruments/mcupsdk-core/blob/next/examples/drivers/uart/uart_echo_callback/uart_echo_callback.c

after all that stuff i tried to implement my own way :

i tried to set relating registers my own.

after all uarts initialize by sysconfig driver. i tried to set registers on below link -> FIFO Trigger Settings

->https://www.ti.com/document-viewer/lit/html/SPRUIM2F/GUID-F58F40A1-FDB6-437F-A7E9-786DE004143E#TITLE-SPRUID7INT_SPRUHI2_UART_00217

nothing changed. 

in this three example i changed the sysconfig rx and tx interrupt level 1,8,16,56; nothing is changed.

There are parts i dont understand fully. 

TRM says activate dma mode with trigger level. 
In sysconfig, there is no trigger level option when dma selected. Thats why i though trigger level is not working with dma. i need to set it up interrupt.

What is my mistake or what am i missing ?