From de3ba76b2f0608df77bde76d2ed82700b02a0160 Mon Sep 17 00:00:00 2001
From: kaltenbe <florian.kaltenberger@eurecom.fr>
Date: Tue, 26 Jan 2016 01:21:59 +0100
Subject: [PATCH] first steps of SoDeRa configuration

---
 cmake_targets/CMakeLists.txt                  |   12 +-
 targets/ARCH/COMMON/common_lib.c              |    9 +-
 targets/ARCH/COMMON/common_lib.h              |    3 +-
 .../ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp  |  157 ++-
 targets/ARCH/SODERA/lms7_trx_LTE_mimo_RF.ini  | 1128 +++++++++++++++++
 targets/ARCH/SODERA/lms7_trx_LTE_mimo_TSG.ini | 1128 +++++++++++++++++
 .../CONF/enb.band4.tm1.usrpb210.conf          |   12 +-
 targets/RT/USER/lte-softmodem.c               |   21 +-
 8 files changed, 2398 insertions(+), 72 deletions(-)
 create mode 100644 targets/ARCH/SODERA/lms7_trx_LTE_mimo_RF.ini
 create mode 100644 targets/ARCH/SODERA/lms7_trx_LTE_mimo_TSG.ini

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index d359b231b4..84bf183991 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -438,16 +438,18 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
  #set(LOWLATENCY False)
 
 elseif (${RF_BOARD} STREQUAL "OAI_SODERA")
