From 9901cd426629ce054c3085b24146bb7cabcced13 Mon Sep 17 00:00:00 2001
From: Francesco Mani <francesco.mani@eurecom.fr>
Date: Thu, 16 Jan 2020 18:15:06 +0100
Subject: [PATCH] adding all NR FR2 bands in table

---
 openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c    |  69 +++--
 .../CONF/gnb.band78.tm1.beamw.usrpn300.conf   | 291 ------------------
 2 files changed, 36 insertions(+), 324 deletions(-)
 delete mode 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.beamw.usrpn300.conf

diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c b/openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
index 972d5473c6..46e132ea29 100644
--- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
+++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
@@ -33,39 +33,42 @@
 #include "LAYER2/NR_MAC_gNB/mac_proto.h"
 
 nr_bandentry_t nr_bandtable[] = {
-  {1,  1920000, 1980000, 2110000, 2170000, 20, 422000},
-  {2,  1850000, 1910000, 1930000, 1990000, 20, 386000},
-  {3,  1710000, 1785000, 1805000, 1880000, 20, 361000},
-  {5,   824000,  849000,  869000,  894000, 20, 173800},
-  {7,  2500000, 2570000, 2620000, 2690000, 20, 524000},
-  {8,   880000,  915000,  925000,  960000, 20, 185000},
-  {12,  698000,  716000,  728000,  746000, 20, 145800},
-  {20,  832000,  862000,  791000,  821000, 20, 158200},
-  {25, 1850000, 1915000, 1930000, 1995000, 20, 386000},
-  {28,  703000,  758000,  758000,  813000, 20, 151600},
-  {34, 2010000, 2025000, 2010000, 2025000, 20, 402000},
-  {38, 2570000, 2620000, 2570000, 2630000, 20, 514000},
-  {39, 1880000, 1920000, 1880000, 1920000, 20, 376000},
-  {40, 2300000, 2400000, 2300000, 2400000, 20, 460000},
-  {41, 2496000, 2690000, 2496000, 2690000,  3, 499200},
-  {50, 1432000, 1517000, 1432000, 1517000, 20, 286400},
-  {51, 1427000, 1432000, 1427000, 1432000, 20, 285400},
-  {66, 1710000, 1780000, 2110000, 2200000, 20, 422000},
-  {70, 1695000, 1710000, 1995000, 2020000, 20, 399000},
-  {71,  663000,  698000,  617000,  652000, 20, 123400},
-  {74, 1427000, 1470000, 1475000, 1518000, 20, 295000},
-  {75,     000,     000, 1432000, 1517000, 20, 286400},
-  {76,     000,     000, 1427000, 1432000, 20, 285400},
-  {77, 3300000, 4200000, 3300000, 4200000,  1, 620000},
-  {78, 3300000, 3800000, 3300000, 3800000,  1, 620000},
-  {79, 4400000, 5000000, 4400000, 5000000,  2, 693334},
-  {80, 1710000, 1785000,     000,     000, 20, 342000},
-  {81,  860000,  915000,     000,     000, 20, 176000},
-  {82,  832000,  862000,     000,     000, 20, 166400},
-  {83,  703000,  748000,     000,     000, 20, 140600},
-  {84, 1920000, 1980000,     000,     000, 20, 384000},
-  {86, 1710000, 1785000,     000,     000, 20, 342000},
-  {257, 26500000, 29500000,26500000,29500000, 1, 2054167}
+  {1,   1920000, 1980000, 2110000, 2170000, 20, 422000},
+  {2,   1850000, 1910000, 1930000, 1990000, 20, 386000},
+  {3,   1710000, 1785000, 1805000, 1880000, 20, 361000},
+  {5,    824000,  849000,  869000,  894000, 20, 173800},
+  {7,   2500000, 2570000, 2620000, 2690000, 20, 524000},
+  {8,    880000,  915000,  925000,  960000, 20, 185000},
+  {12,   698000,  716000,  728000,  746000, 20, 145800},
+  {20,   832000,  862000,  791000,  821000, 20, 158200},
+  {25,  1850000, 1915000, 1930000, 1995000, 20, 386000},
+  {28,   703000,  758000,  758000,  813000, 20, 151600},
+  {34,  2010000, 2025000, 2010000, 2025000, 20, 402000},
+  {38,  2570000, 2620000, 2570000, 2630000, 20, 514000},
+  {39,  1880000, 1920000, 1880000, 1920000, 20, 376000},
+  {40,  2300000, 2400000, 2300000, 2400000, 20, 460000},
+  {41,  2496000, 2690000, 2496000, 2690000,  3, 499200},
+  {50,  1432000, 1517000, 1432000, 1517000, 20, 286400},
+  {51,  1427000, 1432000, 1427000, 1432000, 20, 285400},
+  {66,  1710000, 1780000, 2110000, 2200000, 20, 422000},
+  {70,  1695000, 1710000, 1995000, 2020000, 20, 399000},
+  {71,   663000,  698000,  617000,  652000, 20, 123400},
+  {74,  1427000, 1470000, 1475000, 1518000, 20, 295000},
+  {75,      000,     000, 1432000, 1517000, 20, 286400},
+  {76,      000,     000, 1427000, 1432000, 20, 285400},
+  {77,  3300000, 4200000, 3300000, 4200000,  1, 620000},
+  {78,  3300000, 3800000, 3300000, 3800000,  1, 620000},
+  {79,  4400000, 5000000, 4400000, 5000000,  2, 693334},
+  {80,  1710000, 1785000,     000,     000, 20, 342000},
+  {81,   860000,  915000,     000,     000, 20, 176000},
+  {82,   832000,  862000,     000,     000, 20, 166400},
+  {83,   703000,  748000,     000,     000, 20, 140600},
+  {84,  1920000, 1980000,     000,     000, 20, 384000},
+  {86,  1710000, 1785000,     000,     000, 20, 342000},
+  {257,26500000,29500000,26500000,29500000,  1,2054167},
+  {258,24250000,27500000,24250000,27500000,  1,2016667},
+  {260,37000000,40000000,37000000,40000000,  1,2229167},
+  {261,27500000,28350000,27500000,28350000,  1,2070833}
 };
 
 #define NR_BANDTABLE_SIZE (sizeof(nr_bandtable)/sizeof(nr_bandentry_t))
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.beamw.usrpn300.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.beamw.usrpn300.conf
deleted file mode 100644
index a9d251efa2..0000000000
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.beamw.usrpn300.conf
+++ /dev/null
@@ -1,291 +0,0 @@
-Active_gNBs = ( "gNB-Eurecom-5GNRBox");
-# Asn1_verbosity, choice in: none, info, annoying
-Asn1_verbosity = "none";
-
-gNBs =
-(
- {
-    ////////// Identification parameters:
-    gNB_ID    =  0xe00;
-
-    cell_type =  "CELL_MACRO_GNB";
-
-    gNB_name  =  "gNB-Eurecom-5GNRBox";
-
-    // Tracking area code, 0x0000 and 0xfffe are reserved values
-    tracking_area_code  =  1;
-
-    plmn_list = ({mcc = 208; mnc = 93; mnc_length = 2;});	 
-
-    tr_s_preference     = "local_mac"
-
-    ////////// Physical parameters:
-
-    component_carriers = (
-      {
-      node_function                                                 = "3GPP_gNODEB";
-      node_timing                                                   = "synch_to_ext_device";
-      node_synch_ref                                                = 0;
-      frame_type                                                    = "TDD";
-      DL_prefix_type                                                = "NORMAL";
-      UL_prefix_type                                                = "NORMAL";
-      eutra_band                                                    = 78;
-      downlink_frequency                                            = 3510000000L;
-      uplink_frequency_offset                                       = -120000000;
-      Nid_cell                                                      = 0;
-      N_RB_DL                                                       = 217;
-      nb_antenna_ports                                              = 1;
-      nb_antennas_tx                                                = 1;
-      nb_antennas_rx                                                = 1;
-      tx_gain                                                       = 90;
-      rx_gain                                                       = 125;
-      MIB_subCarrierSpacingCommon                                   = 30;
-      MIB_ssb_SubcarrierOffset                                      = 0;
-      MIB_dmrs_TypeA_Position                                       = 2;
-      pdcch_ConfigSIB1                                              = 0;
-      SIB1_frequencyOffsetSSB                                       = "khz5";
-      SIB1_ssb_PeriodicityServingCell                               = 5;
-      SIB1_ss_PBCH_BlockPower                                       = -60;
-      absoluteFrequencySSB                                          = 0;
-      DL_FreqBandIndicatorNR                                        = 15;
-      DL_absoluteFrequencyPointA                                    = 15;
-      DL_offsetToCarrier                                            = 15;
-      DL_SCS_SubcarrierSpacing                                      = "kHz30";
-      DL_SCS_SpecificCarrier_k0                                     = 0;
-      DL_carrierBandwidth                                           = 15;
-      DL_locationAndBandwidth                                       = 15;
-      DL_BWP_SubcarrierSpacing                                      = "kHz30";
-      DL_BWP_prefix_type                                            = "NORMAL";
-      UL_FreqBandIndicatorNR                                        = 15;
-      UL_absoluteFrequencyPointA                                    = 13;
-      UL_additionalSpectrumEmission                                 = 3;
-      UL_p_Max                                                      = -1;
-      UL_frequencyShift7p5khz                                       = "TRUE";
-      UL_offsetToCarrier                                            = 10;
-      UL_SCS_SubcarrierSpacing                                      = "kHz30";
-      UL_SCS_SpecificCarrier_k0                                     = 0;
-      UL_carrierBandwidth                                           = 15;
-      UL_locationAndBandwidth                                       = 15;
-      UL_BWP_SubcarrierSpacing                                      = "kHz30";
-      UL_BWP_prefix_type                                            = "NORMAL";
-      UL_timeAlignmentTimerCommon                                   = "infinity";
-      ServingCellConfigCommon_n_TimingAdvanceOffset                 = "n0"
-      ServingCellConfigCommon_ssb_PositionsInBurst_PR               = 0x03;
-      ServingCellConfigCommon_ssb_periodicityServingCell            = 10;
-      ServingCellConfigCommon_dmrs_TypeA_Position                   = 2;
-      NIA_SubcarrierSpacing                                         = "kHz15"; 
-      ServingCellConfigCommon_ss_PBCH_BlockPower                    = -60;
-      referenceSubcarrierSpacing                                    = "kHz15";
-      dl_UL_TransmissionPeriodicity                                 = "ms0p5";
-      nrofDownlinkSlots                                             = 10;
-      nrofDownlinkSymbols                                           = 10;
-      nrofUplinkSlots                                               = 10;
-      nrofUplinkSymbols                                             = 10;
-      rach_totalNumberOfRA_Preambles                                = 63;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice         = "oneEighth";
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth      = 4;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth      = 8;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf        = 16;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one            = 24;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two            = 32;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four           = 8;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight          = 4;
-      rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen        = 2;
-      rach_groupBconfigured                                         = "ENABLE";
-      rach_ra_Msg3SizeGroupA                                        = 56;
-      rach_messagePowerOffsetGroupB                                 = "dB0";
-      rach_numberOfRA_PreamblesGroupA                               = 32;
-      rach_ra_ContentionResolutionTimer                             = 8;
-      rsrp_ThresholdSSB                                             = 64;
-      rsrp_ThresholdSSB_SUL                                         = 64;
-      prach_RootSequenceIndex_choice                                = "l839";
-      prach_RootSequenceIndex_l839                                  = 0;
-      prach_RootSequenceIndex_l139                                  = 0;
-      prach_msg1_SubcarrierSpacing                                  = "kHz30";
-      restrictedSetConfig                                           = "unrestrictedSet";
-      msg3_transformPrecoding                                       = "ENABLE";
-      prach_ConfigurationIndex                                      = 10;
-      prach_msg1_FDM                                                = "one";
-      prach_msg1_FrequencyStart                                     = 10;
-      zeroCorrelationZoneConfig                                     = 10;
-      preambleReceivedTargetPower                                   = -150;
-      preambleTransMax                                              = 6;
-      powerRampingStep                                              = "dB0";
-      ra_ResponseWindow                                             = 8;
-      groupHoppingEnabledTransformPrecoding                         = "ENABLE";
-      msg3_DeltaPreamble                                            = 0;
-      p0_NominalWithGrant                                           = 0;
-      PUSCH_TimeDomainResourceAllocation_k2                         = 0;
-      PUSCH_TimeDomainResourceAllocation_mappingType                = "typeA";
-      PUSCH_TimeDomainResourceAllocation_startSymbolAndLength       = 0;
-      pucch_ResourceCommon                                          = 0;
-      pucch_GroupHopping                                            = "neither";
-      hoppingId                                                     = 0;
-      p0_nominal                                                    = -30;
-      PDSCH_TimeDomainResourceAllocation_k0                         = 2;
-      PDSCH_TimeDomainResourceAllocation_mappingType                = "typeA";
-      PDSCH_TimeDomainResourceAllocation_startSymbolAndLength       = 0;
-      rateMatchPatternId                                            = 0;
-      RateMatchPattern_patternType                                  = "bitmaps";
-      symbolsInResourceBlock                                        = "oneSlot";
-      periodicityAndPattern                                         = 2;
-      RateMatchPattern_controlResourceSet                           = 5;
-      RateMatchPattern_subcarrierSpacing                            = "kHz30";
-      RateMatchPattern_mode                                         = "dynamic";
-      controlResourceSetZero                                        = 0;
-      searchSpaceZero                                               = 0;
-      searchSpaceSIB1                                               = 10;
-      searchSpaceOtherSystemInformation                             = 10;
-      pagingSearchSpace                                             = 10;
-      ra_SearchSpace                                                = 10;
-      PDCCH_common_controlResourceSetId                             = 5;
-      PDCCH_common_ControlResourceSet_duration                      = 2;
-      PDCCH_cce_REG_MappingType                                     = "nonInterleaved";
-      PDCCH_reg_BundleSize                                          = 3;
-      PDCCH_interleaverSize                                         = 3;
-      PDCCH_shiftIndex                                              = 10;  
-      PDCCH_precoderGranularity                                     = "sameAsREG-bundle";
-      PDCCH_TCI_StateId                                             = 32;
-      tci_PresentInDCI                                              = "ENABLE";
-      PDCCH_DMRS_ScramblingID                                       = 0;
-      SearchSpaceId                                                 = 10;
-      commonSearchSpaces_controlResourceSetId                       = 5;
-      SearchSpace_monitoringSlotPeriodicityAndOffset_choice         = "sl1";
-      SearchSpace_monitoringSlotPeriodicityAndOffset_value          = 0;
-      SearchSpace_duration                                          = 2;
-      SearchSpace_nrofCandidates_aggregationLevel1                  = 0;
-      SearchSpace_nrofCandidates_aggregationLevel2                  = 0;
-      SearchSpace_nrofCandidates_aggregationLevel4                  = 0;
-      SearchSpace_nrofCandidates_aggregationLevel8                  = 0;
-      SearchSpace_nrofCandidates_aggregationLevel16                 = 0;
-      SearchSpace_searchSpaceType                                   = "common";
-      Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1     = 1;
-      Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2     = 1;
-      Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4     = 1;
-      Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8     = 1;
-      Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16    = 1; 
-      Common_dci_Format2_3_monitoringPeriodicity                    = 1;
-      Common_dci_Format2_3_nrofPDCCH_Candidates                     = 1;
-      ue_Specific__dci_Formats                                      = "formats0-0-And-1-0";
-      RateMatchPatternLTE_CRS_carrierFreqDL                         = 6;
-      RateMatchPatternLTE_CRS_carrierBandwidthDL                    = 6;
-      RateMatchPatternLTE_CRS_nrofCRS_Ports                         = 1;
-      RateMatchPatternLTE_CRS_v_Shift                               = 0;
-      RateMatchPatternLTE_CRS_radioframeAllocationPeriod            = 1;
-      RateMatchPatternLTE_CRS_radioframeAllocationOffset            = 0;
-      RateMatchPatternLTE_CRS_subframeAllocation_choice             = "oneFrame";
-      }
-    );
-
-
-    srb1_parameters :
-    {
-        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
-        timer_poll_retransmit    = 80;
-
-        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
-        timer_reordering         = 35;
-
-        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
-        timer_status_prohibit    = 0;
-
-        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
-        poll_pdu                 =  4;
-
-        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
-        poll_byte                =  99999;
-
-        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
-        max_retx_threshold       =  4;
-    }
-
-    # ------- SCTP definitions
-    SCTP :
-    {
-        # Number of streams to use in input/output
-        SCTP_INSTREAMS  = 2;
-        SCTP_OUTSTREAMS = 2;
-    };
-
-
-    ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.26";
-                              ipv6       = "192:168:30::17";
-                              active     = "yes";
-                              preference = "ipv4";
-                            }
-                          );
-
-    NETWORK_INTERFACES :
-    {
-
-        GNB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        GNB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
-        GNB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        GNB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
-        GNB_PORT_FOR_S1U                         = 2152; # Spec 2152
-    };
-  }
-);
-
-MACRLCs = (
-	{
-	num_cc = 1;
-	tr_s_preference = "local_L1";
-	tr_n_preference = "local_RRC";
-        }  
-);
-
-L1s = (
-    	{
-	num_cc = 1;
-	tr_n_preference = "local_mac";
-        }  
-);
-
-RUs = (
-    {		  
-       local_rf       = "yes"
-         nb_tx          = 2
-         nb_rx          = 1
-         att_tx         = 0
-         att_rx         = 0;
-         bands          = [7];
-         max_pdschReferenceSignalPower = -27;
-         max_rxgain                    = 114;
-         eNB_instances  = [0];
-	 sdr_addrs = "addr=192.168.10.2";
-         # beamforming weights for static beams each of them is a int32 composed by two int16 representing imaginary and real part of the weight
-         # weights are input in an array, starting with the weights associated to first logical beam for all nb_tx , than the weights for 2nd logical beam and so on
-         # the list size is (nb_tx) X (number of logical beams) 
-   	 bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
-    }
-);  
-
-THREAD_STRUCT = (
-  {
-    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
-    parallel_config    = "PARALLEL_RU_L1_TRX_SPLIT";
-    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
-    worker_config      = "WORKER_ENABLE";
-  }
-);
-
-     log_config :
-     {
-       global_log_level                      ="info";
-       global_log_verbosity                  ="medium";
-       hw_log_level                          ="info";
-       hw_log_verbosity                      ="medium";
-       phy_log_level                         ="info";
-       phy_log_verbosity                     ="medium";
-       mac_log_level                         ="info";
-       mac_log_verbosity                     ="high";
-       rlc_log_level                         ="info";
-       rlc_log_verbosity                     ="medium";
-       pdcp_log_level                        ="info";
-       pdcp_log_verbosity                    ="medium";
-       rrc_log_level                         ="info";
-       rrc_log_verbosity                     ="medium";
-    };
-
-- 
2.26.2