view src/cs/drivers/drv_app/lcc/lcc_api.h @ 51:04aaa5622fa7

disable deep sleep when Iota LEDB is on TI's Iota chip docs say that CLK13M must be running in order for LEDB to work, and practical experience on Mot C139 which uses Iota LEDB for its keypad backlight concurs: if Calypso enters deep sleep while the keypad backlight is turned on, the light flickers visibly as the chipset goes into and out of deep sleep. TI's original L1 sleep manager code had logic to disable deep sleep when LT_Status() returns nonzero, but that function only works for B-Sample and C-Sample LT, always returns 0 on BOARD 41 - no check of Iota LEDB status anywhere. Change this code for our current hardware: disable deep sleep when Iota LEDB has been turned on through LLS.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 19 Oct 2020 05:11:29 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/******************************************************************************
 * Power Task (pwr)
 * Design and coding by Svend Kristian Lindholm, skl@ti.com
 *
 * PWR MMI Interface
 *
 * $Id: pwr_api.h 1.1 Wed, 20 Aug 2003 10:22:37 +0200 skl $
 *
 ******************************************************************************/

#ifndef __LCC_API_H__
#define __LCC_API_H__

#include "rv/rv_general.h"

#ifndef BASIC_TYPES
#define BASIC_TYPES
typedef signed   char  int8;
typedef unsigned char  uint8;
typedef signed   short int16;
typedef unsigned short uint16;
typedef signed   int   int32;
typedef unsigned int   uint32;
#endif


// INFO Indication mail SENT to the MMI
struct mmi_info_ind_s {
     T_RV_HDR header;
     int      Vbat;  // Battery Voltage
     int      Tbat;  // Battery Temperature
     int      Cbat;  // Battery Capacity
     int      cause; // Reason for the charge fail
};

typedef struct mmi_info_ind_s  T_PWR_MMI_INFO_IND_EVENT;

// Corresponds to /mmi/pwr/bsie.cfg
typedef struct
{
    uint16    repetition;     // The repetition interval for sending MMI info events
} T_PWR_MMI_CFG_BLOCK;


// Events send from the PWR module
// See RIV461
typedef enum PWR_MMI_MESSAGES {
    MMI_CHG_PLUG_IND     = 1,
    MMI_CHG_UNPLUG_IND   = 2,
    MMI_CHG_START_IND    = 3,
    MMI_CHG_STOP_IND     = 4,
    MMI_CHG_UNKNOWN_IND  = 5,
    MMI_BAT_UNKNOWN_IND  = 6,
    MMI_CHG_FAILED_IND   = 7,
    MMI_BAT_SUPERVISION_INFO_IND = 10
};

// Only one instance (e.g. the MMI) can register
void pwr_register (T_RV_RETURN_PATH *return_path, void *ptr);

#endif