blob: d5c5ba96b3191cf0577e5351e32038b7768692ac [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* nrrc_nvram_def.h
*
* Project:
* --------
* VMOLY
*
* Description:
* ------------
* NRRC NVRAM data
*
* Author:
* -------
*
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef __NRRC_NVRAM_DEF_H__
#define __NRRC_NVRAM_DEF_H__
#ifdef __NR_RAT__
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
#include "nvram_defs.h"
#include "nvram_enums.h"
#include "device.h"
/********************************************
* MACROS *
********************************************/
#define NVRAM_NRRC_PLMN_BAND_BAND_NUM (10)
#define NVRAM_NRRC_PLMN_BAND_RECORD_NUM (5)
#define NVRAM_NRRC_AMPR_MCC_NUM (12)
#define NVRAM_NRRC_CUSTOM_CA_COMB_BAND_NUM (8) /* Maximum number of bands in one band combination */
/* The maximum character number should cover the longest case
* lte 5cc + nr 3cc gives 8 MAX NUM of SIMULTANEOUS BANDS
* To align NVRAM_EF_ERRC_CUSTOM_CA_COMB_NUM, only allow maximum 32 ENDC/SA combinations in a custom list
*/
#define NVRAM_NRRC_CUSTOM_CA_WHITE_BLACK_LIST_COMB_NUM (124) /* Maximum number of CUSTOM white/black lists CA combinations */
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_CHAR_NUM (56) /* 8 * 6 ca characters + 7 '-' + 1 ';' gives 56 */
#define NVRAM_EF_NRRC_CUSTOM_SA_COMB_LIST_CHAR_NUM (21) /* 3 * 6 ca characters + 2 '-' + 1 ';' gives 21 */
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_WHITE_LIST_MAX_LENGTH (NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_CHAR_NUM * NVRAM_NRRC_CUSTOM_CA_WHITE_BLACK_LIST_COMB_NUM)
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_BLACK_LIST_MAX_LENGTH (NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_WHITE_LIST_MAX_LENGTH)
#define NVRAM_EF_NRRC_CUSTOM_SA_COMB_WHITE_LIST_MAX_LENGTH (NVRAM_EF_NRRC_CUSTOM_SA_COMB_LIST_CHAR_NUM * NVRAM_NRRC_CUSTOM_CA_WHITE_BLACK_LIST_COMB_NUM)
#define NVRAM_EF_NRRC_CUSTOM_SA_COMB_BLACK_LIST_MAX_LENGTH (NVRAM_EF_NRRC_CUSTOM_SA_COMB_WHITE_LIST_MAX_LENGTH)
#define NVRAM_MAX_STORED_OPERATOR_NUM 24
#define NVRAM_MAX_PRIORITY_BAND_GROUP_NUM 8
#define NVRAM_MAX_PRIORITY_BAND_NUM 32
#define NVRAM_NRRC_STORED_OPERATOR_BAND_PRIORITY_ANY_BAND 0xFFFF
#define NVRAM_NRRC_STORED_OPERATOR_BAND_PRIORITY_ANY_FDD_BAND 0xFFFD
#define NVRAM_NRRC_STORED_OPERATOR_BAND_PRIORITY_ANY_TDD_BAND 0xFFFE
/********************************************
* TYPE DEFINITIONS & ENUMS *
********************************************/
typedef enum
{
NVRAM_EF_UE_NR_CAP_LID = NVRAM_LID_GRP_NRRC(0),
NVRAM_EF_NR_CAP_LID,
NVRAM_EF_NR_STORED_INFO_LID,
NVRAM_EF_NRRC_COMMON_CONFIG_LID,
NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_LID = NVRAM_LID_GRP_NRRC(5),
NVRAM_EF_NRRC_BAND_SUPPORT_PLMN_LID = NVRAM_LID_GRP_NRRC(7),
NVRAM_EF_NRRC_NR_FEATURE_CTRL_LID = NVRAM_LID_GRP_NRRC(8),
NVRAM_EF_NRRC_NR_HIGH_PRIORITY_CELL_LID = NVRAM_LID_GRP_NRRC(13),
NVRAM_EF_NRRC_STORED_OPERATOR_BAND_PRIORITY_LID = NVRAM_LID_GRP_NRRC(17),
NVRAM_EF_NRRC_EE_CELL_INFO_LID = NVRAM_LID_GRP_NRRC(18),
// Last LID of Group, please add new before NVRAM_EF_NRRC_LAST_LID
NVRAM_EF_NRRC_LAST_LID = NVRAM_LID_GRP_NRRC(63) //Large group should set to 255, little group should set to 63
} nvram_lid_nrrc_enum;
#define NVRAM_EF_UE_NR_CAP_LID_VERNO "011"
#define NVRAM_EF_UE_NR_CAP_LID_HASH 0xA50AF1E5
#define NVRAM_EF_UE_NR_CAP_SIZE (sizeof(nvram_ef_ue_nr_cap_struct))
#define NVRAM_EF_UE_NR_CAP_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_EF_NR_CAP_LID_VERNO "000"
#define NVRAM_EF_NR_CAP_LID_HASH 0xC213E38D
#define NVRAM_EF_NR_CAP_SIZE (sizeof(nvram_ef_nr_cap_struct))
#define NVRAM_EF_NR_CAP_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_EF_NR_STORED_INFO_LID_VERNO "002"
#define NVRAM_EF_NR_STORED_INFO_LID_HASH 0x6463CC63
#define NVRAM_EF_NR_STORED_INFO_SIZE (sizeof(nvram_ef_nr_stored_info_struct))
#define NVRAM_EF_NR_STORED_INFO_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_NRRC_SEARCH_MAX_LEARNED_INFO_NUM 50
#define NVRAM_NRRC_SEARCH_MAX_MOST_RECENT_MCC_NUM 6
#define NVRAM_EF_NRRC_COMMON_CONFIG_LID_VERNO "035"
#define NVRAM_EF_NRRC_COMMON_CONFIG_LID_HASH 0xED98C676
#define NVRAM_EF_NRRC_COMMON_CONFIG_SIZE (sizeof(nvram_ef_nrrc_common_config_struct))
#define NVRAM_EF_NRRC_COMMON_CONFIG_TOTAL (1 * NVRAM_DUAL_RECORD)
#ifdef __NVM_GLOBAL_CABC__
#define NVRAM_EF_NRRC_BAND_SUPPORT_PLMN_LID_VERNO "007"
#define NVRAM_EF_NRRC_BAND_SUPPORT_PLMN_LID_HASH 0x93734BE8
#define NVRAM_EF_NRRC_BAND_SUPPORT_PLMN_SIZE (sizeof(nvram_ef_nrrc_band_support_plmn_struct))
#define NVRAM_EF_NRRC_BAND_SUPPORT_PLMN_TOTAL (1)
#endif /* __NVM_GLOBAL_CABC__ */
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_LID_VERNO "008"
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_LID_HASH 0xBB3F18C2
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_SIZE (sizeof(nvram_ef_nrrc_custom_endc_comb_list_struct))
#define NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_LIST_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_EF_NRRC_NR_FEATURE_CTRL_LID_VERNO "000"
#define NVRAM_EF_NRRC_NR_FEATURE_CTRL_LID_HASH 0x5FC846B4
#define NVRAM_EF_NRRC_NR_FEATURE_CTRL_SIZE (sizeof(nvram_ef_nrrc_nr_feature_ctrl_struct))
#define NVRAM_EF_NRRC_NR_FEATURE_CTRL_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_EF_NRRC_STORED_OPERATOR_BAND_PRIORITY_LID_VERNO "000"
#define NVRAM_EF_NRRC_STORED_OPERATOR_BAND_PRIORITY_LID_HASH 0x9E2BF83E
#define NVRAM_EF_NRRC_STORED_OPERATOR_BAND_PRIORITY_SIZE (sizeof(nvram_ef_nrrc_stored_operator_band_priority_struct))
#define NVRAM_EF_NRRC_STORED_OPERATOR_BAND_PRIORITY_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_EF_NRRC_EE_CELL_INFO_LID_VERNO "001"
#define NVRAM_EF_NRRC_EE_CELL_INFO_LID_HASH 0x421A5981
#define NVRAM_EF_NRRC_EE_CELL_INFO_SIZE (sizeof(nvram_ef_nrrc_ee_cell_info_struct))
#define NVRAM_EF_NRRC_EE_CELL_INFO_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_NRRC_EE_CELL_INFO_MAX_CELL_NUM 8
#define NVRAM_EF_NRRC_NR_HIGH_PRIORITY_CELL_LID_VERNO "001"
#define NVRAM_EF_NRRC_NR_HIGH_PRIORITY_CELL_LID_HASH 0x1BE73248
#define NVRAM_EF_NR_HIGH_PRIORITY_CELL_SIZE (sizeof(nvram_ef_nrrc_high_priority_cell_list_struct))
#define NVRAM_EF_NR_HIGH_PRIORITY_CELL_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_MAX_NR_HIGH_PRIORITY_CELL_NUM NRRC_NL1_MAX_CUSTOM_PRIO_CELL_NUM
/********************************************
* VARIABLES *
********************************************/
/********************************************
* FUNCTION DECLARATIONS *
********************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __NR_RAT__ */
#endif /* !__NRRC_NVRAM_DEF_H__ */