An improved UART which has a number of channels, with each channel having a set
of channel configuration registers. Each channel configuration register includes
an interrupt source register. The interrupt source register has a multi-bit interrupt
source code which is used to indicate the source of the interrupt. This code is
chosen to be compatible with prior UART devices. The device also includes a bus
interface, and a plurality of device configuration registers accessible through
the bus interface by a user. One of the device configuration registers is an interrupt
register which provides a user accessible code to indicate the interrupt source.
The code used for the interrupt source is a compressed version of the multiple
bit code used in the channel configuration interrupt source register. This compression
allows more channels to be represented in a single register, while also conveying
the interrupt source information quickly to the user. Since the device interrupt
register in the configuration registers is for access by the user, rather than
internal access by UART drivers, there is no need for compatibility with the prior
UART drivers.