aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib
diff options
context:
space:
mode:
authorLars Amsel <lars.amsel@ni.com>2019-07-08 15:36:52 +0200
committerMartin Braun <martin.braun@ettus.com>2019-11-26 11:49:32 -0800
commit2a66eb62d89c5d18c176878ce036f0109706a9e2 (patch)
tree6715fd163aa1e7bdc55a5da5e09f67d04d3a6ed6 /host/lib/include/uhdlib
parent914fbdbcb297322edd8e037cb776d29be4f58c31 (diff)
downloaduhd-2a66eb62d89c5d18c176878ce036f0109706a9e2.tar.gz
uhd-2a66eb62d89c5d18c176878ce036f0109706a9e2.tar.bz2
uhd-2a66eb62d89c5d18c176878ce036f0109706a9e2.zip
rfnoc: Introduce device-specific blocks
- Add device ID constants (e.g., E310 == 0xE310, X300 == 0xA300). These are stored in the device FPGA, and can be used for decisions later - Blocks can be specific to a device. For example, x300_radio_control can only work on an X300 series device. - Because blocks can be device-specific, all radio blocks can now share a common Noc-ID (0x12AD1000). - The registry and factory functions are modified to acommodate for this. - The motherboard access is now also factored into the same registry macro.
Diffstat (limited to 'host/lib/include/uhdlib')
-rw-r--r--host/lib/include/uhdlib/rfnoc/factory.hpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/factory.hpp b/host/lib/include/uhdlib/rfnoc/factory.hpp
index be42a57e5..2bd1feb09 100644
--- a/host/lib/include/uhdlib/rfnoc/factory.hpp
+++ b/host/lib/include/uhdlib/rfnoc/factory.hpp
@@ -7,14 +7,16 @@
#ifndef INCLUDED_LIBUHD_RFNOC_FACTORY_HPP
#define INCLUDED_LIBUHD_RFNOC_FACTORY_HPP
-#include <uhd/rfnoc/registry.hpp>
+#include <uhd/rfnoc/defaults.hpp>
#include <uhd/rfnoc/noc_block_base.hpp>
+#include <uhd/rfnoc/registry.hpp>
namespace uhd { namespace rfnoc {
struct block_factory_info_t
{
std::string block_name;
+ bool mb_access;
std::string timebase_clk;
std::string ctrlport_clk;
registry::factory_t factory_fn;
@@ -30,11 +32,8 @@ public:
* \returns a block_factory_info_t object
* \throws uhd::lookup_error if no block is found
*/
- static block_factory_info_t get_block_factory(noc_block_base::noc_id_t noc_id);
-
- /*! Check if this block has requested access to the motherboard controller
- */
- static bool has_requested_mb_access(noc_block_base::noc_id_t noc_id);
+ static block_factory_info_t get_block_factory(
+ noc_id_t noc_id, device_type_t device_id);
};
}} /* namespace uhd::rfnoc */