aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
authorAshish Chaudhari <ashish@ettus.com>2015-07-23 22:42:08 -0700
committerAshish Chaudhari <ashish@ettus.com>2015-07-23 22:42:08 -0700
commitf530b02cbf2ed6ea126a2774803b2c687c24efbc (patch)
tree0479650ef1e7968f2d232808ba5537a0616c32be /host
parent86924e9cca30b3f4d61fa2d2697d742afa6f73b0 (diff)
downloaduhd-f530b02cbf2ed6ea126a2774803b2c687c24efbc.tar.gz
uhd-f530b02cbf2ed6ea126a2774803b2c687c24efbc.tar.bz2
uhd-f530b02cbf2ed6ea126a2774803b2c687c24efbc.zip
x300: Removed radio_rst assertion code
- radio_rst was being asserted to reset the capture iface IDELAYs but that was excessive and had adverse effects on the rest of the radio - Replaced radio_rst with a localized IDELAYCTRL reset
Diffstat (limited to 'host')
-rw-r--r--host/lib/usrp/x300/x300_fw_common.h2
-rw-r--r--host/lib/usrp/x300/x300_impl.cpp4
-rw-r--r--host/lib/usrp/x300/x300_regs.hpp1
3 files changed, 4 insertions, 3 deletions
diff --git a/host/lib/usrp/x300/x300_fw_common.h b/host/lib/usrp/x300/x300_fw_common.h
index e137b916b..6493e938d 100644
--- a/host/lib/usrp/x300/x300_fw_common.h
+++ b/host/lib/usrp/x300/x300_fw_common.h
@@ -33,7 +33,7 @@ extern "C" {
#define X300_REVISION_MIN 2
#define X300_FW_COMPAT_MAJOR 4
#define X300_FW_COMPAT_MINOR 0
-#define X300_FPGA_COMPAT_MAJOR 12
+#define X300_FPGA_COMPAT_MAJOR 13
//shared memory sections - in between the stack and the program space
#define X300_FW_SHMEM_BASE 0x6000
diff --git a/host/lib/usrp/x300/x300_impl.cpp b/host/lib/usrp/x300/x300_impl.cpp
index 82ed5bfe2..903b63198 100644
--- a/host/lib/usrp/x300/x300_impl.cpp
+++ b/host/lib/usrp/x300/x300_impl.cpp
@@ -1455,8 +1455,8 @@ void x300_impl::update_clock_source(mboard_members_t &mb, const std::string &sou
throw uhd::runtime_error((boost::format("Reference Clock PLL in FPGA failed to lock to %s source.") % source).str());
}
- //Reset the logic in the radio clock domain
- mb.zpu_ctrl->poke32(SR_ADDR(SET0_BASE, ZPU_SR_SW_RST), ZPU_SR_SW_RST_RADIO_RST);
+ //Reset the IDELAYCTRL used to calibrate the data interface delays
+ mb.zpu_ctrl->poke32(SR_ADDR(SET0_BASE, ZPU_SR_SW_RST), ZPU_SR_SW_RST_ADC_IDELAYCTRL);
mb.zpu_ctrl->poke32(SR_ADDR(SET0_BASE, ZPU_SR_SW_RST), 0);
//Wait for the ADC IDELAYCTRL to be ready
diff --git a/host/lib/usrp/x300/x300_regs.hpp b/host/lib/usrp/x300/x300_regs.hpp
index fb3a42172..6e92a6dbc 100644
--- a/host/lib/usrp/x300/x300_regs.hpp
+++ b/host/lib/usrp/x300/x300_regs.hpp
@@ -74,6 +74,7 @@ localparam ZPU_SR_ETHINT1 = 56;
#define ZPU_SR_SW_RST_ETH_PHY (1<<0)
#define ZPU_SR_SW_RST_RADIO_RST (1<<1)
#define ZPU_SR_SW_RST_RADIO_CLK_PLL (1<<2)
+#define ZPU_SR_SW_RST_ADC_IDELAYCTRL (1<<3)
//clock controls
#define ZPU_SR_CLOCK_CTRL_CLK_SRC_EXTERNAL 0x00