X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cfg.h;h=bfda5a5a70f5f9a5a12cb8f2148d54d65727e2cc;hb=refs%2Fchanges%2F15%2F9315%2F5;hp=3c0874dd370d3ab5bf74025265981a0fa51b69c9;hpb=03343a6a545fb0f5bd36fb309a5dee153831c54f;p=o-du%2Fl2.git diff --git a/src/du_app/du_cfg.h b/src/du_app/du_cfg.h index 3c0874dd3..bfda5a5a7 100644 --- a/src/du_app/du_cfg.h +++ b/src/du_app/du_cfg.h @@ -28,7 +28,6 @@ #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" @@ -38,7 +37,7 @@ #endif #define DU_EGTP_PORT 39001 -#define CU_EGTP_PORT 39002 +#define CU_EGTP_PORT 39003 #define NR_PCI 1 #define NR_CELL_ID 1 @@ -64,6 +63,7 @@ #define NR_BANDWIDTH BANDWIDTH_20MHZ #endif +#define TRANS_ID 1 #define DU_TAC 1 #define PLMN_MCC0 3 #define PLMN_MCC1 1 @@ -87,12 +87,7 @@ #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_PERIODICITY 20 #define SSB_SUBCARRIER_OFFSET 0 #define SSB_MULT_CARRIER_BAND FALSE #define MULT_CELL_CARRIER FALSE @@ -104,7 +99,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 @@ -117,6 +116,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 @@ -155,6 +155,7 @@ #define SIB1_VALUE_TAG 10 /* MACRO Ddefine for PDSCH Configuration */ +#define NUM_TIME_DOM_RSRC_ALLOC 2 #define PDSCH_K0_CFG1 0 #define PDSCH_K0_CFG2 1 #define PDSCH_START_SYMBOL 3 @@ -238,10 +239,10 @@ #define SPARE 0 #define SSB_SC_OFFSET 0 #define DU_RANAC 1 -#define CELL_IDENTITY 32 +#define CELL_IDENTITY 1 /* Macro definitions for DUtoCuRrcContainer */ -#define CELL_GRP_ID 1 +#define CELL_GRP_ID 0 #define SCH_REQ_ID 0 #define SR_PROHIBIT_TMR 5 #define SR_TRANS_MAX 2 @@ -254,7 +255,7 @@ #define PHR_PROHIBHIT_TMR 0 #define PHR_PWR_FACTOR_CHANGE 3 #define PHR_MODE_OTHER_CG 0 -#define SN_FIELD_LEN 0 +#define SN_FIELD_LEN 1 #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 */ @@ -291,15 +292,32 @@ /*VALID Tunnel ID*/ #define MIN_TEID 1 /*[Spec 29.281,Sec 5.1]: All Zero TEIDs are never assigned for setting up GTP-U Tunnel*/ -#define MAX_TEID 10 /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */ +#define MAX_TEID MAX_NUM_DRB * MAX_NUM_UE /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */ /* Slice Ratio */ #define MAX_RATIO 30 #define MIN_RATIO 20 #define DEDICATED_RATIO 10 -#define DEDICATED_SLICE_INDEX 1 #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 1 +#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 20 +#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, @@ -1108,10 +1126,12 @@ typedef struct bcchCfg typedef struct pcchCfg { - long dfltPagingCycle; /* Default paging cycle */ - long nAndPagingFrmOffPresent; - long nAndPagingFrmOff; /* n and Paging Frame offset */ - long numPagingOcc; /* Number of paging occassions in paging frame */ + uint16_t dfltPagingCycle; /* Default paging cycle */ + uint8_t nAndPagingFrmOffsetType; /*Number of PagingFrames in PagingCycle defined in terms of T.*/ + uint8_t pageFrameOffset; /* Paging Frame offset */ + uint8_t ns; /* Number of paging occassions in paging frame */ + uint8_t firstPDCCHMontioringType; /* First PDCCH Monitoring Paging Occasion Presence Type*/ + uint16_t firstPDCCHMontioringInfo[MAX_PO_PER_PF];/*Indicates the first PDCCH monitoring occasion of each PO of the PF*/ }PcchCfg; typedef struct scsSpecCarrier @@ -1146,8 +1166,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; @@ -1182,6 +1202,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 */ @@ -1203,6 +1224,7 @@ typedef struct tddUlDlCfgCommon typedef struct srvCellCfgCommSib { + long scs; DlCfgCommon dlCfg; UlCfgCommon ulCfg; uint8_t ssbPosInBurst; @@ -1263,6 +1285,47 @@ typedef struct duCfgParams CopyOfRecvdSliceCfg tempSliceCfg; }DuCfgParams; +typedef struct f1SetupMsg +{ + uint8_t f1MsgReqBufSize; + char *f1MsgReqBuf; + uint8_t f1MsgRspBufSize; + char *f1MsgRspBuf; +}F1SetupMsg; + + +#ifndef O1_ENABLE +//RRM POLICY STRUCT + +typedef struct rRMPolicyMemberList +{ + uint8_t mcc[3]; + uint8_t mnc[3]; + uint8_t sd[3]; + uint8_t sst; +}RRMPolicyMemberList; + +typedef enum +{ + PRB, + PRB_UL, + PRB_DL, + RRC, + DRB +}RrmResourceType; + +typedef struct rrmPolicyList +{ + char id[1]; + RrmResourceType resourceType; + uint8_t rRMMemberNum; + RRMPolicyMemberList rRMPolicyMemberList[2]; + uint8_t rRMPolicyMaxRatio; + uint8_t rRMPolicyMinRatio; + uint8_t rRMPolicyDedicatedRatio; +}RrmPolicyList; +#endif + DuCfgParams duCfgParam; /*function declarations */ @@ -1271,10 +1334,7 @@ uint8_t readClCfg(); uint8_t readCfg(); uint8_t duReadCfg(); uint16_t calcSliv(uint8_t startSymbol, uint8_t lengthSymbol); - -#ifdef O1_ENABLE uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, CopyOfRecvdSliceCfg *tempSliceCfg); -#endif #endif /* __DU_CONFIG_H__ */