aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python
diff options
context:
space:
mode:
authorTrung N Tran <trung.tran@ettus.com>2018-01-11 10:57:07 -0800
committerMartin Braun <martin.braun@ettus.com>2018-01-12 16:21:15 -0800
commit7ffea3746be77cf926db946987ee83d48a33c798 (patch)
tree6266671108fc9c5fad0e75bf4325fe056972d1ab /mpm/python
parentb3e0f60a7b41359e8f7806dc77c402468bf7f444 (diff)
downloaduhd-7ffea3746be77cf926db946987ee83d48a33c798.tar.gz
uhd-7ffea3746be77cf926db946987ee83d48a33c798.tar.bz2
uhd-7ffea3746be77cf926db946987ee83d48a33c798.zip
mpm: mg: Pass deserializer_lane_xbar to ad937x_config
Slot A and Slot B are different in how the JESD lanes are connected. We now pass in different deserializer_lane_xbar config values for each slot. Reviewed-by: Martin Braun <martin.braun@ettus.com> Reviewed-by: Daniel Jepson <daniel.jepson@ettus.com> Reviewed-by: Mark Meserve <mark.meserve@ni.com>
Diffstat (limited to 'mpm/python')
-rw-r--r--mpm/python/usrp_mpm/dboard_manager/magnesium.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/mpm/python/usrp_mpm/dboard_manager/magnesium.py b/mpm/python/usrp_mpm/dboard_manager/magnesium.py
index 1c46d134b..24a728ba1 100644
--- a/mpm/python/usrp_mpm/dboard_manager/magnesium.py
+++ b/mpm/python/usrp_mpm/dboard_manager/magnesium.py
@@ -352,8 +352,16 @@ class Magnesium(DboardManagerBase):
self._port_expander = TCA6408(self._get_i2c_dev(self.slot_idx))
self._power_on()
self.log.debug("Loading C++ drivers...")
+
+ # The Mykonos TX DeFramer lane crossbar requires configuration on a per-slot
+ # basis due to motherboard MGT lane swapping.
+ # The RX framer lane crossbar configuration
+ # is identical for both slots and is hard-coded within the Mykonos API.
+ deserializer_lane_xbar = 0xD2 if self.slot_idx == 0 else 0x72
+
self._device = lib.dboards.magnesium_manager(
self._spi_nodes['mykonos'],
+ deserializer_lane_xbar
)
self.mykonos = self._device.get_radio_ctrl()
self.spi_lock = self._device.get_spi_lock()