diff options
author | Lane Kolbly <lane.kolbly@ni.com> | 2021-10-14 13:15:48 -0500 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2021-10-27 07:56:33 -0700 |
commit | 62d467f3fc024f6a43abca9c3a2b194b5d3829bf (patch) | |
tree | 45e13cf7624f0539febb37478c305e05055d7cb5 /host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp | |
parent | 4e6531f30648ede5be8f93fa49fdcd4973b73813 (diff) | |
download | uhd-62d467f3fc024f6a43abca9c3a2b194b5d3829bf.tar.gz uhd-62d467f3fc024f6a43abca9c3a2b194b5d3829bf.tar.bz2 uhd-62d467f3fc024f6a43abca9c3a2b194b5d3829bf.zip |
host: gpio: Create gpio_atr_offsets to store GPIO registers
Refactors register addresses into a gpio_atr_offsets structure which
contains the various register addresses. This allows creating other
devices with different GPIO register layouts with greater ease, and
eliminates the use of macros (yay!)
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp')
-rw-r--r-- | host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp index 98c370275..95c5dcc52 100644 --- a/host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp +++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_control_init.cpp @@ -120,9 +120,10 @@ void magnesium_radio_control_impl::_init_peripherals() _wb_ifaces.push_back(RFNOC_MAKE_WB_IFACE(0, radio_idx)); RFNOC_LOG_TRACE("Initializing GPIOs for channel " << radio_idx); _gpio.emplace_back(usrp::gpio_atr::gpio_atr_3000::make(_wb_ifaces.back(), - n310_regs::SR_DB_GPIO + radio_idx * n310_regs::CHAN_REG_OFFSET, - n310_regs::RB_DB_GPIO + radio_idx * n310_regs::CHAN_REG_OFFSET, - n310_regs::PERIPH_REG_OFFSET)); + usrp::gpio_atr::gpio_atr_offsets::make_default( + n310_regs::SR_DB_GPIO + radio_idx * n310_regs::CHAN_REG_OFFSET, + n310_regs::RB_DB_GPIO + radio_idx * n310_regs::CHAN_REG_OFFSET, + n310_regs::PERIPH_REG_OFFSET))); // DSA and AD9371 gain bits do *not* toggle on ATR modes. If we ever // connect anything else to this core, we might need to set_atr_mode() // to MODE_ATR on those bits. For now, all bits simply do what they're @@ -134,9 +135,10 @@ void magnesium_radio_control_impl::_init_peripherals() } RFNOC_LOG_TRACE("Initializing front-panel GPIO control...") _fp_gpio = usrp::gpio_atr::gpio_atr_3000::make(_wb_ifaces.front(), - n310_regs::SR_FP_GPIO, - n310_regs::RB_FP_GPIO, - n310_regs::PERIPH_REG_OFFSET); + usrp::gpio_atr::gpio_atr_offsets::make_default( + n310_regs::SR_FP_GPIO, + n310_regs::RB_FP_GPIO, + n310_regs::PERIPH_REG_OFFSET)); } void magnesium_radio_control_impl::_init_frontend_subtree( |