#define EVENT_RACH_IND_TO_SCH 5
#define EVENT_CRC_IND_TO_SCH 6
#define EVENT_DL_RLC_BO_INFO_TO_SCH 7
-#define EVENT_UE_CREATE_REQ_TO_SCH 8
-#define EVENT_UE_CREATE_RSP_TO_MAC 9
+#define EVENT_ADD_UE_CONFIG_REQ_TO_SCH 8
+#define EVENT_UE_CONFIG_RSP_TO_MAC 9
#define EVENT_SLOT_IND_TO_SCH 10
#define EVENT_SHORT_BSR 11
#define EVENT_UCI_IND_TO_SCH 12
+#define EVENT_MODIFY_UE_CONFIG_REQ_TO_SCH 13
+#define EVENT_UE_RECONFIG_RSP_TO_MAC 14
+
/*macros*/
#define NO_SSB 0
typedef enum
{
- INTERLEAVED_CCE_REG_MAPPING,
+ INTERLEAVED_CCE_REG_MAPPING = 1,
NONINTERLEAVED_CCE_REG_MAPPING
}SchREGMappingType;
typedef enum
{
- SLOT_PERIODICITY_AND_OFFSET_SL_1,
+ SLOT_PERIODICITY_AND_OFFSET_SL_1 = 1,
SLOT_PERIODICITY_AND_OFFSET_SL_2,
SLOT_PERIODICITY_AND_OFFSET_SL_4,
SLOT_PERIODICITY_AND_OFFSET_SL_5,
typedef enum
{
- SEARCH_SPACE_TYPE_COMMON,
+ SEARCH_SPACE_TYPE_COMMON = 1,
SEARCH_SPACE_TYPE_UE_SPECIFIC
}SchSearchSpaceType;
+typedef enum
+{
+ SCH_QOS_NON_DYNAMIC = 1,
+ SCH_QOS_DYNAMIC
+}SchQosType;
+
typedef enum
{
AGGREGATION_LEVEL_N0,
typedef enum
{
- STATIC_BUNDLING_TYPE,
+ STATIC_BUNDLING_TYPE = 1,
DYNAMIC_BUNDLING_TYPE
}SchBundlingType;
+typedef enum
+{
+ SCH_SET1_SIZE_N4,
+ SCH_SET1_SIZE_WIDEBAND,
+ SCH_SET1_SIZE_N2_WIDEBAND,
+ SCH_SET1_SIZE_N4_WIDEBAND
+}SchBundlingSizeSet1;
+
+typedef enum
+{
+ SCH_SET2_SIZE_N4,
+ SCH_SET2_SIZE_WIDEBAND
+}SchBundlingSizeSet2;
+
typedef enum
{
DUPLEX_MODE_FDD,
uint8_t symbolLength;
}SchPdschTimeDomRsrcAlloc;
+
+typedef struct schPdschBundling
+{
+ struct schStaticBundling
+ {
+ SchBundlingSizeSet2 size;
+ }SchStaticBundling;
+ struct schDynamicBundling
+ {
+ SchBundlingSizeSet1 sizeSet1;
+ SchBundlingSizeSet2 sizeSet2;
+ }SchDynamicBundling;
+}SchPdschBundling;
+
/* DMRS downlink configuration */
typedef struct schDmrsDlCfg
{
SchRBGSize rbgSize;
SchCodeWordsSchedByDci numCodeWordsSchByDci; /* Number of code words scheduled by DCI */
SchBundlingType bundlingType;
+ SchPdschBundling bundlingInfo;
}SchPdschConfig;
/* Initial Downlink BWP */
/* PUSCH Configuration */
typedef struct schPuschCfg
{
+ uint8_t dataScramblingId;
SchDmrsUlCfg dmrsUlCfgForPuschMapTypeA;
SchResourceAllocType resourceAllocType;
uint8_t numTimeDomRsrcAlloc;
/* DRB QoS */
typedef struct schDrbQos
{
- uint8_t fiveQiType; /* Dynamic or non-dynamic */
+ SchQosType fiveQiType; /* Dynamic or non-dynamic */
union
{
SchNonDynFiveQi nonDyn5Qi;
/* Logical Channel configuration */
typedef struct schLcCfg
{
+ ConfigType configType;
uint8_t lcId;
SchDrbQosInfo *drbQos;
SchSnssai *snssai;
SchDlLcCfg dlLcCfg;
- SchUlLcCfg *ulLcCfg;
+ SchUlLcCfg ulLcCfg;
}SchLcCfg;
/* Aggregate max bit rate */
-typedef struct aggrMaxBitRate
+typedef struct schAmbrCfg
{
- uint32_t ulBitRate;
- uint32_t dlBitRate;
-}SchAggrMaxBitRate;
+ uint32_t ulBr; /* Ul BitRate */
+ uint32_t dlBr; /* Dl BitRate */
+}SchAmbrCfg;
/* UE configuration */
typedef struct schUeCfg
SchMacCellGrpCfg macCellGrpCfg;
SchPhyCellGrpCfg phyCellGrpCfg;
SchSpCellCfg spCellCfg;
- SchAggrMaxBitRate *aggrMaxBitRate;
- uint8_t numLc;
- SchLcCfg lcCfgList[MAX_NUM_LC];
+ SchAmbrCfg *ambrCfg;
+ uint8_t numLcs;
+ SchLcCfg schLcCfg[MAX_NUM_LC];
}SchUeCfg;
typedef struct schUeCfgRsp
Pst *pst, /* Post structure */
DlRlcBoInfo *dlBoInfo)); /* DL BO Info */
-typedef uint8_t (*MacSchUeCreateReqFunc) ARGS((
+typedef uint8_t (*MacSchAddUeConfigReqFunc) ARGS((
Pst *pst, /* Post structure */
SchUeCfg *ueCfgToSch)); /* Scheduler UE Cfg */
Pst *pst, /* Post structure */
SrUciIndInfo *uciInd)); /* UCI IND Info */
+typedef uint8_t (*MacSchModUeConfigReqFunc) ARGS((
+ Pst *pst, /* Post structure */
+ SchUeCfg *ueCfgToSch)); /* Scheduler UE Cfg */
+
+typedef uint8_t (*SchUeReCfgRspFunc) ARGS((
+ Pst *pst, /* Post structure */
+ SchUeCfgRsp *cfgRsp)); /* Scheduler UE Cfg response */
/* function declarations */
uint8_t packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd);
uint8_t MacSchCrcInd(Pst *pst, CrcIndInfo *crcInd);
uint8_t packMacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo);
uint8_t MacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo);
-uint8_t packMacSchUeCreateReq(Pst *pst, SchUeCfg *ueCfgToSch);
-uint8_t MacSchUeCreateReq(Pst *pst, SchUeCfg *ueCfgToSch);
+uint8_t packMacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch);
+uint8_t MacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch);
uint8_t packSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp);
uint8_t MacProcSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp);
uint8_t MacSchSlotInd ARGS((Pst * pst, SlotIndInfo * slotInd));
uint8_t MacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd);
uint8_t packMacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd);
uint8_t MacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd);
+uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch);
+uint8_t MacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch);
+uint8_t packSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp);
+uint8_t MacProcSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp);
/**********************************************************************
End of file