| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
- The following function implementations were moved from x300_impl.cpp
to x300_adc_dac_utils.cpp
- synchronize_dacs
- self_test_adcs
- extended_adc_test
- self_cal_adc_capture_delay
- self_cal_adc_xfer_delay
- This reduces the size of the x300_impl object file
|
|
|
|
| |
- We added additional microcode to configure DCI matching,config rate,etc
|
|
|
|
|
|
|
|
| |
- The value was originally empirically determined based on self-cal
results. After the fix for uncalibrated IDELAY, the self-cal offset
data was no longer correct.
- The new delay through the ADC ensures that the self-cal nominally
pick the halfway tap of 16
|
|
|
|
|
|
|
|
|
|
|
| |
- Everytime the LMK is configured, we do the following:
- Reset all LMK regs
- Wait for LMK lock
- Reset radio_clk PLL in FPGA
- Wait for FPGA PLL to lock
- Assert radio_rst which resets downstream radio logic
- This address the intermittent self-cal failures due to uncalibrated IDELAY taps
- Bumped FPGA compat to 12
|
| |
|
|
|
|
| |
- This changed with the ADS62P44 -> ADS62P48 design change
|
| |
|
|\ |
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
host/include/uhd/transport/nirio/nirio_driver_iface.h
|
| | |
| | |
| | |
| | | |
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All currently available e3xx daugherboards are equivalent from
a UHD perspective, so make them consistently show up as "E3XX".
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
- New device arg "ext_adc_self_test" triggers the test
- ext_adc_self_test=<time> runs the test for "time" seconds
|
| | |
| | |
| | |
| | |
| | | |
- product code, revision and revision compat errors are now exceptions
- Added recover_mb_eeprom arg to recover from a corrupt/uninitialized EEPROM
|
| | |
| | |
| | |
| | |
| | | |
- Added new field "revision_compat" to mb_eeprom
- Enforce a revision_compat of 7
|
|/ /
| |
| |
| |
| | |
- Added new PCIe and MB PIDs for new boards
- Added an error if MB PID is invalid
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Single class for loading firmware/FPGA images onto devices instead of multiple utilities
* Loading functions are registered for each device, corresponding to their --args="type=foo" name
* Deprecation warnings added to all product-specific image loading utilities
|
|\| |
|
| | |
|
| |
| |
| |
| |
| | |
- B2x0: FW compat number (goes with previous firmware update)
- X3x0: Max HW rev number
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
fpga-src
host/CMakeLists.txt
host/cmake/Modules/UHDVersion.cmake
host/lib/usrp/b200/b200_impl.hpp
host/lib/usrp/e300/e300_fpga_defs.hpp
host/lib/usrp/x300/x300_fw_common.h
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
| |
| |
| | |
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was originally limited because it performed poor,
however, with refactoring that has been done since release,
this now gives better performance.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit will have UHD load the idle fpga image on
destruction of e300_impl.
Note: This requires usrp_e310_idle_fpga.bit to be present
in the UHD images directory.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| | |
|
| |
| |
| |
| |
| | |
- If the self-cal fails, UHD waits for 2 sec for the ADC temp
to stabilize and retries the self-cal
|
| |
| |
| |
| | |
- Characterized over process and temperature
|
| |
| |
| |
| | |
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes issue #828 "B200: Tx quadrature calibration regression in master"
Following commit added new gain table settings to reflect updated values
from ADI. Gain indices used by Tx Quad Cal were not matched to
accommodate the new tables.
2b06c38 "b2xx: dc offset and iq imbalance correction control"
Requirement for Tx Quad Cal is for TIA gain and analog LPF gain to be
set at 0 dB, or 0x20 in the gain table. Final effect is a dramatic
decrease in Tx DC offset and quadrature image.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Patch fixes a portion of #807
"B210: severe distortion on In-phase data for some gain settings"
ADI recommends that the "Prevent Pos Loop Gain" setting be enabled to
prevent the Rx quadrature tracking loop from becoming unstable at low
power levels. ADI Linux kernel driver also reflects this setting.
We do not follow the ADI recommendation. Adjust accordingly.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch resolves issue #823
"B200: Receive RF DC calibration makes calibration worse below 34 dB"
According to ADI reference documents, enabling any of the 3 LNA's in the
receive path causes a 180 degree phase shift. Correspondingly, we invert
the LNA bypass path (gain indices below 34 dB) to match. Testing,
however, reveals that one of these statements or the polarity inversion
setting itself is false. Disabling the switch results in expected
behavior and proper phase alignment.
Overall effect is up to 60 dB of DC offset suppression ahead of the Rx
analog LPF. This reduces the problematic dependency on active baseband
tracking and may resolves multiple tracking stability issues.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
| | |
|
|\ \ |
|
| |\| |
|
| | | |
|
|\| | |
|
| |\| |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will set the actual default rate to an integer factor
of whatever the tick rate is, but leave the property tree
value at zero. This avoids warnings if the chosen tick rate
is not a multiple of the previous default rate, but also
returns a zero value for the rate when it has not been
initialized, allowing the user to probe if the value has not
yet been set.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will set the actual default rate to an integer factor
of whatever the tick rate is, but leave the property tree
value at zero. This avoids warnings if the chosen tick rate
is not a multiple of the previous default rate, but also
returns a zero value for the rate when it has not been
initialized, allowing the user to probe if the value has not
yet been set.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Self-calibration routine steps through various values of IDELAY
taps on the SS data bits to detect metastability in the capture interface
and computes an ideal delay tap value
- Self calibration is triggered at device creation
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Self-calibration routine steps through various values of LMK
delay to detect metastability in the SSCLK -> radio_clk crossing
and computes an ideal delay for the ADC clock.
- Self calibration is triggered at startup if the self_cal_adc_delay
device arg is specified
|
|/ /
| |
| |
| |
| |
| |
| | |
- This function allows delaying divider pairs using the digital and analog
delay blocks in the LMK divider
- ctrl object caches delay for later retrieval
- Minor fixes to LMK regmap
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
host/lib/usrp/common/ad9361_ctrl.hpp
host/lib/usrp/common/ad9361_driver/ad9361_device.h
host/lib/usrp/e300/e300_remote_codec_ctrl.hpp
|