diff options
Diffstat (limited to 'host/lib/usrp/b200')
-rw-r--r-- | host/lib/usrp/b200/b200_impl.cpp | 20 | ||||
-rw-r--r-- | host/lib/usrp/b200/b200_impl.hpp | 7 |
2 files changed, 6 insertions, 21 deletions
diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index 19b01caaf..ffce08567 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -94,7 +94,7 @@ public: digital_interface_delays_t get_digital_interface_timing() { digital_interface_delays_t delays; delays.rx_clk_delay = 0; - delays.rx_data_delay = 0x6; + delays.rx_data_delay = 0xF; delays.tx_clk_delay = 0; delays.tx_data_delay = 0xF; return delays; @@ -555,8 +555,7 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s client_settings = boost::make_shared<b200_ad9361_client_t>(); } _codec_ctrl = ad9361_ctrl::make_spi(client_settings, _spi_iface, AD9361_SLAVENO); - this->reset_codec_dcm(); - + //////////////////////////////////////////////////////////////////// // create codec control objects //////////////////////////////////////////////////////////////////// @@ -908,9 +907,6 @@ double b200_impl::set_tick_rate(const double new_tick_rate) _tick_rate = _codec_ctrl->set_clock_rate(new_tick_rate); UHD_MSG(status) << std::endl << (boost::format("Actually got clock rate %.6f MHz.") % (_tick_rate/1e6)) << std::endl; - //reset after clock rate change - this->reset_codec_dcm(); - BOOST_FOREACH(radio_perifs_t &perif, _radio_perifs) { perif.time64->set_tick_rate(_tick_rate); @@ -1136,7 +1132,7 @@ void b200_impl::update_gpio_state(void) | (_gpio_state.rx_bandsel_a << 5) | (_gpio_state.rx_bandsel_b << 4) | (_gpio_state.rx_bandsel_c << 3) - | (_gpio_state.codec_arst << 2) + // Bit 2 currently not used. | (_gpio_state.mimo << 1) | (_gpio_state.ref_sel << 0) ; @@ -1144,15 +1140,6 @@ void b200_impl::update_gpio_state(void) _local_ctrl->poke32(TOREG(SR_CORE_MISC), misc_word); } -void b200_impl::reset_codec_dcm(void) -{ - _gpio_state.codec_arst = 1; - this->update_gpio_state(); - boost::this_thread::sleep(boost::posix_time::milliseconds(10)); - _gpio_state.codec_arst = 0; - this->update_gpio_state(); -} - void b200_impl::update_atrs(void) { if (_radio_perifs.size() > _fe1 and _radio_perifs[_fe1].atr) @@ -1219,7 +1206,6 @@ void b200_impl::update_enables(void) //setup the active chains in the codec _codec_ctrl->set_active_chains(enb_tx1, enb_tx2, enb_rx1, enb_rx2); if ((num_rx + num_tx) == 0) _codec_ctrl->set_active_chains(true, false, true, false); //enable something - this->reset_codec_dcm(); //set_active_chains could cause a clock rate change - reset dcm //figure out if mimo is enabled based on new state _gpio_state.mimo = (mimo)? 1 : 0; diff --git a/host/lib/usrp/b200/b200_impl.hpp b/host/lib/usrp/b200/b200_impl.hpp index b291f8e5c..25fef7d4b 100644 --- a/host/lib/usrp/b200/b200_impl.hpp +++ b/host/lib/usrp/b200/b200_impl.hpp @@ -49,8 +49,8 @@ #include "recv_packet_demuxer_3000.hpp" static const boost::uint8_t B200_FW_COMPAT_NUM_MAJOR = 8; static const boost::uint8_t B200_FW_COMPAT_NUM_MINOR = 0; -static const boost::uint16_t B200_FPGA_COMPAT_NUM = 10; -static const boost::uint16_t B205_FPGA_COMPAT_NUM = 1; +static const boost::uint16_t B200_FPGA_COMPAT_NUM = 11; +static const boost::uint16_t B205_FPGA_COMPAT_NUM = 2; static const double B200_BUS_CLOCK_RATE = 100e6; static const boost::uint32_t B200_GPSDO_ST_NONE = 0x83; static const size_t B200_MAX_RATE_USB2 = 53248000; // bytes/s @@ -204,7 +204,7 @@ private: void handle_overflow(const size_t radio_index); struct gpio_state { - boost::uint32_t tx_bandsel_a, tx_bandsel_b, rx_bandsel_a, rx_bandsel_b, rx_bandsel_c, codec_arst, mimo, ref_sel, swap_atr; + boost::uint32_t tx_bandsel_a, tx_bandsel_b, rx_bandsel_a, rx_bandsel_b, rx_bandsel_c, mimo, ref_sel, swap_atr; gpio_state() { tx_bandsel_a = 0; @@ -212,7 +212,6 @@ private: rx_bandsel_a = 0; rx_bandsel_b = 0; rx_bandsel_c = 0; - codec_arst = 0; mimo = 0; ref_sel = 0; swap_atr = 0; |