###########################################
## SCFD file version: 0.1                ##
## Release: TLF/TLC17ASP_1702_002        ##
## LTE version: TLF17ASP_RADIO_1702_002  ##
## LTE version: TLC17ASP_RADIO_1702_002  ##
###########################################



###########
# COMMON: #
###########

####################################################################################################################
# LTE3022 Inter-site carrier aggregation
####################################################################################################################
add_param minor PMRNL mtGTPU 15min
add_param minor CAREL pucchF1bwcsRecycling false
add_param minor CAGENB nlcvDeltaX2 2




####################################################################################################################
# LTE3265 GPS outage handling for OTDOA
####################################################################################################################
#OM_LTE_SFS_RNL.17493
#Migration of LTE3265 parameters:
#If at least one LNCEL-actOtdoa is 'true' then new optional parameter structure LNBTS-otdoaProfileList must be created and must be initialized in following way:
#  If MNL/MNLENT/SYNC/CLOCK::syncInputList contains:
#	If syncInputType = "1pps/ToD from external GNSS receiver or internal GNSS receiver" and syncInputPrio = 1 then 
#o	add {otdoaSyncSourceType = GNSS, otdoaPhaseErrorThreshold = 1500ns} to otdoaProfileList
#	if syncInputType = "TRS (transport reference source)" and syncInputPrio = 1 then 
#o	add {otdoaSyncSourceType = TOP-P, otdoaPhaseErrorThreshold = 1500ns} to otdoaProfileList
#	if syncInputType = "1pps/ToD from SHM" and syncInputPrio = 1 then:
#o	add {otdoaSyncSourceType = GNSS, otdoaPhaseErrorThreshold = 1500ns} and {otdoaSyncSourceType = TOP-P, otdoaPhaseErrorThreshold = 1500ns} to otdoaProfileList
#Duplicated configuration of the values "GNSS" or "ToP-P" is precluded.

add_list minor LNBTS otdoaProfileList
add_list_item minor LNBTS otdoaProfileList
add_list_item minor LNBTS otdoaProfileList

#syncInputType = "internal GNSS receiver"
add_list_param minor LNBTS otdoaProfileList 0 otdoaSyncSourceType GNSS
add_list_param minor LNBTS otdoaProfileList 0 otdoaPhaseErrorThreshold 1500

#syncInputType = "transport reference source"
add_list_param minor LNBTS otdoaProfileList 1 otdoaSyncSourceType ToP-P
add_list_param minor LNBTS otdoaProfileList 1 otdoaPhaseErrorThreshold 1500

add_list_param minor LNBTS otdoaProfileList * key temp

##############################syncInputType == "internal GNSS receiver"
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS otdoaProfileList 0 key = LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 0 syncInputType == CONST "internal GNSS receiver" && LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 0 syncInputPrio == CONST "1" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS otdoaProfileList 0 key = LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 1 syncInputType == CONST "internal GNSS receiver" && LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 1 syncInputPrio == CONST "1" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS otdoaProfileList 0 key = LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 2 syncInputType == CONST "internal GNSS receiver" && LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 2 syncInputPrio == CONST "1" ? CONST "true" :

##############################syncInputType == "transport reference source"
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS otdoaProfileList 1 key = LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 0 syncInputType == CONST "transport reference source" && LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 0 syncInputPrio == CONST "1" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS otdoaProfileList 1 key = LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 1 syncInputType == CONST "transport reference source" && LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 1 syncInputPrio == CONST "1" ? CONST "true" :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS otdoaProfileList 1 key = LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 2 syncInputType == CONST "transport reference source" && LISTPARAM MRBTS-${MRBTS}/MNL-1/MNLENT-1/SYNC-1/CLOCK-1 syncInputList 2 syncInputPrio == CONST "1" ? CONST "true" :

##########Cleanup items without meeting condition, and Checking any valid otdoaProfile exist
dependence_del_target_relative minor LISTITEM MRBTS/LNBTS otdoaProfileList * ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} otdoaProfileList ${otdoaProfileList} key == CONST "temp"
add_param minor LNBTS tempOtdoaListValid false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempOtdoaListValid = CONST "0" == CONST "0" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} otdoaProfileList 0 key :

