The LCD controller supports a variety of user-programmable options, including display type and size, frame buffer pixel size and output data width. Although all programmable combinations are possible, the selection of displays available within the market dictate which combinations of these programmable options are practical. In addition, the type of external memory system implemented by the user limits the bandwidth of the LCD’s DMA controller, which in turn limits the size and type of screen which can be controlled.
The following sections describe individual functional blocks within the LCD controller, the frame buffer and palette memory organization, and the LCD’s DMA controller. The sections are arranged in order of data flow, starting with the off-chip frame buffer and ending with the pins that interface to the LCD display.