Optional parameters filling in Du to CU RRC Container
[o-du/l2.git] / src / du_app / du_cfg.h
index 4ad7437..53f8352 100644 (file)
 /* MACROS */
 #define DU_INST 0
 #define DU_ID 1
-#define DU_IP_V4_ADDR "10.0.2.20"
+#define DU_IP_V4_ADDR "192.168.130.81"
 #define CU_IP_V4_ADDR "10.0.2.25"
-#define RIC_IP_V4_ADDR "10.0.2.30"
+#define RIC_IP_V4_ADDR "192.168.130.80"
 #define DU_PORT 38472
 #define CU_PORT 38472
-#define RIC_PORT 38482
+#define RIC_PORT 36422
 #define DU_EGTP_PORT  39001
 #define CU_EGTP_PORT  39002
 #define NR_PCI 1
@@ -81,7 +81,7 @@
 #define PRACH_SUBCARRIER_SPACING 1
 #define PRACH_RESTRICTED_SET_CFG 0
 #define NUM_PRACH_FDM 1
-#define ROOT_SEQ_IDX 139
+#define ROOT_SEQ_IDX 24
 #define NUM_ROOT_SEQ 1
 #define ZERO_CORRELATION_ZONE_CFG 6
 #define NUM_UNUSED_ROOT_SEQ 0
 #define PDCCH_SEARCH_SPACE_ID_PAGING 1  /* Search space id for paging */
 #define PDCCH_SEARCH_SPACE_ID_RA   1    /* Search spaced id for random access */
 #define PDCCH_SERACH_SPACE_DCI_FORMAT 0
+#define PDCCH_CTRL_RSRC_SET_ONE_ID  1
+#define PDCCH_CTRL_RSRC_SET_ONE_DURATION 2  /* Duration for control resource set id i */
+#define PDCCH_CTRL_RSRC_SET_ONE_PRECOD_GRANULARITY 1   /* Precoded granularity */
+#define PDCCH_SRCH_SPC_TWO_ID 2
+#define PDCCH_SRCH_SPC_TWO_AGG_LVL1_CANDIDATE 7   /* Num of candidate at aggregation level 1 */
+#define PDCCH_SRCH_SPC_TWO_AGG_LVL2_CANDIDATE 7   /* Num of candidate at aggregation level 2 */
+#define PDCCH_SRCH_SPC_TWO_AGG_LVL4_CANDIDATE 4   /* Num of candidate at aggregation level 4 */
+#define PDCCH_SRCH_SPC_TWO_AGG_LVL8_CANDIDATE 2   /* Num of candidate at aggregation level 8 */
+#define PDCCH_SRCH_SPC_TWO_AGG_LVL16_CANDIDATE 1  /* Num of candidate at aggregation level 16 */
+#define PDCCH_SRCH_SPC_TWO_UE_SPEC_DCI_FORMAT  0  /* format 0-0 and 1-0 */
+
+
 #define SIB1_VALUE_TAG 10
 
 /* MACRCO Ddefine for PDSCH Configuration */
 #define PDSCH_K0  0
-#define PDSCH_START_SYMB_AND_LEN 53    
+#define PDSCH_START_SYMBOL  2
+#define PDSCH_LENGTH_SYMBOL 12
+#define PDSCH_RES_ALLOC_TYPE       1          /* Resource allocation type */
+#define PDSCH_MAX_CODEWORD_SCH_BY_DCI 0       /* Max num of codewords scheduled by DCI */
+#define PDSCH_RBG_SIZE   0                    /* 0: config1 */
+#define PDSCH_NUM_HARQ_PROC 5
 
 /* MACRO Define for PUSCH Configuration */
-#define PUSCH_K0  3
-#define PUSCH_START_SYMB_AND_LEN 55
+#define PUSCH_K2  3
+#define PUSCH_START_SYMBOL  0
+#define PUSCH_LENGTH_SYMBOL 14
+
 #define PUSCH_MSG3_DELTA_PREAMBLE 0
 #define PUSCH_P0_NOMINAL_WITH_GRANT -70
+#define PUSCH_TRANSFORM_PRECODER    1      /* 1: Disabled */
+#define PUSCH_MAX_MIMO_LAYERS       1
+#define PUSCH_PROCESS_TYPE2_ENABLED false
 
 /* Macro define for PUCCH Configuration */
 #define PUCCH_RSRC_COMMON  0
 #define CU_DU_NAME_LEN_MAX 30      /* Max length of CU/DU name string */
 #define MAX_F1_CONNECTIONS 65536    /* Max num of F1 connections */
 #define DU_MAX_CELLS       1      /* Max num of cells served by gNB-DU */
+#define DU_MAX_UE          1      /* Maximum number of UE Ids */
 #define MAX_PLMN           6        /* Max num of broadcast PLMN ids */
 #define MAXNRARFCN         3279165  /* Maximum values of NRAFCN */
 #define MAXNRCELLBANDS     2       /* Maximum number of frequency bands */
 #define MAX_NUM_OF_SLICE_ITEMS 1024     /* Maximum number of signalled slice support items */
 #define MAXBPLMNNRMINUS1   1       /* Maximum number of PLMN Ids broadcast in an NR cell minus 1 */
 #define MAXNUMOFSIBTYPES   32       /* Maximum number of SIB types */
