aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/dboard_manager/magnesium.py
Commit message (Collapse)AuthorAgeFilesLines
* mg: enable init and track calibration APITrung Tran2017-12-221-2/+21
| | | | | | | | | | | | | | | | | | | Currently, AD9371 turned on most of the calibration and hard coding the turning on process during bringup time. This change enables users to pass in a mask field for init ARM calibration and tracking arm calibration at the time creating USRP device reference. This mask field can be passed through device arguments of: 1/ init_cals : for init ARM calibration masks. This is defined in AD9371 UG-992 table 65. Default to 0x4DFF 2/ tracking_cals : for tracking calibration masks. This is defined in AD9371 UG-992 table 66. Default to 0xC3 Example of pasing in init calibration and tracking calibration mask usrp_application --args "init_cals=0x4f, tracking_cals=0xC3" NOTE: UHD currently expect user to input the correct init_cals and tracking_cals. There's no mechanism to check if init mask and tracking mask are valid. For example if the init mask field not mask 0x4f, the AD9371 will failed to setup.
* mpm: mg: Add lowband LO lock and AD9371 lock sensorsMartin Braun2017-12-221-2/+54
| | | | Note: The AD9371 lock sensors are only stubbed out for now.
* mpm: mg: Refactor some periph inits into __init__Martin Braun2017-12-221-40/+18
| | | | | | | SPI interfaces and -lock, user EEPROM, radio regs, CPLD, dboard clock control and GPIO expander can be initialized in Magnesium.__init__(). This shaves a little time off of the actual init() call and allows for earlier failures.
* mpm: mg: Fix linting issues and warningsMartin Braun2017-12-221-51/+47
| | | | | | - Removed superfluous code - Fixed most PyLint warnings - Reordered methods to match call order
* mpm: Fix minor logging issues with LMK04828 codeMartin Braun2017-12-221-1/+1
| | | | Log prefixes weren't properly being set.
* mpm: mg: Move CPLD controls to dedicated classMartin Braun2017-12-221-91/+163
|
* mpm: Replace MMCM lock and TDC PPS sleeps with poll_with_timeoutMartin Braun2017-12-221-4/+7
| | | | This increases init speed by replacing worst-case sleeps with polls.
* mpm: mg: Minor cleanup in __init__Martin Braun2017-12-221-6/+26
| | | | | - Moved AD9371 API generation around - Fixed some PyLint warnings
* mpm: mg: Enable user EEPROM data read/writeMartin Braun2017-12-221-2/+100
|
* mpm: mg: Specify I2C parents for GPIO devicesTrung N Tran2017-12-221-3/+77
| | | | | | The Magnesium daughterboards have GPIO port expanders, but both have the same udev label. In order to specify which port expander to use, we pass in the parent udev I2c device.
* mpm: mg: Specify the required overlay for FPGA auto-loadingMartin Braun2017-12-221-0/+15
|
* mg: Updated JESD204b init seq and documentation.djepson12017-12-221-25/+37
| | | | | | | | | | | - Based on feedback from ADI, updated SYSREF sequencing for meeting deterministic latency requirements. - Changed majority of register addresses in nijesdcore.py to constants. - Corrected write data to SYSREF_CAPTURE_CONTROL to produce the correct SYSREF toggle rate inside the FPGA. Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Fix debug support for CPLD accessesdjepson12017-12-221-1/+0
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Clean up CPLD initialization.djepson12017-12-221-16/+32
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Preliminary clock sync supportdjepson12017-12-221-1/+36
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Clean up radio_regs creationdjepson12017-12-221-5/+9
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Updated support for LMKdjepson12017-12-221-8/+58
| | | | | | | | - add clock shifting - add DAC support - modify __init__ calls for cleanup Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mpm: Streaming-related improvements to Magnesium controlsDJ Epson2017-12-221-20/+157
|
* mg: General fixesMark Meserve2017-12-221-4/+6
| | | | | - Make DB probe-able - Add RPC client
* mpm: Made code Python3-compatibleMartin Braun2017-12-221-2/+3
|
* mpm: Moved device and dboard init/deinit to their own methodsMartin Braun2017-12-221-10/+4
| | | | Also cleaned up some cruft.
* mpm: Enabled selection of SPI modeMartin Braun2017-12-221-0/+2
|
* mpm: Moved some SPI setup code to dboard baseMartin Braun2017-12-221-10/+0
|
* mpm: Enabled mboard EEPROM readoutMartin Braun2017-12-221-3/+9
|
* mg: bring up linksMark Meserve2017-12-221-21/+45
|
* mpm: Updating ref clock frequency will propagate to dboard, changed slot ↵Martin Braun2017-12-221-1/+1
| | | | indexing to numbers
* mpm: eiscat: magnesium: Removed C++-only SPI ifacesMartin Braun2017-12-221-2/+13
| | | | | | | - EISCAT is now Python only with the exception of the definition of the SPI ifaces - Magnesium uses a Python-generated SPI iface - Removed SPI lock from EISCAT dboard
* n3xx: Moved Mykonos reset to UIOMartin Braun2017-12-221-9/+1
| | | | Note: This requires a new FPGA image, or Mykonos simply won't reset.
* mpm: Improved udev identification of SPI device nodesMartin Braun2017-12-221-23/+16
|
* mpm: Added more generic UIO lookupMartin Braun2017-12-221-9/+6
|
* mpm: Moved over to new logging infrastructureMartin Braun2017-12-221-15/+86
| | | | Also currently hardcodes some settings.
* mpm: mpm reorganizationAndrej Rode2017-12-221-7/+25
|
* mpm: CMake cleanup, Python code enhancementsAndrej Rode2017-12-221-1/+1
| | | | | - Send user defined data in ping - Improve rpc_shell, add mpm_debug.py, fix tracebacks in multiprocessing
* mpm: python refactoringAndrej Rode2017-12-221-0/+50