The XScale PXA255 has three generally ns16x50 compatible UARTs. One of the
authorBenno Rice <benno@FreeBSD.org>
Fri, 30 May 2008 01:57:13 +0000 (01:57 +0000)
committerBenno Rice <benno@FreeBSD.org>
Fri, 30 May 2008 01:57:13 +0000 (01:57 +0000)
commit0aefb0a63c50622e0462987f83c1feccab88e1b1
treeae2c95ba117f04cf20dce9430343bbb759cb702a
parent1b3418b2dc51c51f532451cd7f956bfbcb5de8cd
The XScale PXA255 has three generally ns16x50 compatible UARTs.  One of the
variations from normal 16x50 behaviour however is the the use of a normally
unused bit of IER to control RX timeout interrupts independently of the
generally used RXRDY bit.  If this bit is not enabled, we only ever get
interrupts when the FIFO is full, never before.  This is not very useful when
the UART is being used as a console.

In order to support this without causing potential problems on more "normal"
16x50 variants, this change introduces two hints for the uart device, ier_mask
and ier_rxbits.  These can be used to override which bits get set and cleared
when we're enabling and disabling RX interrupts.

Reviewed by: marcel
sys/dev/uart/uart_dev_ns8250.c