summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/include/uhd/usrp/dboard_iface.hpp43
1 files changed, 22 insertions, 21 deletions
diff --git a/host/include/uhd/usrp/dboard_iface.hpp b/host/include/uhd/usrp/dboard_iface.hpp
index cfb727017..b28e50082 100644
--- a/host/include/uhd/usrp/dboard_iface.hpp
+++ b/host/include/uhd/usrp/dboard_iface.hpp
@@ -28,6 +28,27 @@
namespace uhd{ namespace usrp{
+//! Special properties that differentiate this daughterboard slot
+struct dboard_iface_special_props_t{
+ /*!
+ * Soft clock divider:
+ * When a motherboard cannot provided a divided dboard clock,
+ * it may provided a "soft" divided clock over an FPGA GPIO.
+ * The implementation must know the type of clock provided.
+ */
+ bool soft_clock_divider;
+
+ /*!
+ * Mangle i2c addresses:
+ * When i2c is shared across multiple daugterboard slots,
+ * the i2c addresses will be mangled on the secondary slot
+ * to avoid conflicts between slots in the i2c address space.
+ * The mangling is daguhterboard specific so the implementation
+ * needs to know whether it should use mangled addresses or not.
+ */
+ bool mangle_i2c_addrs;
+};
+
/*!
* The daughter board dboard interface to be subclassed.
* A dboard instance interfaces with the mboard though this api.
@@ -37,6 +58,7 @@ namespace uhd{ namespace usrp{
class UHD_API dboard_iface{
public:
typedef boost::shared_ptr<dboard_iface> sptr;
+ typedef dboard_iface_special_props_t special_props_t;
//! tells the host which unit to use
enum unit_t{
@@ -66,27 +88,6 @@ public:
AUX_ADC_B = 'b'
};
- //! Special properties that differentiate this daughterboard slot
- struct special_props_t{
- /*!
- * Soft clock divider:
- * When a motherboard cannot provided a divided dboard clock,
- * it may provided a "soft" divided clock over an FPGA GPIO.
- * The implementation must know the type of clock provided.
- */
- bool soft_clock_divider;
-
- /*!
- * Mangle i2c addresses:
- * When i2c is shared across multiple daugterboard slots,
- * the i2c addresses will be mangled on the secondary slot
- * to avoid conflicts between slots in the i2c address space.
- * The mangling is daguhterboard specific so the implementation
- * needs to know whether it should use mangled addresses or not.
- */
- bool mangle_i2c_addrs;
- };
-
/*!
* Get special properties information for this dboard slot.
* This call helps the dboard code to handle implementation