Revision af0543a8

b/host/docs/build.rst
53 53
* **Download URL (windows installer):** http://www.boostpro.com/download
54 54

  
55 55
^^^^^^^^^^^^^^^^
56
LibUSB
57
^^^^^^^^^^^^^^^^
58
* **Purpose:** USB userspace library
59
* **Version:** at least 1.0
60
* **Required for:** build time + run time (optional)
61
* **Download URL:** http://www.libusb.org/
62

  
63
^^^^^^^^^^^^^^^^
56 64
Python
57 65
^^^^^^^^^^^^^^^^
58 66
* **Purpose:** used by Cheetah and utility scripts
b/host/lib/usrp/dboard/db_dbsrx.cpp
205 205

  
206 206
    //set the gpio directions and atr controls (identically)
207 207
    this->get_iface()->set_pin_ctrl(dboard_iface::UNIT_RX, 0x0); // All unused in atr
208
    this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0x0); // All Inputs
208
    if (this->get_iface()->get_special_props().soft_clock_divider){
209
        this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0x1); // GPIO0 is clock
210
    }
211
    else{
212
        this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0x0); // All Inputs
213
    }
209 214

  
210 215
    //send initial register settings
211 216
    this->send_reg(0x0, 0x5);
b/host/lib/usrp/usrp1/dboard_iface.cpp
49 49
        _codec = codec;
50 50

  
51 51
        //init the clock rate shadows
52
        this->set_clock_rate(UNIT_RX, _clock->get_master_clock_freq());
53
        this->set_clock_rate(UNIT_TX, _clock->get_master_clock_freq());
52
        this->set_clock_rate(UNIT_RX, this->get_clock_rates(UNIT_RX).front());
53
        this->set_clock_rate(UNIT_TX, this->get_clock_rates(UNIT_TX).front());
54 54
    }
55 55

  
56 56
    ~usrp1_dboard_iface()
......
134 134
    _clock_rates[unit] = rate;
135 135

  
136 136
    if (unit == UNIT_RX && _rx_dboard_id == dbsrx_classic_id){
137
        size_t divider = size_t(rate/_clock->get_master_clock_freq());
137
        size_t divider = size_t(_clock->get_master_clock_freq()/rate);
138 138
        switch(_dboard_slot){
139 139
        case usrp1_impl::DBOARD_SLOT_A:
140
            _iface->poke32(FR_RX_A_REFCLK, (divider & 0x7f) | 0x80);
140
            _iface->poke32(FR_RX_A_REFCLK, (2*divider & 0x7f) | 0x80);
141 141
            break;
142 142

  
143 143
        case usrp1_impl::DBOARD_SLOT_B:
144
            _iface->poke32(FR_RX_B_REFCLK, (divider & 0x7f) | 0x80);
144
            _iface->poke32(FR_RX_B_REFCLK, (2*divider & 0x7f) | 0x80);
145 145
            break;
146 146
        }
147 147
    }
......
151 151
{
152 152
    std::vector<double> rates;
153 153
    if (unit == UNIT_RX && _rx_dboard_id == dbsrx_classic_id){
154
        for (size_t div = 1; div <= 127; div++)
154
        for (size_t div = 8; div <= 127; div++)
155 155
            rates.push_back(_clock->get_master_clock_freq() / div);
156 156
    }
157 157
    else{

Also available in: Unified diff