view src/gpf/inc/esf_func.h @ 263:b5e8dfd114a7

Switch_ON(): go into charging boot mode on either CHGSTS or CHGPRES If someone were to plug and then unplug a charger into a switched-off phone in an extremely brief "glitch" manner, we should do an automatic power-off on boot in this condition. When we were checking only CHGPRES in Switch_ON(), we would go into Misc boot state instead, which is undesirable. Now if we have a CHGSTS but not CHGPRES condition, we will go into charging boot mode, and FCBM will then do the automatic power-off upon detecting absence of the charger in its periodic polling.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 14 May 2021 05:50:36 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/* 
+------------------------------------------------------------------------------
|  File:       esf_func.h
+------------------------------------------------------------------------------
|  Copyright 2002 Texas Instruments Berlin, AG 
|                 All rights reserved. 
| 
|                 This file is confidential and a trade secret of Texas 
|                 Instruments Berlin, AG 
|                 The receipt of or possession of this file does not convey 
|                 any rights to reproduce or disclose its contents or to 
|                 manufacture, use, or sell anything it may describe, in 
|                 whole, or in part, without the specific written consent of 
|                 Texas Instruments Berlin, AG. 
+----------------------------------------------------------------------------- 
|  Purpose :  ESF API and types.
+----------------------------------------------------------------------------- 
*/ 

#ifndef __ESF_FUNC_H__
#define __ESF_FUNC_H__

/*==== CONSTANTS ==================================================*/

#define ESF_INITIALIZED   0xAFFEDEAD

/*==== TYPES ======================================================*/

typedef struct
{
  unsigned int magic_nr;
  void (*init_func1)(void);      
  void (*init_func2)(void);      
  void (*send_prim)(T_PRIM_HEADER *);      
} T_ESF_FUNC;

/*==== PROTOTYPES =================================================*/

void esf_init ( void );
void esf_register ( T_ESF_FUNC * func );
void esf_init_func1 ( void );
void esf_init_func2 ( void );
void esf_send_prim ( T_PRIM_HEADER * );

#endif /* __ESF_FUNC_H__ */