/******************************************************************************* ################################################################################ # Copyright (c) [2017-2019] [Radisys] # # # # Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 # # # # 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. # ################################################################################ *******************************************************************************/ /********************************************************************** Name: LTE-MAC layer Type: C include file Desc: Defines required by the LTE MAC-RRM control (RGR) interface. File: rgr.h **********************************************************************/ #ifndef __RGR_H__ #define __RGR_H__ #include "nlu.h" /** @file rgr.h @brief Macros for RGR interface. */ #define RGR_LTEU_MAX_EARFCN 10 #define RGR_MAX_SUBBANDS 110 #define RGR_MIN_CMN_LC_PER_CELL 4 /*!< BCCH-BCH, BCCH-DLSCH , PCCH, CCCH (bi-directional) */ #define RGR_MAX_CMN_LC_PER_CELL 6 /*!< BCCH-BCH, BCCH-DLSCH (can be 2), PCCH, CCCH (can be 2 - UL and DL, if given differently) */ #define RGR_MAX_NUM_QCI 9 /*!< Maximum number of Supported QCIs */ /* LTE_ADV_FLAG_REMOVED_START */ #define RGR_ABS_PATTERN_LEN 40 #define RGR_MAX_NBR_ENB 2 /*Maximum there can be 2 neighbours who will have different Edge RB Range*/ /* LTE_ADV_FLAG_REMOVED_END */ /*rgr_h_001.main_8 ADD added changes for L2 Measurements*/ #ifdef LTE_L2_MEAS #define RGR_MAX_LC_PER_LCG 10 /*!< Number of Logical Channels per LCG */ #endif /* LTE_L2_MEAS*/ /* Configuration/Reconfiguration MACROs*/ #define SCH_CONFIG 1 /*!< Macro for Configuration Request*/ #define RGR_RECONFIG 2 /*!< Macro for Reconfiguration Request*/ #define RGR_DELETE 3 /*!< Macro for Delete Request*/ #define RGR_RESET 4 /*!< Macro for Reset Request*/ #define RGR_SON_CFG 5 /*!< Macro for SON configuration Request*/ #ifdef LTE_ADV #define RGR_SCELL_ACT 6 /*!< Macro for Activation of SCell */ #define RGR_SCELL_DEACT 7 /*!< Macro for De-activation of SCell */ #define RGR_SCELL_READY 8 /*!< Macro Indicating that SCELL is ready for activation */ #endif /* LTE_ADV */ /* Cell/UE specific MACROs*/ #define RGR_CELL_CFG 1 /*!< Macro for Cell Configuration Type */ #define RGR_UE_CFG 2 /*!< Macro for UE Configuration Type */ #define RGR_LCH_CFG 3 /*!< Macro for Logical Channel Configuration Type */ #define RGR_LCG_CFG 4 /*!< Macro for Logical Group Configuration Type */ #define RGR_SCELL_UE_CFG 5 /*!< MACRO for Scell release */ #define MAC_GNB_CFG 6 /*!< MACRO for ENB Scheduler Configuration Type */ /* Cell-wide reconfiguration MACROs */ #define RGR_CELL_DL_CMNRATE_RECFG (1<<0) /*!< Macro for Downlink Common Coderate Reconfiguration */ #define RGR_CELL_CFI_RECFG (1<<1) /*!< Macro for CFI Reconfiguration */ #define RGR_CELL_TRGCQI_RECFG (1<<2) /*!< Macro for Target CFI Reconfiguration */ #define RGR_CELL_PUSCH_SB_RECFG (1<<3) /*!< Macro for PUSCH SB Reconfiguration */ #define RGR_CELL_UL_CMNRATE_RECFG (1<<4) /*!< Macro for Uplink Common Coderate Reconfiguration */ #define RGR_CELL_DL_HARQ_RECFG (1<<5) /*!< Macro for Downlink HARQ Reconfiguration */ #define RGR_CELL_PUCCH_RECFG (1<<6) /*!< Macro for PUCCH Reconfiguration */ #define RGR_CELL_SRS_RECFG (1<<7) /*!< Macro for SRS Reconfiguration */ #define RGR_CELL_RACH_RECFG (1<<8) /*!< Macro for RACH Reconfiguration */ #define RGR_CELL_DLFS_RECFG (1<<9) /*!< Macro for DLFS Reconfiguration */ #define RGR_CELL_PWR_RECFG (1<<10) /*!< Macro for Power Reconfiguration */ /* rgr_h_001.main_3:ADD-Added for SI Enhancement. */ /** @name RGR_SI_SCH */ /** @{ */ #ifdef RGR_SI_SCH #define RGR_CELL_SI_RECFG (1<<11) /*!< Hash define for SI Re-cfg */ /* ccpu00136659: CMAS ETWS design changes */ #define RGR_MAX_WARNING_SI_SEG 64 /*!< Max no of SI Warning Segements */ #endif /*RGR_SI_SCH*/ /** @} */ #define RGR_CELL_TMRS_RECFG (1<<12) /*!< t300 Timer reconfiguration */ /* LTE_ADV_FLAG_REMOVED_START */ #define RGR_CELL_LTEA_FEATURE_RECFG (1<<13) /*! SCH -> APP) (Received at X2AP)*/ #define EVTRGRLOADINFREQ 15 /*!< LOAD INF Request (APP -> MAC -> SCTP) (To Remote X2AP) */ /* LTE_ADV_FLAG_REMOVED_END */ /** @} */ /* Activation time limit in terms of number of frames */ #define RGR_ACTV_WIN_SIZE 20 /*!< Size of activation time window (in terms of number of frames) */ /* rgr_h_001.main_3-ADD-Added for SI Enhancement. */ /** @name RGR_SI_SCH */ /** @{ */ #ifdef RGR_SI_SCH /*SI Scheduling Specific */ #define RGR_MAX_NUM_SI 16 /*!< Maximum Number of SI */ #endif /*RGR_SI_SCH*/ /*EMTC */ #ifdef EMTC_ENABLE #define RGR_MAX_CE_LEVEL 4 /*max number of CE LEVEL */ #define RGR_MAX_NUM_MPDCCH_MONITOR 2 /*max number of CE LEVEL */ #endif /*EMTC*/ /** @} */ /*CA-Dev */ #define RGR_MAX_SCELL_PER_UE 7 /*rgr_h_001.main_8 ADD added changes for CQI Management*/ /** @name RGR_CQI_REPT */ /** @{ */ /* DL Power Control Constants/Macros */ /* ccpu00117452 - MOD - Changed macro name from RGR_RRM_DLPWR_CNTRL to RGR_CQI_REPT */ #ifdef RGR_CQI_REPT #define RGR_CQIRPTS_MAXN 16 /*!< Maximum number of CQI report collation allowed */ #endif #define RGR_MAX_DL_CQI_SUBBAND 13 /*!< Maximum number of Sub-Bands */ /** @} */ /* Pack/ Unpack error code */ #define ERGRXXX 0 #define ERRRGR 0 /*rgr_h_001.main_8 ADD added changes for ERR Val*/ #define ERGR001 (ERRRGR + 1) /* rgr.c: 155 */ #define ERGR002 (ERRRGR + 2) /* rgr.c: 163 */ #define ERGR003 (ERRRGR + 3) /* rgr.c: 172 */ #define ERGR004 (ERRRGR + 4) /* rgr.c: 221 */ #define ERGR005 (ERRRGR + 5) /* rgr.c: 230 */ #define ERGR006 (ERRRGR + 6) /* rgr.c: 276 */ #define ERGR007 (ERRRGR + 7) /* rgr.c: 284 */ #define ERGR008 (ERRRGR + 8) /* rgr.c: 293 */ #define ERGR009 (ERRRGR + 9) /* rgr.c: 343 */ #define ERGR010 (ERRRGR + 10) /* rgr.c: 352 */ #define ERGR011 (ERRRGR + 11) /* rgr.c: 397 */ #define ERGR012 (ERRRGR + 12) /* rgr.c: 405 */ #define ERGR013 (ERRRGR + 13) /* rgr.c: 414 */ #define ERGR014 (ERRRGR + 14) /* rgr.c: 463 */ #define ERGR015 (ERRRGR + 15) /* rgr.c: 472 */ #define ERGR016 (ERRRGR + 16) /* rgr.c: 520 */ #define ERGR017 (ERRRGR + 17) /* rgr.c: 529 */ #define ERGR018 (ERRRGR + 18) /* rgr.c: 539 */ #define ERGR019 (ERRRGR + 19) /* rgr.c: 549 */ #define ERGR020 (ERRRGR + 20) /* rgr.c: 559 */ #define ERGR021 (ERRRGR + 21) /* rgr.c: 611 */ #define ERGR022 (ERRRGR + 22) /* rgr.c: 620 */ #define ERGR023 (ERRRGR + 23) /* rgr.c: 628 */ #define ERGR024 (ERRRGR + 24) /* rgr.c: 641 */ #define ERGR025 (ERRRGR + 25) /* rgr.c: 756 */ #define ERGR026 (ERRRGR + 26) /* rgr.c: 764 */ #define ERGR027 (ERRRGR + 27) /* rgr.c: 774 */ #define ERGR028 (ERRRGR + 28) /* rgr.c: 825 */ #define ERGR029 (ERRRGR + 29) /* rgr.c: 834 */ #define ERGR030 (ERRRGR + 30) /* rgr.c: 849 */ #define ERGR031 (ERRRGR + 31) /* rgr.c: 897 */ #define ERGR032 (ERRRGR + 32) /* rgr.c: 905 */ #define ERGR033 (ERRRGR + 33) /* rgr.c: 914 */ #define ERGR034 (ERRRGR + 34) /* rgr.c: 923 */ #define ERGR035 (ERRRGR + 35) /* rgr.c: 973 */ #define ERGR036 (ERRRGR + 36) /* rgr.c: 982 */ #define ERGR037 (ERRRGR + 37) /* rgr.c: 991 */ #define ERGR038 (ERRRGR + 38) /* rgr.c:1040 */ #define ERGR039 (ERRRGR + 39) /* rgr.c:1048 */ #define ERGR040 (ERRRGR + 40) /* rgr.c:1057 */ #define ERGR041 (ERRRGR + 41) /* rgr.c:1066 */ #define ERGR042 (ERRRGR + 42) /* rgr.c:1117 */ #define ERGR043 (ERRRGR + 43) /* rgr.c:1126 */ #define ERGR044 (ERRRGR + 44) /* rgr.c:1135 */ #define ERGR045 (ERRRGR + 45) /* rgr.c:7376 */ #define ERGR046 (ERRRGR + 46) /* rgr.c:7386 */ #define ERGR047 (ERRRGR + 47) /* rgr.c:7397 */ #define ERGR048 (ERRRGR + 48) /* rgr.c:7408 */ #define ERGR049 (ERRRGR + 49) /* rgr.c:7420 */ #define ERGR050 (ERRRGR + 50) /* rgr.c:7471 */ #define ERGR051 (ERRRGR + 51) /* rgr.c:7480 */ #define ERGR052 (ERRRGR + 52) /* rgr.c:7489 */ #define ERGR053 (ERRRGR + 53) /* rgr.c:7503 */ #define ERGR054 (ERRRGR + 54) /* rgr.c:7721 */ #define ERGR055 (ERRRGR + 55) /* rgr.c:7733 */ #define ERGR056 (ERRRGR + 56) /* rgr.c:7745 */ #define ERGR057 (ERRRGR + 57) /* rgr.c:7759 */ #define ERGR058 (ERRRGR + 58) /* rgr.c:7808 */ #define ERGR059 (ERRRGR + 59) /* rgr.c:7819 */ #define ERGR060 (ERRRGR + 60) /* rgr.c:7833 */ #define ERGR061 (ERRRGR + 61) /* rgr.c:7703 */ #define ERGR062 (ERRRGR + 62) /* rgr.c:7714 */ #define ERGR063 (ERRRGR + 63) /* rgr.c:7727 */ #define ERGR064 (ERRRGR + 64) /* rgr.c:7740 */ #define ERGR065 (ERRRGR + 65) /* rgr.c:7757 */ #define ERGR066 (ERRRGR + 66) /* rgr.c:7811 */ #define ERGR067 (ERRRGR + 67) /* rgr.c:7822 */ #define ERGR068 (ERRRGR + 68) /* rgr.c:7833 */ #define ERGR069 (ERRRGR + 69) /* rgr.c:7851 */ #define ERGR070 (ERRRGR + 70) /* rgr.c:8023 */ #define ERGR071 (ERRRGR + 71) /* rgr.c:8035 */ #define ERGR072 (ERRRGR + 72) /* rgr.c:8083 */ #define ERGR073 (ERRRGR + 73) /* rgr.c:7833 */ #define ERGR074 (ERRRGR + 74) /* rgr.c:8138 */ #define ERGR075 (ERRRGR + 75) /* rgr.c:8148 */ #define ERGR076 (ERRRGR + 76) /* rgr.c:8159 */ #define ERGR077 (ERRRGR + 77) /* rgr.c:8170 */ #define ERGR078 (ERRRGR + 78) /* rgr.c:8181 */ #define ERGR079 (ERRRGR + 79) /* rgr.c:8234 */ #define ERGR080 (ERRRGR + 80) /* rgr.c:8245 */ #define ERGR081 (ERRRGR + 81) /* rgr.c:8256 */ #define ERGR082 (ERRRGR + 82) /* rgr.c:8038 */ #define ERGR083 (ERRRGR + 83) /* rgr.c:8110 */ #endif /* __RGR_H__ */ /********************************************************************** End of file **********************************************************************/