SchPageCfg pagingCfg;
} Sib1CellCfg;
-
-typedef struct cellCfg
-{
- MacOpState opState;
- MacAdminState adminState;
- MacCellState cellState;
- PlmnInfoList plmnInfoList[MAX_PLMN]; /* Consits of PlmnId and Snssai list */
- uint32_t phyCellId; /* Physical cell id */
- uint32_t tac;
- uint32_t ssbFreq;
- uint16_t subCarrSpacing;
- DuplexMode dupType; /* Duplex type: TDD/FDD */
- uint8_t numerology; /* Supported numerology */
- Sib1CellCfg sib1Cfg; /* SIB1 config */
-}CellCfg;
-
-typedef struct ssbCfg
-{
- uint32_t ssbPbchPwr; /* SSB block power */
- uint8_t scsCmn; /* subcarrier spacing for common */
- uint16_t ssbOffsetPointA; /* SSB subcarrier offset from point A */
- SSBPeriod ssbPeriod; /* SSB Periodicity in msec */
- uint8_t ssbScOffset; /* Subcarrier Offset */
- uint32_t ssbMask[SSB_MASK_SIZE]; /* Bitmap for actually transmitted SSB. */
- uint8_t beamId[NUM_SSB];
- BetaPss betaPss;
- BchPduOpt bchPayloadFlag; /* Options for generation of payload */
- uint8_t mibPdu[3]; /* MIB payload */
- uint8_t dmrsTypeAPos; /* DMRS Type A position */
-}SsbCfg;
-
-typedef struct fdmInfo
-{
- uint16_t rootSeqIdx; /* Root sequence index */
- uint8_t numRootSeq; /* Number of root sequences required for FD */
- uint16_t k1; /* Frequency Offset for each FD */
- uint8_t zeroCorrZoneCfg; /* Zero correlation zone cofig */
-}PrachFdmInfo;
-
-typedef struct prachCfg
-{
- PrachSeqLen prachSeqLen; /* RACH Sequence length: Long/short */
- uint8_t prachSubcSpacing; /* Subcarrier spacing of RACH */
- uint8_t msg1Fdm; /* Number of RACH frequency domain occasions/ PRACH FDM (1,2,4,8) */
- uint8_t prachCfgIdx; /* PRACH Cfg Index */
- PrachFdmInfo fdm[8]; /* FDM info */
- RstSetCfg prachRstSetCfg; /* PRACH restricted set config */
- uint8_t ssbPerRach; /* SSB per RACH occassion */
- uint8_t totalNumRaPreamble; /* Total number of RA preambles */
- uint8_t numCbPreamblePerSsb; /* Number of CB preamble per SSB */
- uint16_t msg1FreqStart; /* Msg1-FrequencyStart */
- uint8_t raContResTmr; /* RA Contention Resoultion Timer */
- uint8_t rsrpThreshSsb; /* RSRP Threshold SSB */
- uint8_t raRspWindow; /* RA Response Window */
-}PrachCfg;
-
typedef struct bwpParams
{
uint16_t firstPrb;
uint8_t startSymbolAndLength;
}PuschTimeDomRsrcAlloc;
-
typedef struct puschConfigCommon
{
/* PUSCH-TimeDomainResourceAllocation info */
PuschConfigCommon puschCommon;
}BwpUlConfig;
+
+typedef struct cellCfg
+{
+ MacOpState opState;
+ MacAdminState adminState;
+ MacCellState cellState;
+ PlmnInfoList plmnInfoList[MAX_PLMN]; /* Consits of PlmnId and Snssai list */
+ uint32_t phyCellId; /* Physical cell id */
+ uint32_t tac;
+ uint32_t ssbFreq;
+ uint16_t subCarrSpacing;
+ DuplexMode dupType; /* Duplex type: TDD/FDD */
+ Sib1CellCfg sib1Cfg; /* SIB1 config */
+ BwpDlConfig initialDlBwp; /* Initial DL BWP */
+ BwpUlConfig initialUlBwp; /* Initial UL BWP */
+}CellCfg;
+
+typedef struct ssbCfg
+{
+ uint32_t ssbPbchPwr; /* SSB block power */
+ uint8_t scsCmn; /* subcarrier spacing for common */
+ uint16_t ssbOffsetPointA; /* SSB subcarrier offset from point A */
+ SSBPeriod ssbPeriod; /* SSB Periodicity in msec */
+ uint8_t ssbScOffset; /* Subcarrier Offset */
+ uint32_t ssbMask[SSB_MASK_SIZE]; /* Bitmap for actually transmitted SSB. */
+ uint8_t beamId[NUM_SSB];
+ BetaPss betaPss;
+ BchPduOpt bchPayloadFlag; /* Options for generation of payload */
+ uint8_t mibPdu[3]; /* MIB payload */
+ uint8_t dmrsTypeAPos; /* DMRS Type A position */
+}SsbCfg;
+
+typedef struct fdmInfo
+{
+ uint16_t rootSeqIdx; /* Root sequence index */
+ uint8_t numRootSeq; /* Number of root sequences required for FD */
+ uint16_t k1; /* Frequency Offset for each FD */
+ uint8_t zeroCorrZoneCfg; /* Zero correlation zone cofig */
+}PrachFdmInfo;
+
+typedef struct prachCfg
+{
+ PrachSeqLen prachSeqLen; /* RACH Sequence length: Long/short */
+ uint8_t prachSubcSpacing; /* Subcarrier spacing of RACH */
+ uint8_t msg1Fdm; /* Number of RACH frequency domain occasions/ PRACH FDM (1,2,4,8) */
+ uint8_t prachCfgIdx; /* PRACH Cfg Index */
+ PrachFdmInfo fdm[8]; /* FDM info */
+ RstSetCfg prachRstSetCfg; /* PRACH restricted set config */
+ uint8_t ssbPerRach; /* SSB per RACH occassion */
+ uint8_t totalNumRaPreamble; /* Total number of RA preambles */
+ uint8_t numCbPreamblePerSsb; /* Number of CB preamble per SSB */
+ uint16_t msg1FreqStart; /* Msg1-FrequencyStart */
+ uint8_t raContResTmr; /* RA Contention Resoultion Timer */
+ uint8_t rsrpThreshSsb; /* RSRP Threshold SSB */
+ uint8_t raRspWindow; /* RA Response Window */
+}PrachCfg;
+
#ifdef NR_DRX
/* The following list of structures is taken from the DRX-Config section of specification 33.331. */
typedef struct drxOnDurationTimer
uint32_t digitalAzimuth;
}BeamformingConf;
+typedef struct csiRsCfg
+{
+ uint8_t *csiFreqDomainAlloc;
+ uint8_t csiNrofPorts;
+ uint8_t csirsfirstOFDMSymbolInTimeDomain;
+ uint8_t csirsfirstOFDMSymbolInTimeDomain2;
+ uint8_t csirscdmType;
+ uint8_t csirsdensity;
+ uint8_t csirsdensitydot5;
+ uint8_t powerControlOffset;
+ uint8_t powerControlOffsetSS;
+ uint16_t periodicityAndOffset;
+}CsiRsCfg;
+
typedef struct macCellCfg
{
uint16_t cellId; /* Cell Id */
CarrierCfg carrCfg; /* Carrier configuration */
CellCfg cellCfg; /* Cell Configuration*/
SsbCfg ssbCfg; /* SSB configuration */
+ CsiRsCfg csiRsCfg; /*Reference: 38.331 CSI-MeasConfig*/
PrachCfg prachCfg; /* PRACH Configuration */
#ifdef NR_TDD
TDDCfg tddCfg; /* TDD periodicity and slot configuration */
#endif
- BwpDlConfig initialDlBwp; /* Initial DL BWP */
- BwpUlConfig initialUlBwp; /* Initial UL BWP */
PrecodingConf precodingConf;
BeamformingConf beamCfg;
}MacCellCfg;
{
uint16_t cellId;
uint8_t ueId;
- uint8_t beamIdx;
+ uint8_t beamIdx;
uint16_t crnti;
bool macCellGrpCfgPres;
MacCellGrpCfg macCellGrpCfg;