📄 uem_proc_msg.c
字号:
#ifndef __NVRAM_IN_USB_MS__
else if ((action == DEVUSB_DETECT_ACTION_PLUGIN) && (uem_get_poweron_mode() == POWER_ON_USB))
{
DRV_POWERON();
}
#endif /* __NVRAM_IN_USB_MS__ */
#if defined(PLUTO_MMI)
if (action == DEVUSB_DETECT_ACTION_PLUGOUT)
{
/* check if the accessory prev state is IN && it is not in progress */
if (FLAG_IS_ON(g_uem_cntx_p->acc_prev_state, UEM_ACCESSORY_TYPE_USB) &&
!FLAG_IS_ON(g_uem_cntx_p->acc_progress, UEM_ACCESSORY_TYPE_USB))
{
l4cuem_usbdetect_ind(action); /* Notify MMI */
/* Set in progress */
FLAG_SET_ON(g_uem_cntx_p->acc_progress, UEM_ACCESSORY_TYPE_USB);
}
/* update the latest status */
FLAG_SET_OFF(g_uem_cntx_p->acc_latest_state, UEM_ACCESSORY_TYPE_USB);
}
else if (action == DEVUSB_DETECT_ACTION_PLUGIN)
{
/* check if the accessory prev state is OUT && it is not in progress */
if (!FLAG_IS_ON(g_uem_cntx_p->acc_prev_state, UEM_ACCESSORY_TYPE_USB) &&
!FLAG_IS_ON(g_uem_cntx_p->acc_progress, UEM_ACCESSORY_TYPE_USB))
{
l4cuem_usbdetect_ind(action); /* Notify MMI */
/* Set in progress */
FLAG_SET_ON(g_uem_cntx_p->acc_progress, UEM_ACCESSORY_TYPE_USB);
}
/* update the latest status */
FLAG_SET_ON(g_uem_cntx_p->acc_latest_state, UEM_ACCESSORY_TYPE_USB);
}
#else /* defined(PLUTO_MMI) */
l4cuem_usbdetect_ind(action);
#endif /* defined(PLUTO_MMI) */
return;
}
/*****************************************************************************
* Function
* uemdrv_usb_config_cnf
* DESCRIPTION
* ...
* PARAMETERS
*
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uemdrv_usb_config_cnf
* DESCRIPTION
*
* PARAMETERS
* mode [IN]
* result [IN]
* reserved [IN]
* RETURNS
* void
*****************************************************************************/
void uemdrv_usb_config_cnf(kal_uint8 mode, kal_bool result, kal_uint32 reserved)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
l4cuem_usbconfig_cnf(g_uem_cntx_p->usb_msg_src_id, result, mode, reserved);
return;
}
#endif /* __USB_ENABLE__ */
/*****************************************************************************
* Function
* uemdrv_prechr_power_on_ind
* DESCRIPTION
* ...
* PARAMETERS
*
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uemdrv_prechr_power_on_ind
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void uemdrv_prechr_power_on_ind(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
uem_bmt_struct bmt_status;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
#if !defined(__L1_STANDALONE__) && !defined(EMPTY_MMI)
/* show the logo */
MMICheckDiskDisplay();
/* Turn on backlight after the picture is shown */
custom_cfg_gpio_set_level(GPIO_DEV_LED_MAINLCD, 5);
#endif /* !defined(__L1_STANDALONE__) && !defined(EMPTY_MMI) */
uem_get_bat_status(&bmt_status);
uem_set_poweron_mode(POWER_ON_PRECHARGE);
l4cuem_power_on_ind(POWER_ON_PRECHARGE, uem_vbat_level_convert(bmt_status.volt));
}
/*****************************************************************************
* Function
* uemdrv_get_hw_level_pwm_info_req
* DESCRIPTION
* ...
* PARAMETERS
*
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uemdrv_get_hw_level_pwm_info_req
* DESCRIPTION
*
* PARAMETERS
* type [IN]
* level [IN]
* info1 [?]
* info2 [?]
* RETURNS
* void
*****************************************************************************/
void uemdrv_get_hw_level_pwm_info_req(kal_uint8 type, kal_uint8 level, kal_uint8 *info1, kal_uint8 *info2)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (type)
{
case PWM1:
*info1 = PWM1_Level_Info[level - 1][0];
*info2 = PWM1_Level_Info[level - 1][1];
break;
case PWM2:
*info1 = PWM2_Level_Info[level - 1][0];
*info2 = PWM2_Level_Info[level - 1][1];
break;
default:
break;
}
}
/*****************************************************************************
* Function
* uemdrv_get_hw_level_alter_info_req
* DESCRIPTION
* ...
* PARAMETERS
*
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uemdrv_get_hw_level_alter_info_req
* DESCRIPTION
*
* PARAMETERS
* level [IN]
* info1 [?]
* info2 [?]
* RETURNS
* void
*****************************************************************************/
void uemdrv_get_hw_level_alter_info_req(kal_uint8 level, kal_uint8 *info1, kal_uint8 *info2)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
*info1 = Alter_Level_Info[level - 1][0];
*info2 = Alter_Level_Info[level - 1][1];
}
/*****************************************************************************
* Function
* uem_poweron_timer_expiry_hdlr
* DESCRIPTION
* handle the power on timer expire
* PARAMETERS
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uem_poweron_timer_expiry_hdlr
* DESCRIPTION
*
* PARAMETERS
* ptr [?]
* RETURNS
* void
*****************************************************************************/
void uem_poweron_timer_expiry_hdlr(void *ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
uem_stop_timer(PWN_EVENT_TIMER);
/* Latch power and do the rest */
DRV_POWERON();
#if !defined(__L1_STANDALONE__) && !defined(EMPTY_MMI)
/* show the logo */
MMICheckDiskDisplay();
/* Turn on backlight after the picture is shown */
custom_cfg_gpio_set_level(GPIO_DEV_LED_MAINLCD, 5);
#endif /* !defined(__L1_STANDALONE__) && !defined(EMPTY_MMI) */
#if !defined(__FS_CHECKDRIVE_SUPPORT__) && !defined(_LOW_COST_SINGLE_BANK_FLASH_)
/* Before this point, releasing power key does not consider as "abnormal poweroff" */
FS_SetDiskFlag();
#endif /* !defined(__FS_CHECKDRIVE_SUPPORT__) && !defined(_LOW_COST_SINGLE_BANK_FLASH_) */
/* send message to L4/MMI */
uemdrv_keypad_power_on_ind();
}
/*****************************************************************************
* Function
* uem_poweron_timer_start
* DESCRIPTION
* start a timer to t
* PARAMETERS
* time left to power on
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uem_poweron_timer_start
* DESCRIPTION
*
* PARAMETERS
* time_in_ms [IN]
* RETURNS
* void
*****************************************************************************/
void uem_poweron_timer_start(kal_uint32 time_in_ms)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
uem_start_timer(PWN_EVENT_TIMER, uem_poweron_timer_expiry_hdlr, time_in_ms);
}
/*****************************************************************************
******************************************************************************
* Local Funcations
******************************************************************************
*****************************************************************************/
/*****************************************************************************
* Function
* uem_pmic_power_on_if_needed
* DESCRIPTION
* ...
* PARAMETERS
*
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uem_pmic_power_on_if_needed
* DESCRIPTION
*
* PARAMETERS
* vbat_level [IN]
* RETURNS
* void
*****************************************************************************/
static void uem_pmic_power_on_if_needed(kal_uint8 vbat_level)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_uint8 poweron_mode = uem_get_poweron_mode();
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (uem_get_state() < UEM_STATE_STARTUP) /* to avoid startup twice */
{
if ((poweron_mode == POWER_ON_CHARGER_IN) || (poweron_mode == POWER_ON_USB))
{
#ifdef __MTK_TARGET__
if (g_uem_cntx_p->adc_sche_id == 0)
{
g_uem_cntx_p->adc_sche_id = adc_sche_create_object(
MOD_UEM,
ADC_VBAT,
ADC_IDLE_EVAL_PERIOD,
(kal_uint8) ADC_IDLE_EVAL_COUNT,
KAL_TRUE);
uem_send_msg_to_bmt(MSG_ID_BMT_ADC_ADD_ITEM_REQ, g_uem_cntx_p->adc_sche_id);
}
#endif /* __MTK_TARGET__ */
DRV_POWERON();
l4cuem_power_on_ind(poweron_mode, vbat_level);
}
}
}
/*****************************************************************************
* Function
* uemdrv_rf_test_gsm_powerscan_callback
* DESCRIPTION
* callback function for RF Test GSM
* PARAMETERS
*
*
* RETURNS
* void
* GLOBALS AFFECTED
*****************************************************************************/
void uemdrv_rf_test_gsm_powerscan_callback(kal_int16 *arfcn, kal_int16 *power)
{
kal_uint8 i;
rf_test_gsm_param_struct request={0};
for (i=0; i<20; i++)
{
request.gsm_power_scan.arfcn_out[i] = arfcn[i];
request.gsm_power_scan.power[i] = power[i];
}
l4cuem_rf_test_gsm_cnf(g_uem_cntx_p->src_id , RF_TEST_GSM_POWER_SCAN, request);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -