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 */