Error codes definitions.
Macros | |
| #define | IFX_SE_ERROR_CODE(e) IFX_SE_FIH_UINT_INIT((uint32_t)(e)) |
| Makes Secure Runtime Services Utility FIH based error code. | |
| #define | IFX_SE_SUCCESS IFX_SE_ERROR_CODE(0xAA5533CCu) |
| Success operation. | |
| #define | IFX_SE_INVALID IFX_SE_ERROR_CODE(0xFF000000u) |
| The fail status of the SE RT Services return value. | |
| #define | IFX_SE_DISABLED IFX_SE_ERROR_CODE(0xFF000001u) |
| Returned when SE RT Services in disabled state. | |
| #define | IFX_SE_SYSCALL_NOT_SUPPORTED IFX_SE_ERROR_CODE(0xFF000002u) |
| Returned for non-supported algorithms or operations. | |
| #define | IFX_SE_SYSCALL_GENERAL_ERROR IFX_SE_ERROR_CODE(0xFF000003u) |
| Returned on general uncategorized error. | |
| #define | IFX_SE_SYSCALL_ADDR_PROTECTED IFX_SE_ERROR_CODE(0xFF000004u) |
| Returned by all APIs when client doesn't have access to region it is using for passing arguments. | |
| #define | IFX_SE_SYSCALL_PROTECTED IFX_SE_ERROR_CODE(0xFF000005u) |
| Returned if a master with PC > 2 tries to use PSA syscall. | |
| #define | IFX_SE_SYSCALL_INVALID_OPCODE IFX_SE_ERROR_CODE(0xFF000006u) |
| The opcode is not a valid API opcode. | |
| #define | IFX_SE_SYSCALL_INVALID_ARGUMENT IFX_SE_ERROR_CODE(0xFF000007u) |
| Returned if invalid arguments are passed to a API or SysCall. | |
| #define | IFX_SE_SYSCALL_ADDR_OUT_OF_RANGE IFX_SE_ERROR_CODE(0xFF000009u) |
| Returned when parameters data in non-supported memory regions (MAIN_NVM, SRAM, SOCMEM_RAM or XIP) | |
| #define | IFX_SE_SYSCALL_FI_DETECTED IFX_SE_ERROR_CODE(0xFF00000Au) |
| Returned when Fault Injection attack detected. | |
| #define | IFX_SE_SYSCALL_STORAGE_FAILURE IFX_SE_ERROR_CODE(0xFF00000Bu) |
| Returned on storage failures. | |
| #define | IFX_SE_SYSCALL_STORAGE_TIMEOUT IFX_SE_ERROR_CODE(0xFF00000Cu) |
| Returned when data not written during defined timeout. | |
| #define | IFX_SE_SYSCALL_OV_DETECTED IFX_SE_ERROR_CODE(0xFF00000Du) |
| Returned when over-voltage detected during syscall execution. | |
| #define | IFX_SE_SYSCALL_RRAM_CLK_ERROR IFX_SE_ERROR_CODE(0xFF00000Eu) |
| Returned when RRAM clock (HFCLK0) not corresponding to selected RRAM power mode (LP/ULP) | |
| #define | IFX_SE_SYSCALL_INVALID_CLOCK IFX_SE_ERROR_CODE(0xFF00000Fu) |
| Returned when CPU clock (HFCLK0) frequency not in the supported range (3,6MHz - 210MHz) | |
| #define | IFX_SE_SYSCALL_INTEGRITY_FAILURE IFX_SE_ERROR_CODE(0xFF000010u) |
| Returned on data integrity (CRC check) error. | |
| #define | IFX_SE_SYSCALL_INSUFFICIENT_STORAGE IFX_SE_ERROR_CODE(0xFF000011u) |
| Returned when input data bigger then supported. | |
| #define | IFX_SE_SYSCALL_BUFFER_TOO_SMALL IFX_SE_ERROR_CODE(0xFF000012u) |
| Returned when the output buffer is too small to store the operation output data. | |
| #define | IFX_SE_SYSCALL_DATA_INVALID IFX_SE_ERROR_CODE(0xFF000013u) |
| Returned on output data preparation error. | |
| #define | IFX_SE_SYSCALL_ADDR_NOT_ALIGNED IFX_SE_ERROR_CODE(0xFF000014u) |
| Returned when address not aligned. | |
| #define | IFX_SE_SYSCALL_INSUFFICIENT_DATA IFX_SE_ERROR_CODE(0xFF000015u) |
| Returned when input data size less then expected. | |
| #define | IFX_SE_SYSCALL_INVALID_PARAM_NUM IFX_SE_ERROR_CODE(0xFF000016u) |
| Returned when number of syscall parameters is incorrect. | |
| #define | IFX_SE_SYSCALL_INVALID_PACKET_DATA IFX_SE_ERROR_CODE(0xFF000017u) |
| Returned when syscall packet data is empty. | |
| #define | IFX_SE_SYSCALL_INVALID_PACKET_SIZE IFX_SE_ERROR_CODE(0xFF000018u) |
| Returned when syscall packet size is incorrect. | |
| #define | IFX_SE_SYSCALL_INVALID_PACKET_PARAM IFX_SE_ERROR_CODE(0xFF000019u) |
| Returned when syscall packet data has damaged FIH parameters. | |
| #define | IFX_SE_SYSCALL_INSUFFICIENT_CONTEXT IFX_SE_ERROR_CODE(0xFF00001Au) |
| Returned when no operation context is available. | |
| #define | IFX_SE_SYSCALL_INVALID_TEMPERATURE IFX_SE_ERROR_CODE(0xFF00001Bu) |
| Returned when measured temperature is not in supported range (-40C - +125C) More... | |
| #define | IFX_SE_SYSCALL_INSUFFICIENT_COUNTER IFX_SE_ERROR_CODE(0xFF00001Cu) |
| Returned when no key usage Limit counter is available. | |
| #define | IFX_SE_SYSCALL_TIMEOUT_ERROR IFX_SE_ERROR_CODE(0xFF0000FEu) |
| Returned when syscall didn't respond until defined timeout. | |
| #define | IFX_SE_SYSCALL_INVALID_MEM_ALLOC IFX_SE_ERROR_CODE(0xFF0000FFu) |
| Returned when memory allocation failed. | |
| #define | IFX_SE_SYSCALL_SS_ON IFX_SE_ERROR_CODE(0xFF000100u) |
| Returned when subsystem is attempted to be powered on but it is already in ON state. | |
| #define | IFX_SE_SYSCALL_SS_POWERON_FAIL IFX_SE_ERROR_CODE(0xFF000101u) |
| Returned when the subsystem is failed to power on. | |
| #define | IFX_SE_SYSCALL_SS_RESET_FAIL IFX_SE_ERROR_CODE(0xFF000102u) |
| Returned when the subsystem is failed to come out of reset. | |
| #define | IFX_SE_SYSCALL_SS_INVALID_STATE IFX_SE_ERROR_CODE(0xFF000103u) |
| Returned when the subsystem could not transition to the required state to execute the service. | |
| #define | IFX_SE_SYSCALL_CORRUPTION_DETECTED IFX_SE_ERROR_CODE(0xFFBADBADu) |
| Returned when data corruption detected. | |
| #define IFX_SE_SYSCALL_INVALID_TEMPERATURE IFX_SE_ERROR_CODE(0xFF00001Bu) |
Returned when measured temperature is not in supported range (-40C - +125C)
Temperature is measured during EPC4 device boot process. User application may read its status by ifx_se_get_info API.
When temperature error occurs, it is no longer possible to perform the next operations:
To return the Secure Runtime Services to the normal operational state the user application should call sequence of ifx_se_disable and ifx_se_enable when device temperature is returned to allowed range.