X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cfg.h;h=316a1e7f49aa65df61eeb41e098f050c387ada77;hb=5b0a8c1ccec481f354d22c1dff57b35bf72a1622;hp=2a488d137941aec1738cf2119815b435849b8de0;hpb=ff0c6fbd56fc24b9c286dc6444e1e0fbe8871625;p=o-du%2Fl2.git diff --git a/src/du_app/du_cfg.h b/src/du_app/du_cfg.h index 2a488d137..316a1e7f4 100644 --- a/src/du_app/du_cfg.h +++ b/src/du_app/du_cfg.h @@ -28,21 +28,19 @@ #define DU_ID 1 #ifndef O1_ENABLE - #define DU_IP_V4_ADDR "192.168.130.81" #define CU_IP_V4_ADDR "192.168.130.82" #define RIC_IP_V4_ADDR "192.168.130.80" -#define DU_PORT 38472 -#define CU_PORT 38472 -#define RIC_PORT 36421 + +#define F1_SCTP_PORT 38472 /* As per the spec 38.472, the registered port number for F1AP is 38472 */ +#define E2_SCTP_PORT 36421 #endif -#define DU_EGTP_PORT 39001 -#define CU_EGTP_PORT 39003 +#define F1_EGTP_PORT 2152 /* As per the spec 29.281, the registered port number for GTP-U is 2152 */ #define NR_PCI 1 #define NR_CELL_ID 1 -#define DU_NAME "ORAN_OAM_DU" +#define DU_NAME "ORAN OAM DU" #define CELL_TYPE SMALL //TODO: while testing for TDD, Mu1 and 100 MHz, this flag must be enabled @@ -78,7 +76,8 @@ #define SUL_ARFCN 100 #define SUL_BAND 2 -#define TIME_CFG 0 +#define TIME_CFG 4 +#define MEAS_TIMING_ARFCN 630432 #define CARRIER_IDX 1 #define NUM_TX_ANT 2 #define NUM_RX_ANT 2 @@ -88,13 +87,9 @@ #define NORMAL_CYCLIC_PREFIX 0 #define OFFSET_TO_POINT_A 24 /* PRB Offset to Point A */ #define BETA_PSS BETA_PSS_0DB -#define SSB_PERIODICITY_5MS 5 -#define SSB_PERIODICITY_10MS 10 -#define SSB_PERIODICITY_20MS 20 -#define SSB_PERIODICITY_40MS 40 -#define SSB_PERIODICITY_80MS 80 -#define SSB_PERIODICITY_160MS 160 -#define SSB_SUBCARRIER_OFFSET 0 +#define SSB_PERIODICITY 20 +#define SSB_SUBCARRIER_OFFSET 0 +#define SSB_FREQUENCY 3000000 /*ssbFrequency in kHz*/ #define SSB_MULT_CARRIER_BAND FALSE #define MULT_CELL_CARRIER FALSE #define FREQ_LOC_BW 28875 /* DL frequency location and bandwidth. Spec 38.508 Table 4.3.1.0B-1*/ @@ -105,7 +100,11 @@ #define CORESET1_NUM_PRB 24 /* MACRO defines for PRACH Configuration */ +#ifndef NR_TDD +#define PRACH_CONFIG_IDX 16 +#else #define PRACH_CONFIG_IDX 88 +#endif #define PRACH_MAX_PRB 24 /* As per (spec 38.211-Table 6.3.3.2-1), max allocated PRBs can go upto 24 */ #define PRACH_FREQ_START (MAX_NUM_RB - PRACH_MAX_PRB) /* In order to allocate PRACH from end of the resource grid */ #define PRACH_SEQ_LEN SHORT_SEQUENCE @@ -118,6 +117,7 @@ #define NUM_UNUSED_ROOT_SEQ 0 #define UNUSED_ROOT_SEQ 1 #define SSB_PER_RACH 1 +#define CB_PREAMBLE_PER_SSB 8 #define PRACH_MULT_CARRIER_BAND FALSE #define PRACH_PREAMBLE_RCVD_TGT_PWR -74 #define NUM_RA_PREAMBLE 63 @@ -130,8 +130,6 @@ #define RSS_MEASUREMENT_UNIT DONT_REPORT_RSSI #define RA_CONT_RES_TIMER 64 #define RA_RSP_WINDOW 10 -#define PRACH_RESTRICTED_SET 0 /* Unrestricted */ -#define ROOT_SEQ_LEN 139 /* MACRCO Ddefine for PDCCH Configuration */ #define PDCCH_SEARCH_SPACE_ID 1 /* Common search space id */ @@ -220,7 +218,7 @@ /* Macro definitions for F1 procedures */ #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 MAX_PLMN 1 /* Max num of broadcast PLMN ids */ + #define MAXNRARFCN 3279165 /* Maximum values of NRAFCN */ #define MAX_NRCELL_BANDS 2 /* Maximum number of frequency bands */ #define MAX_NUM_OF_SLICE_ITEMS 1024 /* Maximum number of signalled slice support items */ @@ -240,7 +238,7 @@ #define SPARE 0 #define SSB_SC_OFFSET 0 #define DU_RANAC 1 -#define CELL_IDENTITY 16 +#define CELL_IDENTITY 1 /* Macro definitions for DUtoCuRrcContainer */ #define CELL_GRP_ID 0 @@ -256,7 +254,7 @@ #define PHR_PROHIBHIT_TMR 0 #define PHR_PWR_FACTOR_CHANGE 3 #define PHR_MODE_OTHER_CG 0 -#define SN_FIELD_LEN 1 +#define SN_FIELD_LEN_12BIT 0 /*As per Spec 38.331, The network configures only value size12 in SN-FieldLengthAM for SRB */ #define T_POLL_RETRANSMIT 8 /* Enum for 45ms */ #define T_POLL_RETRANSMIT_VAL 45 /* Value in ms */ #define POLL_PDU 0 /* Enum for 4 pdus */ @@ -301,6 +299,24 @@ #define DEDICATED_RATIO 10 #define NUM_OF_SUPPORTED_SLICE 2 +#ifdef NR_DRX +/* Macros for Drx configuration */ +#define DRX_ONDURATION_TIMER_VALUE_PRESENT_IN_MS true +#define DRX_ONDURATION_TIMER_VALUE_IN_SUBMS 32 +#define DRX_ONDURATION_TIMER_VALUE_IN_MS 10 +#define DRX_INACTIVITY_TIMER 2 +#define DRX_HARQ_RTT_TIMER_DL 56 +#define DRX_HARQ_RTT_TIMER_UL 56 +#define DRX_RETRANSMISSION_TIMER_DL 4 +#define DRX_RETRANSMISSION_TIMER_UL 4 +#define DRX_LONG_CYCLE_START_OFFSET_CHOICE 40 +#define DRX_LONG_CYCLE_START_OFFSET_VAL 8 +#define DRX_SHORT_CYCLE_PRESENT true +#define DRX_SHORT_CYCLE 2 +#define DRX_SHORT_CYCLE_TIMER 2 +#define DRX_SLOT_OFFSET 0 +#endif + typedef enum { GNBDU, @@ -699,7 +715,7 @@ typedef struct f1DuCellInfo uint16_t tac; /* tracking area code */ uint16_t epsTac; /* Configured EPS TAC */ NrModeInfo f1Mode; /* NR mode info : FDD/TDD */ - uint8_t measTimeCfg; /* Measurement timing configuration */ + uint8_t measTimeCfgDuration; /* Measurement timing configuration */ F1CellDir cellDir; /* Cell Direction */ F1CellType cellType; /* Cell Type */ F1BrdcstPlmnInfo brdcstPlmnInfo[MAX_BPLMN_NRCELL_MINUS_1]; /* Broadcast PLMN Identity Info List */ @@ -1149,8 +1165,8 @@ typedef struct rachCfgCommon long pwrRampingStep; /* Power ramping steps for PRACH */ long raRspWindow; /* RA response window */ long numRaPreamble; /* Total num of preamble used in random access */ - uint8_t ssbPerRachOccPresent; long numSsbPerRachOcc; /* Numer of SSBs per RACH Occassion */ + long numCbPreamblePerSsb; /* Number of Contention-Based preamble per SSB */ long contResTimer; /* Contention resolution timer */ long rsrpThreshSsb; uint8_t rootSeqIdxPresent; @@ -1185,6 +1201,7 @@ typedef struct pucchCfgCommon typedef struct ulCfgCommon { + long freqBandInd; /* Uplink frequency band indicator */ long pMax; /* Max UL transmission power that UE applies */ long locAndBw; /* Frequency location and bandwidth */ ScsSpecCarrier ulScsCarrier; /* SCS Specific carrier */ @@ -1206,6 +1223,7 @@ typedef struct tddUlDlCfgCommon typedef struct srvCellCfgCommSib { + long scs; DlCfgCommon dlCfg; UlCfgCommon ulCfg; uint8_t ssbPosInBurst; @@ -1223,58 +1241,27 @@ typedef struct sib1Params long cellResvdForOpUse; long connEstFailCnt; long connEstFailOffValidity; + long connEstFailOffset; SiSchedInfo siSchedInfo; SrvCellCfgCommSib srvCellCfgCommSib; }Sib1Params; -typedef struct policyMemberList -{ - Plmn plmn; - Snssai snssai; -}PolicyMemberList; - -typedef struct rrmPolicy -{ - ResourceType rsrcType; - uint8_t numMemberList; - PolicyMemberList **memberList; - uint8_t policyMaxRatio; - uint8_t policyMinRatio; - uint8_t policyDedicatedRatio; -}RrmPolicy; - -typedef struct copyOfRecvdSliceCfg -{ - RrmPolicy **rrmPolicy; - uint8_t totalRrmPolicy; - uint8_t totalSliceCount; -}CopyOfRecvdSliceCfg; - typedef struct duCfgParams { SctpParams sctpParams; /* SCTP Params */ F1EgtpParams egtpParams; /* EGTP Params */ uint32_t maxUe; uint32_t duId; - uint8_t duName[CU_DU_NAME_LEN_MAX]; + char *duName; SchedulerCfg schedCfg; F1DuSrvdCellInfo srvdCellLst[MAX_NUM_CELL]; /* Serving cell list *///TODO: this must be removed eventually F1RrcVersion rrcVersion; /* RRC version */ MacCellCfg macCellCfg; /* MAC cell configuration */ MibParams mibParams; /* MIB Params */ Sib1Params sib1Params; /* SIB1 Params */ - CopyOfRecvdSliceCfg tempSliceCfg; + MacSliceCfgReq tempSliceCfg; }DuCfgParams; -typedef struct f1SetupMsg -{ - uint8_t f1MsgReqBufSize; - char *f1MsgReqBuf; - uint8_t f1MsgRspBufSize; - char *f1MsgRspBuf; -}F1SetupMsg; - - #ifndef O1_ENABLE //RRM POLICY STRUCT @@ -1310,12 +1297,11 @@ typedef struct rrmPolicyList DuCfgParams duCfgParam; /*function declarations */ -void FillSlotConfig(); uint8_t readClCfg(); uint8_t readCfg(); uint8_t duReadCfg(); uint16_t calcSliv(uint8_t startSymbol, uint8_t lengthSymbol); -uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, CopyOfRecvdSliceCfg *tempSliceCfg); +uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, MacSliceCfgReq *tempSliceCfg); #endif /* __DU_CONFIG_H__ */