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.

AM3356: am335x UART unable to get RX FIFO working

Part Number: AM3356

I am trying to get the RX FIFO working (i.e., trigger level of more than 1) and I have tried modified the serial_omap.c driver but it doesn't appear to be working.

Is there an example I can use where the RX FIFO is enabled?

the current omap Function has the following indicating that the RX FIFO is actually set to a trigger level of 1. I have tried changing it to 3 and it didn't seem to function as expected.

serial_omap_set_termios()

{

…..

up->scr |= OMAP_UART_SCR_RX_TRIG_GRANU1_MASK;
 /*
  * NOTE: Setting OMAP_UART_SCR_RX_TRIG_GRANU1_MASK
  * sets Enables the granularity of 1 for TRIGGER RX
  * level. Along with setting RX FIFO trigger level
  * to 1 (as noted below, 16 characters) and TLR[3:0]
  * to zero this will result RX FIFO threshold level
  * to 1 character, instead of 16 as noted in comment
  * below.
  */

 /* Set receive FIFO threshold to 16 characters and
  * transmit FIFO threshold to 32 spaces
  */
 up->fcr &= ~OMAP_UART_FCR_RX_FIFO_TRIG_MASK;
 up->fcr &= ~OMAP_UART_FCR_TX_FIFO_TRIG_MASK;
 up->fcr |= UART_FCR6_R_TRIGGER_16 | UART_FCR6_T_TRIGGER_24 |
  UART_FCR_ENABLE_FIFO;