-  include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/")
-  include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/SoDeRaV1_distro_01v/lms7suite_source_code/src/lms7002m")
-  include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/SoDeRaV1_distro_01v/lms7suite_source_code/src/Si5351C")
+  include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB")
+  include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/lms7002m")
+  include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/Si5351C")
   set(HW_SOURCE ${HW_SOURCE}
     ${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp
     )
-  LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/SoDeRaV1_distro_01v/lms7suite_source_code/build/lms7002m")
+  LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/lms7002m")
+  LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/Si5351C")
   LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
   set(option_HW_lib "usb-1.0")
   set(LMS7002_LIB "libLMS7002M.a")
+  set(Si5351C_LIB "libSi5351C.a")
  #set(LOWLATENCY False)
 
 elseif (${RF_BOARD} STREQUAL "ETHERNET")
@@ -1447,7 +1449,7 @@ add_executable(lte-softmodem
 
 target_link_libraries (lte-softmodem
   -Wl,--start-group
-  RRC_LIB S1AP_LIB S1AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS L2 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${MIH_LIB} ${LMS7002_LIB}
+  RRC_LIB S1AP_LIB S1AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS L2 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${MIH_LIB} ${LMS7002_LIB} ${Si5351C_LIB}
   -Wl,--end-group )
 
 
diff --git a/targets/ARCH/COMMON/common_lib.c b/targets/ARCH/COMMON/common_lib.c
index 8ee25c5fda..278d8ed79f 100644
--- a/targets/ARCH/COMMON/common_lib.c
+++ b/targets/ARCH/COMMON/common_lib.c
@@ -59,11 +59,16 @@ int openair0_device_init(openair0_device *device, openair0_config_t *openair0_cf
   return(openair0_dev_init_usrp(device, openair0_cfg));
 #elif OAI_BLADERF  
   device->type=BLADERF_IF;
-  printf(" openair0_dev_init_bladerf ...\n");   
+  printf("openair0_dev_init_bladerf ...\n");   
   return(openair0_dev_init_bladerf(device, openair0_cfg));	
 #elif OAI_SODERA
   device->type=OAI_SODERA;
-  printf(" openair0_dev_init_sodera ...\n");   
+  printf("openair0_dev_init_sodera ...\n");
+  if (openair0_cfg[0].configFilename==NULL) {
+    printf("Please provide a configuration file for SoDeRa\n");
+    exit(-1);
+  }
+
   return(openair0_dev_init_sodera(device, openair0_cfg));	
 #endif
    
diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h
index 8eaf3f781a..3f814a9e55 100644
--- a/targets/ARCH/COMMON/common_lib.h
+++ b/targets/ARCH/COMMON/common_lib.h
@@ -133,7 +133,8 @@ typedef struct {
   char *my_ip;
   //! my port number for Ethernet interface (eNB/BBU, UE)
   int my_port;
-
+  //! Configuration file for LMS7002M
+  char *configFilename;
 } openair0_config_t;
 
 typedef struct {
diff --git a/targets/ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp b/targets/ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp
index f8257fccf8..ddd608d0a1 100644
--- a/targets/ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp
+++ b/targets/ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp
@@ -31,8 +31,9 @@
  *
  * Author: Raymond Knopp
  */
-
-
+ 
+#include <vector>
+#include <string>
 #include <stdio.h>
 #include <stdlib.h>
 #include <inttypes.h>
@@ -49,6 +50,7 @@
 #include "common_lib.h"
 
 #include "lmsComms.h"
+#include "LMS7002M.h"
 #include "Si5351C.h"
 #ifdef __SSE4_1__
 #  include <smmintrin.h>
@@ -58,6 +60,8 @@
 #  include <immintrin.h>
 #endif
 
+using namespace std;
+
 int num_devices=0;
 /*These items configure the underlying asynch stream used by the the sync interface. 
  */
@@ -84,8 +88,8 @@ typedef struct
   uhd::async_metadata_t async_md;
   */
 
-  LMScomms mDataPort;
-
+  LMScomms Port;
+  Si5351C Si;
   double sample_rate;
   // time offset between transmiter timestamp and receiver timestamp;
   double tdiff;
@@ -103,6 +107,7 @@ typedef struct
 
 } sodera_state_t;
 
+sodera_state_t sodera_state;
 
 static int trx_sodera_start(openair0_device *device)
 {
@@ -308,62 +313,99 @@ int trx_sodera_reset_stats(openair0_device* device) {
 int openair0_dev_init_sodera(openair0_device* device, openair0_config_t *openair0_cfg)
 {
 
-  sodera_state_t *s = (sodera_state_t*)malloc(sizeof(sodera_state_t));
+  sodera_state_t *s=&sodera_state;
+
   size_t i;
-  memset(s, 0, sizeof(sodera_state_t));
 
   // Initialize SODERA device
-  if (!s->mDataPort.Open(0)) {
-    printf("Cannot open SoDeRa\n");
-    exit(-1);
-  }
+  s->Port.RefreshDeviceList();
+  vector<string> deviceNames=s->Port.GetDeviceList();
 
-  
-  int vers=0,subvers=0,subsubvers=0;
-  int bw_gain_adjust=0;
+  if (deviceNames.size() == 1) {
+    if (s->Port.Open(0) != IConnection::SUCCESS) {
+      printf("Cannot open SoDeRa\n");
+      exit(-1);
+    }
+    LMSinfo devInfo = s->Port.GetInfo();
+    printf("Device %s, HW: %d, FW: %d, Protocol %d\n",
+	   GetDeviceName(devInfo.device),
+	   (int)devInfo.hardware,
+	   (int)devInfo.firmware,
+	   (int)devInfo.protocol);
+    LMS7002M lmsControl(&s->Port);
+
+    printf("Configuring Si5351C\n");
+    s->Si.Initialize(&s->Port);
+    s->Si.SetPLL(0, 25000000, 0);
+    s->Si.SetPLL(1, 25000000, 0);
+    s->Si.SetClock(0, 27000000, true, false);
+    s->Si.SetClock(1, 27000000, true, false);
+    for (int i = 2; i < 8; ++i)
+      s->Si.SetClock(i, 27000000, false, false);
+    Si5351C::Status status = s->Si.ConfigureClocks();
+    if (status != Si5351C::SUCCESS)
+      {
+	printf("Failed to configure Si5351C");
+	exit(-1);
+      }
+    status = s->Si.UploadConfiguration();
+    if (status != Si5351C::SUCCESS)
+      printf("Failed to upload Si5351C configuration");
+    
+
+    printf("Configuring LMS7002\n");
+
+    int bw_gain_adjust=0;
 
    
-  openair0_cfg[0].rx_gain_calib_table = calib_table_sodera;
-
-  switch ((int)openair0_cfg[0].sample_rate) {
-  case 30720000:
-            // from usrp_time_offset
-    openair0_cfg[0].samples_per_packet    = 2048;
-    openair0_cfg[0].tx_sample_advance     = 15;
-    openair0_cfg[0].tx_bw                 = 20e6;
-    openair0_cfg[0].rx_bw                 = 20e6;
-    openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet;
-    break;
-  case 15360000:
-    openair0_cfg[0].samples_per_packet    = 2048;
-    openair0_cfg[0].tx_sample_advance     = 45;
-    openair0_cfg[0].tx_bw                 = 10e6;
-    openair0_cfg[0].rx_bw                 = 10e6;
-    openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet;
-    break;
-  case 7680000:
-    openair0_cfg[0].samples_per_packet    = 1024;
-    openair0_cfg[0].tx_sample_advance     = 50;
-    openair0_cfg[0].tx_bw                 = 5e6;
-    openair0_cfg[0].rx_bw                 = 5e6;
-    openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet;
-    break;
-  case 1920000:
-    openair0_cfg[0].samples_per_packet    = 256;
-    openair0_cfg[0].tx_sample_advance     = 50;
-    openair0_cfg[0].tx_bw                 = 1.25e6;
-    openair0_cfg[0].rx_bw                 = 1.25e6;
-    openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet;
-    break;
-  default:
-    printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate);
-    exit(-1);
-    break;
-  }
- 
-  /*
-  for(i=0;i<s->usrp->get_rx_num_channels();i++) {
-    if (i<openair0_cfg[0].rx_num_channels) {
+    openair0_cfg[0].rx_gain_calib_table = calib_table_sodera;
+
+    switch ((int)openair0_cfg[0].sample_rate) {
+    case 30720000:
+      // from usrp_time_offset
+      openair0_cfg[0].samples_per_packet    = 2048;
+      openair0_cfg[0].tx_sample_advance     = 15;
+      openair0_cfg[0].tx_bw                 = 20e6;
+      openair0_cfg[0].rx_bw                 = 20e6;
+      openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet;
+      break;
+    case 15360000:
+      openair0_cfg[0].samples_per_packet    = 2048;
+      openair0_cfg[0].tx_sample_advance     = 45;
+      openair0_cfg[0].tx_bw                 = 10e6;
+      openair0_cfg[0].rx_bw                 = 10e6;
+      openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet;
+      break;
+    case 7680000:
+      openair0_cfg[0].samples_per_packet    = 1024;
+      openair0_cfg[0].tx_sample_advance     = 50;
+      openair0_cfg[0].tx_bw                 = 5e6;
+      openair0_cfg[0].rx_bw                 = 5e6;
+      openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet;
+      break;
+    case 1920000:
+      openair0_cfg[0].samples_per_packet    = 256;
+      openair0_cfg[0].tx_sample_advance     = 50;
+      openair0_cfg[0].tx_bw                 = 1.25e6;
+      openair0_cfg[0].rx_bw                 = 1.25e6;
+      openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet;
+      break;
+    default:
+      printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate);
+      exit(-1);
+      break;
+
+    }
+    liblms7_status opStatus;
+    lmsControl.ResetChip();
+    opStatus = lmsControl.LoadConfig(openair0_cfg[0].configFilename);
+    
+    if (opStatus != LIBLMS7_SUCCESS) {
+      printf("Failed to load configuration file %s\n",openair0_cfg[0].configFilename);
+      exit(-1);
+    }
+    /*
+    for(i=0;i<openair0_cfg[0].rx_num_channels;i++) {
       s->usrp->set_rx_rate(openair0_cfg[0].sample_rate,i);
       s->usrp->set_rx_bandwidth(openair0_cfg[0].rx_bw,i);
       printf("Setting rx freq/gain on channel %lu/%lu : BW %f (readback %f)\n",i,s->usrp->get_rx_num_channels(),openair0_cfg[0].rx_bw/1e6,s->usrp->get_rx_bandwidth(i)/1e6);
@@ -420,9 +462,12 @@ int openair0_dev_init_sodera(openair0_device* device, openair0_config_t *openair
       std::cout << boost::format("Actual TX bandwidth: %fM...") % (s->usrp->get_tx_bandwidth(i)/1e6) << std::endl;
       std::cout << boost::format("Actual TX antenna: %s...") % (s->usrp->get_tx_antenna(i)) << std::endl;
     }
-  }
   */
-
+  }
+  else {
+    printf("Please connect SoDeRa\n");
+    exit(-1);
+  }
 
   device->priv = s;
   device->trx_start_func = trx_sodera_start;
diff --git a/targets/ARCH/SODERA/lms7_trx_LTE_mimo_RF.ini b/targets/ARCH/SODERA/lms7_trx_LTE_mimo_RF.ini
new file mode 100644
index 0000000000..e0e313b23e
--- /dev/null
+++ b/targets/ARCH/SODERA/lms7_trx_LTE_mimo_RF.ini
@@ -0,0 +1,1128 @@
+[file_info]
+type=lms7002m_minimal_config
+version=1
+[lms7002_registers_a]
+0x0020=0xFFFD
+0x0021=0x0E9F
+0x0022=0x07FF
+0x0023=0x5550
+0x0024=0xE4E4
+0x0025=0x0101
+0x0026=0x0101
+0x0027=0xB1E4
+0x0028=0x0101
+0x0029=0x0101
+0x002A=0x0086
+0x002B=0x0038
+0x002C=0x0000
+0x002D=0xFFFF
+0x002E=0x0000
+0x002F=0x3840
+0x0081=0x0000
+0x0082=0x8001
+0x0084=0x0400
+0x0085=0x0001
+0x0086=0x4101
+0x0087=0xB13B
+0x0088=0x0303
+0x0089=0x1078
+0x008A=0x0514
+0x008B=0x2182
+0x008C=0x267B
+0x0092=0x0001
+0x0093=0x0000
+0x0094=0x0000
+0x0095=0x0000
+0x0096=0x0000
+0x0097=0x0000
+0x0098=0x0000
+0x0099=0x6565
+0x009A=0x658C
+0x009B=0x6565
+0x009C=0x658C
+0x009D=0x6565
+0x009E=0x658C
+0x009F=0x658C
+0x00A0=0x6565
+0x00A1=0x6565
+0x00A2=0x6565
+0x00A3=0x6565
+0x00A4=0x6565
+0x00A5=0x6565
+0x00A6=0x0001
+0x00A7=0x6565
+0x00A8=0x0000
+0x00A9=0x8000
+0x00AA=0x0000
+0x00AB=0x0040
+0x00AC=0x2000
+0x00AD=0x03FF
+0x00AE=0x0000
+0x0100=0x7409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0A12
+0x0104=0x0088
+0x0105=0x0007
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x3042
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x8865
+0x010D=0x019D
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0xC0E6
+0x0113=0x03C3
+0x0114=0x008D
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x280C
+0x0118=0x018C
+0x0119=0x18CB
+0x011A=0x2E02
+0x011C=0xA941
+0x011D=0x4EC4
+0x011E=0x048C
+0x011F=0x3640
+0x0120=0xB9FF
+0x0121=0x3158
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0081
+0x0201=0x07B0
+0x0202=0x06F2
+0x0203=0x0FC2
+0x0204=0xD51F
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0170
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x4000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0081
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0003
+0x040B=0x000F
+0x040C=0x00FC
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0563
+0x0443=0xB490
+0x0444=0x02B1
+0x0445=0xDA48
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[lms7002_registers_b]
+0x0100=0x3409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0A12
+0x0104=0x0088
+0x0105=0x0007
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x3042
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x8865
+0x010D=0x019C
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0xC0E6
+0x0113=0x03C3
+0x0114=0x008D
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x280C
+0x0118=0x018C
+0x0119=0x18CB
+0x011A=0x2E02
+0x011C=0xA941
+0x011D=0x3B13
+0x011E=0x0631
+0x011F=0x3600
+0x0120=0xB9FF
+0x0121=0x31DA
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0101
+0x0201=0x05BD
+0x0202=0x0779
+0x0203=0x0F9E
+0x0204=0xBCC2
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0170
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x4000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0101
+0x0401=0x07FF
+0x0402=0x079B
+0x0403=0x0FF5
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0000
+0x040B=0x7FFF
+0x040C=0x00FC
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0000
+0x0443=0x0000
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[reference_clocks]
+sxr_ref_clk_mhz=52
+sxt_ref_clk_mhz=52
diff --git a/targets/ARCH/SODERA/lms7_trx_LTE_mimo_TSG.ini b/targets/ARCH/SODERA/lms7_trx_LTE_mimo_TSG.ini
new file mode 100644
index 0000000000..fb25b06527
--- /dev/null
+++ b/targets/ARCH/SODERA/lms7_trx_LTE_mimo_TSG.ini
@@ -0,0 +1,1128 @@
+[file_info]
+type=lms7002m_minimal_config
+version=1
+[lms7002_registers_a]
+0x0020=0xFFFD
+0x0021=0x0E9F
+0x0022=0x07FF
+0x0023=0x5550
+0x0024=0xE4E4
+0x0025=0x0101
+0x0026=0x0101
+0x0027=0xE4E4
+0x0028=0x0101
+0x0029=0x0101
+0x002A=0x0086
+0x002B=0x0038
+0x002C=0x0000
+0x002D=0xFFFF
+0x002E=0x0000
+0x002F=0x3840
+0x0081=0x0000
+0x0082=0x8001
+0x0084=0x0400
+0x0085=0x0001
+0x0086=0x4101
+0x0087=0xB13B
+0x0088=0x0303
+0x0089=0x1078
+0x008A=0x0514
+0x008B=0x2184
+0x008C=0x267B
+0x0092=0x0001
+0x0093=0x0000
+0x0094=0x0000
+0x0095=0x0000
+0x0096=0x0000
+0x0097=0x0000
+0x0098=0x0000
+0x0099=0x6565
+0x009A=0x658C
+0x009B=0x6565
+0x009C=0x658C
+0x009D=0x6565
+0x009E=0x658C
+0x009F=0x658C
+0x00A0=0x6565
+0x00A1=0x6565
+0x00A2=0x6565
+0x00A3=0x6565
+0x00A4=0x6565
+0x00A5=0x6565
+0x00A6=0x0001
+0x00A7=0x6565
+0x00A8=0x0000
+0x00A9=0x8000
+0x00AA=0x0000
+0x00AB=0x0040
+0x00AC=0x2000
+0x00AD=0x03FF
+0x00AE=0x0000
+0x0100=0x7409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0A12
+0x0104=0x0088
+0x0105=0x0007
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x9442
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x8865
+0x010D=0x011A
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0xC0E6
+0x0113=0x03C3
+0x0114=0x008D
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x280C
+0x0118=0x018C
+0x0119=0x18CB
+0x011A=0x2E02
+0x011C=0xAD41
+0x011D=0x9D89
+0x011E=0x0398
+0x011F=0x3680
+0x0120=0xB9FF
+0x0121=0x3692
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0081
+0x0201=0x07B0
+0x0202=0x06F2
+0x0203=0x0FC2
+0x0204=0xD51F
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0070
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x4000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0085
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0003
+0x040B=0x000F
+0x040C=0x00FC
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0563
+0x0443=0xB490
+0x0444=0x02B1
+0x0445=0xDA48
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[lms7002_registers_b]
+0x0100=0x3409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0A12
+0x0104=0x0088
+0x0105=0x0007
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x9442
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x88FD
+0x010D=0x009E
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0xC0E6
+0x0113=0x03C3
+0x0114=0x008D
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x280C
+0x0118=0x018C
+0x0119=0x18CB
+0x011A=0x2E02
+0x011C=0xA941
+0x011D=0xEC4E
+0x011E=0x04E4
+0x011F=0x3600
+0x0120=0xB9FF
+0x0121=0x3348
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0101
+0x0201=0x05BD
+0x0202=0x0779
+0x0203=0x0F9E
+0x0204=0xBCC2
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0070
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x4000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0105
+0x0401=0x07FF
+0x0402=0x079B
+0x0403=0x0FF5
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0000
+0x040B=0x7FFF
+0x040C=0x00FC
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0000
+0x0443=0x0000
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[reference_clocks]
+sxr_ref_clk_mhz=52
+sxt_ref_clk_mhz=52
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf
index ee4700c771..853db14393 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf
@@ -17,7 +17,7 @@ eNBs =
 
     mobile_country_code =  "208";
 
-    mobile_network_code =  "92";
+    mobile_network_code =  "93";
 
        ////////// Physical parameters:
 
@@ -36,7 +36,7 @@ eNBs =
         nb_antennas_tx          			      = 1;
         nb_antennas_rx          			      = 1;
         tx_gain                                            = 90;
-        rx_gain                                            = 120;
+        rx_gain                                            = 128;
         prach_root              			      = 0;
         prach_config_index      			      = 0;
         prach_high_speed        			      = "DISABLE";
@@ -66,7 +66,7 @@ eNBs =
 
         pusch_p0_Nominal                                   = -90;
         pusch_alpha                                        = "AL1";
-        pucch_p0_Nominal                                   = -108;
+        pucch_p0_Nominal                                   = -96;
         msg3_delta_Preamble                                = 6;
         pucch_deltaF_Format1                               = "deltaF2";
         pucch_deltaF_Format1b                              = "deltaF3";
@@ -131,7 +131,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.13.11";
+    mme_ip_address      = ( { ipv4       = "192.168.12.11";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -141,10 +141,10 @@ eNBs =
     NETWORK_INTERFACES :
     {
       ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-      ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.13.10/24";
+      ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.215/24";
 
       ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-      ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.13.10/24";
+      ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.215/24";
       ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index e67bcb6b07..612239bec3 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -290,6 +290,8 @@ double bw = 10.0e6;
 
 static int                      tx_max_power[MAX_NUM_CCs]; /* =  {0,0}*/;
 
+char   rf_config_file[1024];
+
 int chain_offset=0;
 
 #ifndef EXMIMO
@@ -411,6 +413,7 @@ void help (void) {
   printf("  sudo -E lte-softmodem [options]\n");
   printf("  sudo -E ./lte-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.openEPC.conf -S -V -m 26 -t 16 -x 1 --ulsch-max-errors 100 -W\n\n");
   printf("Options:\n");
+  printf("  --rf-config-file Configuration file for front-end (e.g. LMS7002M)\n");
   printf("  --ulsch-max-errors set the max ULSCH erros\n");
   printf("  --calib-ue-rx set UE RX calibration\n");
   printf("  --calib-ue-rx-med \n");
@@ -2051,6 +2054,7 @@ static void get_options (int argc, char **argv)
 
   enum long_option_e {
     LONG_OPTION_START = 0x100, /* Start after regular single char options */
+    LONG_OPTION_RF_CONFIG_FILE,
     LONG_OPTION_ULSCH_MAX_CONSECUTIVE_ERRORS,
     LONG_OPTION_CALIB_UE_RX,
     LONG_OPTION_CALIB_UE_RX_MED,
@@ -2067,6 +2071,7 @@ static void get_options (int argc, char **argv)
   };
 
   static const struct option long_options[] = {
+    {"rf-config-file",required_argument,  NULL, LONG_OPTION_RF_CONFIG_FILE},
     {"ulsch-max-errors",required_argument,  NULL, LONG_OPTION_ULSCH_MAX_CONSECUTIVE_ERRORS},
     {"calib-ue-rx",     required_argument,  NULL, LONG_OPTION_CALIB_UE_RX},
     {"calib-ue-rx-med", required_argument,  NULL, LONG_OPTION_CALIB_UE_RX_MED},
@@ -2085,11 +2090,19 @@ static void get_options (int argc, char **argv)
 
   while ((c = getopt_long (argc, argv, "A:a:C:dEK:g:F:G:hqO:m:SUVRM:r:P:Ws:t:Tx:",long_options,NULL)) != -1) {
     switch (c) {
+    case LONG_OPTION_RF_CONFIG_FILE:
+      if (strlen(optarg)<=1024)
+         strcpy(rf_config_file,optarg);
+      else {
+         printf("Configuration filename is too long\n");
+         exit(-1);   
+      }
+      break;
     case LONG_OPTION_MAXPOWER:
       tx_max_power[0]=atoi(optarg);
       for (CC_id=1;CC_id<MAX_NUM_CCs;CC_id++)
 	tx_max_power[CC_id]=tx_max_power[0];
-
+      break;
     case LONG_OPTION_ULSCH_MAX_CONSECUTIVE_ERRORS:
       ULSCH_max_consecutive_errors = atoi(optarg);
       printf("Set ULSCH_max_consecutive_errors = %d\n",ULSCH_max_consecutive_errors);
@@ -2552,8 +2565,12 @@ int main( int argc, char **argv )
   }
   logInit();
  
+  rf_config_file[0]='\0';
   get_options (argc, argv); //Command-line options
- 
+  if (rf_config_file[0] == '\0')
+    openair0_cfg[0].configFilename = NULL;
+  else
+    openair0_cfg[0].configFilename = rf_config_file;
   
   // initialize the log (see log.h for details)
   set_glog(glog_level, glog_verbosity);
-- 
GitLab