view src/cs/drivers/drv_app/fchg/bsim_etm_cmd.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 aec644728174
children
line wrap: on
line source

/*
 * This header file defines ETM commands that can be sent from a
 * development host to FCHG operating in BSIM mode.
 */

#ifndef	__BSIM_ETM_CMD_H
#define	__BSIM_ETM_CMD_H

/* ETM_BSIM command opcodes */
#define	BSIM_CMD_QUERY		0x00
#define	BSIM_CMD_DISCHARGE	0x01	/* 1 byte with battery % follows */
#define	BSIM_CMD_CHG_START	0x02
#define	BSIM_CMD_CHG_CI2CV	0x03
#define	BSIM_CMD_CHG_COMPLETE	0x04
#define	BSIM_CMD_SET_ICHG	0x05	/* 2 bytes of Ichg value follow */
#define	BSIM_CMD_START_ENABLE	0x06	/* 1 byte with flag follows */

/* status response codes */
#define	BSIM_STAT_OK		0x00
#define	BSIM_ERR_BAD_CMD	0x02
#define	BSIM_ERR_WRONG_STATE	0x03
#define	BSIM_ERR_INV_PERCENT	0x04
#define	BSIM_ERR_INV_DISCHARGE	0x05

#endif	/* include guard */