FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/pwr/pwr_messages_i.c @ 281:a75eefbf8be4
Phone boot with PWON: weed out short button presses
Every standard end user phone has a design provision, most naturally
implemented in firmware, whereby the PWON button effects a boot only
if it is held down long enough - short presses of this PWON button
are detected, assumed to be spurious and cause the fw to power back off
instead of proceeding with boot. The present change introduces this
standard function in FreeCalypso.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 24 Sep 2021 02:03:08 +0000 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
/******************************************************************************* * * pwr_messages_i.c * * Purpose: Contains functions used by PWR SWE to send events to the SPI task. * * * Author Candice Bazanegue (c-brille@ti.com) * * (C) Texas Instruments 2001 * ******************************************************************************/ #include "rv/rv_defined_swe.h" // for RVM_PWR_SWE #ifdef RVM_PWR_SWE #include "rvm/rvm_use_id_list.h" #include "rvf/rvf_api.h" #include "pwr/pwr_messages_i.h" #include "pwr/pwr_env.h" #include "spi/spi_env.h" /********************************************************************************/ /* */ /* Function Name: pwr_spi_battery_info */ /* */ /* Purpose: This function is used to send a PWR_SPI_INFO_BATTERY_EVT */ /* message to the SPI task. */ /* */ /********************************************************************************/ T_RV_RET pwr_spi_battery_info(CALLBACK_FUNC CallBack) { T_RV_HDR *msgPtr; /* check if the driver has been started */ if (pwr_env_ctrl_blk == NULL) return (RVM_NOT_READY); if(SPI_GBL_INFO_PTR->SpiTaskReady == FALSE) return(RVM_NOT_READY); if (rvf_get_buf (pwr_env_ctrl_blk->prim_id, sizeof (T_RV_HDR),(void **) &msgPtr) == RVF_RED) { rvf_send_trace ("PWR ERROR: Not enough memory", 28, NULL_PARAM, RV_TRACE_LEVEL_ERROR, PWR_USE_ID); return (RV_MEMORY_ERR); } msgPtr->msg_id = PWR_SPI_INFO_BATTERY_EVT; msgPtr->dest_addr_id = pwr_env_ctrl_blk->addr_id; msgPtr->callback_func = (CALLBACK_FUNC) CallBack; rvf_send_msg (pwr_env_ctrl_blk->addr_id, msgPtr); return (RV_OK); } #endif /* #ifdef RVM_PWR_SWE */