From f721787d8183ee3fa980fb8131e813b23f1bc5c9 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 24 Oct 2017 15:54:29 -0700 Subject: 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 --- .../usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp') 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 #include #include @@ -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 _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 _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 */ -- cgit v1.2.3