SE RT Services Utilities library
Enable/Disable/Power control

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

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]ctxThe 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]ctxThe 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]modePower mode value.
[in]ctxThe 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]outputBuffer where the output is to be written.
[in]output_sizeSize of the output buffer in bytes.
[in]ctxThe 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