aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/e300/e300_global_regs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/e300/e300_global_regs.cpp')
-rw-r--r--host/lib/usrp/e300/e300_global_regs.cpp121
1 files changed, 0 insertions, 121 deletions
diff --git a/host/lib/usrp/e300/e300_global_regs.cpp b/host/lib/usrp/e300/e300_global_regs.cpp
deleted file mode 100644
index ef607797a..000000000
--- a/host/lib/usrp/e300/e300_global_regs.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-// Copyright 2014 Ettus Research LLC
-// Copyright 2018 Ettus Research, a National Instruments Company
-//
-// SPDX-License-Identifier: GPL-3.0-or-later
-//
-
-#include "e300_global_regs.hpp"
-
-#include <stdint.h>
-#include <uhd/exception.hpp>
-#include <uhd/utils/byteswap.hpp>
-#include <cstring>
-#include <iostream>
-
-namespace uhd { namespace usrp { namespace e300 {
-
-class global_regs_local_impl : public global_regs
-{
-public:
- global_regs_local_impl(const size_t ctrl_base) : _ctrl_base(ctrl_base)
- {
- }
-
- virtual ~global_regs_local_impl(void)
- {
- }
-
- uint32_t peek32(const uhd::wb_iface::wb_addr_type addr)
- {
- // setup readback register
- _poke32(_ctrl_base + global_regs::SR_CORE_READBACK, addr);
- return _peek32(_ctrl_base);
- }
-
- void poke32(const uhd::wb_iface::wb_addr_type addr, const uint32_t data)
- {
- _poke32(_ctrl_base + static_cast<size_t>(addr), data);
- }
-
-
-private:
- const size_t _ctrl_base;
-
- UHD_INLINE void _poke32(const uint32_t addr, const uint32_t data)
- {
- volatile uint32_t *p = reinterpret_cast<uint32_t *>(addr);
- *p = data;
- }
-
- UHD_INLINE uint32_t _peek32(const uint32_t addr)
- {
- volatile const uint32_t *p = reinterpret_cast<const uint32_t *>(addr);
- return *p;
- }
-};
-
-global_regs::sptr global_regs::make(const size_t ctrl_base)
-{
- return sptr(new global_regs_local_impl(ctrl_base));
-}
-
-class global_regs_zc_impl : public global_regs
-{
-public:
- global_regs_zc_impl(uhd::transport::zero_copy_if::sptr xport) : _xport(xport)
- {
- }
-
- virtual ~global_regs_zc_impl(void)
- {
- }
-
- uint32_t peek32(const uhd::wb_iface::wb_addr_type addr)
- {
- global_regs_transaction_t transaction;
- transaction.is_poke = uhd::htonx<uint32_t>(0);
- transaction.addr = uhd::htonx<uint32_t>(
- static_cast<uint32_t>(addr));
- {
- uhd::transport::managed_send_buffer::sptr buff = _xport->get_send_buff(10.0);
- if (not buff or buff->size() < sizeof(transaction))
- throw std::runtime_error("global_regs_zc_impl send timeout");
- std::memcpy(buff->cast<void *>(), &transaction, sizeof(transaction));
- buff->commit(sizeof(transaction));
- }
- {
- uhd::transport::managed_recv_buffer::sptr buff = _xport->get_recv_buff(10.0);
- if (not buff or buff->size() < sizeof(transaction))
- throw std::runtime_error("global_regs_zc_impl recv timeout");
- std::memcpy(&transaction, buff->cast<const void *>(), sizeof(transaction));
- }
- return uhd::ntohx<uint32_t>(transaction.data);
- }
-
- void poke32(const uhd::wb_iface::wb_addr_type addr, const uint32_t data)
- {
- global_regs_transaction_t transaction;
- transaction.is_poke = uhd::htonx<uint32_t>(1);
- transaction.addr = uhd::htonx<uint32_t>(
- static_cast<uint32_t>(addr));
- transaction.data = uhd::htonx<uint32_t>(data);
- {
- uhd::transport::managed_send_buffer::sptr buff = _xport->get_send_buff(10.0);
- if (not buff or buff->size() < sizeof(transaction))
- throw uhd::runtime_error("global_regs_zc_impl send timeout");
- std::memcpy(buff->cast<void *>(), &transaction, sizeof(transaction));
- buff->commit(sizeof(transaction));
- }
- }
-
-private:
- uhd::transport::zero_copy_if::sptr _xport;
-};
-
-global_regs::sptr global_regs::make(uhd::transport::zero_copy_if::sptr xport)
-{
- return sptr(new global_regs_zc_impl(xport));
-}
-
-}}};