Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
reboot.h File Reference

Reboot handling for Infuse-IoT applications. More...

#include <stdint.h>
#include <zephyr/kernel.h>
#include <zephyr/fatal_types.h>
#include <zephyr/toolchain.h>

Go to the source code of this file.

Data Structures

union  infuse_reboot_info
 Detailed information about the reboot location/cause RISCV platforms have 16 byte alignment requirements for arch_esf. More...
 
struct  infuse_reboot_state
 Reboot state information. More...
 

Macros

#define REBOOT_STATE_THREAD_NAME_MAX   8
 

Enumerations

enum  infuse_reboot_reason {
  INFUSE_REBOOT_ZEPHYR_BASE = K_ERR_CPU_EXCEPTION , INFUSE_REBOOT_ARCH_SPECIFIC = K_ERR_ARCH_START , INFUSE_REBOOT_INFUSE_START = 128 , INFUSE_REBOOT_HW_WATCHDOG = 128 ,
  INFUSE_REBOOT_EXTERNAL_TRIGGER = 129 , INFUSE_REBOOT_RPC = 130 , INFUSE_REBOOT_LTE_MODEM_FAULT = 131 , INFUSE_REBOOT_MCUMGR = 132 ,
  INFUSE_REBOOT_CFG_CHANGE = 133 , INFUSE_REBOOT_SW_WATCHDOG = 134 , INFUSE_REBOOT_DFU = 135 , INFUSE_REBOOT_UNKNOWN = 255
}
 Enumeration of reboot reasons. More...
 
enum  infuse_reboot_info_type { INFUSE_REBOOT_INFO_GENERIC = 0 , INFUSE_REBOOT_INFO_EXCEPTION_BASIC , INFUSE_REBOOT_INFO_EXCEPTION_ESF , INFUSE_REBOOT_INFO_WATCHDOG }
 Type of infuse_reboot_info data. More...
 

Functions

_NORETURN void infuse_reboot (enum infuse_reboot_reason reason, uint32_t info1, uint32_t info2)
 Trigger a system reboot.
 
void infuse_reboot_delayed (enum infuse_reboot_reason reason, uint32_t info1, uint32_t info2, k_timeout_t delay)
 Trigger a system reboot in the future.
 
int infuse_reboot_state_query (struct infuse_reboot_state *state)
 Query the reason for the previous reboot.
 

Detailed Description

Reboot handling for Infuse-IoT applications.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2