FreeCalypso > hg > fc-tourmaline
view src/cs/services/fcbm/fcbm_env.h @ 261:841a848ba762
SPI SWE: clear any pending boot-time interrupts in spi_init()
Charger plug/unplug hw logic in the Iota ABB has no built-in debouncing,
thus electrical contact bounce on the charging power connection interface
produces a lot of charger plug/unplug interrupts. When we boot in
charging mode (charging power present at boot time and is presumably
the cause of Switch-ON), some bounce may occur between the initial
Iota Switch-ON action and Calypso firmware booting. By clearing any
accumulated ITSTATREG interrupts on boot, we prevent these pre-boot
interrupts from generating charger plug/unplug events to FCHG, which
would upset smooth from-boot charging.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 14 May 2021 02:49:05 +0000 |
parents | baa738eeb842 |
children |
line wrap: on
line source
/* * RiViera environment boilerplate header for the FCBM SWE */ #ifndef __FCBM_ENV_H__ #define __FCBM_ENV_H__ #include "rvm/rvm_gen.h" #include "fcbm/fcbm_pool_size.h" #define FCBM_MAILBOX RVF_TASK_MBOX_0 /* memory bank size and watermark */ #define FCBM_MB_PRIM_SIZE FCBM_MB1_SIZE #define FCBM_MB_PRIM_WATERMARK (FCBM_MB_PRIM_SIZE) #define FCBM_MB_PRIM_INC_SIZE 0 #define FCBM_MB_PRIM_INC_WATERMARK 0 /* Prototypes */ T_RVM_RETURN fcbm_get_info (T_RVM_INFO_SWE *infoSWE); T_RVM_RETURN fcbm_set_info(T_RVF_ADDR_ID addr_id, T_RV_RETURN return_path[], T_RVF_MB_ID mbId[], T_RVM_RETURN (*callBackFct) (T_RVM_NAME SWEntName, T_RVM_RETURN errorCause, T_RVM_ERROR_TYPE errorType, T_RVM_STRING errorMsg)); T_RVM_RETURN fcbm_init (void); T_RVM_RETURN fcbm_core (void); T_RVM_RETURN fcbm_stop (void); T_RVM_RETURN fcbm_kill (void); /* global variables */ extern T_RVF_ADDR_ID fcbm_addr_id; extern T_RVF_MB_ID fcbm_prim_id; #endif /* include guard */