diff options
| -rw-r--r-- | host/lib/usrp/e300/e300_eeprom_manager.cpp | 10 | ||||
| -rw-r--r-- | host/lib/usrp/e300/e300_eeprom_manager.hpp | 5 | ||||
| -rw-r--r-- | host/lib/usrp/e300/e300_impl.cpp | 15 | ||||
| -rw-r--r-- | host/lib/usrp/e300/e300_impl.hpp | 7 | ||||
| -rw-r--r-- | host/lib/usrp/e300/e300_network.cpp | 7 | 
5 files changed, 29 insertions, 15 deletions
diff --git a/host/lib/usrp/e300/e300_eeprom_manager.cpp b/host/lib/usrp/e300/e300_eeprom_manager.cpp index 752bd3768..00200747d 100644 --- a/host/lib/usrp/e300/e300_eeprom_manager.cpp +++ b/host/lib/usrp/e300/e300_eeprom_manager.cpp @@ -210,8 +210,11 @@ e300_eeprom_manager::mboard_t e300_eeprom_manager::get_mb_type(      case E300_MB_PID:          return USRP_E300_MB; -    case E310_MB_PID: -        return USRP_E310_MB; +    case E310_SG1_MB_PID: +        return USRP_E310_SG1_MB; + +    case E310_SG3_MB_PID: +        return USRP_E310_SG3_MB;      default:          return UNKNOWN; @@ -228,7 +231,8 @@ std::string e300_eeprom_manager::get_mb_type_string(void) const      case E300_MB_PID:          return "E3XX"; -    case E310_MB_PID: +    case E310_SG1_MB_PID: +    case E310_SG3_MB_PID:          return "E3XX";      default: diff --git a/host/lib/usrp/e300/e300_eeprom_manager.hpp b/host/lib/usrp/e300/e300_eeprom_manager.hpp index 86d7c3463..b06eeada9 100644 --- a/host/lib/usrp/e300/e300_eeprom_manager.hpp +++ b/host/lib/usrp/e300/e300_eeprom_manager.hpp @@ -29,7 +29,8 @@  namespace uhd { namespace usrp { namespace e300 {  static const boost::uint16_t E300_MB_PID = 0x77d1; -static const boost::uint16_t E310_MB_PID = 0x77d2; +static const boost::uint16_t E310_SG1_MB_PID = 0x77d2; +static const boost::uint16_t E310_SG3_MB_PID = 0x77d3;  static const boost::uint16_t E300_DB_PID = 0x0100;  static const boost::uint16_t E310_DB_PID = 0x0110; @@ -68,7 +69,7 @@ public:      i2c::sptr get_i2c_sptr(void); -    enum mboard_t {USRP_E300_MB, USRP_E310_MB, UNKNOWN}; +    enum mboard_t {USRP_E300_MB, USRP_E310_SG1_MB, USRP_E310_SG3_MB, UNKNOWN};      mboard_t get_mb_type(void) const;      static mboard_t get_mb_type(boost::uint16_t pid); diff --git a/host/lib/usrp/e300/e300_impl.cpp b/host/lib/usrp/e300/e300_impl.cpp index 3242a7fe8..fae09ba63 100644 --- a/host/lib/usrp/e300/e300_impl.cpp +++ b/host/lib/usrp/e300/e300_impl.cpp @@ -278,15 +278,20 @@ void get_e3x0_fpga_images(const uhd::device_addr_t &device_addr,      //extract the FPGA path for the e300      switch(e300_eeprom_manager::get_mb_type(pid)) { -    case e300_eeprom_manager::USRP_E310_MB: +    case e300_eeprom_manager::USRP_E310_SG1_MB:          fpga_image = device_addr.cast<std::string>("fpga", -            find_image_path(E310_FPGA_FILE_NAME)); -        idle_image = find_image_path(E310_FPGA_IDLE_FILE_NAME); +            find_image_path(E310_SG1_FPGA_FILE_NAME)); +        idle_image = find_image_path(E3XX_SG1_FPGA_IDLE_FILE_NAME); +        break; +    case e300_eeprom_manager::USRP_E310_SG3_MB: +        fpga_image = device_addr.cast<std::string>("fpga", +            find_image_path(E310_SG3_FPGA_FILE_NAME)); +        idle_image = find_image_path(E3XX_SG3_FPGA_IDLE_FILE_NAME);          break;      case e300_eeprom_manager::USRP_E300_MB:          fpga_image = device_addr.cast<std::string>("fpga",              find_image_path(E300_FPGA_FILE_NAME)); -        idle_image = find_image_path(E300_FPGA_IDLE_FILE_NAME); +        idle_image = find_image_path(E3XX_SG1_FPGA_IDLE_FILE_NAME);          break;      case e300_eeprom_manager::UNKNOWN:      default: @@ -294,7 +299,7 @@ void get_e3x0_fpga_images(const uhd::device_addr_t &device_addr,                               << std::endl;          fpga_image = device_addr.cast<std::string>("fpga",              find_image_path(E300_FPGA_FILE_NAME)); -        idle_image = find_image_path(E300_FPGA_IDLE_FILE_NAME); +        idle_image = find_image_path(E3XX_SG1_FPGA_IDLE_FILE_NAME);          break;      }  } diff --git a/host/lib/usrp/e300/e300_impl.hpp b/host/lib/usrp/e300/e300_impl.hpp index 1bf5cb950..e9a0b4b9a 100644 --- a/host/lib/usrp/e300/e300_impl.hpp +++ b/host/lib/usrp/e300/e300_impl.hpp @@ -56,10 +56,11 @@  namespace uhd { namespace usrp { namespace e300 {  static const std::string E300_FPGA_FILE_NAME = "usrp_e300_fpga.bit"; -static const std::string E310_FPGA_FILE_NAME = "usrp_e310_fpga.bit"; +static const std::string E310_SG1_FPGA_FILE_NAME = "usrp_e310_fpga.bit"; +static const std::string E310_SG3_FPGA_FILE_NAME = "usrp_e310_fpga_sg3.bit"; -static const std::string E300_FPGA_IDLE_FILE_NAME = "usrp_e300_fpga_idle.bit"; -static const std::string E310_FPGA_IDLE_FILE_NAME = "usrp_e310_fpga_idle.bit"; +static const std::string E3XX_SG1_FPGA_IDLE_FILE_NAME = "usrp_e3xx_fpga_idle.bit"; +static const std::string E3XX_SG3_FPGA_IDLE_FILE_NAME = "usrp_e3xx_fpga_idle_sg3.bit";  static const std::string E300_TEMP_SYSFS = "iio:device0";  static const std::string E300_SPIDEV_DEVICE  = "/dev/spidev0.1"; diff --git a/host/lib/usrp/e300/e300_network.cpp b/host/lib/usrp/e300/e300_network.cpp index 96387d6f7..0aa5a21ae 100644 --- a/host/lib/usrp/e300/e300_network.cpp +++ b/host/lib/usrp/e300/e300_network.cpp @@ -575,8 +575,11 @@ network_server_impl::network_server_impl(const uhd::device_addr_t &device_addr)                  _eeprom_manager->get_mb_eeprom()["product"]);              std::string fpga_image;              switch(e300_eeprom_manager::get_mb_type(pid)) { -            case e300_eeprom_manager::USRP_E310_MB: -                fpga_image = find_image_path(E310_FPGA_FILE_NAME); +            case e300_eeprom_manager::USRP_E310_SG1_MB: +                fpga_image = find_image_path(E310_SG1_FPGA_FILE_NAME); +                break; +            case e300_eeprom_manager::USRP_E310_SG3_MB: +                fpga_image = find_image_path(E310_SG3_FPGA_FILE_NAME);                  break;              case e300_eeprom_manager::USRP_E300_MB:                  fpga_image = find_image_path(E300_FPGA_FILE_NAME);  | 
