summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/bfin_uart.c
Commit message (Collapse)AuthorAgeFilesLines
* serial: bfin_uart: Make MMR access compatible with 32 bits bf609 style ↵Sonic Zhang2012-05-171-16/+4
| | | | | | | | | controller. Simplify serial data width calculation and adapt to bf609 LCR bit mask. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* serial: bfin_uart: RTS and CTS MMRs can be either 16-bit width or 32-bit width.Sonic Zhang2012-05-171-12/+10
| | | | | | | | | Change hardware flow control code to adapt to both bf5xx and bf60x. Disabled serial device before set termios for bf60x. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* serial: bfin_uart: narrow the reboot condition in DMA tx interruptSonic Zhang2012-05-171-1/+1
| | | | | | | Check if xmit buffer pointers are set to zero. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* serial: bfin_uart: Adapt bf5xx serial driver to bf60x serial4 controller.Sonic Zhang2012-05-171-19/+13
| | | | | | | | | | | | The serial4 controller on bf60x is an enhanced version of serial controller on bf5xx. MMR size is 32 bits other than 16 bits. MMR GCTL, MCR and LCR are combined into one control MMR. MSR and LSR are combined into one status MMR. This patch adapts current bf5xx serial driver to serial4 controller on bf60x. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* serial: bfin-uart: Don't access tty circular buffer in TX DMA interrupt ↵Sonic Zhang2012-03-131-3/+5
| | | | | | | | | | | after it is reset. When kernel reboot, tty circular buffer is reset before last TX DMA interrupt is called, while the buffer tail is updated in TX DMA interrupt handler. So, don't update the buffer tail if it is reset. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS.Sonic Zhang2011-12-131-3/+14
| | | | | | | | Blackfin uart supports automatic CTS trigger when hardware flow control is enabled. No need to start and top tx in CTS interrupt. So, remote ASYNC_CTS_FLOW flag. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial: bfin-uart: Enable hardware automatic CTS only when CTS pin is available.Sonic Zhang2011-12-131-9/+10
| | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial: bfin-uart: remove redundant CTS check for hardware CTS control.Sonic Zhang2011-12-091-23/+1
| | | | | | | | Blackfin hardware CTS control generate interrupt for both CTS on and off. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial: bfin-uart: Add tty ASYNC_CTS_FLOW flag to do CTS flow control.Sonic Zhang2011-12-091-1/+3
| | | | | | Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial: bfin-uart: Request CTS GPIO PIN when the serial device starts up.Sonic Zhang2011-12-091-10/+9
| | | | | | | | | | Serial device may be probed earlier before GPIOLIB is initialized. Requesting and configuring CTS GPIO PIN fails in that early stage. Do it when the serial device really starts up. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* TTY: irq: Remove IRQF_DISABLEDYong Zhang2011-09-221-4/+4
| | | | | | | | | | | | | | Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial:bfin_uart: Put TX IRQ in individual platform resource.Sonic Zhang2011-08-231-14/+22
| | | | | | | | Serial TX IRQ is not RX IRQ plus 1 in some blackfin chips. Give individual platform resources to both TX and RX irqs. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial:blackfin: rename Blackfin serial driver to bfin_uart.cSonic Zhang2011-08-231-0/+1603
bfin_5xx.c is not a general name for all Blackfin chips. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OpenPOWER on IntegriCloud