diff options
| -rw-r--r-- | host/include/uhd/usrp/dboard_iface.hpp | 43 | 
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 | 
