![]() |
Coming soon |
1. Article purpose[edit source]
This article aims to explain how to use the secure display hardware feature thanks to:
- the STM32 LTDC internal peripheral
- the following secure hardware internal peripherals:
- on STM32MP13x lines
, the STM32 ETZPC internal peripheral
- on STM32MP25x lines
, the STM32 RIFSC internal peripheral
- on STM32MP13x lines
- the STM32 OP-TEE framework and its related libutee library<ref name="libutee>OP-TEE libraries (libutee) man pages that offers services to Trusted Applications (TA)" including the Trusted User Interface (TUI) API
This article also explains how to configure and use a Trusted User Interface / Trusted Application example for demonstrating the secure display hardware feature.
2. Prerequisites[edit source]
To run the Trusted User Interface / Trusted Application example, required hardware boards and software stacks are listed below:
- On STM32MP13x lines
: The STM32MP135x-DK Discovery kit
- On STM32MP25x lines
: The STM32MP257x-EV1 Evaluation board
or the STM32MP257x-DK Discovery kit
- A display panel or the HDMI interface
- An OpenSTLinux distribution
3. LTDC Secure layer description[edit source]
On STM32MP13x lines , the LTDC layer2 can be set as secure (under ETZPC control), whereas the layer1 is always non-secure.
On STM32MP25x lines , the LTDC layer3 can be set as secure (under RIFSC internal peripheral control), whereas layer1 and layer2 are always non-secure, with grouped regs and additional interrupt set:
- The RISUP differentiates the access right of accesses performed toward the following RIF protected peripheral ID:
- "LTDC common": LTDC common registers, about panel info, synchronization, interface
- "LTDC_L1L2" (layer 1 and 2): for the window of any two default applications
- "LTDC_L3": LTDC layer 3, for the window of a potentially secure application, or any default application if there is no secure layer
- "LTDC_ROT": LTDC rotation, with information about the rotation buffers
- The RIMU differentiates the bus transactions emitted by the following AXI masters:
- "RIMU_L1L2": read access only for layer 1 and 2, always non-protected
- "RIMU_L3": read access only for layer 3, potentially protected
- "RIMU_ROT": write of blended pixels, and read of to-be-rotated pixels, potentially protected, because containing blended pixels of the protected layer 3
4. Configuration[edit source]
header file of LTDC HAL module