diff options
author | Martin Braun <martin.braun@ettus.com> | 2017-10-24 15:54:29 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:04:03 -0800 |
commit | f721787d8183ee3fa980fb8131e813b23f1bc5c9 (patch) | |
tree | dc0d26dc483caf1ce086af970469cf0346b3de83 /host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp | |
parent | da3e5bcaaa420245b3ea1cd5c36f0c3d89f21d44 (diff) | |
download | uhd-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.hpp | 15 |
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 */ |