Datasheet
AVR32416
5
32105-AVR32-07/08
2.1.2.3 Hardware swap for 16-bit resolution
In a 16-bit resolution the opposite of the BGR-555.1 format is considered as the RGB-
565 format. Therefore a hardware swap for a 16-bit resolution needs more
considerations especially because here the intensity bit needs to be used
appropriately. More information about the frame buffer layout and data ordering can
be found in chapter “3.5 Frame buffer”. Table 2-3 shows how an 18-bit display can be
connected to the LCD controller that uses a frame buffer with a RGB-565 pixel format.
One of the intensity signals can be chosen as the B4 component as described in the
table. Data lines B0 and R0 are not used on the 18-bit display in this setup.
Table 2-3. Hardware swap for 16-bit resolution to a 18-bit display
RGB-565 format in the
memory
BGR-555.1 format
in the memory
LCD Controller
interface
Display interface
0 B0 R0 LCDD[3] B1
1 B1 R1 LCDD[4] B2
2 B2 R2 LCDD[5] B3
3 B3 R3 LCDD[6] B4
4 B4 R4 LCDD[7] B5
5 G0 G0 LCDD[11] G0
6 G1 G1 LCDD[12] G1
7 G2 G2 LCDD[13] G2
8 G3 G3 LCDD[14] G3
9 G4 G4 LCDD[15] G4
10 G5 B0 LCDD[19] G5
11 R0 B1 LCDD[20] R1
12 R1 B2 LCDD[21] R2
13 R2 B3 LCDD[22] R3
14 R3 B4 LCDD[23] R4
15 R4 I LCDD[2]
LCDD[10]
LCDD[18]
R5
2.2 Double buffering (2D Memory Addressing)
The LCD controller can be configured to work on a frame buffer larger than the actual
screen size. By changing the values in a few registers, it is easy to move the
displayed area along the frame buffer width and height. The LCD controller
increments the frame buffer pointer according to the pixel offset and the address
increment to enable panning. This is used to implement a double buffering of the
frame buffer. The updating of the new data is handled by the LCD controller driver
and is used by the Linux frame buffer driver. The only thing the user has to do is to
activate this feature in the setup and make sure that the double memory size is
reserved for the frame buffer. Further software details are explained in chapter 1.










