aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager/e31x.py
Commit message (Collapse)AuthorAgeFilesLines
* mpm: Add symbol name based EEPROM read, cleanup EEPROM handlingLars Amsel2021-05-311-5/+5
| | | | | | | | | | | | Handling of EEPROM read was cleanup in PeriphManagerBase such that EEPROM reading for mother and daugther board have similar names and signatures. Base class supports symbol names for the nvmem files which make it easy to find them by name such as db0_eeprom instead of addresses like ff020000.i2c:cros-ec@3c:db0-i2c-tunnel. Base class furthermore reads out all available auxiliary board EEPROM files and stores them in a dictionary member.
* mpm: deduplicate dboard eeprom handlingMichael Auchter2021-02-111-24/+2
| | | | | | | | | | | | The _get_dboard_eeprom_info implementations are the same with the exception of how the dboard eeprom is actually read. Break that out into a _read_dboard_eeprom method to reduce code duplication. The base class now defines a lambda expression for the eeprom reader which can be changed in subclasses. Co-authored-by: Lars Amsel <lars.amsel@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com>
* mpm: Remove SID classMartin Braun2020-08-071-1/+0
| | | | | | This class is a remnant of UHD 3, and is no longer used anywhere. SID is no longer used at all in UHD, in fact, which means the class did not represent a valid data structure.
* mpm: Default virtual NIC CHDR IP selectionSteven Koo2020-07-301-1/+5
| | | | | This change adds detection for setting the correct internal fpga CHDR IP address when using embedded mode.
* fpga, mpm: Bump FPGA compat numberRobertWalstab2020-07-241-1/+1
|
* mpm: remove class E310XportMgrLiberioRobertWalstab2020-07-161-11/+4
|
* mpm: Enable internal NIC on the E310RobertWalstab2020-07-161-6/+28
|
* e320/e310: Fix get_gpio_srcs() MPM API callMartin Braun2020-02-261-1/+1
| | | | | The Python code contained a typo which would cause a call to get_gpio_srcs() to throw an exception.
* fixup! mpm: e320/e310: Expose APIs to drive GPIO source via UHDMartin Braun2020-01-281-0/+1
|
* mpm: e320/e310: Expose APIs to drive GPIO source via UHDMartin Braun2020-01-231-32/+66
| | | | This enables the *gpio_src* APIs for the E320 and the E31x.
* mpm: e31x: Remove superfluous code from e31x_periphsMartin Braun2019-11-261-1/+1
| | | | | | | | | - ref_locked failure would throw a warning, even though this can happen in normal operations, and the return value of the get_ref_locked() function is all the info needed - get_fpga_type() doesn't need to be called from e31x_periphs, because it is not read from the motherboard registers (is read from the EEPROM)
* mpm: e31x: Fix setting of clock sourceMartin Braun2019-11-261-4/+1
| | | | | | | The clock source on E310 is always internal. This patch removes the variables regarding the clock source (since they are superfluous). This fixes a bug where self._clock_source on the e31x class would never get initialized.
* mpm: e310: Enable GPS sensorsMartin Braun2019-11-261-0/+39
| | | | The GPS sensors are pulled in via gpsd_iface.
* e310: Fix issues in MPM and UHDMartin Braun2019-11-261-111/+98
| | | | | | | | | | | - Remove superfluous INFO logging - Improve formatting in many places - Improve Pylint score in various places - Add tear_down to DB object - Simplify custom EEPROM code for E310 - Fix time source selection code - Remove references to GPS_CTRL and GPS_STATUS (are E320 only) - Move clock source control out of MboardRegs object
* mpm: Clean up code, improve Pylint scoreMartin Braun2019-11-261-47/+51
| | | | | | | | | | | | | | | | Many small cleanups: - Fix copyright headers - Fix superfluous imports - Pull some constants out of classes where appropriate - Fix formatting - Improve/fix some docstrings - Disable specific Pylint warnings where appropriate - Global catches use BaseException instead of Exception - Don't use len() for empty checks - Make sure to declare all self attributes in __init__ (note: this is particularly of interest for E310, becuase its regular init happens outside of __init__) - Compacted some E310 code that had multi-DB checks
* mpm: Move common mboard regs code to common locationMartin Braun2019-11-261-70/+0
| | | | | | | | | | | | | This assumes an existence of mboard_regs_control in PeriphManagerBase and implements most TK controls there. All the *_periphs.py files can now use a common class for registers, including the TK access, but also git hash, build date, and device ID access. This also fixes two issues: - set_timekeeper_time() and set_tick_period() had a bug that would incorrectly calculate the upper 32 bits of their respective registers. - N3xx had a bug that would swap around set time now and next PPS. This got auto-fixed because the common code never had this bug.
* rfnoc: Unify endianness of transportsAlex Williams2019-11-261-1/+1
| | | | | Ethernet now uses the same serialization of the RFNoC stream as all the other transports.
* x300/mpmd: Port all RFNoC devices to the new RFNoC frameworkMartin Braun2019-11-261-53/+101
| | | | | | | Co-Authored-By: Alex Williams <alex.williams@ni.com> Co-Authored-By: Sugandha Gupta <sugandha.gupta@ettus.com> Co-Authored-By: Brent Stapleton <brent.stapleton@ettus.com> Co-Authored-By: Ciro Nishiguchi <ciro.nishiguchi@ni.com>
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-011-0/+744
- Turns the E310 into an MPM device (like N3xx, E320) - Factor out common code between E320 and E310, maximize sharing between the two devices - Remove all pre-MPM E310 code that is no longer needed - Modify MPM to remove all existing overlays before applying new ones (this is necessary to enable idle image mode for E310) Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>