##########CLEAN UP the LNBTS.otdoaProfileList if no LNCEL.actOtdoa == true
add_list minor LNCEL tempActOtdoaList         
add_list_item minor LNCEL tempActOtdoaList
add_list_param minor LNCEL tempActOtdoaList 0 actOtdoa temp
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/LNBTS/LNCEL tempActOtdoaList 0 actOtdoa = CONST "0" == CONST "0" ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/LNCEL-${LNCEL} actOtdoa :

add_list minor LNBTS tempActOtdoaList
dependence_move_list_item_relative minor MRBTS/LNBTS/LNCEL tempActOtdoaList actOtdoa true MRBTS-${MRBTS}/LNBTS-${LNBTS} tempActOtdoaList

add_param minor LNBTS tempActOtdoaFromLncel false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/LNBTS tempActOtdoaFromLncel = CONST "0" == CONST "0" ? LISTPARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempActOtdoaList 0 actOtdoa :

dependence_del_target_relative minor LIST MRBTS/LNBTS otdoaProfileList ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempActOtdoaFromLncel == CONST "false"
dependence_del_target_relative minor LIST MRBTS/LNBTS otdoaProfileList ? PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS} tempOtdoaListValid == CONST "false"

del_param minor LNBTS tempActOtdoaFromLncel
del_param minor LNBTS tempOtdoaListValid
del_list minor LNBTS tempActOtdoaList
del_list minor LNCEL tempActOtdoaList
del_list_param minor LNBTS otdoaProfileList key




#Macro specific
####################################################################################################################
# copy to 17A_SP mod_params to assure parameter is mandatory.
# LTE2532 TDD downlink carrier aggregation with 4 layers MIMO
# optional -> mandatory
####################################################################################################################
#add_param minor CAREL maxNumOfSuppMimoLayer "2-layer"



#Macro specific
####################################################################################################################
# CRL16768 Remove TDD restriction with PDCP SN 15 bit in LTE2532 (PR204445: [Pre-check][TL17SP trunk FSIH][LTE2532-R-i]Attach one TM4 4x4_3CC CA UE can't reach peak rate, found that 30ms or 40ms frame are always without scheduled every 160ms or 320ms)
####################################################################################################################
#add_list_param minor LNBTS pdcpProf1 * snSize "12bit"
#add_list_param minor LNBTS pdcpProf2 * snSize "12bit"
#add_list_param minor LNBTS pdcpProf3 * snSize "12bit"
#add_list_param minor LNBTS pdcpProf4 * snSize "12bit"
#add_list_param minor LNBTS pdcpProf5 * snSize "12bit"



####################################################################################################################
# PR214581: CRL16109: rrcGuardTimer should be mandatory
####################################################################################################################
#OM_LTE_SFS_RNL.18459
#Migration for PR214581 parameter rrcGuardTimer
#If the LNBTS does NOT contain the parameter rrcGuardTimer following migration is needed.
#The LNBTS-rrcGuardTimer shall be added with the default value.
add_param minor LNBTS rrcGuardTimer 20



####################################################################################################################
# PR211542: [LTE2369] proposal for LTE2369 new parameter msg3ConsecutiveDtx
####################################################################################################################
mod_param minor LNCEL msg3ConsecutiveDtx 10 0
mod_param minor LNCEL msg3ConsecutiveDtx 12 0
mod_param minor LNCEL msg3ConsecutiveDtx 16 0
mod_param minor LNCEL msg3ConsecutiveDtx 20 0
mod_param minor LNCEL msg3ConsecutiveDtx 24 0
mod_param minor LNCEL msg3ConsecutiveDtx 28 0



#Macro specific
####################################################################################################################
# NIDD PR214611: [FL/TL17ASP only]: LTE3296-AGH: relocation for TM switch profile parameter missing
####################################################################################################################
#move_param minor LNCEL LNCEL_TDD tmSwitchProfileId



####################################################################################################################
# LTE3701 Counters profiles enhancement including the UE category
####################################################################################################################
rename_param minor PMQAP cfgARP cfgARPRange
rename_param minor PMQAP cfgQCI cfgQCIRange


###########
# TDD:    #
###########

####################################################################################################################
# LTE2666 Massive MIMO
####################################################################################################################
add_param minor LNCEL_TDD actMMimo false






#history:
add_log minor "Conversion from TLF/TLC17SP_RADIO_1701_003 to TLF/TLC17ASP_RADIO_1702_002"
