FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/fchg/fchg_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 | 4e78acac3d88 |
children |
line wrap: on
line source
/* * RiViera environment boilerplate header for the FCHG SWE */ #ifndef __FCHG_ENV_H__ #define __FCHG_ENV_H__ #include "rvm/rvm_gen.h" #include "fchg/fchg_struct.h" #include "fchg/fchg_pool_size.h" #define FCHG_MAILBOX RVF_TASK_MBOX_0 #define FCHG_TIMER RVF_TIMER_0 /* memory bank size and watermark */ #define FCHG_MB_PRIM_SIZE FCHG_MB1_SIZE #define FCHG_MB_PRIM_WATERMARK (FCHG_MB_PRIM_SIZE) #define FCHG_MB_PRIM_INC_SIZE 0 #define FCHG_MB_PRIM_INC_WATERMARK 0 extern T_PWR_CTRL_BLOCK *pwr_ctrl; /* Prototypes */ T_RVM_RETURN fchg_get_info (T_RVM_INFO_SWE *infoSWE); T_RVM_RETURN fchg_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 fchg_init (void); T_RVM_RETURN fchg_core (void); T_RVM_RETURN fchg_stop (void); T_RVM_RETURN fchg_kill (void); #endif /* include guard */