- duCfgParam.macCellCfg.ulCarrCfg.pres = TRUE;
- duCfgParam.macCellCfg.dlCarrCfg.bw = NR_BANDWIDTH;
- duCfgParam.macCellCfg.ulCarrCfg.freq = NR_UL_ARFCN;
- duCfgParam.macCellCfg.ulCarrCfg.k0[0] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.k0[1] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.k0[2] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.k0[3] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.k0[4] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.gridSize[0] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.gridSize[1] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.gridSize[2] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.gridSize[3] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.gridSize[4] = 1;
- duCfgParam.macCellCfg.ulCarrCfg.numAnt = NUM_RX_ANT;
-
- duCfgParam.macCellCfg.freqShft = FREQ_SHIFT_7P5KHZ;
+#ifdef O1_ENABLE
+ duCfgParam.macCellCfg.carrCfg.ulBw = cellParams.bSChannelBwUL;
+ duCfgParam.macCellCfg.carrCfg.ulFreq = convertArfcnToFreqKhz(cellParams.arfcnUL);
+#else
+ duCfgParam.macCellCfg.carrCfg.ulBw = NR_BANDWIDTH;
+ duCfgParam.macCellCfg.carrCfg.ulFreq = convertArfcnToFreqKhz(NR_UL_ARFCN);
+#endif
+ duCfgParam.macCellCfg.carrCfg.numRxAnt = NUM_RX_ANT;
+
+ /* Cell configuration */
+#ifdef O1_ENABLE
+ duCfgParam.macCellCfg.cellCfg.opState = cellParams.operationalState;
+ duCfgParam.macCellCfg.cellCfg.adminState = cellParams.administrativeState;
+ duCfgParam.macCellCfg.cellCfg.cellState = cellParams.cellState;
+ duCfgParam.macCellCfg.cellCfg.phyCellId = cellParams.nRPCI;
+ duCfgParam.macCellCfg.cellCfg.tac = cellParams.nRTAC;
+ duCfgParam.macCellCfg.cellCfg.ssbFreq = convertArfcnToFreqKhz(cellParams.ssbFrequency);
+#else
+ duCfgParam.macCellCfg.cellCfg.opState = OP_DISABLED;
+ duCfgParam.macCellCfg.cellCfg.adminState = ADMIN_UNLOCKED;
+ duCfgParam.macCellCfg.cellCfg.cellState = CELL_INACTIVE;
+ duCfgParam.macCellCfg.cellCfg.phyCellId = NR_PCI;
+ duCfgParam.macCellCfg.cellCfg.tac = DU_TAC;
+ duCfgParam.macCellCfg.cellCfg.ssbFreq = SSB_FREQUENCY;
+#endif
+ /* Plmn And SNSSAI Configuration */
+ for(plmnIdx = 0; plmnIdx < MAX_PLMN; plmnIdx++)
+ {
+ memcpy(&duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].plmn, &duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.srvdPlmn[plmnIdx].plmn,\
+ sizeof(Plmn));
+ taiSliceSuppLst = &duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.srvdPlmn[plmnIdx].taiSliceSuppLst;
+ duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].numSupportedSlice = taiSliceSuppLst->numSupportedSlices;
+ if(taiSliceSuppLst->snssai)
+ {
+ DU_ALLOC_SHRABL_BUF(duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].snssai, (duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].numSupportedSlice) * sizeof(Snssai*));
+ if(duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].snssai == NULLP)
+ {
+ DU_LOG("\nERROR --> DU_APP: Memory allocation failed at readMacCfg");
+ return RFAILED;
+ }
+ }
+ for(sliceIdx=0; sliceIdx < taiSliceSuppLst->numSupportedSlices; sliceIdx++)
+ {
+ if(taiSliceSuppLst->snssai[sliceIdx] != NULLP)
+ {
+ DU_ALLOC_SHRABL_BUF(duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].snssai[sliceIdx], sizeof(Snssai));
+ if(duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].snssai[sliceIdx] == NULLP)
+ {
+ DU_LOG("\nERROR --> DU_APP: Memory allocation failed at readMacCfg");
+ return RFAILED;
+ }
+ memcpy(duCfgParam.macCellCfg.cellCfg.plmnInfoList[plmnIdx].snssai[sliceIdx], taiSliceSuppLst->snssai[sliceIdx], sizeof(Snssai));
+ }
+ }
+ }
+ duCfgParam.macCellCfg.cellCfg.subCarrSpacing = NR_SCS;
+ duCfgParam.macCellCfg.cellCfg.dupType = DUPLEX_MODE;