From 7ffea3746be77cf926db946987ee83d48a33c798 Mon Sep 17 00:00:00 2001 From: Trung N Tran Date: Thu, 11 Jan 2018 10:57:07 -0800 Subject: 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 Reviewed-by: Daniel Jepson Reviewed-by: Mark Meserve --- mpm/python/usrp_mpm/dboard_manager/magnesium.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mpm/python/usrp_mpm') 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() -- cgit v1.2.3