How to write a low resolution and slow interface display panel driver

Revision as of 11:44, 22 July 2024 by Registered User
Applicable for STM32MP13x lines, STM32MP15x lines, STM32MP25x lines


1. Article purpose[edit source]

Low resolution display panels can be connected to STM32 boards using low speed interfaces like I2C, SPI or FMC. The most famous of this category of display panels are SSD1306 monochrome OLED panels, the GC9A01 16-bit color round panels, 1602 2 text lines monochrome panels...

The purpose of this article is to:

  • briefly introduce the Linux® kernel frameworks to control these display panels,
  • indicate the peripheral instances assignment at boot time and their assignment at runtime (including whether instances can be allocated to secure contexts),
  • list the software frameworks and drivers managing the peripheral,
  • explain how to configure the peripheral.

Slow interfaces like SPI, I2C, FMC

low speed interface SPI, I2C, FMC

SSD1306 OLED I2C 128x64 Display


{{Info| Before you continue reading this article, you might be interested in the following articles: DRM KMS overview, How to write a display panel or bridge driver, I2C overview, [[SPI overview].}}

2. Prerequisites and preparations[edit source]

What is required to complete the following steps or to achieve the goal?

3. Hardware considerations[edit source]

4. Linux Kernel[edit source]

4.1. Architecture[edit source]

4.2. Software frameworks and drivers[edit source]

4.3. Tests and Debug[edit source]

4.4. Performance considerations[edit source]

5. Use case examples[edit source]

5.1. System monitoring[edit source]

5.2. Video playbacks[edit source]

5.3. Graphics with GPU[edit source]

6. Backlight[edit source]

7. U-boot[edit source]

8. Procedure 1[edit source]

Explain the outcome of this procedure. In the table below, list each high-level step which will be documented in detail below the table.

Step What to do Notes
1
2
3

8.1. Step-by-step instructions[edit source]

  1. Do step 1
  2. Do step 2
    1. Do substep 2.1
  3. Do step 3

9. Procedure 2[edit source]

Explain the outcome of this procedure. In the table below, list each high-level step which will be documented in detail below the table.

Step What to do Notes
1
2
3

9.1. Step-by-step instructions[edit source]

  1. Do step 1
  2. Do step 2
    1. Do substep 2.1
  3. Do step 3

10. Related pages[edit source]

  • Link to related page 1
  • Link to related page 2


11. References[edit source]