void dcl_pmic6327_init(void){ kal_uint32 i; #if defined(__MODEM_CCCI_EXIST__) && !defined(__UBL__) && !defined(__FUE__) ccci_init(CCCI_PMIC_CHANNEL, NULL); ccci_init(CCCI_PMIC_ACK_CHANNEL, pmic6327_ccci_callback); #endif i2c_pmic_init(); pmu_control_handler = PMIC6327_control_handler; pmu_parameter_size = GETARRNUM(pmu_parameter_table); #if !defined(__UBL__) && !defined(__FUE__) i2cDcmHandle=DCM_GetHandle(); #endif //Disable deglitch. dcl_pmic6327_byte_write(0x01, 0x00, PMIC_BANK0); //Speed up I2C i2c_pmic_set_speed(0, 5); pmic6327_eco_version = PMIC6327_ECO_1_VERSION; // Get PMIC6327 ECO version { kal_uint16 eco_version = 0; eco_version = dcl_pmic6327_byte_return(VERSION_ADDR, PMIC_BANK0); if (eco_version == PMIC6327_E1_VERSION) { pmic6327_eco_version = PMIC6327_ECO_1_VERSION; } else// if(eco_version == PMIC6327_E2_CID_CODE) { pmic6327_eco_version = PMIC6327_ECO_2_VERSION; } } for (i = 0;i < PMIC_BANK0_REG_NUM;i++){ pmic6327_reg[PMIC_BANK0][i] = dcl_pmic6327_byte_return(i, PMIC_BANK0); } dcl_pmic6327_internal_init(); #if (defined(MT6280_S00)) //Set VCore sleep voltage to 1.1V for MT6280 E1 dcl_pmic6327_byte_write(0x56, 0x10, 0); #elif (defined(MT6280_S01)) //Set VCore normal voltage to 1.1V for MT6280 E2 dcl_pmic6327_byte_write(0x55, 0x10, 0); #endif pmic6327_customization_init(); #if !defined(__UBL__) && !defined(__FUE__) pmu_drv_tool_customization_init(); #endif //#if !defined(__UBL__) && !defined(__FUE__) }
/***************************************************************************** * FUNCTION * uem_init * DESCRIPTION * * PARAMETERS * void * RETURNS * *****************************************************************************/ kal_bool uem_init(void) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ kal_bool ret_val = KAL_TRUE; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ g_uem_cntx_p = &uem_g_data; /* initial UEM */ if (g_uem_cntx_p != NULL) { g_uem_cntx_p->ext_dev_status = EXT_DEV_NONE; g_uem_cntx_p->bmt_status.status = PMIC_VBAT_STATUS; g_uem_cntx_p->bmt_status.volt = 0; g_uem_cntx_p->bmt_status.adc = 0; g_uem_cntx_p->bmt_status.disp_level = 0; g_uem_cntx_p->bmt_status.last_level = 0; g_uem_cntx_p->bmt_status.hit_count = 0; g_uem_cntx_p->power_on_mode = POWER_ON_UNINIT; g_uem_cntx_p->adc_sche_id = 0; g_uem_cntx_p->incall_state = UEM_CALL_UNKNOW; g_uem_cntx_p->acc_prev_state = 0; g_uem_cntx_p->acc_latest_state = 0; g_uem_cntx_p->acc_progress = 0; #ifdef __USB_ENABLE__ g_uem_cntx_p->usb_msg_src_id = 0; #endif uem_timer_init(); #ifdef __MTK_TARGET__ #if defined(DCM_ENABLE) uem_dcm_handle = DCM_GetHandle(); #endif #endif /* __MTK_TARGET__ */ uem_set_state(UEM_STATE_INIT); } else { ret_val = KAL_FALSE; } /* read UEM data */ return ret_val; }