+
+/*******************************************************************
+ *
+ * @brief fill nr frequency information
+ *
+ * @details
+ *
+ * Function : fillNrTddInfo
+ *
+ * Functionality: fill nr frequency information
+ *
+ * @params[in] NRFreqInfo_t freqInfo
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t fillNrTddInfo(TDD_Info_t *tddInfo)
+{
+ uint8_t elementCnt = 1, freqBandListIdx = 0, supportedBandIdx = 0;
+ NRFreqInfo_t *freqInfo = NULLP;
+
+ if(tddInfo == NULLP)
+ {
+ DU_LOG("\nERROR --> DU APP : Null pointer received at fillNrTddInfo");
+ return RFAILED;
+ }
+
+ freqInfo = &tddInfo->nRFreqInfo;
+ freqInfo->nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.nrArfcn;
+
+ freqInfo->freqBandListNr.list.count = elementCnt;
+ freqInfo->freqBandListNr.list.size = freqInfo->freqBandListNr.list.count * sizeof(FreqBandNrItem_t *);
+ DU_ALLOC(freqInfo->freqBandListNr.list.array, freqInfo->freqBandListNr.list.size );
+ if(!freqInfo->freqBandListNr.list.array)
+ {
+ DU_LOG("\nERROR --> DU APP : Memory allocation failed at fillNrTddInfo");
+ return RFAILED;
+ }
+
+ for(freqBandListIdx = 0; freqBandListIdx<freqInfo->freqBandListNr.list.count; freqBandListIdx++)
+ {
+ DU_ALLOC(freqInfo->freqBandListNr.list.array[freqBandListIdx], sizeof(FreqBandNrItem_t ));
+ if(!freqInfo->freqBandListNr.list.array[freqBandListIdx])
+ {
+ DU_LOG("\nERROR --> DU APP : Memory allocation failed at fillNrTddInfo");
+ return RFAILED;
+ }
+
+ freqInfo->freqBandListNr.list.array[freqBandListIdx]->freqBandIndicatorNr = duCfgParam.srvdCellLst[0].duCellInfo.\
+ f1Mode.mode.tdd.nrFreqInfo.freqBand[0].nrFreqBand;
+ freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.count = elementCnt;
+ freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.size = freqInfo->freqBandListNr.list.array[freqBandListIdx]->\
+ supportedSULBandList.list.count * sizeof(SupportedSULFreqBandItem_t*);
+
+ DU_ALLOC(freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.array,\
+ freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.size);
+ if(!freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.array)
+ {
+ DU_LOG("\nERROR --> DU APP : Memory allocation failed at fillNrTddInfo");
+ return RFAILED;
+ }
+
+ for(supportedBandIdx = 0; supportedBandIdx<freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.count; supportedBandIdx++)
+ {
+ DU_ALLOC(freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.array[supportedBandIdx],\
+ sizeof(SupportedSULFreqBandItem_t));
+ if(!freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.array[supportedBandIdx])
+ {
+ DU_LOG("\nERROR --> DU APP : Memory allocation failed at fillNrTddInfo");
+ return RFAILED;
+ }
+
+ freqInfo->freqBandListNr.list.array[freqBandListIdx]->supportedSULBandList.list.array[supportedBandIdx]->freqBandIndicatorNr =\
+ duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.freqBand[0].sulBand[0];
+ }
+ }
+
+ tddInfo->transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulTxBw.nrScs;
+ tddInfo->transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulTxBw.nrb;
+
+ return ROK;
+}
+