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

Revision as of 11:46, 22 July 2024 by Registered User (→‎Article purpose)
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. Some famous of this category of display panels are:

  • the SSD1306 monochrome OLED panels,
  • the GC9A01 round 16-bit color panels,
  • the 1602 monochrome 2 text lines 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]