diff options
author | Lars Amsel <lars.amsel@ni.com> | 2019-07-08 15:36:52 +0200 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 11:49:32 -0800 |
commit | 2a66eb62d89c5d18c176878ce036f0109706a9e2 (patch) | |
tree | 6715fd163aa1e7bdc55a5da5e09f67d04d3a6ed6 /host/lib/include/uhdlib | |
parent | 914fbdbcb297322edd8e037cb776d29be4f58c31 (diff) | |
download | uhd-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.hpp | 11 |
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 */ |