Commit graph

228 commits

Author SHA1 Message Date
Martin Braun
1d0f1aa99d n3xx bist: Properly sequence GPSDO test
It now does:
- Power on GPS
- Wait for WARMUP to go low
- Wait for LOCKOK, with timeout
- Read the TPV response and return it
2017-12-22 15:04:00 -08:00
Martin Braun
fa07fd53f0 mpm: n3xx: Fix TCA GPIO read function
Used to always return None, now returns the actual pin value.
2017-12-22 15:04:00 -08:00
Martin Braun
a2f0269a1e mpm: n3xx: Change default state for TCA GPIOs
This makes the GPS reset go high by default (i.e., takes it out of reset
by default) and the init survey pin go high (i.e., take it out of survey
mode).
2017-12-22 15:04:00 -08:00
Martin Braun
5897780896 n3xx bist: Added LV compat mode 2017-12-22 15:04:00 -08:00
Martin Braun
f1ad20cfe1 n3xx bist: Minor refactoring of GPIO code 2017-12-22 15:04:00 -08:00
Martin Braun
e3b38be233 n3xx bist: Better pass/fail conditions, flattened results
To placate fussy JSON consumers, we now avoid nested dictionaries. The
dry-run results now return a more accurate representation of the N310
system responses.
2017-12-22 15:04:00 -08:00
Trung N Tran
c07af7edfe n310: enable CLK-MGT156MHz at init n310 call 2017-12-22 15:04:00 -08:00
Trung N Tran
e68cda3b75 n310: add init value for sysfs_gpio 2017-12-22 15:04:00 -08:00
Martin Braun
8063697d68 mpm: Check rpc server has matching lock release/acquires 2017-12-22 15:04:00 -08:00
Martin Braun
7cd6758336 n310/eiscat: Removed 20 MHz as a valid ref clock frequency 2017-12-22 15:04:00 -08:00
Derek Kozel
e5a7be4453 eiscat: Change sync pin configuration to switch to CD in case of error 2017-12-22 15:04:00 -08:00
Martin Braun
053e6b5aee n3xx mpm: Refactored peripheral init code 2017-12-22 15:04:00 -08:00
Martin Braun
90f608fa75 n3xx mpm: Enable more subcomponents through API calls 2017-12-22 15:04:00 -08:00
Martin Braun
eb2b11524b n3xx mpm: Set call for TCA6424 pins gets value arg 2017-12-22 15:04:00 -08:00
Martin Braun
5f99240bd2 mpm: Made Python3 the default interpreter for all N3xx-related executables 2017-12-22 15:04:00 -08:00
Martin Braun
e20c0adb05 mpm aurora: Fixed undeclared variable issue 2017-12-22 15:04:00 -08:00
Trung N Tran
a745877cc9 n310: gpio bist 2017-12-22 15:04:00 -08:00
Trung N Tran
1db37316eb n3xx: enable all pins on tca6424 2017-12-22 15:04:00 -08:00
Martin Braun
fad37e577d mpm: Clarified use of get_logger() call 2017-12-22 15:04:00 -08:00
Martin Braun
8b4bc49764 n3xx bist: Added --verbose and --debug options 2017-12-22 15:04:00 -08:00
Martin Braun
ef6382c6ab n3xx bist: Added SFP loopback tests 2017-12-22 15:04:00 -08:00
Martin Braun
39bd5b1bad mpm: Minor fixes to aurora_control
- Slaves are properly initialized/deinitialized
- Return values from BISTs return more info
- Minor formatting fixes
2017-12-22 15:04:00 -08:00
Martin Braun
3ea3d8a338 mpm/n310: Added Aurora BIST code 2017-12-22 15:04:00 -08:00
Trung N Tran
1bd648833c n3xx: Add CRC check for eeprom read 2017-12-22 15:04:00 -08:00
Martin Braun
7ae94d0ae9 n3xx bist: Make sure error_msg is in every result
Some downstream consumers of n3xx_bist output require the error_msg key
to be in every result, even if no error occurred. The default value is
an empty string.
2017-12-22 15:04:00 -08:00
djepson1
d15b55481d eiscat: Fixing a sequencing issue with channel enables for signal integrity reasons 2017-12-22 15:04:00 -08:00
Martin Braun
3bd01c27a3 mpm/n310: Moved eth dispatcher setup into __init__ 2017-12-22 15:04:00 -08:00
sugandhagupta
0347dc8b4b mpm: fixed mpm rerun issue 2017-12-22 15:04:00 -08:00
Martin Braun
8e1dec25f2 eiscat: Move JESD init and ADC reset to its own function 2017-12-22 15:03:59 -08:00
sugandhagupta
113e425613 n3xx: added args for ethernet crossover path 2017-12-22 15:03:59 -08:00
Martin Braun
e7f7f06b49 mpm: Added eth table preloading capability 2017-12-22 15:03:59 -08:00
Martin Braun
aefbc5b957 n3xx bist: Added both time and date to rtc test, added error_msg common key 2017-12-22 15:03:59 -08:00
Martin Braun
a53976c6ea n3xx bist: Stubbed out all tests, implemented TPM test 2017-12-22 15:03:59 -08:00
Martin Braun
527c4fe470 n3xx bist: Added dry-run version of sfp test 2017-12-22 15:03:59 -08:00
Martin Braun
5c64735057 n3xx bist: Added gpsd test 2017-12-22 15:03:59 -08:00
Martin Braun
666205cf29 n3xx bist: Added dry-run feature, and implemented temp, rtc, and fan tests 2017-12-22 15:03:59 -08:00
Martin Braun
d6dc8377ed eiscat: JESD failure does no longer throw; returns failure 2017-12-22 15:03:59 -08:00
Martin Braun
3c385a4587 mpm: discovery can now be bound to subnet 2017-12-22 15:03:59 -08:00
Martin Braun
d6d4ac861e eiscat: Unset initialized-flag when ref clock freq is changed 2017-12-22 15:03:59 -08:00
Martin Braun
62e2c25107 eiscat: Minor logging update for clock sync 2017-12-22 15:03:59 -08:00
djepson1
07b8682239 mpmd/cores: Removed PPS disable logic from TDC routine and added comments 2017-12-22 15:03:59 -08:00
djepson1
eae3ab9c7f mpmd/cores: Adding TDC range check and removing clock enable/disable logic 2017-12-22 15:03:59 -08:00
Martin Braun
c34a36853e n310: Allow --override-db-pids to skip dbs 2017-12-22 15:03:59 -08:00
Martin Braun
5f803ae32e eiscat: Skip re-initialization of dboards 2017-12-22 15:03:59 -08:00
Martin Braun
b14bc217e9 mpm/mpmd: Dboard info is now stored in mboard info; refactored initialization 2017-12-22 15:03:59 -08:00
Martin Braun
eb4a0cb6eb mpmd/mpm/n310: Added clock and time source APIs 2017-12-22 15:03:59 -08:00
Daniel Jepson
45012fa48c EISCAT: Hard reset ADCs before init, fixed interleaving engine 2017-12-22 15:03:59 -08:00
Martin Braun
40235b8c5a mpm/mpmd: Call init() during UHD session init, not on hwd spawn 2017-12-22 15:03:59 -08:00
Martin Braun
039de2841b mpm/mpmd: Allow SID increment; more fixes for multi-usrp operation 2017-12-22 15:03:59 -08:00
Martin Braun
365c57b356 mpm: Minor logging improvement for LMK04828 classes 2017-12-22 15:03:59 -08:00
Martin Braun
797b61a3fb mpm: RPC servers own methods can no longer be overwritten 2017-12-22 15:03:59 -08:00
Martin Braun
4b9e07629d mpm: Improved token checking in RPC server 2017-12-22 15:03:58 -08:00
Martin Braun
d68c7dfa5a eiscat: Made more functions return status values instead of None/void 2017-12-22 15:03:58 -08:00
Martin Braun
664f471baf mpm: Addition Py3k fixes, all related to string/UTF-8/ascii differences
- Also fixed some error handling in various cases
2017-12-22 15:03:58 -08:00
Martin Braun
1809822893 mpm/mpmd: Further improvements on multi-device operations
- Crossbar local addr is now written during initialization of UHD
  session
