view src/gpf/ccd/ccddata_ccdptab.c @ 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

/* 
+----------------------------------------------------------------------------- 
|  Project :  
|  Modul   : ccddata_ccdptab.c
+----------------------------------------------------------------------------- 
|  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 :  Ccddata abstraction for use in lib/dll. The four tables
|             pvar, pcomp, pelem, and pmtx, genereraed by ccdgen
|             (in ccdptab.cdg) are supplied. In addition, corresponding
|             functions deliver specified elements of the tables. For
|             pmtx the function must be used, because this three-dimesional
|             array cannot be declared as extern without knowing the constants
|             at compile time.
+----------------------------------------------------------------------------- 
*/ 

#include "typedefs.h"
#include "pconst.cdg"
#include "ccdtable.h"

static const T_CCD_VarTabEntry   ccddata_pvar  [] =
{
#include "pvar.cdg"
};

static const T_CCD_CompTabEntry  ccddata_pcomp [] =
{
#include "pcomp.cdg"
};

static const T_CCD_ElemTabEntry  ccddata_pelem [] =
{
#include "pelem.cdg"
};

static const USHORT ccddata_pmtx [MAX_PMTX_SIZE] =
{
#include "pmtxval.cdg"
};

const T_CCD_MTXIDX  ccddata_pmtx_idx [] =
{
#include "pmtxidx.cdg"
};

const T_CCD_VarTabEntry* ccddata_get_pvar (USHORT idx)
{
  return &ccddata_pvar[idx];
}

const T_CCD_CompTabEntry* ccddata_get_pcomp (USHORT idx)
{
  return &ccddata_pcomp[idx];
}

const T_CCD_ElemTabEntry* ccddata_get_pelem (USHORT idx)
{
  return &ccddata_pelem[idx];
}

USHORT ccddata_get_pmtx (USHORT sap, USHORT primid, USHORT index)
{
  if ((sap > MAX_SAP_NUM) || (primid >= ccddata_pmtx_idx[sap].numitems))
    return NO_REF;
  return ccddata_pmtx[2*(ccddata_pmtx_idx[sap].idx + primid) + index];
}