Jump to content

Improvements to the STM32LTDC driver


Recommended Posts

We've made changes to the STM32LTDC driver. While the changelog and updated board files reflect the changes necessary this forum post attempts to provide an overview of the changes necessary for migrations:

Peripheral clock setups
The driver no longer implements the necessary logic to setup the clocks for the LTDC & DMA2D peripherals. Instead, the board file now contains the new functions:

  • void init_ltdc_clock(void)
  • void init_dma2d_clock(void)

Prior to this change, the driver itself setup the clocks. This change was made to increase portability and remove any dependency of underlying HAL definitions for RCC.

This change also makes the previously existing LTDC_NO_CLOCK_INIT option obsolete and was removed accordingly.

Renaming existing configuration options
For consistency reasons and easier upgrading to µGFX v3.x, the following changes were made to the configuration options:

  • ALLOW_2ND_LAYER -> STM32LTDC_USE_LAYER2
  • GDISP_LTDC_USE_RGB565 -> STM32LTDC_USE_RGB565
  • LTDC_DMA_CACHE_FLUSH -> STM32LTDC_DMA_CACHE_FLUSH
  • LTDC_USE_DMA2D -> STM32LTDC_USE_DMA2D

Double Buffering
The STM32LTDC now supports double buffering. This feature can be enabled via STM32LTDC_USE_DOUBLEBUFFERING.
For more information on this, see the readme.md in /drivers/gdisp/STM32LTDC.

Link to comment
Share on other sites

  • Joel Bodenmann changed the title to Improvements to the STM32LTDC driver
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...