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/rhodium/rhodium_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/rhodium/rhodium_radio_control_init.cpp')
-rw-r--r-- | host/lib/usrp/dboard/rhodium/rhodium_radio_control_init.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/host/lib/usrp/dboard/rhodium/rhodium_radio_control_init.cpp b/host/lib/usrp/dboard/rhodium/rhodium_radio_control_init.cpp index 844b0752b..06c1c533a 100644 --- a/host/lib/usrp/dboard/rhodium/rhodium_radio_control_init.cpp +++ b/host/lib/usrp/dboard/rhodium/rhodium_radio_control_init.cpp @@ -196,9 +196,10 @@ void rhodium_radio_control_impl::_init_peripherals() RFNOC_LOG_TRACE("Initializing GPIOs..."); // DB GPIOs _gpio = usrp::gpio_atr::gpio_atr_3000::make(_wb_iface, - n320_regs::SR_DB_GPIO, - n320_regs::RB_DB_GPIO, - n320_regs::PERIPH_REG_OFFSET); + gpio_atr::gpio_atr_offsets::make_default( + n320_regs::SR_DB_GPIO, + n320_regs::RB_DB_GPIO, + n320_regs::PERIPH_REG_OFFSET)); _gpio->set_atr_mode(usrp::gpio_atr::MODE_ATR, // Enable ATR mode for Rhodium bits RHODIUM_GPIO_MASK); _gpio->set_atr_mode(usrp::gpio_atr::MODE_GPIO, // Disable ATR mode for unused bits @@ -206,9 +207,10 @@ void rhodium_radio_control_impl::_init_peripherals() _gpio->set_gpio_ddr(usrp::gpio_atr::DDR_OUTPUT, // Make all GPIOs outputs usrp::gpio_atr::gpio_atr_3000::MASK_SET_ALL); _fp_gpio = gpio_atr::gpio_atr_3000::make(_wb_iface, - n320_regs::SR_FP_GPIO, - n320_regs::RB_FP_GPIO, - n320_regs::PERIPH_REG_OFFSET); + gpio_atr::gpio_atr_offsets::make_default( + n320_regs::SR_FP_GPIO, + n320_regs::RB_FP_GPIO, + n320_regs::PERIPH_REG_OFFSET)); RFNOC_LOG_TRACE("Set initial ATR values..."); _update_atr(RHODIUM_DEFAULT_TX_ANTENNA, TX_DIRECTION); |