TF-M input/output control (IOCTL)

The TF-M IOTCL library provides an API for platform-specific TF-M services. These services are added by the platform partition. The APIs are available for non-secure applications.

For more information on implementing TF-M in your application, see Running applications with Trusted Firmware-M.


Platform-specific services are internally accessed through the tfm_platform_hal_ioctl() function. Wrapper functions for these accesses are defined in tfm_ioctl_ns_api.c and tfm_ioctl_s_api.c.

The supported platform services are defined by tfm_platform_ioctl_core_reqest_types_t in tfm_ioctl_core_api.h.

/** @brief Supported request types.
enum tfm_platform_ioctl_core_reqest_types_t {

	/* Last core service, start platform specific from this value. */

Set the CONFIG_TFM_PARTITION_PLATFORM Kconfig option to enable the services.

See the TF-M Hello World sample for example usage.


This library requires that TF-M is installed on the device.

API documentation

Header file: include/tfm/tfm_ioctl_api.h
Source files: modules/tfm/tfm/boards/src/
group tfm_ioctl_api