Datasheet
AVR32416
9
32105-AVR32-07/08
Graphics support ->
Support for frame buffer devices ->
AT91/AT32 LCD Controller support
These will add the LCD controller driver and the frame buffer driver to the kernel. If
one of the LCD low level abstraction layers should be used with the LCD driver they
can be activated under
Device Drivers ->
Graphics support ->
Support for frame buffer devices ->
Backlight & LCD device support
A selection entry for a custom LCD driver should be added here if necessary. For
example the LCD driver for the Samsung LTV350QV display that is mounted on the
STK1000 can be selected here after enabling the low level LCD controls. The
LTV350QV driver depends on the low level LCD layer and is thus listed as sub-menu
entry.
3.5 Frame buffer
3.5.1 Configuration
The size and location of the frame buffer can be specified upon startup of the kernel
on the kernel command line. This approach is optional but may especially be needed
if the frame buffer shall be placed at a dedicated location or when the available
memory is scarce. The size of the frame buffer depends on the display size and must
be calculated. The LCD controller has support for a double buffering of the frames.
This means one frame can be displayed while the other buffer is filled with new data.
If this feature is needed the frame buffer size must be doubled. If the following line is
added to kernel command line (this can be done in U-Boot by editing the bootargs
variable)
fbmem=600k@0x10500000
a frame buffer of the size 600KiB at the address 0x10500000 will be reserved. This
frame buffer size can be used on the STK1000 for the QVGA display (320x240x4x2).
The display has the size of 320x240 pixels. One pixel can be represented as 32bits in
the frame buffer which leads to 4 bytes for a pixel (3x8bit for the colors and 8bit
empty). This is the largest possible pixel size but is actually not used by default on the
STK1000 (default 24bit = 3x8bit colors). The larger frame buffer leaves room to a
user that wants to set up the frame buffer with a 32bit pixel size. To provide the
double buffering the size must be doubled.
If no frame buffer was specified on the kernel command line the LCD controller driver
will allocate the needed memory automatically. For the STK1000 this will be 225KiB
(320x240x3) which will not provide a double buffering. This can be verified by reading
out the kernel log with the dmesg tool.
3.5.2 Memory layout
The LCD controller expects a BGR data ordering in the frame buffer. Table 3-1 shows
how the data must be placed in the frame buffer for a configuration that uses a 24-bit
unpacked resolution. The unpacked version uses 32-bit with an 8-bit space that is
unused.










