432 lines
39 KiB
C
432 lines
39 KiB
C
/*
|
|
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.openairinterface.org/?page_id=698
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*-------------------------------------------------------------------------------
|
|
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
* contact@openairinterface.org
|
|
*/
|
|
|
|
/*! \file openair2/ENB_APP/enb_paramdef_emtc.h
|
|
* \brief definition of configuration parameters for emtc eNodeB modules
|
|
* \author Raymond KNOPP
|
|
* \date 2018
|
|
* \version 0.1
|
|
* \company EURECOM France
|
|
* \email: raymond.knopp@eurecom.fr
|
|
* \note
|
|
* \warning
|
|
*/
|
|
|
|
#ifndef __ENB_APP_ENB_PARAMDEF_EMTC__H__
|
|
#define __ENB_APP_ENB_PARAMDEF_EMTC__H__
|
|
|
|
#include "common/config/config_paramdesc.h"
|
|
#include "RRC_paramsvalues.h"
|
|
|
|
#define ENB_CONFIG_STRING_EMTC_PARAMETERS "emtc_parameters"
|
|
#define ENB_CONFIG_STRING_SCHEDULING_INFO_BR "scheduling_info_br"
|
|
#define ENB_CONFIG_STRING_RSRP_RANGE_LIST "rsrp_range_list"
|
|
#define ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310 "prach_ConfigCommon_v1310"
|
|
#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13 "mpdcch_startSF_CSS_RA_r13"
|
|
#define ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL "mpdcch_startSF_CSS_RA_r13_val"
|
|
#define ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13 "prach_HoppingOffset_r13"
|
|
#define ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13 "schedulingInfoSIB1_BR_r13"
|
|
#define ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13 "cellSelectionInfoCE_r13"
|
|
#define ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13 "q_RxLevMinCE_r13"
|
|
#define ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13 "bandwidthReducedAccessRelatedInfo_r13"
|
|
#define ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13 "si_WindowLength_BR_r13"
|
|
#define ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13 "si_RepetitionPattern_r13"
|
|
#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13 "fdd_DownlinkOrTddSubframeBitmapBR_r13"
|
|
#define ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13 "fdd_DownlinkOrTddSubframeBitmapBR_val_r13"
|
|
#define ENB_CONFIG_STRING_START_SYMBOL_BR_R13 "startSymbolBR_r13"
|
|
#define ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13 "si_HoppingConfigCommon_r13"
|
|
#define ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13 "si_ValidityTime_r13"
|
|
#define ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13 "freqHoppingParametersDL_r13"
|
|
#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13 "mpdcch_pdsch_HoppingNB_r13"
|
|
#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13 "interval_DLHoppingConfigCommonModeA_r13"
|
|
#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL "interval_DLHoppingConfigCommonModeA_r13_val"
|
|
#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13 "interval_DLHoppingConfigCommonModeB_r13"
|
|
#define ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL "interval_DLHoppingConfigCommonModeB_r13_val"
|
|
#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "mpdcch_pdsch_HoppingOffset_r13"
|
|
#define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13 "preamble_TransMax_ce_r13"
|
|
#define ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13_VAL "preamble_TransMax_ce_r13_val"
|
|
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13"
|
|
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13"
|
|
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13"
|
|
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pusch_maxNumRepetitionCEmodeB_r13"
|
|
#define ENB_CONFIG_STRING_PUSCH_REPETITION_LEVEL_CE_MODE_A_R13 "pusch_repetitionLevelCEmodeA_r13"
|
|
#define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310 "pusch_HoppingOffset_v1310"
|
|
#define ENB_CONFIG_STRING_SYSTEM_INFO_VALUE_TAG_LIST "system_info_value_tag_SI"
|
|
#define ENB_CONFIG_STRING_FIRST_PREAMBLE_R13 "firstPreamble_r13"
|
|
#define ENB_CONFIG_STRING_LAST_PREAMBLE_R13 "lastPreamble_r13"
|
|
#define ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13 "ra_ResponseWindowSize_r13"
|
|
#define ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13 "mac_ContentionResolutionTimer_r13"
|
|
#define ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13 "rar_HoppingConfig_r13"
|
|
#define ENB_CONFIG_STRING_RACH_CE_LEVELINFOLIST_R13 "rach_CE_LevelInfoList_r13"
|
|
#define ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR "prach_config_index_br"
|
|
#define ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR "prach_freq_offset_br"
|
|
#define ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13 "prach_StartingSubframe_r13"
|
|
#define ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13 "maxNumPreambleAttemptCE_r13"
|
|
#define ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13 "numRepetitionPerPreambleAttempt_r13"
|
|
#define ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13 "mpdcch_NumRepetition_RA_r13"
|
|
#define ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13 "prach_HoppingConfig_r13"
|
|
#define ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND "max_available_narrow_band"
|
|
#define ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13 "prach_parameters_ce_r13"
|
|
#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value"
|
|
#define ENB_CONFIG_STRING_N1PUCCH_AN_INFOLIST_R13 "n1PUCCH_AN_InfoList_r13"
|
|
#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310"
|
|
#define ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13 "paging_narrowbands_r13"
|
|
#define ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13 "mpdcch_numrepetition_paging_r13"
|
|
#define ENB_CONFIG_STRING_NB_V1310 "nb_v1310"
|
|
#define ENB_CONFIG_STRING_SIB2_FREQ_HOPPINGPARAMETERS_R13 "sib2_freq_hoppingParameters_r13"
|
|
|
|
typedef struct ccparams_eMTC_s {
|
|
/// indicator that eMTC is configured for this cell
|
|
int32_t eMTC_configured;
|
|
/// the SIB2 parameters for eMTC SIB2
|
|
ccparams_lte_t ccparams;
|
|
int si_Narrowband_r13;
|
|
int si_TBS_r13;
|
|
int systemInfoValueTagSi_r13;
|
|
int firstPreamble_r13;
|
|
int lastPreamble_r13;
|
|
int ra_ResponseWindowSize_r13;
|
|
int mac_ContentionResolutionTimer_r13;
|
|
int rar_HoppingConfig_r13;
|
|
int rsrp_range_br;
|
|
int prach_config_index_br;
|
|
int prach_freq_offset_br;
|
|
int prach_StartingSubframe_r13;
|
|
int maxNumPreambleAttemptCE_r13;
|
|
int numRepetitionPerPreambleAttempt_r13;
|
|
int mpdcch_NumRepetition_RA_r13;
|
|
int prach_HoppingConfig_r13;
|
|
int *maxavailablenarrowband;
|
|
int pucch_info_value;
|
|
int paging_narrowbands_r13;
|
|
int mpdcch_numrepetition_paging_r13;
|
|
int nb_v1310;
|
|
char *pucch_NumRepetitionCE_Msg4_Level0_r13;
|
|
char *pucch_NumRepetitionCE_Msg4_Level1_r13;
|
|
char *pucch_NumRepetitionCE_Msg4_Level2_r13;
|
|
char *pucch_NumRepetitionCE_Msg4_Level3_r13;
|
|
int sib2_mpdcch_pdsch_hoppingNB_r13;
|
|
char *sib2_interval_DLHoppingConfigCommonModeA_r13;
|
|
int sib2_interval_DLHoppingConfigCommonModeA_r13_val;
|
|
char *sib2_interval_DLHoppingConfigCommonModeB_r13;
|
|
int sib2_interval_DLHoppingConfigCommonModeB_r13_val;
|
|
char *sib2_interval_ULHoppingConfigCommonModeA_r13;
|
|
int sib2_interval_ULHoppingConfigCommonModeA_r13_val;
|
|
char *sib2_interval_ULHoppingConfigCommonModeB_r13;
|
|
int sib2_interval_ULHoppingConfigCommonModeB_r13_val;
|
|
int sib2_mpdcch_pdsch_hoppingOffset_r13;
|
|
int pusch_HoppingOffset_v1310;
|
|
int hyperSFN_r13;
|
|
int eDRX_Allowed_r13;
|
|
int q_RxLevMinCE_r13;
|
|
int q_QualMinRSRQ_CE_r13;
|
|
char *si_WindowLength_BR_r13;
|
|
char *si_RepetitionPattern_r13;
|
|
int startSymbolBR_r13;
|
|
char *si_HoppingConfigCommon_r13;
|
|
char *si_ValidityTime_r13;
|
|
char *mpdcch_pdsch_HoppingNB_r13;
|
|
int interval_DLHoppingConfigCommonModeA_r13_val;
|
|
int interval_DLHoppingConfigCommonModeB_r13_val;
|
|
int mpdcch_pdsch_HoppingOffset_r13;
|
|
int preambleTransMax_CE_r13;
|
|
int prach_HoppingOffset_r13;
|
|
int schedulingInfoSIB1_BR_r13;
|
|
int64_t fdd_DownlinkOrTddSubframeBitmapBR_val_r13;
|
|
char *cellSelectionInfoCE_r13;
|
|
char *bandwidthReducedAccessRelatedInfo_r13;
|
|
char *fdd_DownlinkOrTddSubframeBitmapBR_r13;
|
|
char *fdd_UplinkSubframeBitmapBR_r13;
|
|
char *freqHoppingParametersDL_r13;
|
|
char *interval_DLHoppingConfigCommonModeA_r13;
|
|
char *interval_DLHoppingConfigCommonModeB_r13;
|
|
char *prach_ConfigCommon_v1310;
|
|
char *mpdcch_startSF_CSS_RA_r13;
|
|
char *mpdcch_startSF_CSS_RA_r13_val;
|
|
char *pdsch_maxNumRepetitionCEmodeA_r13;
|
|
char *pdsch_maxNumRepetitionCEmodeB_r13;
|
|
char *pusch_maxNumRepetitionCEmodeA_r13;
|
|
char *pusch_maxNumRepetitionCEmodeB_r13;
|
|
char *pusch_repetitionLevelCEmodeA_r13;
|
|
} ccparams_eMTC_t;
|
|
|
|
|
|
// clang-format off
|
|
#define EMTCPARAMS_DESC(eMTCconfig) { \
|
|
{"eMTC_configured", NULL, 0, .iptr=&eMTCconfig->eMTC_configured, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_ROOT, NULL, 0, .iptr=&eMTCconfig->ccparams.prach_root, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX, NULL, 0, .iptr=&eMTCconfig->ccparams.prach_config_index, .defintval=0, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_HIGH_SPEED, NULL, 0, .strptr=&eMTCconfig->ccparams.prach_high_speed, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_ZERO_CORRELATION, NULL, 0, .iptr=&eMTCconfig->ccparams.prach_zero_correlation, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET, NULL, 0, .iptr=&eMTCconfig->ccparams.prach_freq_offset, .defintval=2, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, NULL, 0, .iptr=&eMTCconfig->ccparams.pucch_delta_shift, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_NRB_CQI, NULL, 0, .iptr=&eMTCconfig->ccparams.pucch_nRB_CQI, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_NCS_AN, NULL, 0, .iptr=&eMTCconfig->ccparams.pucch_nCS_AN, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_N1_AN, NULL, 0, .iptr=&eMTCconfig->ccparams.pucch_n1_AN, .defintval=32, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PDSCH_RS_EPRE, NULL, 0, .iptr=&eMTCconfig->ccparams.pdsch_referenceSignalPower, .defintval=-29, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PDSCH_PB, NULL, 0, .iptr=&eMTCconfig->ccparams.pdsch_p_b, .defintval=0, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_N_SB, NULL, 0, .iptr=&eMTCconfig->ccparams.pusch_n_SB, .defintval=1, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_HOPPINGMODE, NULL, 0, .strptr=&eMTCconfig->ccparams.pusch_hoppingMode, .defstrval="interSubFrame", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_HOPPINGOFFSET, NULL, 0, .iptr=&eMTCconfig->ccparams.pusch_hoppingOffset, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_ENABLE64QAM, NULL, 0, .strptr=&eMTCconfig->ccparams.pusch_enable64QAM, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN, NULL, 0, .strptr=&eMTCconfig->ccparams.pusch_groupHoppingEnabled, .defstrval="ENABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_GROUP_ASSIGNMENT, NULL, 0, .iptr=&eMTCconfig->ccparams.pusch_groupAssignment, .defintval=0, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN, NULL, 0, .strptr=&eMTCconfig->ccparams.pusch_sequenceHoppingEnabled, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_NDMRS1, NULL, 0, .iptr=&eMTCconfig->ccparams.pusch_nDMRS1, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PHICH_DURATION, NULL, 0, .strptr=&eMTCconfig->ccparams.phich_duration, .defstrval="NORMAL", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PHICH_RESOURCE, NULL, 0, .strptr=&eMTCconfig->ccparams.phich_resource, .defstrval="ONESIXTH", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_SRS_ENABLE, NULL, 0, .strptr=&eMTCconfig->ccparams.srs_enable, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, NULL, 0, .iptr=&eMTCconfig->ccparams.srs_BandwidthConfig, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, NULL, 0, .iptr=&eMTCconfig->ccparams.srs_SubframeConfig, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, NULL, 0, .strptr=&eMTCconfig->ccparams.srs_ackNackST, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_SRS_MAXUPPTS, NULL, 0, .strptr=&eMTCconfig->ccparams.srs_MaxUpPts, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_PO_NOMINAL, NULL, 0, .iptr=&eMTCconfig->ccparams.pusch_p0_Nominal, .defintval=-90, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_ALPHA, NULL, 0, .strptr=&eMTCconfig->ccparams.pusch_alpha, .defstrval="AL1", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_PO_NOMINAL, NULL, 0, .iptr=&eMTCconfig->ccparams.pucch_p0_Nominal, .defintval=-96, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_MSG3_DELTA_PREAMBLE, NULL, 0, .iptr=&eMTCconfig->ccparams.msg3_delta_Preamble, .defintval=6, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1, NULL, 0, .strptr=&eMTCconfig->ccparams.pucch_deltaF_Format1, .defstrval="DELTAF2", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT1b, NULL, 0, .strptr=&eMTCconfig->ccparams.pucch_deltaF_Format1b, .defstrval="deltaF3", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, NULL, 0, .strptr=&eMTCconfig->ccparams.pucch_deltaF_Format2, .defstrval="deltaF0", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, NULL, 0, .strptr=&eMTCconfig->ccparams.pucch_deltaF_Format2a, .defstrval="deltaF0", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, NULL, 0, .strptr=&eMTCconfig->ccparams.pucch_deltaF_Format2b, .defstrval="deltaF0", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_numberOfRA_Preambles, .defintval=4, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, .strptr=&eMTCconfig->ccparams.rach_preamblesGroupAConfig, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_sizeOfRA_PreamblesGroupA, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_messageSizeGroupA, .defintval=56, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, NULL, 0, .strptr=&eMTCconfig->ccparams.rach_messagePowerOffsetGroupB, .defstrval="minusinfinity", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_powerRampingStep, .defintval=4, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_preambleInitialReceivedTargetPower, .defintval=-100, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_PREAMBLETRANSMAX, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_preambleTransMax, .defintval=10, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_raResponseWindowSize, .defintval=10, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_macContentionResolutionTimer, .defintval=48, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, NULL, 0, .iptr=&eMTCconfig->ccparams.rach_maxHARQ_Msg3Tx, .defintval=4, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE, NULL, 0, .iptr=&eMTCconfig->ccparams.pcch_defaultPagingCycle, .defintval=128, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PCCH_NB, NULL, 0, .strptr=&eMTCconfig->ccparams.pcch_nB, .defstrval="oneT", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF, NULL, 0, .iptr=&eMTCconfig->ccparams.bcch_modificationPeriodCoeff, .defintval=2, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, NULL, 0, .strptr=&eMTCconfig->ccparams.rach_preamblesGroupAConfig, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_UETIMERS_T300, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TimersAndConstants_t300, .defintval=1000, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_UETIMERS_T301, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TimersAndConstants_t301, .defintval=1000, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_UETIMERS_T310, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TimersAndConstants_t310, .defintval=1000, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_UETIMERS_T311, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TimersAndConstants_t311, .defintval=10000, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_UETIMERS_N310, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TimersAndConstants_n310, .defintval=20, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_UETIMERS_N311, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TimersAndConstants_n311, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_UE_TRANSMISSION_MODE, NULL, 0, .iptr=&eMTCconfig->ccparams.ue_TransmissionMode, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_SCHEDULING_INFO_SIB1_BR_R13, NULL, 0, .iptr=&eMTCconfig->schedulingInfoSIB1_BR_r13, .defintval=4, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_CONFIG_COMMON_V1310, NULL, 0, .strptr=&eMTCconfig->prach_ConfigCommon_v1310, .defstrval="ENABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13, NULL, 0, .strptr=&eMTCconfig->mpdcch_startSF_CSS_RA_r13, .defstrval="fdd-r13", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_MPDCCH_START_SF_CSS_RA_R13_VAL, NULL, 0, .strptr=&eMTCconfig->mpdcch_startSF_CSS_RA_r13_val, .defstrval="v1", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_HOPPING_OFFSET_R13, NULL, 0, .iptr=&eMTCconfig->prach_HoppingOffset_r13, .defintval=0, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, .strptr=&eMTCconfig->pdsch_maxNumRepetitionCEmodeA_r13, .defstrval="r16", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, NULL, 0, .strptr=&eMTCconfig->pusch_maxNumRepetitionCEmodeA_r13, .defstrval="r8", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUSCH_REPETITION_LEVEL_CE_MODE_A_R13, NULL, 0, .strptr=&eMTCconfig->pusch_repetitionLevelCEmodeA_r13, .defstrval="l1", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_CELL_SELECTION_INFO_CE_R13, NULL, 0, .strptr=&eMTCconfig->cellSelectionInfoCE_r13, .defstrval="ENABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_Q_RX_LEV_MIN_CE_R13, NULL, 0, .iptr=&eMTCconfig->q_RxLevMinCE_r13, .defintval=-70, TYPE_INT, 0}, \
|
|
{ENB_CONFIG_STRING_BANDWIDTH_REDUCED_ACCESS_RELATED_INFO_R13, NULL, 0, .strptr=&eMTCconfig->bandwidthReducedAccessRelatedInfo_r13, .defstrval="ENABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_SI_WINDOW_LENGTH_BR_R13, NULL, 0, .strptr=&eMTCconfig->si_WindowLength_BR_r13, .defstrval="ms20", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_SI_REPETITION_PATTERN_R13, NULL, 0, .strptr=&eMTCconfig->si_RepetitionPattern_r13, .defstrval="everyRF", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_R13, NULL, 0, .strptr=&eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_r13, .defstrval="subframePattern40-r13", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_FDD_DOWNLINK_OR_TDD_SUBFRAME_BITMAP_BR_VAL_R13, NULL, 0, .i64ptr=&eMTCconfig->fdd_DownlinkOrTddSubframeBitmapBR_val_r13, .defint64val=0xFFFFFFFFFF, TYPE_UINT64, 0}, \
|
|
{ENB_CONFIG_STRING_START_SYMBOL_BR_R13, NULL, 0, .iptr=&eMTCconfig->startSymbolBR_r13, .defintval=3, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_SI_HOPPING_CONFIG_COMMON_R13, NULL, 0, .strptr=&eMTCconfig->si_HoppingConfigCommon_r13 , .defstrval="off", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_SI_VALIDITY_TIME_R13, NULL, 0, .strptr=&eMTCconfig->si_ValidityTime_r13, .defstrval="true", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_DL_R13, NULL, 0, .strptr=&eMTCconfig->freqHoppingParametersDL_r13, .defstrval="DISABLE", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, .strptr=&eMTCconfig->mpdcch_pdsch_HoppingNB_r13, .defstrval="nb2", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, NULL, 0, .strptr=&eMTCconfig->interval_DLHoppingConfigCommonModeA_r13, .defstrval="interval-FDD-r13", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, NULL, 0, .iptr=&eMTCconfig->interval_DLHoppingConfigCommonModeA_r13_val, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, NULL, 0, .strptr=&eMTCconfig->interval_DLHoppingConfigCommonModeB_r13, .defstrval="interval-FDD-r13", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, NULL, 0, .iptr=&eMTCconfig->interval_DLHoppingConfigCommonModeB_r13_val, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13, NULL, 0, .iptr=&eMTCconfig->mpdcch_pdsch_HoppingOffset_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PREAMBLE_TRANSMAX_CE_R13, NULL, 0, .iptr=&eMTCconfig->preambleTransMax_CE_r13, .defintval=10, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, NULL, 0, .strptr=&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level0_r13, .defstrval="n1", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, NULL, 0, .strptr=&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level1_r13, .defstrval="", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, NULL, 0, .strptr=&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level2_r13, .defstrval="", TYPE_STRING, 0}, \
|
|
{ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, NULL, 0, .strptr=&eMTCconfig->pucch_NumRepetitionCE_Msg4_Level3_r13, .defstrval="", TYPE_STRING, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define EMTCPARAMS_CHECK { \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ .s1a= { config_check_modify_integer, UETIMER_T300_OKVALUES, UETIMER_T300_MODVALUES,8}} , \
|
|
{ .s1a= { config_check_modify_integer, UETIMER_T301_OKVALUES, UETIMER_T301_MODVALUES,8}} , \
|
|
{ .s1a= { config_check_modify_integer, UETIMER_T310_OKVALUES, UETIMER_T310_MODVALUES,7}} , \
|
|
{ .s1a= { config_check_modify_integer, UETIMER_T311_OKVALUES, UETIMER_T311_MODVALUES,7}} , \
|
|
{ .s1a= { config_check_modify_integer, UETIMER_N310_OKVALUES, UETIMER_N310_MODVALUES,8}} , \
|
|
{ .s1a= { config_check_modify_integer, UETIMER_N311_OKVALUES, UETIMER_N311_MODVALUES,8}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
{ {NULL}} , \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define SYSTEM_INFO_VALUE_TAG_SI_DESC(eMTCconfig) { \
|
|
{"systemInfoValueTagSi_r13", NULL, 0, .iptr=&eMTCconfig->systemInfoValueTagSi_r13, .defintval=0, TYPE_UINT, 0} \
|
|
}
|
|
// clang-format on
|
|
|
|
|
|
// clang-format off
|
|
#define SI_INFO_BR_DESC(eMTCconfig) { \
|
|
{"si_Narrowband_r13", NULL, 0, .iptr=&eMTCconfig->si_Narrowband_r13, .defintval=5, TYPE_UINT, 0}, \
|
|
{"si_TBS_r13", NULL, 0, .iptr=&eMTCconfig->si_TBS_r13, .defintval=5, TYPE_UINT, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define RSRP_RANGE_LIST_DESC(eMTCconfig) { \
|
|
{"rsrp_range_br", NULL, 0, .iptr=&eMTCconfig->rsrp_range_br, .defintval=0, TYPE_UINT, 0} \
|
|
}
|
|
// clang-format on
|
|
|
|
|
|
// clang-format off
|
|
#define RACH_CE_LEVELINFOLIST_R13_DESC(eMTCconfig) { \
|
|
{ENB_CONFIG_STRING_FIRST_PREAMBLE_R13, NULL, 0, .iptr=&eMTCconfig->firstPreamble_r13, .defintval=60, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_LAST_PREAMBLE_R13, NULL, 0, .iptr=&eMTCconfig->lastPreamble_r13, .defintval=63, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13, NULL, 0, .iptr=&eMTCconfig->ra_ResponseWindowSize_r13, .defintval=20, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_MAC_CONTENTION_RESOLUTION_TIMER_R13, NULL, 0, .iptr=&eMTCconfig->mac_ContentionResolutionTimer_r13, .defintval=80, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13, NULL, 0, .iptr=&eMTCconfig->rar_HoppingConfig_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define PRACH_PARAMS_CE_R13_DESC(eMTCconfig) { \
|
|
{ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, NULL, 0, .iptr=&eMTCconfig->prach_config_index_br, .defintval=3, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, NULL, 0, .iptr=&eMTCconfig->prach_freq_offset_br, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, NULL, 0, .iptr=&eMTCconfig->prach_StartingSubframe_r13, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_MAX_NUM_PER_PREAMBLE_ATTEMPT_CE_R13, NULL, 0, .iptr=&eMTCconfig->maxNumPreambleAttemptCE_r13, .defintval=10, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_NUM_REPETITION_PER_PREAMBLE_ATTEMPT_R13, NULL, 0, .iptr=&eMTCconfig->numRepetitionPerPreambleAttempt_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, NULL, 0, .iptr=&eMTCconfig->mpdcch_NumRepetition_RA_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, NULL, 0, .iptr=&eMTCconfig->prach_HoppingConfig_r13, .defintval=0, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_SRING_MAX_AVAILABLE_NARROW_BAND, NULL, 0, .uptr=NULL, .defintarrayval=NULL, TYPE_INTARRAY, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define N1PUCCH_AN_INFOLIST_R13_DESC(eMTCconfig) { \
|
|
{ENB_CONFIG_STRING_PUCCH_INFO_VALUE, NULL, 0, .iptr=&eMTCconfig->pucch_info_value, .defintval=0, TYPE_UINT, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define PCCH_CONFIG_V1310_DESC(eMTCconfig) { \
|
|
{ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, NULL, 0, .iptr=&eMTCconfig->paging_narrowbands_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, NULL, 0, .iptr=&eMTCconfig->mpdcch_numrepetition_paging_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
{ENB_CONFIG_STRING_NB_V1310, NULL, 0, .iptr=&eMTCconfig->nb_v1310, .defintval=256, TYPE_UINT, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
// clang-format off
|
|
#define SIB2_FREQ_HOPPING_R13_DESC(eMTCconfig) { \
|
|
{ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, NULL, 0, .iptr=&eMTCconfig->sib2_mpdcch_pdsch_hoppingNB_r13, .defintval=0, TYPE_UINT, 0}, \
|
|
{"sib2_interval_DLHoppingConfigCommonModeA_r13", NULL, 0, .strptr=&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeA_r13, .defstrval="FDD", TYPE_STRING, 0}, \
|
|
{"sib2_interval_DLHoppingConfigCommonModeA_r13_val", NULL, 0, .iptr=&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeA_r13_val, .defintval=0, TYPE_UINT, 0}, \
|
|
{"sib2_interval_DLHoppingConfigCommonModeB_r13", NULL, 0, .strptr=&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeB_r13, .defstrval="FDD", TYPE_STRING, 0}, \
|
|
{"sib2_interval_DLHoppingConfigCommonModeB_r13_val", NULL, 0, .iptr=&eMTCconfig->sib2_interval_DLHoppingConfigCommonModeB_r13_val, .defintval=0, TYPE_UINT, 0}, \
|
|
{"sib2_interval_ULHoppingConfigCommonModeA_r13", NULL, 0, .strptr=&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13, .defstrval="FDD", TYPE_STRING, 0}, \
|
|
{"sib2_interval_ULHoppingConfigCommonModeA_r13_val", NULL, 0, .iptr=&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeA_r13_val, .defintval=4, TYPE_UINT, 0}, \
|
|
{"sib2_interval_ULHoppingConfigCommonModeB_r13", NULL, 0, .strptr=&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeB_r13, .defstrval="FDD", TYPE_STRING, 0}, \
|
|
{"sib2_interval_ULHoppingConfigCommonModeB_r13_val", NULL, 0, .iptr=&eMTCconfig->sib2_interval_ULHoppingConfigCommonModeB_r13_val, .defintval=0, TYPE_UINT, 0}, \
|
|
{"sib2_mpdcch_pdsch_hoppingOffset_r13", NULL, 0, .iptr=&eMTCconfig->sib2_mpdcch_pdsch_hoppingOffset_r13, .defintval=1, TYPE_UINT, 0}, \
|
|
}
|
|
// clang-format on
|
|
|
|
#endif
|