7-10 Intel® PXA255 Processor Developer’s Manual
LCD Controller
unpacked into individual pixel encodings of 1, 2, 4, 8, or 16 bits each. After the value is removed
from the bottom of the FIFO, the entry is invalidated, and all data in the FIF O is shifted down one
entry. When four of the entries are empty, a service r equest is iss ued to th e DMAC. If th e DMAC is
not able to keep the FIFO filled with enough pixel data (due to insufficient ex ternal mem ory access
speed) and the FIFO is emptied, the appropriate FIFO underrun status bit is set (bit IUL or IUU in
register LCSR), and an interrupt request is issued (unless it is masked).
7.4 LCD External Palette and Frame Buffers
The LCD controller supp orts a variety of user-pr ogrammable options, inc luding display type an d
size, frame buffer location, encoded pixe l size, and output data width. Although all programmable
combinations are possible, the displays available on the market dictate which combinations of
these programmable options are practical. The processor external system memory limits the
throughput of the LCD controller’s DMAC, which, in turn, limits the size and type of display that
can be controlled. The user must also determine the maximum b andwidth of the processor external
bus that the LCD controller is allowed to use without ne ga tively affecting all other functions that
the processor must perform.

7.4.1 External Palette Buffer

The external palette buffer is an off-chip memory area containing up to 256 16-bit entries to be
loaded into the internal palette RAM. The palette buffer data does not have to be at the beginning
of the external frame buffer, it can also be in a separate memory location. Palette data is 8 bytes (4
entries) for 1 and 2-bit pixels (the last 2 entries are loaded but not used with 1 -bit pixels), 32 bytes
(16 entries) for 4-bit pixels, and 512 bytes (256 entries) for 8-bit pixels. The palette RAM is not
used and must not be loaded when using 16 bits per pixel.
After enabling the LCD controller, the user must first load the palette RAM before processing any
frame data. After the initial load, the palette can be reloaded optionally on a fr ame-by-frame basis.
This would be done when the color selection changes frame to frame. The palette RAM is always
loaded with DMA channel 0.
Figure7-5 shows the format of the palette entries in little endian. “Endian” does not imply
endianness with respect to bytes and half-words within m e mory. It refers strictly to the ordering of
the palette entries; i.e., whether palette entry 0 is at the MSB or the LSB of a word boundary. The
ordering of RGB values within the 16-bit en try is fixed f or l ittl e endi an. In Figure7-5, “Base” is the
palette buffer base programmed in regi st e r FSA D R.