Framebuffer rgb565.

Question on framebuffer and lcd. As I understand the default format is 32-bit framebuffer. I have connected lcd with 6 bit bus - 262k colors. I decided that a good solution would be to have a 16 bit rgb565 - 65k color. But I do not know how to agree on the format of the framebuffer and the lcd format.
The framebuffer translated into the rgb565 format, checked by saving the screenshot cat /dev/fb0 > file.raw. As I understand it, in order for the framebuffer on lcd to display correctly, you need to make changes to the sunxi_composer_mode_set function in the uboot-v3s-current/drivers/video/sunxi_display.c file. But I can not find the description on the module display engine for v3s. At the moment, v3s displays the memory area on lcd considering that the pixel format is a8r8g8b8. What changes need to be made to read the memory according to the format of rgb565?
Sorry for bad english.

Found the description of the display engine 2. For the correct display of the rgb565 framebuffer, you need to make changes in 2 files.

  1. In the file uboot-v3s-current/arch/arm/include/asm/arch-sunxi/display.h add the line #define SUNXI_DE2_FORMAT_RGB_565 0x0A
  2. In the file uboot-v3s-current/drivers/video/sunxi_display.c replace
    “data = SUNXI_DE2_UI_CFG_ATTR_EN |
    SUNXI_DE2_UI_CFG_ATTR_FMT (SUNXI_DE2_FORMAT_XRGB_8888) |
    SUNXI_DE2_UI_CFG_ATTR_ALPMOD (1) |
    SUNXI_DE2_UI_CFG_ATTR_ALPHA (0xff);”
    on
    “data = SUNXI_DE2_UI_CFG_ATTR_EN |
    SUNXI_DE2_UI_CFG_ATTR_FMT (SUNXI_DE2_FORMAT_RGB_565);”