aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-10-24 15:54:29 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:04:03 -0800
commitf721787d8183ee3fa980fb8131e813b23f1bc5c9 (patch)
treedc0d26dc483caf1ce086af970469cf0346b3de83 /host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
parentda3e5bcaaa420245b3ea1cd5c36f0c3d89f21d44 (diff)
downloaduhd-f721787d8183ee3fa980fb8131e813b23f1bc5c9.tar.gz
uhd-f721787d8183ee3fa980fb8131e813b23f1bc5c9.tar.bz2
uhd-f721787d8183ee3fa980fb8131e813b23f1bc5c9.zip
mg: Add controls for frontpanel- and internal GPIOs
- FP-GPIOs are currently unconnected, we just create the object (pending FPGA changes) - One ATR/GPIO controller per radio - Internal GPIOs (controlling DSA and AD9371 gain bits) are set to MODE_GPIO, they don't toggle on ATR state change
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp')
-rw-r--r--host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
index 7c96e47d0..4e31886f7 100644
--- a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
+++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp
@@ -23,6 +23,7 @@
#include "magnesium_cpld_ctrl.hpp"
#include "magnesium_cpld_regs.hpp"
#include "adf435x.hpp"
+#include "gpio_atr_3000.hpp"
#include <uhd/types/serial.hpp>
#include <uhd/usrp/dboard_manager.hpp>
#include <uhd/usrp/gpio_defs.hpp>
@@ -158,9 +159,21 @@ private:
//! Reference to the RX LO
adf435x_iface::sptr _rx_lo;
- //! Reference to the CPLD controls
+ //! Reference to the CPLD controls. Even if there's multiple radios,
+ // there's only one CPLD control.
std::shared_ptr<magnesium_cpld_ctrl> _cpld;
+ //! ATR controls. These control the external DSA and the AD9371 gain
+ // up/down bits. They do *not* control the ATR state of the CPLD, the
+ // tx/rx run states are hooked up directly to the CPLD.
+ //
+ // Every radio channel gets its own ATR state register.
+ std::vector<usrp::gpio_atr::gpio_atr_3000::sptr> _gpio;
+
+ //! Front panel GPIO controller. Note that only one radio block per
+ // module can be the FP-GPIO master.
+ usrp::gpio_atr::gpio_atr_3000::sptr _fp_gpio;
+
}; /* class radio_ctrl_impl */