24bit LCD for BBB

The BeagleBone Black (BBB) uses Texas Instrument's AM335x processor, which supports up to 24-bit data output (8 bits per pixel); however, most LCD capes for the BeagleBone Black is configured at 16-bit mode as using 24-bit data output will limit the number of pins on the expansion headers for other capes. If for any reason you would like to have the TFT parallel interface in 24-bit mode, you can try a few things below.

Note: The configuration below is done on Angstrom linux

Hardware configuration
The AM335x has an errata for color assignments of LCD_DATA signals. These color assignments are different between 16-bit and 24-bit modes. To get a 24-bit output mode, the LCD_DATA signals need to be connected to the LCD panel as follow.



Device tree configuration
Each pin on the BBB's expansion connectors (P8 and P9) can be configured to have different functionality. To provide the TFT interface, the pins that correspond to the TFT signals need to be configured as LCD function. An example of this can be seen on the device tree overlay for the LCD4 Cape. To change from 16-bit to 24-bit mode, the upper 8 bits of the TFT signals need to be added to the device tree overlay. Add something like this to the pinmux configuration for your LCD:

To avoid conflict with other capes that use these pins, add this to the  of the overlay:

In your panel-info {}, change the  to.

Additional Settings

 * If you are using X, in the X configuration file change the  option under   to 24. The X configuration file can usually be found at.
 * You can also change the Kernel Mode Settings (KMS) by passing something like  to the kernel command line, in which:
 * LVDS-1: DRM connector (similar to DVI, HDMI, etc)
 * 1024x768: screen resolution
 * 24: color depth (24-bit)
 * 60: refresh rate