LinuxBSP (linux-2.6.10) and Serial Driver Problem

We are using LinuxBSP (linux-2.6.10) with a ColdFire MCF5474. The second internal UART is used to communicate with a ColdFire MCF5232 using RTS/CTS flow control.

The problem we have is RTS gets turned off by the MCF5474 and does not get turned back on. Here is the initialization code:

int sfd; struct termios new_settings;

sfd = open( "/dev/tts/1", ( O_RDWR | O_NOCTTY ) );

if ( 0 flip.count >= TTY_FLIPBUF_SIZE). This will cause the UART fifo to fill up, which eventually turns RTS off. If (tty->real_raw) in n_tty_receive_buf (in n_tty.c) is set, then (tty->driver->flush_chars(tty)) does not get called. If (tty->driver->flush_chars(tty)) does get called, then receive interrupts will get enabled, which will read the fifo and cause RTS to be turned ON. However, I do not see how receive interrupts get enabled when (tty->real_raw) is set.

Has anyone seen this problem? Was (tty->driver->flush_chars(tty)) also suppose to be called in RAW mode (in n_tty_receive_buf)? What is the correct solution?

Thanks, Bill

Reply to
Bill
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.