aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
diff options
context:
space:
mode:
authorBrent Stapleton <brent.stapleton@ettus.com>2018-08-28 10:15:08 -0700
committerBrent Stapleton <bstapleton@g.hmc.edu>2018-09-06 15:59:25 -0700
commitec0bf1add38e56381293f7a69f6f02447ed9746d (patch)
treeced4af6c2558fdf7d6644c24abcc2a1df761d275 /mpm
parent77631f36033c774d5b253d9c8ce8d5cbce569182 (diff)
downloaduhd-ec0bf1add38e56381293f7a69f6f02447ed9746d.tar.gz
uhd-ec0bf1add38e56381293f7a69f6f02447ed9746d.tar.bz2
uhd-ec0bf1add38e56381293f7a69f6f02447ed9746d.zip
e320: Get RFNoC crossbar baseport from FPGA
Diffstat (limited to 'mpm')
-rw-r--r--mpm/python/usrp_mpm/periph_manager/e320.py4
-rw-r--r--mpm/python/usrp_mpm/periph_manager/e320_periphs.py6
2 files changed, 8 insertions, 2 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/e320.py b/mpm/python/usrp_mpm/periph_manager/e320.py
index 37ed280e1..7c8cd6893 100644
--- a/mpm/python/usrp_mpm/periph_manager/e320.py
+++ b/mpm/python/usrp_mpm/periph_manager/e320.py
@@ -32,7 +32,7 @@ E320_DEFAULT_CLOCK_SOURCE = 'internal'
E320_DEFAULT_TIME_SOURCE = 'internal'
E320_DEFAULT_ENABLE_GPS = True
E320_DEFAULT_ENABLE_FPGPIO = True
-E320_FPGA_COMPAT = (3, 0)
+E320_FPGA_COMPAT = (3, 1)
E320_MONITOR_THREAD_INTERVAL = 1.0 # seconds
E320_DBOARD_SLOT_IDX = 0
@@ -90,7 +90,6 @@ class e320(ZynqComponents, PeriphManagerBase):
'temp_main_power' : 'get_main_power_temp_sensor',
}
max_num_dboards = 1
- crossbar_base_port = 2 # It's 2 because 0,1 are SFP,DMA
# We're on a Zynq target, so the following two come from the Zynq standard
# device tree overlay (tree/arch/arm/boot/dts/zynq-7000.dtsi)
@@ -265,6 +264,7 @@ class e320(ZynqComponents, PeriphManagerBase):
self.mboard_regs_control.get_build_timestamp()
self._check_fpga_compat()
self._update_fpga_type()
+ self.crossbar_base_port = self.mboard_regs_control.get_xbar_baseport()
# Init peripherals
self.enable_gps(
enable=str2bool(
diff --git a/mpm/python/usrp_mpm/periph_manager/e320_periphs.py b/mpm/python/usrp_mpm/periph_manager/e320_periphs.py
index 4a5ee236a..f5c82c0dd 100644
--- a/mpm/python/usrp_mpm/periph_manager/e320_periphs.py
+++ b/mpm/python/usrp_mpm/periph_manager/e320_periphs.py
@@ -66,6 +66,7 @@ class MboardRegsControl(object):
MB_GPS_STATUS = 0x003C
MB_DBOARD_CTRL = 0x0040
MB_DBOARD_STATUS = 0x0044
+ MB_XBAR_BASEPORT = 0x0048
# Bitfield locations for the MB_CLOCK_CTRL register.
MB_CLOCK_CTRL_PPS_SEL_INT = 0
@@ -409,3 +410,8 @@ class MboardRegsControl(object):
else:
self.log.trace("RX RF PLL locked")
return locked
+
+ def get_xbar_baseport(self):
+ "Get the RFNoC crossbar base port"
+ with self.regs:
+ return self.peek32(self.MB_XBAR_BASEPORT)