- Support for multiple crossbars per device (at least on UHD side)
- Crossbars are now sequentially given a unique address
2017-12-22 15:03:58 -08:00
Martin Braun
3f47aeaf13 mpm/tdc: Re-enable PPS after synchronization procedure is complete 2017-12-22 15:03:58 -08:00
Martin Braun
3c50e39d64 mpm: Removed gratuitous encode(), safer udev lookups
- Udev lookups now just return empty lists when they can't find anything
- Made SPI dev interface factory Py2/3 safe
2017-12-22 15:03:58 -08:00
Martin Braun
6183d9eeaa mpm: Made code Python3-compatible 2017-12-22 15:03:58 -08:00
Martin Braun
34c2fa0bee mpm: Cleaned up CMake, made Python version an option 2017-12-22 15:03:58 -08:00
Martin Braun
dbfc85e097 mpm: Remove numpy dependency 2017-12-22 15:03:58 -08:00
Martin Braun
2bd564ca22 mpm: Replaced xrange with range for better Python future-proofing 2017-12-22 15:03:58 -08:00
Martin Braun
d16d342be2 mpm: Made CMake more future-proof w.r.t. newer Boost and Python 2017-12-22 15:03:58 -08:00
Martin Braun
3aa899e1f5 mpm: udev now sorts EEPROM paths properly (9-0050 before 10-0050) 2017-12-22 15:03:58 -08:00
Martin Braun
34174c98f3 eiscat/mpm: Moved EISCAT full init sequence to UHD 2017-12-22 15:03:58 -08:00
Daniel Jepson
a233877f65 mpm/eiscat: Updated bringup procedure for dual-synched dboards 2017-12-22 15:03:58 -08:00
Martin Braun
39f5a3852c mpm: Added TDC clock sync driver 2017-12-22 15:03:58 -08:00
Daniel Jepson
273b959fd3 mpm/eiscat: Updates to LMK04828 driver 2017-12-22 15:03:58 -08:00
Martin Braun
fc89cd3c42 mpm: Added TDC clock sync driver 2017-12-22 15:03:58 -08:00
Martin Braun
2406def0ac mpm/mpmd: Crossbar info is now polled instead of hardcoded
- Extended base periph manager to provide crossbar info
2017-12-22 15:03:58 -08:00
Martin Braun
5dcaffcd0b mpm: RPC server now provides decorators for no token and no RPC
- Also token length is now variable, and 16 characters
2017-12-22 15:03:58 -08:00
Martin Braun
5edeeef564 mpm/EISCAT: Renamed UIO udev labels, enabled spidevs on both dboards
The UIO labels will require an update to the device tree overlay file.
2017-12-22 15:03:58 -08:00
Martin Braun
1ce038094d mpm: Factored out eeprom code into its own module 2017-12-22 15:03:53 -08:00
Martin Braun
0c0b0595bb mpm: motherboards can now also request overlays, dboard overlay code slightly refactored 2017-12-22 15:03:53 -08:00
Martin Braun
7c9b801906 mpm: Made overlay selection a static method for more flexibility 2017-12-22 15:03:53 -08:00
Martin Braun
5926f1b9d9 mpm: dt overlay handling: Better error handling, fewer FIXMEs 2017-12-22 15:03:53 -08:00
Martin Braun
245b96a777 mpm: Added auto-loading of dboard-specific overlays 2017-12-22 15:03:53 -08:00
Martin Braun
e9a1af171e mpm: Better handling of case where no CHDR interfaces are available 2017-12-22 15:03:53 -08:00
Martin Braun
06afc8eeef mpm: Fixed relative imports 2017-12-22 15:03:53 -08:00
Martin Braun
11977ad25c mpm: hwd can be spawned with clock_source and ext_clock_freq 2017-12-22 15:03:53 -08:00
Martin Braun
3102bf1cee mpm: periphs and n310 use eth table dispatcher now 2017-12-22 15:03:53 -08:00
Martin Braun
82331cb976 mpm: Added more methods to SID 2017-12-22 15:03:53 -08:00
Martin Braun
7cc40f9d12 mpm: Added ethernet dispatcher code for N310 2017-12-22 15:03:53 -08:00
Martin Braun
e2503018da mpm: SIDs are returned to pool after device is uninitialized 2017-12-22 15:03:53 -08:00
Martin Braun
0a9632ad39 mpm: RPC server unitializes a device when claim is lost 2017-12-22 15:03:53 -08:00
Martin Braun
c0a528394d mpm: Guaranteed stringification of mboard_info values 2017-12-22 15:03:53 -08:00
Martin Braun
5a4a78de61 mpm: Factored out common LMK04828 code 2017-12-22 15:03:53 -08:00
Martin Braun
9dee6175da mpm: Moved device and dboard init/deinit to their own methods
Also cleaned up some cruft.
2017-12-22 15:03:53 -08:00
Martin Braun
ca1723c02e eiscat: Enabled Phase DAC SPI
Requires the appropriate overlay.
2017-12-22 15:03:53 -08:00
DanielleB-NI-OOPL
1e7ab6df5a n3xx_bist Documentation
Added comments to individual tests regarding JSON formatting,
descriptions, and required equipment. No functional changes
2017-12-22 15:03:53 -08:00
Martin Braun
b39dafa1ee mpm: Enabled selection of SPI mode 2017-12-22 15:03:53 -08:00
Martin Braun
e6858a61a8 mpm: Moved some SPI setup code to dboard base 2017-12-22 15:03:53 -08:00
Martin Braun
13cd22e867 mpm: Added command line args to usrp_hwd.py 2017-12-22 15:03:53 -08:00
Martin Braun
4efea95324 mpm: Enabled mboard EEPROM readout 2017-12-22 15:03:53 -08:00
Martin Braun
2270a6b1a6 mpm: Fixed python import in discovery module 2017-12-22 15:03:53 -08:00
Martin Braun
b5b1ef2de2 mpm: Various EISCAT fixes 2017-12-22 15:03:53 -08:00
sugandhagupta
6a2a8bb2f7 mpm: fixed port expander connections
- reversed CLK-MAINREF-SEL0 and SEL1
2017-12-22 15:03:52 -08:00
Martin Braun
af35903d17 mpm: Renamed types submodule mpmtypes to avoid import confusion 2017-12-22 15:03:52 -08:00
Mark Meserve
24d3011233 mg: bring up links 2017-12-22 15:03:52 -08:00
Martin Braun
8f9f29dabc mpm: eiscat: Fixed missing parameter in dboard code 2017-12-22 15:03:52 -08:00
Martin Braun
1b27c16dd3 mpm: Updating ref clock frequency will propagate to dboard, changed slot indexing to numbers 2017-12-22 15:03:52 -08:00
Daniel Jepson
ca3a840756 mpm: eiscat: Finalized bring-up of JESD link 2017-12-22 15:03:52 -08:00
Martin Braun
df9ca47ed1 mpm: eiscat: magnesium: Removed C++-only SPI ifaces
- 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
2017-12-22 15:03:52 -08:00
Martin Braun
0c5c2f1834 mpm: n310: Added driver for port expander and ref clock selection 2017-12-22 15:03:52 -08:00
Martin Braun
9e57a7a71a mpm: Added driver for sysfs-based gpios 2017-12-22 15:03:52 -08:00
Martin Braun
2906db7528 mpm: Added more to the EISCAT bringup sequence 2017-12-22 15:03:52 -08:00
Martin Braun
0e7fe25f42 mpm: eiscat: Added first pass at EISCAT dboard driver 2017-12-22 15:03:52 -08:00
Martin Braun
fcf8715eab mpm: Exposed spi regs iface factory to Python 2017-12-22 15:03:52 -08:00
Martin Braun
0920bf97ea mpm: Fixed logging in exit case 2017-12-22 15:03:52 -08:00
Martin Braun
c0fa47a970 n3xx: Moved Mykonos reset to UIO
Note: This requires a new FPGA image, or Mykonos simply won't reset.
2017-12-22 15:03:52 -08:00
Martin Braun
af6d240949 mpm: Improved udev identification of SPI device nodes 2017-12-22 15:03:52 -08:00
Martin Braun
658bdb71d8 mpm: Added more generic UIO lookup 2017-12-22 15:03:52 -08:00
Martin Braun
151ba5fb06 mpm: Major refactoring
- Created clean interfaces for SPI and registers
- Severed most links to UHD
- Added a lockable class which allows exposing mutexes into Python
2017-12-22 15:03:52 -08:00
Martin Braun
60af7b1a1f n3xx: Added bist tool skeleton 2017-12-22 15:03:46 -08:00
Martin Braun
f9a6de45be mpm: Removed exception handling for periph manager import 2017-12-22 15:03:46 -08:00
Martin Braun
0cdf67ad33 mpm: Enabled LMK controls in Python 2017-12-22 15:03:46 -08:00
Martin Braun
1c0cc2120d mpm: Fixed version string for MPM 2017-12-22 15:03:46 -08:00
Martin Braun
27cae33959 mpm: Removed superfluous file 2017-12-22 15:03:45 -08:00
Martin Braun
285f14392b mpm: Moved over to new logging infrastructure
Also currently hardcodes some settings.
2017-12-22 15:03:45 -08:00
Martin Braun
b05f72f339 mpm: Added NI JESD core controller 2017-12-22 15:03:45 -08:00
Derek Kozel
f2f1204ea4 lmk: Update LMK04828 driver with values for Magnesium 2017-12-22 15:03:45 -08:00
Andrej Rode
7f71111988 mpm: comment out functionality to make it work
- add uio udev find routine
 - add debug prints

Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
2017-12-22 15:03:45 -08:00
Andrej Rode
6a12add156 mpm: mpm reorganization 2017-12-22 15:03:45 -08:00
Martin Braun
ba4fad345d mpm: Added uio control class 2017-12-22 15:03:45 -08:00
Mark Meserve
ae21f9b9d3 mpm: fixup for spi and ad937x path changes 2017-12-22 15:03:45 -08:00
Andrej Rode
8ac9014d5c mpm: CMake cleanup, Python code enhancements
- Send user defined data in ping
- Improve rpc_shell, add mpm_debug.py, fix tracebacks in multiprocessing
2017-12-22 15:03:44 -08:00
Martin Braun
6d332e5ca4 mpm: move public includes into include/ 2017-12-22 15:03:44 -08:00
Andrej Rode
ef6326a174 mpm: python refactoring 2017-12-22 15:03:44 -08:00
Martin Braun
1a4348038d Initial commit for N3xx development.
- Creates mpm/ subdirectory
- First pass at hardware daemon/MPM
- New code for LMK04828, AD9371
- spidev integration

Contributions by:

Martin Braun <martin.braun@ettus.com>
Derek Kozel <derek.kozel@ettus.com>
Mark Meserve <mark.meserve@ni.com>
Andrej Rode <andrej.rode@ettus.com>
2017-12-22 15:03:44 -08:00