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;