Intel® IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor
September 2006 DM
Order Number: 252480-006US 335
Universal Asynchronous Receiver Transceiver (UART)—Intel® IXP42X product line and IXC1100
control plane processors
10.2 Configuring the UART
The following sections provide a detailed description of configuring the UART interfaces
for operation.

10.2.1 Setting the Baud Rate

Each UART contains a programmable baud-rate generator that is capable of taking the
14.7456 MHz, input clock and dividing it by any divisor ranging from 1 to (2161). The
output frequency of the baud-rate generator is 16 times the baud rate. So, if a
1,200 Baud rate was required, the output frequency of the baud-rate generator would
be 1,200 KHz *16 = 19,200 KHz.
Two 8-bit registers store the divisor in a 16-bit binary format: the Divisor Latch Low
Register (DLL) and the Divisor Latch High Register (DLH). The Divisor Latch Low
register makes up the lower eight bits of the 16-bit divisor and the Divisor Latch High
register makes up the upper eight bits of the 16-bit divisor.
The two Divisor Latch registers must be loaded during initialization to ensure proper
operation of the baud-rate generator. If both Divisor Latches are loaded with 0, the 16X
output clock is stopped. A Divisor value of 0 in the Divisor Latch Low Register is not
allowed.
The reset value of the divisor is hexadecimal 0x0002. The value of hexadecimal 0x0002
implies a value of hexadecimal 0x00 in the Divisor Latch High Register and a value of
hexadecimal 0x02 in the Divisor Latch Low Register. The Divisor Latch High Register
and Divisor Latch Low Register can only be written after the DLAB bit (bit 7 of the Serial
Line Control Register) is set to logic 1.
The baud rate of the UART transmit and receive data is given by:
Table129 shows some commonly used baud rates.
Baud Rate = 14.7456 MHz/(16xDivisor)
Table 129. Typical Baud Rate Settings
Divisor
Latch High
Register
Divisor Latch
Low Register
Divisor Baud Rate
Generator Clock
Output Baud Rate
Hexadecimal Decimal
0x00 0x01 0x0001 1 14.7456 MHz 921,600
0x00 0x02 0x0002 2 7.3728 MHz 460,800
0x00 0x04 0x0004 4 3.6864 MHz 230,400
0x00 0x08 0x0008 8 1.8432 MHz 115,200
0x00 0x10 0x0010 16 921.6 KHz 57,600
0x00 0x20 0x0020 32 460.8 KHz 28,800
0x00 0x30 0x0030 48 307.2 KHz 19,200
0x00 0x40 0x0040 64 230.4 KHz 14,400
0x00 0x60 0x0060 96 115.2 KHz 9,600
0x00 0xC0 0x00C0 192 76.8 KHz 4,800
0x01 0x80 0x0180 384 38.4 KHz 2,400
0x03 0x00 0x0300 768 19.2 KHz 1,200