- Last edited 2 months ago ago
OP-TEE Calibration PTA overview
This article gives information about the OP-TEE OS Calibration PTA.
1 PTA Calibration purpose
The purpose of this article is to explain how to access the HSI and CSI oscillators calibration service.
These internal oscillators are initially calibrated at chip production level. However, they can be affected by temperature and voltage variations. It is important to provide a mechanism to compensate the effects of these variations to achieve a good frequency accuracy.
The service provides a way to calibrate the oscillator based on timer comparison between an oscillator and a refence clock derived from the HSE clock that is considered always accurate.
2 System overview
2.1 Components description
Non secure world:
- Calibration Timer (User Space): User space service (systemd based) that calls the calibration binary at every chosen timer expiration. See How to activate HSI and CSI oscillators calibration to manage the service.
- Calibration (User Space): User space client application that connects to the calibration PTA over a session to request the calibration execution.
Find these calibration features at : stm32mp-calibration/
- TEE Core API Lib (User Space): Library called by the client application to access to the kernel space.
- OP-TEE driver (Kernel Space): Generic driver that send the message to the OP-TEE OS.
- Calibration PTA (OP-TEE core): Interface that exposes the calibration specific services.
- Calibration driver (OP-TEE core): Specific calibration driver that controls and calculates the calibration values.
- TIM driver (OP-TEE core): Timer driver using the OP-TEE counter framework.
- STM32 peripherals (Hardware): Access to hardware specific peripherals (RCC, TIM) under firewall access control.
2.2 API description
The calibration PTA offers a single interface to request a calibration. The calibration is started on HSI and/or CSI depending the calibration driver initialization defined using the Calibration_device_tree_configuration.
3.1 OP-TEE_OS configuration
Activate Calibration PTA in OP-TEE configuration core/arch/arm/plat-stm32mp1/conf.mk :
3.2 Device tree configuration
Detailed DT configuration for STM32 internal peripherals:
4 How to use the framework
A default calibration application is released in the OpenSTLinux ecosystem to give a reference implementation for the calibration service.