Revision 476afe68 host/lib/usrp/usrp2/mboard_impl.cpp

b/host/lib/usrp/usrp2/mboard_impl.cpp
147 147
    _iface->poke32(_iface->regs.time64_flags, pps_flags);
148 148

  
149 149
    //clock source ref 10mhz
150
    if(_iface->is_usrp2p()) {
150
    switch(_iface->get_rev()){
151
    case usrp2_iface::USRP_N200:
152
    case usrp2_iface::USRP_N210:
151 153
        switch(_clock_config.ref_source){
152 154
        case clock_config_t::REF_INT : _iface->poke32(_iface->regs.misc_ctrl_clock, 0x12); break;
153 155
        case clock_config_t::REF_SMA : _iface->poke32(_iface->regs.misc_ctrl_clock, 0x1C); break;
154 156
        case clock_config_t::REF_MIMO: _iface->poke32(_iface->regs.misc_ctrl_clock, 0x15); break;
155 157
        default: throw std::runtime_error("usrp2: unhandled clock configuration reference source");
156 158
        }
157
    } else {
159
        _clock_ctrl->enable_external_ref(true); //USRP2P has an internal 10MHz TCXO
160
        break;
161

  
162
    case usrp2_iface::USRP2_REV3:
163
    case usrp2_iface::USRP2_REV4:
158 164
        switch(_clock_config.ref_source){
159 165
        case clock_config_t::REF_INT : _iface->poke32(_iface->regs.misc_ctrl_clock, 0x10); break;
160 166
        case clock_config_t::REF_SMA : _iface->poke32(_iface->regs.misc_ctrl_clock, 0x1C); break;
161 167
        case clock_config_t::REF_MIMO: _iface->poke32(_iface->regs.misc_ctrl_clock, 0x15); break;
162 168
        default: throw std::runtime_error("usrp2: unhandled clock configuration reference source");
163 169
        }
164
    }
170
        _clock_ctrl->enable_external_ref(_clock_config.ref_source != clock_config_t::REF_INT);
171
        break;
165 172

  
166
    //clock source ref 10mhz
167
    bool use_external = (_clock_config.ref_source != clock_config_t::REF_INT)
168
                     || (_iface->is_usrp2p()); //USRP2P has an internal 10MHz TCXO
169
    _clock_ctrl->enable_external_ref(use_external);
173
    case usrp2_iface::USRP_NXXX: break;
174
    }
170 175
}
171 176

  
172 177
void usrp2_mboard_impl::set_time_spec(const time_spec_t &time_spec, bool now){

Also available in: Unified diff