2020-04-06 06:28 AM - edited 2024-12-05 09:48 AM
The §LCD-TFT display controller in STM32MP157F datasheet or in STM32MP135F datasheets states that maximum display resolution for the LTDC controller is WXGA (1366×768) @ 60 fps or up to Full HD (1920 x 1080) @ 30 fps with RGB888 pixel format.
So, the question is: Can the LTDC controller support other display configurations?
The maximum display resolution depends on the SoC bus architecture, the DDR controller, and the LTDC display controller.
The STM32MP15 and STM32MP13 supports a pixel stream from a frame buffer located in DRAM into a display interface with a maximum pixel clock of 90 MHz with pixels in RGB888 format. The maximum pixel clock is 150 MHz with ST32MP2x for Full HD (1920 x 1080) @ 60 fps / RGB888.
The pixel clock frequency corresponds to the frequency of the pixel sent to the display. The display refresh rate defines the number of pixels displayed each second (fps). Generally, it is 60 fps and can be modified.
To display a picture each second, the display expects some blanking period with virtual pixels (no real pixels, called vertical and horizontal 'porch' in the figure below). Periods with active pixels correspond to the pixels of the image transmitted. Generally, the banking periods last 40% of a frame period. This depends on the panel, and can be shorter.
The maximum display resolution for RGB888 pixels is such:
Display pixel width X display nb of lines X fps X 1.4 <= maximum STM32MP1 pixel clock, that is, 90 MHz.
For example, a display with the resolution 1366 x 768 @ 60 fps needs a pixel clock 1366*768*60*1.4 = 88 MHz display. 1280 x 800 @ 60 fps needs to 86 MHz, is also fine.
One can support higher resolution by reducing the display refresh rate or the display blanking period (tolerance depending on display).
One can support various display pixels width/display nb of lines without any issue.
The maximum drawing rate is the number of times per second the GPU or the A7 can redraw in a frame buffer. Note this highly depends on the GUI application and graphical software stack optimizations. The higher the drawing rate is, the GUI becomes smoother.