XR17V354
9
REV. 1.0.3
HIGH PERFORMANCE QUAD PCI-EXPRESS UART
1.0 XR17V354 INTERNAL REGISTERS
The XR17V354 UART register set is very similar to the previous generation PCI UARTs. This makes the V354
software compatible with the previous generation PCI UARTs. Minimal changes are needed to the software
driver of an existing Exar PCI UART driver so that it can be used with the V354 PCIe UART.
There are three different sets of registers as shown in Figure 3. The PCI Local Bus Configuration Space Registers is needed for plug-and-play auto-configuration. This auto-configuration feature makes installation
very easy into a PCI system and it is part of the PCI local bus specification. The second register set is the
Device Configuration Registers that are also accessible directly from the PCI bus for programming general
operating conditions of the device and monitoring the status of various functions common to all four channels.
These functions include all 4 channel UARTs’ interrupt control and status, 16-bit general purpose timer control
and status, multipurpose inputs/outputs control and status, sleep mode, soft-reset, and device identification
and revision. And lastly, each UART channel has its own set of internal UART Configuration Registers for its
own operation control and status reporting. All 4 sets of channel registers are embedded inside the device
configuration registers space, which provides faster access. The second and third set of registers are mapped
into 4K of the PCI bus memory address space. The following paragraphs describe all 3 sets of registers in
detail.
FIGURE 3. THE XR17V354 REGISTER SETS
Channel 0 16550 com patible
registers + enhanced registers
Device Configuration Registers
Device Configuration and
UART[3:0] Configuration
Registers are m apped on
to the Base Address
Register (BAR ) in a 4K-
byte of m em ory address
space
PCIe
Interface
Channel 0 TX FIFO , R X FIFO ,
RX FIFO + Status Burst R eg
PCI Local Bus
Configuration Space
Registers for Plug-
and-Play Auto
Configuration
Vendor and Sub-vendor ID
and Product M odel Num ber
in External EEPRO M
0x0000
0x0400
0x0800
0x0C00
0x0FFF
0x0080
0x0100
Device Configuration Registers
Channel 1 16550 com patible
registers + enhanced registers
Channel 1 TX FIFO , R X FIFO ,
RX FIFO + Status Burst R eg
Channel 2 TX FIFO , R X FIFO ,
RX FIFO + Status Burst R eg
Channel 3 TX FIFO , R X FIFO ,
RX FIFO + Status Burst R eg
Channel 2 16550 com patible
registers + enhanced registers
Channel 3 16550 com patible
registers + enhanced registers
1.1
PCI LOCAL BUS CONFIGURATION SPACE REGISTERS
The PCI local bus configuration space registers are responsible for setting up the device’s operating
environment in the PCI local bus. The pre-defined operating parameters of the device is read by the PCI bus
plug-and-play auto-configuration manager in the operating system. After the PCI bus has collected all data
from every device/card on the bus, it defines and downloads the memory mapping information to each device/
card about their individual operation memory address location and conditions. The operating memory mapped
address location is downloaded into the Base Address Register (BAR) register, located at an address offset of
0x10 in the configuration space. Custom modification of certain registers is possible by using an external