SE RT Services Utilities library

| SE RT Services Utilities library

Data Structures | Enumerations | Functions
Enable/Disable/Power control
IFX SE Generic Syscall API

## General Description

Enable/Disable/Power control definitions.

## Data Structures
struct | ifx_se_rt_info_t
| The structure of data which provides provisioned data shared by RRAM Boot during initialization. More...

## Enumerations
enum | ifx_se_en_power_mode_t { IFX_SE_PM_DEEP_SLEEP = 0 , IFX_SE_PM_DEEP_SLEEP_RAM = 1 , IFX_SE_PM_SHUT_OFF = 2 , IFX_SE_PM_MAX }
| SE power mode. More...

## Functions
ifx_se_status_t | ifx_se_disable (void *ctx)
| Disables Clock Supervisor Fault and SE RT Services except Disable and Enable syscalls. More...
ifx_se_status_t | ifx_se_enable (void *ctx)
| Validates clock and power configuration, measures actual device temperature (only on EPC4 device when temperature measurement during boot is out of valid range), configures and enables Clock Supervisor then enables SE RT Services. More...
ifx_se_status_t | ifx_se_set_lpm (ifx_se_en_power_mode_t mode, void *ctx)
| Sets power mode which SE RT Services will use during wait for event state. More...
ifx_se_status_t | ifx_se_get_info (ifx_se_rt_info_t *output, size_t output_size, void *ctx)
| This function reads the system information passed from RRAM Boot and copies it to output buffer. More...

## Data Structure Documentation

## ◆ ifx_se_rt_info_t

struct ifx_se_rt_info_t

Data Fields
int32_t | temperature | Temperature measured during boot.

## Enumeration Type Documentation

## ◆ ifx_se_en_power_mode_t

enum ifx_se_en_power_mode_t

SE power mode.

Enumerator
IFX_SE_PM_DEEP_SLEEP | DeepSleep mode.
IFX_SE_PM_DEEP_SLEEP_RAM | DeepSleep RAM mode (obsoleted)
IFX_SE_PM_SHUT_OFF | Shut off mode.
IFX_SE_PM_MAX | Maximum value to fix enum size.

## Function Documentation

## ◆ ifx_se_disable()

ifx_se_status_t ifx_se_disable | ( | void * | ctx | ) |

Disables Clock Supervisor Fault and SE RT Services except Disable and Enable syscalls.

Parameters

  [in] | ctx | The pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).

Returns
  IFX_SE_SUCCESS for success or error code

Note
  This function can be used by TF-M to hold SE RT Services for the clocks and/or power setting update in the SOC.

## ◆ ifx_se_enable()

ifx_se_status_t ifx_se_enable | ( | void * | ctx | ) |

Validates clock and power configuration, measures actual device temperature (only on EPC4 device when temperature measurement during boot is out of valid range), configures and enables Clock Supervisor then enables SE RT Services.

Parameters

  [in] | ctx | The pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).

Returns
  IFX_SE_SUCCESS for success
  IFX_SE_SYSCALL_RRAM_CLK_ERROR when RRAM clock (HFCLK0) not corresponding to selected RRAM power mode (LP/ULP)
  IFX_SE_SYSCALL_INVALID_CLOCK when CPU clock (HFCLK0) frequency not in the supported range (3,6MHz - 210MHz)
  IFX_SE_SYSCALL_INVALID_TEMPERATURE when measured temperature is not in supported range (-40C - +125C)

## ◆ ifx_se_set_lpm()

ifx_se_status_t ifx_se_set_lpm | ( | ifx_se_en_power_mode_t | mode,
|  | void * | ctx
| ) |  |

Sets power mode which SE RT Services will use during wait for event state.

Parameters

  [in] | mode | Power mode value.
  [in] | ctx | The pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).

Returns
  IFX_SE_SUCCESS for success or error code

Note
  This function is only for internal use and couldn't be called directly.

## ◆ ifx_se_get_info()

ifx_se_status_t ifx_se_get_info | ( | ifx_se_rt_info_t * | output,
|  | size_t | output_size,
|  | void * | ctx
| ) |  |

This function reads the system information passed from RRAM Boot and copies it to output buffer.

Parameters

  [out] | output | Buffer where the output is to be written.
  [in] | output_size | Size of the `output` buffer in bytes.
  [in] | ctx | The pointer to the SE syscall context that contain a special syscall data (IPC release callback etc).

Returns
  IFX_SE_SUCCESS for success or error code