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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...