-#define MAX_UEID           512      /* Maximum number of UE Ids */
 #define MAX_TNL_ASSOC      32       /* Max num of TNL Assoc between CU and DU */
 #define MAXCELLINENB       256      /* Max num of cells served by eNB */
 #define MAX_NUM_OF_UE_ID       65536    /* Max num of UEs served by DU */
 #define DU_RANAC 1
 #define CELL_IDENTITY 32
 
+/* Macro definitions for DUtoCuRrcContainer */
+#define CELL_GRP_ID 1
+#define SCH_REQ_ID  0
+#define SR_PROHIBIT_TMR 5
+#define SR_TRANS_MAX 2
+#define PERIODIC_BSR_TMR 2
+#define RETX_BSR_TMR     5
+#define TAG_ID 0
+#define TIME_ALIGNMENT_TMR 7
+#define PHR_PERIODIC_TMR 7
+#define PHR_PROHIBHIT_TMR 0
+#define PHR_PWR_FACTOR_CHANGE 3
+#define PHR_MODE_OTHER_CG 0
+#define RLC_LCID 1 
+#define SRB_ID_1 1
+#define SN_FIELD_LEN 0
+#define T_POLL_RETRANSMIT 8 
+#define POLL_PDU 0
+#define POLL_BYTE 43
+#define MAX_RETX_THRESHOLD 5
+#define T_REASSEMBLY 8
+#define T_STATUS_PROHIBHIT 7
+#define MAC_LC_PRIORITY 1
+#define PRIORTISIED_BIT_RATE 15
+#define BUCKET_SIZE_DURATION 5
+#define LC_GRP 0
+#define P_NR_FR1 0
+#define PDSCH_HARQ_ACK_CODEBOOK 1
+#define SERV_CELL_IDX 0
+#define RLM_SYNC_OUT_SYNC_THRESHOLD 0
+#define ACTIVE_DL_BWP_ID 0
+#define ACTIVE_UL_BWP_ID 0
+#define SCRAMBLING_ID  NR_PCI
+#define DMRS_ADDITIONAL_POS  0          /* DMRS Additional poistion */
+#define RES_ALLOC_TYPE       1          /* Resource allocation type */
+
 #ifdef EGTP_TEST
 #define UE_ID 1
 #define RB_ID 1
@@ -367,6 +425,19 @@ typedef enum
    PERMIT_HIGH_PRIOR_SESSION_AND_MOBILE_TERM_SERVICE
 }F1UacStandardAction;
 
+typedef enum
+{
+   PDSCH_MAPPING_TYPE_A,
+   PDSCH_MAPPING_TYPE_B,
+}pdschMappingType;
+
+typedef enum
+{
+   PUSCH_MAPPING_TYPE_A,
+   PUSCH_MAPPING_TYPE_B,
+}puschMappingType;
+
+
 typedef struct f1RrcVersion
 {
    char    rrcVer[30];     /* Latest RRC Version */
@@ -777,7 +848,7 @@ typedef struct f1GnbDuCfgUpd
   F1DuSrvdCellToDel   srvdCellLstMod[DU_MAX_CELLS];      /* Served cell list to be modified */
   NrEcgi              srvdCellLstDel[DU_MAX_CELLS];      /* Served cell list to be deleted */
   F1CellStatus        cellStatus[DU_MAX_CELLS];          /* Cell status */
-  F1DedSIDelUE        ueLst[MAX_UEID];                     /* Ue list that requires dedicated SI delivery */
+  F1DedSIDelUE        ueLst[DU_MAX_UE];                     /* Ue list that requires dedicated SI delivery */
   uint32_t            gnbDuId;
   F1TnlAssocToRmv     gnbDuTnlAssocRmv[MAX_TNL_ASSOC];  /* TNL Assoc list to remove */ 
 }F1GnbDuCfgUpd;
@@ -966,9 +1037,9 @@ typedef struct pdcchCfgCommon
 typedef struct pdschCfgCommon
 {
    uint8_t  present;
-   long   k0;
-   long   mapType;              /* Mapping Type */
-   long   startSymbAndLen;      /* Start Symbol and Length */
+   long     k0;
+   long     mapType;              /* Mapping Type */
+       uint16_t sliv;  
 }PdschCfgCommon;
 
 typedef struct bcchCfg
@@ -1028,12 +1099,12 @@ typedef struct rachCfgCommon
 
 typedef struct  puschCfgCommon
 {
-   uint8_t present;
-   long   k2;
-   long   mapType;
-   long   startSymbAndLen;
-   long   msg3DeltaPreamble;
-   long   p0NominalWithGrant;
+   uint8_t  present;
+   long     k2;
+   long     mapType;
+       uint16_t sliv;
+   long     msg3DeltaPreamble;
+   long     p0NominalWithGrant;
 }PuschCfgCommon;
 
 typedef struct pucchCfgCommon
@@ -1109,6 +1180,7 @@ S16 readClCfg();
 S16 readCfg();
 S16 duReadCfg(); 
 S16 bitStringToInt(BIT_STRING_t *bitString, uint16_t *val);
+uint16_t calcSliv(uint8_t startSymbol, uint8_t lengthSymbol);
 
 #endif /* __DU_CONFIG_H__ */