I'm developing a project where, using a ESP32 with the esp-idf framework. I need to control, among other things, an LCD display with an SSD1963 controller, and I can only spare 8 GPIO pins for its parallel bus.
With that established, using an 8-bit bus the controller will take RGB888 data (page 17 of the datasheet).
The problem is: the LVGL library, which I'm pretty set on using, is currently unable to provide a pixel buffer in RGB888, which makes sense as 24-bit data isn't ideal for memory alignment on a 32-bit system. It can provide the buffer in ARGB8888 or RGB565, though.
The most immediate solution would be to "translate" the buffer to the desired encoding, but that would take a lot of CPU cycles and memory, both of which I'm not sure I have to spare. If I'm doing that there is no point in using esp_lcd. (maybe I'm wrong and this IS a reasonable solution?)
Is it possible for me to reconfigure the esp_lcd module's DMA to either skip the Alpha byte of ARGB8888 or "decode" RGB565? Maybe there is a better solution I'm not thinking of?