aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/x300/x300_impl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* x300: Removed radio_rst assertion codeAshish Chaudhari2015-07-231-2/+2
| | | | | | - radio_rst was being asserted to reset the capture iface IDELAYs but that was excessive and had adverse effects on the rest of the radio - Replaced radio_rst with a localized IDELAYCTRL reset
* x300: Moved system-level ADC and DAC operationsAshish Chaudhari2015-07-231-386/+0
| | | | | | | | | | | - 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
* x300: Added a comprehensive radio reset sequenceAshish Chaudhari2015-07-221-24/+54
| | | | | | | | | | | - 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
* x300: Minor: Optimized ADC/DAC resetsAshish Chaudhari2015-07-221-11/+11
|
* x300: Addressed code review feedback for Rev7+ supportAshish Chaudhari2015-07-201-84/+91
|
* x300: Added extended ADC self-testAshish Chaudhari2015-07-191-9/+66
| | | | | - New device arg "ext_adc_self_test" triggers the test - ext_adc_self_test=<time> runs the test for "time" seconds
* x300: Made all X300 revision related errors fatalAshish Chaudhari2015-07-191-13/+20
| | | | | - product code, revision and revision compat errors are now exceptions - Added recover_mb_eeprom arg to recover from a corrupt/uninitialized EEPROM
* x300: Added HW rev compat number supportAshish Chaudhari2015-07-181-11/+26
| | | | | - Added new field "revision_compat" to mb_eeprom - Enforce a revision_compat of 7
* x300: Added new Rev7+ X3x0 MB product codesAshish Chaudhari2015-07-181-2/+36
| | | | | - Added new PCIe and MB PIDs for new boards - Added an error if MB PID is invalid
* Added uhd::image_loader class and uhd_image_loader utilityNicholas Corgan2015-07-151-6/+14
| | | | | | * 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
* Merge branch 'maint'Martin Braun2015-07-141-1/+0
|\
| * x300: Removed stray debug printMartin Braun2015-07-141-1/+0
| |
* | Merge branch 'maint'Martin Braun2015-07-141-0/+10
|\| | | | | | | | | | | | | | | | | | | 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
| * x300: Added max hw rev checkingMartin Braun2015-07-141-0/+10
| |
* | x300: Added retry mechanism to ADC capture delay self-calAshish Chaudhari2015-07-141-47/+65
| | | | | | | | | | - If the self-cal fails, UHD waits for 2 sec for the ADC temp to stabilize and retries the self-cal
* | x300: Added self-cal to tune ADC source-sync data delaysAshish Chaudhari2015-07-071-40/+141
| | | | | | | | | | | | | | - 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
* | x300: Added self-cal to tune ADC clk delay at startupAshish Chaudhari2015-07-011-32/+202
| | | | | | | | | | | | | | | | - 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
* | x300: Check FPGA compat before firmware compatAshish Chaudhari2015-04-211-2/+3
| | | | | | | | - The firmware is a subset of the FPGA so this order makes sense
* | Merge branch 'maint'Martin Braun2015-04-061-0/+1
|\|
| * uhd: Add ability to get and set command time through dboard_iface.michael-west2015-04-031-1/+2
| | | | | | | | | | This creates a wb_iface child class called timed_wb_iface, which adds support for timed commands.
* | Merge branch 'maint'Martin Braun2015-03-271-2/+2
|\|
| * Warning fixesNicholas Corgan2015-03-271-2/+2
| | | | | | | | | | | | | | * CMake now not applying C++ flags to C files * GCC 4.4: anti-aliasing rules * MSVC: narrowing, differences in subclass function parameters * Clang: uninitialized variables
| * Merging new UHD_IMAGES_DIR utilities and bug fixes.Ben Hilburn2015-01-271-7/+7
| | | | | | | | Also includes NI-USRP Windows Registry Key fixes.
* | gpio: Renamed enums to avoid clash with generic, compiler-provided namesMartin Braun2015-03-111-7/+7
| |
* | B200: UHD support for FPGPIO connector on REV6+ boards.Ian Buckley2015-03-091-16/+19
| | | | | | | | | | | | - GPIO on UART connector all board Revs - Consolidated fpgpio_bitbang into fpgpio example and renamed it gpio - Changed FP_GPIO readback address to match X300
* | Merge branch 'maint'Martin Braun2015-01-121-8/+6
|\|
| * x300: Fix for BUG #655: X300: Device Time Not Getting Set from GPSDOmichael-west2015-01-121-8/+6
| | | | | | | | - Moved setting of tick rate before setting of PPS time
* | x300: support new 120 MHz bandwidth versions of the NI-branded X310sBrooks2014-12-221-17/+29
| |
* | x300: Fixed minor issues in X300 clk codeAshish Chaudhari2014-12-051-2/+2
| | | | | | | | | | - Bugfix for #638 - get_ref_locked will check lock status one last time before giving up
* | uhd: replaced the `images_error` with a generic utility errorBen Hilburn2014-11-211-7/+7
|/ | | | | | - Deleted images.*, moved functionality to paths.* - Applies for all devices that check FPGA or FW compat numbers - Adds generic utility search tool
* x300: Clarified FPGA compat error messageMartin Braun2014-11-211-5/+10
|
* x300: Cleaned up DAC ctrl and clock init logicAshish Chaudhari2014-11-061-122/+151
| | | | | | | | | | | - DAC: Squashed configuration into 2 main operations: reset and reset_and_resync - DAC: Put in sleep mode during configuration - DAC: Synchronize only if streaming to more than one DAC - DAC: Use falling edge sync mode - DAC: Fixed power up/down settings - DAC: Frontend sync failure is fatal - Clocks: Refactored clock source change logic - Clocks: Cleaned up init and lock-check sequence
* x300,nirio: Added support for NI-RIO 14.0Ashish Chaudhari2014-10-101-8/+5
| | | | | | | | | - Split niriok_proxy interfaces to support NI-RIO <=13.0 and >=14.0 kernel interfaces - Fixed multi-session race conditions by synchronizing niriok_proxy access - Fixed bug switching from NI LV-FPGA access to UHD access by changing how devices are hashed into a reservation table - Fixed calculation of FRAC values for CBX and SBX LO tuning by rounding instead of truncating - Fixed bug that was not setting two MSBs for band select configuration of CBX LO - Submitting on behalf of Patrick Sisterhen, Matthew Crymble
* Merge branch 'maint'Martin Braun2014-09-251-10/+50
|\
| * x300: added reset and resync of ADCs and DACs when changing reference clockmichael-west2014-09-251-10/+50
| |
* | Give user the option to ignore daughterboard's calibration file at runtimeNicholas Corgan2014-09-021-2/+7
| | | | | | | | | | * Add "ignore-cal-file" to the uhd::device_addr_t arguments * Added documentation for new feature
* | Merge branch 'maint'Martin Braun2014-08-181-42/+25
|\|
| * - Fixes for channel alignmentmichael-west2014-08-181-42/+25
| | | | | | | | | | | | | | | | | | | | - Added analog delay for radio clock - Added analog delay for DAC reference clocks - Removed resetting of clock control - Removed setting of reference clock and PPS to external sources during initialization - Fixes for set_time_unknown_pps - Removed wait for PPS edge after setting time from GPSDO - Changed set_time_unknonw_pps to time out based on system time rather than device VITA time
* | Merge branch 'maint'Martin Braun2014-07-311-9/+19
|\| | | | | | | | | Conflicts: host/utils/usrp_burn_mb_eeprom.cpp
| * Merge branch 'maint' into uhd/bug492michael-west2014-07-301-11/+20
| |\ | | | | | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.cpp
| | * tx fe corrections: fixing mixed tabs / spaces, other horrible whitespace cruftBen Hilburn2014-07-251-13/+10
| | |
| | * Merge 'maint' into x300/bug513Ben Hilburn2014-07-251-2/+3
| | |\
| | * | X300: Added UHD support for TX FEIan Buckley2014-07-181-1/+12
| | | |
| * | | Fix for BUG #492: UHD: set_time_unknown_pps() fails with GPSDO installedmichael-west2014-06-251-2/+4
| | | | | | | | | | | | | | | | - Added polling for PPS time change after setting time from GPSDO.
* | | | OctoClock firmware upgrade, added host driverNicholas Corgan2014-07-231-1/+2
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | * OctoClock can communicate with UHD over Ethernet * Can read NMEA strings from GPSDO and send to host * Added multi_usrp_clock class for clock devices * uhd::device can now filter to return only USRP devices or clock devices * New OctoClock bootloader can accept firmware download over Ethernet * Added octoclock_burn_eeprom,octoclock_firmware_burner utilities * Added test_clock_synch example to show clock API
* | | Commented out warning if X300 reference clock fails to lock within 1 second ↵michael-west2014-07-221-2/+3
| |/ |/| | | | | during initialization. Sometimes it takes longer and that is OK.
* | x300: Bugfix for overflows on PCIe at 200MS/sAshish Chaudhari2014-06-271-2/+2
|/
* Lots of bit-specific type work to fix compilation on older OSes.Ben Hilburn2014-05-211-8/+8
|
* Fix for BUG 456: LED TX/RX colors backwards on X300michael-west2014-05-161-2/+2
| | | | - Corrected bit masks so TX will light the red LED and RX will light the green LED
* x300: Addressed review feedbackAshish Chaudhari2014-04-251-11/+13
| | | | | - Fixed synchronization for unclaim - Removed stray RIO addr space set