view src/cs/drivers/drv_app/pwr/pwr_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

/*****************************************************************************/
/*                                                                           */
/* File Name:  pwr_env.h                                                     */
/*                                                                           */
/* Purpose: This file contains prototypes for RV manager related             */
/*          functions used to get info, start and stop the pwr block         */
/*                                                                           */
/* Version     0.1                                                           */
/*                                                                           */
/* Date        Modification                                                  */
/*  ------------------------------------                                     */
/* 20/08/2000  Create                                                        */
/*                                                                           */
/* Author      Candice Bazanegue (c-brille@ti.com)                           */
/*                                                                           */
/* (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved */
/*****************************************************************************/

#ifndef __PWR_ENV_H__
#define __PWR_ENV_H__

#include "rvm/rvm_gen.h"
#include "pwr/pwr_api.h"

#include "pwr/pwr_cust.h"

#include "pwr/pwr_pool_size.h"	/* Stack & Memory Bank sizes definitions */

#define PWR_MAILBOX_USED   RVF_TASK_MBOX_1

/* memory bank size and watermark */
#define PWR_MB_PRIM_SIZE            PWR_MB1_SIZE

#define PWR_MB_PRIM_WATERMARK     (PWR_MB_PRIM_SIZE - 200)

#define PWR_MB_PRIM_INC_SIZE        0
#define PWR_MB_PRIM_INC_WATERMARK   0

typedef struct
{
   T_RVF_MB_ID          prim_id;
   T_RVF_ADDR_ID        addr_id;
   T_PWR_CHARGING_STATE charging_state;
   UINT16               i2v_madc_offset;
   UINT16               madc_eoc_current_code;
   UINT16               max_voltage_code;
   T_POWER_INFO         power_info;
   T_POWER_ALERT        power_alert;
   T_RV_RETURN          power_emergency;
   T_PWR_TIMER0_STATE   timer0_state;
   T_PWR_BATTERY_TYPE   bat_type;
   INT16                bat_celsius_temp; /* temperature in Celsius degrees */
} T_PWR_ENV_CTRL_BLK;


extern T_PWR_ENV_CTRL_BLK *pwr_env_ctrl_blk;


/* Prototypes */

T_RVM_RETURN pwr_get_info (T_RVM_INFO_SWE  *infoSWE);

T_RVM_RETURN pwr_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 pwr_init (void);
T_RVM_RETURN pwr_start (void);
T_RVM_RETURN pwr_stop (void);
T_RVM_RETURN pwr_kill (void);


#endif /* __PWR_ENV_H__ */