📄 nvimnv.c
字号:
RETURN VALUE
Status of write operation.
SIDE EFFECTS
None.
===========================================================================*/
#ifdef _SAMSUNG_BCOM_BT //sec_layer1_jhlee_050503_1
extern byte* bta_make_bd_addr( void );
#endif
#ifdef _SAMSUNG_MP_IMEI_WRITE
extern int Master_Reset;
#endif
#ifdef _SAMSUNG_BREW_BACKLIGHT //sec_ui2_kkw_20051030_2
extern uint16 ui_lcd_brightness;
#endif
nv_stat_enum_type nv_rebuild_defaults(void)
{
int i;
const byte DEFAULT_BD_ADDR[NV_BD_ADDR_SIZE] = {1, 0, 0, 71, 18, 0};
#ifdef _SAMSUNG_BCOM_BT
byte * default_bda;
#endif // _SAMSUNG_BCOM_BT
nv_item_type nvi;
/* NV read status */
nv_stat_enum_type nv_write_status;
/* status from writing NV */
nv_stat_enum_type status = NV_DONE_S;
/* loop counter for RF NV item fetches */
uint8 nv_item_cnt;
/* Pointer to the list of RF NV items */
const rfnv_items_list_type *nv_item_list;
/* Number of items in RF NV items list */
uint16 nv_item_list_siz;
/* Pointer to the supported mode info type */
rfnv_supported_mode_info_type *mode_info_ptr;
/* index to each mode */
rfnv_supported_mode_type mode_idx;
boolean rfnv_exist_rebuilditem;
/*--------------------------------------------------------------*/
/* NV item's initialization codes followed here.
*/
#ifdef _SAMSUNG_BREW_SIM //sim lock
nvi.mem_simlock.simlock_state = FALSE;
memset((void*)nvi.mem_simlock.simlock_iccid, 0, 10);
memset((void*)nvi.mem_simlock.simlock_pw, 0, 8);
memset((void*)nvi.mem_simlock.simchange_iccid, 0xFF, 10);
nv_write_status = nv_write_item( NV_SIM_ICCID_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "SIM Lock NV rebuild failed",0,0,0);
}
#endif
#ifdef _SAMSUNG_BREW_BACKLIGHT
nvi.mem_backlight_nvi.back_light = 15;
nvi.mem_backlight_nvi.dim = 15;
nv_write_status = nv_write_item( NV_BACKLIGHT_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "Backlight NV rebuild failed",0,0,0);
}
nvi.service_light = FALSE; //sec_ui2_hangun_20050628_1 : service light dafault 蔼 off
nv_write_status = nv_write_item( NV_SERVICE_LIGHT_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "Service Light NV rebuild failed",0,0,0);
}
#endif
// hym_nv_initialization 041205 [
nvi.cli_mode = 0; //SET_NETWORK_CID_DEFAULT
nv_write_status = nv_write_item(NV_SS_CLI_MODE_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "CLI MODE rebuild failed",0,0,0);
}
// hym_nv_initialization 041205 ]
// hym_nv_initialization [
nvi.rrc_integrity_enabled = TRUE;
nv_write_status = nv_write_item(NV_RRC_INTEGRITY_ENABLED_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "RRC Integerity enabled rebuild failed",0,0,0);
}
nvi.rrc_ciphering_enabled = TRUE;
nv_write_status = nv_write_item(NV_RRC_CIPHERING_ENABLED_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "RRC Ciphering enabled rebuild failed",0,0,0);
}
// hym_nv_initialization ]
//JJURASSICPARK MENU_FORMAT篮 泅犁 荤侩窍绊 乐瘤 臼酒辑 Java Volume 蔼阑 历厘窍扁 困茄 NV item栏肺 荤侩钦聪促.
//蔼狼 裹困绰 0何磐 100鳖瘤
nvi.menu_format = 60; //9
nv_write_status = nv_write_item(NV_MENU_FORMAT_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "RRC Ciphering enabled rebuild failed",0,0,0);
}
//JJURASSICPARK
//whlee. 2004_1104. Set Initial condition after EFS rebuild for DRX mode On --------------------------
#ifdef _SAMSUNG_PROT_DRX_OFF
nvi.ue_drx_mode = TRUE;
nv_write_status = nv_write_item(NV_UE_DRX_MODE_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "UE DRX Mode rebuild failed",0,0,0);
}
#endif
//-----------------------------------------------------------------------------end of whlee. 2004_1104
//whlee. 2004_1206. Set default value of C1 threshold.------------------------------------------------
#ifdef _SAMSUNG_PROT_ADJUST_C1_THRESHOLD
nvi.user_C1_setting = 0;
nv_write_status = nv_write_item(NV_USER_C1_SETTING_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "User C1 setting rebuild failed",0,0,0);
}
#endif //_SAMSUNG_PROT_ADJUST_C1_THRESHOLD
//-----------------------------------------------------------------------------end of whlee. 2004_1206
//-----------------> prot_iflwy 20051213 For saving F3 to Trace buffer
#if 0 //sec_ui1_phw_debug - Done in diagdebug.h
#ifdef FEATURE_SAVE_DEBUG_TRACE
#ifdef _SAMSUNG_ADMIN_DEBUG_ITEM_SETTING //sec_ui1_ldh_060131
nvi.diag_debug_control = 0x05;
#else
#ifdef _SAMSUNG_INTERNAL_VER
nvi.diag_debug_control = 0x05;
#else
nvi.diag_debug_control = FALSE;
#endif
#endif
nv_write_status=nv_write_item(NV_DIAG_DEBUG_CONTROL_I,&nvi);
if(nv_write_status != NV_DONE_S)
{
MSG_HIGH(" diag debug control enabled rebuild failed",0,0,0);
}
#ifdef _SAMSUNG_ADMIN_DEBUG_ITEM_SETTING //sec_ui1_ldh_060131
nvi.diag_debug_detail = 0xFF;
#else
#ifdef _SAMSUNG_INTERNAL_VER
nvi.diag_debug_detail = 0xFF;
#else
nvi.diag_debug_detail = FALSE;
#endif
#endif
nv_write_status=nv_write_item(NV_DIAG_DEBUG_DETAIL_I,&nvi);
if(nv_write_status != NV_DONE_S)
{
MSG_HIGH(" diag debug detail enabled rebuild failed",0,0,0);
}
#endif
#endif
//<---------------- End point 4 dumping RAM if error occurrs.
// hym_2_mode_perf_for_Tmobile 050124
// Changed all default value as FALSE by prot_whlee. 20051007
#ifdef FEATURE_SAMSUNG_DUALMODE_IMPROVEMENT
#if defined(_SAMSUNG_VODA) // sec_ui2_ikyom_20050622 compile error 荐沥
nvi.dualModePerfImprove_enabled = FALSE;
#elif defined(_SAMSUNG_TMO)
nvi.dualModePerfImprove_enabled = FALSE;
#else
nvi.dualModePerfImprove_enabled = FALSE;
#endif
nv_write_status = nv_write_item(NV_DUALMODEPERFIMPROVE_VER_I, &nvi);
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "Dual mode pref improve rebuild failed",0,0,0);
}
#endif
#ifdef FEATURE_SAMSUNG_CAMERA //jhlee_camif
nvi.afc_mode_sel = FALSE;
nv_write_status = nv_write_item( NV_AFC_MODE_SEL_I, &nvi );
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "AFC_MODE_SEL NV rebuild failed",0,0,0);
}
#ifdef _Z130_HW05
nvi.hall_sen_sel = 2;
#else
nvi.hall_sen_sel = 1;
#endif
nv_write_status = nv_write_item( NV_HALL_SEN_SEL_I, &nvi );
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "HALL_SEN_SEL NV rebuild failed",0,0,0);
}
#endif
/* RF NV items is rebuilded here */
for (mode_idx = 0; mode_idx < RFNV_SUPPORTED_MODE_NUM; mode_idx++)
{
mode_info_ptr = &rfnv_supported_mode_info_table[mode_idx];
/* get the pointer to NV items list for each mode */
nv_item_list = mode_info_ptr->nv_item_list_ptr;
/* get the list size */
if( mode_info_ptr->get_nv_item_list_size != NULL)
nv_item_list_siz = (mode_info_ptr->get_nv_item_list_size)();
else
nv_item_list_siz = 0;
if(mode_info_ptr->rebuild_nv_item != NULL)
/* for each NV item in the list, read from NV and copy into local buffer. */
/* then copy from local buffer into RF NV table for each mode */
for (nv_item_cnt = 0; nv_item_cnt < nv_item_list_siz; nv_item_cnt++)
{
/* copy from local buffer into RF NV table */
rfnv_exist_rebuilditem = mode_info_ptr->rebuild_nv_item( nv_item_list[nv_item_cnt].nv_item_id,&nvi );
if(rfnv_exist_rebuilditem)
{
nv_write_status = nv_write_item( nv_item_list[nv_item_cnt].nv_item_id, &nvi);
/* if read status is good */
if (nv_write_status != NV_DONE_S)
{
status = nv_write_status;
} /*for (nv_item_cnt = 0; nv_item_cnt < nv_item_list_siz; nv_item_cnt++)*/
}
}
} /*for (mode_idx = 0; mode_idx < RFNV_SUPPORTED_MODE_NUM; mode_idx++)*/
#ifdef _SAMSUNG_CPHS // ALS
nvi.als_mode = 1;
nv_write_status = nv_write_item( NV_ALS_MODE_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "AlsMode NV rebuild failed",0,0,0);
}
#endif
nvi.mem_dateandtime_nvi.flg = 0x21;
nv_write_status = nv_write_item( NV_DATEANDTIME_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "DateTime NV rebuild failed",0,0,0);
}
#if defined(_SAMSUNG_TIM)//sec_ui2_dmk_20050702
nvi.mem_language_nvi.kind = LNG_ITALIAN;
nvi.mem_language_nvi.t9_kind = LNG_ITALIAN;
#else
nvi.mem_language_nvi.kind = LNG_ENGLISH;
nvi.mem_language_nvi.t9_kind = LNG_ENGLISH;
#endif
nv_write_status = nv_write_item( NV_LANGUAGE_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "Language NV rebuild failed",0,0,0);
}
/* Bluetooth id default value setting 20040118 ikyom */
#ifndef _SAMSUNG_BCOM_BT //sec_layer1_jhlee_050503_1
for(i=0; i < 6 ; i++)
nvi.bd_addr.bd_addr[i] = DEFAULT_BD_ADDR[i];
#else
default_bda = bta_make_bd_addr();
for(i=0; i < 6 ; i++)
{
nvi.bd_addr.bd_addr[i] = default_bda[i];
}
#endif
// nvi.bd_addr.bd_addr = DEFAULT_BD_ADDR;
nv_write_status = nv_write_item( NV_BD_ADDR_I, &nvi);
if ( nv_write_status != NV_DONE_S)
{
MSG_HIGH( "Bluetooth id NV rebuild failed",0,0,0);
}
#ifdef _SAMSUNG_MP_PRECONFIG //sec_ui2_kkw_20050809_1
nvi.power_on_attach = TRUE;
status = nv_write_item( NV_POWER_ON_ATTACH_I, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_POWER_ON_ATTACH_I rebuild failed!!", 0, 0, 0);
}
#endif //_SAMSUNG_MP_FACTORY_PRECONFIG
#ifndef _SAMSUNG_HW_RF_CAL_REQUIRED // sec_sys_hds_050913 temporarily work for calibartion
// ATTACH MODE
nvi.service_domain_pref.nam = 0;
nvi.service_domain_pref.srv_domain = NV_SRV_DOMAIN_PREF_CS_PS; //combined
if (nv_write_item(NV_SERVICE_DOMAIN_PREF_I, &nvi) != NV_DONE_S)
{
MSG_ERROR("NV_SERVICE_DOMAIN_PREF_I failed!!", 0, 0, 0);
}
#endif
#ifdef _SAMSUNG_BREW_CONTACT
#if defined( _SERVICE_TMOBILE )
nvi.ct_setting_save_new_ct_to.save_new_ct_to = 3; //SETTING_SNCT_ASK_EACH_TIME
#elif defined( _SERVICE_OPEN )
nvi.ct_setting_save_new_ct_to.save_new_ct_to = 3; //SETTING_SNCT_ASK_EACH_TIME
#elif defined( _SERVICE_TIM ) //sec_ui2_jwlee_20050929
nvi.ct_setting_save_new_ct_to.save_new_ct_to = 3; //SETTING_SNCT_ASK_EACH_TIME
#else
nvi.ct_setting_save_new_ct_to.save_new_ct_to = 1; //SETTING_SNCT_HANDSET_MEMORY
#endif
status = nv_write_item( NV_SETTING_SAVE_NEW_CT_TO, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_SETTING_SAVE_NEW_CT_TO rebuild failed!!", 0, 0, 0);
}
#endif // _SAMSUNG_BREW_CONTACT
#ifdef _SAMSUNG_BREW_SIM // privacylock sec_ui2_mky_20050616
nvi.privacylock.msg_privacylock_state = FALSE;
nvi.privacylock.fm_privacylock_state = FALSE;
nvi.privacylock.clog_privacylock_state = FALSE; //sec_ui2_mky_050810
nvi.privacylock.cont_privacylock_state = FALSE;
nv_write_status = nv_write_item( NV_PRIVACY_LOCK_I, &nvi);
/* if write status is good */
if (nv_write_status != NV_DONE_S)
{
MSG_HIGH( "Privacy Lock NV rebuild failed",0,0,0);
}
#endif
//ccy_pwron_attach_mode_realization(
#ifdef _SAMSUNG_PROT_PWR_ON_ATT
nvi.pwron_att_manual_mode = TRUE;
status = nv_write_item( NV_PWRON_ATT_MANUAL_MODE_I, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_PWRON_ATT_MANUAL_MODE_I rebuild failed!!", 0, 0, 0);
}
#endif
//)
#ifdef _SAMSUNG_MM_PICSELVIEWER // sec_ui1_hyuk_20050816_1
nvi.picsel_controller = TRUE;
status = nv_write_item( NV_PICSEL_CONTROLLER_I, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_PICSEL_CONTROLLER_I rebuild failed!!", 0, 0, 0);
}
#endif
#ifdef _SAMSUNG_HEAP3X_DEBUG //sec_ui2_ikyom_20051020_1
#if defined(_SAMSUNG_INTERNAL_VER) || defined(_SAMSUNG_INSPECT) //sec_ui1_phw_20060118
nvi.use_mem_check = TRUE;
#else
nvi.use_mem_check = FALSE;
#endif
status = nv_write_item( NV_GBUSE_MEM_CHECK_I, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_GBUSE_MEM_CHECK_I rebuild failed!!", 0, 0, 0);
}
#if defined(_SAMSUNG_INTERNAL_VER) || defined(_SAMSUNG_INSPECT) //sec_ui1_phw_20060118
nvi.free_mem_check = TRUE;
#else
nvi.free_mem_check = FALSE;
#endif
status = nv_write_item( NV_GBFREE_MEM_CHECK_I, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_GBFREE_MEM_CHECK_I rebuild failed!!", 0, 0, 0);
}
nvi.from_idle = FALSE;
status = nv_write_item( NV_GBFROM_IDLE_I, &nvi);
if (status != NV_DONE_S)
{
MSG_ERROR("NV_GBFROM_IDLE_I rebuild failed!!", 0, 0, 0);
}
#if defined(_SAMSUNG_INTERNAL_VER) || defined(_SAMSUNG_INSPECT) //sec_ui1_phw_20060118
nvi.use_mem_error = TRU
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -