aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python
diff options
context:
space:
mode:
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()