#define SIB1_REPETITION_PERIOD 20
#define CORESET_0_INDEX 0
#define SEARCHSPACE_0_INDEX 0
+#define SEARCHSPACE_1_INDEX 1
+#define SS_MONITORING_SLOT_SL1 0 /* all slots */
+#define SS_MONITORING_SYMBOL 0x2000; /* symbol-0, set 14th bit */
#define SIB1_MCS 4
/* Macros for coupling */
U8 zeroCorrZoneCfg; /* Zero correlation zone cofig */
U8 numUnusedRootSeq; /* Number of unused root sequence */
U8 *unsuedRootSeq; /* Unused root sequence per FD */
-}FdmInfo;
+}PrachFdmInfo;
typedef struct prachCfg
{
Bool pres;
+ uint8_t prachCfgIdx; /* PRACH Cfg Index */
PrachSeqLen prachSeqLen; /* RACH Sequence length: Long/short */
- U8 prachSubcSpacing; /* Subcarrier spacing of RACH */
+ uint8_t prachSubcSpacing; /* Subcarrier spacing of RACH */
RstSetCfg prachRstSetCfg; /* PRACH restricted set config */
- U8 prachFdm; /* PRACH FDM (1,2,4,8) */
- FdmInfo fdm[8];
- U8 ssbPerRach; /* SSB per RACH occassion */
- Bool prachMultCarrBand; /* Multiple carriers in Band */
+ uint16_t msg1FreqStart; /* Msg1-FrequencyStart */
+ uint8_t msg1Fdm; /* PRACH FDM (1,2,4,8) */
+ PrachFdmInfo fdm[8]; /* FDM info */
+ uint8_t ssbPerRach; /* SSB per RACH occassion */
+ Bool prachMultCarrBand; /* Multiple carriers in Band */
+ uint8_t prachRestrictedSet; /* Support for PRACH restricted set */
+ uint8_t raContResTmr; /* RA Contention Resoultion Timer */
+ uint8_t rsrpThreshSsb; /* RSRP Threshold SSB */
+ uint8_t raRspWindow; /* RA Response Window */
}PrachCfg;
typedef struct tddCfg
uint16_t sib1Mcs;
} Sib1CellCfg;
+typedef struct bwpParams
+{
+ uint16_t firstPrb;
+ uint16_t numPrb;
+ uint8_t scs;
+ uint8_t cyclicPrefix;
+}BwpParams;
+
+typedef struct candidatesInfo
+{
+ uint8_t aggLevel1;
+ uint8_t aggLevel2;
+ uint8_t aggLevel4;
+ uint8_t aggLevel8;
+ uint8_t aggLevel16;
+}CandidatesInfo;
+
+typedef struct searchSpaceCfg
+{
+ uint8_t searchSpaceId;
+ uint8_t coresetId;
+ uint16_t monitoringSlot;
+ uint16_t duration;
+ uint16_t monitoringSymbol;
+ CandidatesInfo candidate;
+}SearchSpaceCfg;
+
+typedef struct pdcchConfigCommon
+{
+ SearchSpaceCfg raSearchSpace;
+}PdcchConfigCommon;
+
+typedef struct bwpDlConfig
+{
+ BwpParams bwp;
+ PdcchConfigCommon pdcchCommon;
+}BwpDlConfig;
+
typedef struct macCellCfg
{
U16 transId;
TDDCfg tddCfg; /* TDD periodicity and slot configuration */
RSSIMeasUnit rssiUnit; /* RSSI measurement unit */
Sib1CellCfg sib1Cfg;
+ BwpDlConfig initialBwp;
}MacCellCfg;
typedef struct macCellCfgCfm
typedef struct slotInfo
{
+ uint16_t cellId;
uint16_t sfn;
uint16_t slot;
}SlotInfo;
extern uint16_t MacHdlCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo);
/* Function pointers for packing macCellCfg Request and Confirm */
-typedef uint16_t (*packMacCellCfgReq) ARGS((
+typedef int (*packMacCellCfgReq) ARGS((
Pst *pst,
MacCellCfg *macCellCfg ));
-typedef uint16_t (*packMacCellCfgConfirm) ARGS((
+typedef int (*packMacCellCfgConfirm) ARGS((
Pst *pst,
MacCellCfgCfm *macCellCfgCfm ));
-typedef uint16_t (*DuMacCellCfgReq) ARGS((
+typedef int (*DuMacCellCfgReq) ARGS((
Pst *pst,
MacCellCfg *macCellCfg));
-typedef uint16_t (*DuMacCellCfgCfm) ARGS((
+typedef int (*DuMacCellCfgCfm) ARGS((
+ Pst *pst,
MacCellCfgCfm *macCellCfgCfm ));
-extern uint16_t packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg);
+extern int packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg);
extern int MacHdlCellCfgReq(Pst *pst, MacCellCfg *macCellCfg);
extern void cmUnpackLwLcMacCellCfg(DuMacCellCfgReq func, Pst *pst, Buffer *mBuf);
-extern uint16_t unpackMacCellCfgCfm(DuMacCellCfgCfm func, Pst *pst, Buffer *mBuf);
-extern uint16_t duHandleMacCellCfgCfm(MacCellCfgCfm *macCellCfgCfm);
+extern int unpackMacCellCfgCfm(DuMacCellCfgCfm func, Pst *pst, Buffer *mBuf);
+extern int duHandleMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm);
#endif