Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fixup! mpm: Log timeouts during API calls, reset timer on claimed calls | Martin Braun | 2018-01-23 | 1 | -0/+6 |
| | |||||
* | mpm/mpmd: Report device state using get_init_status() and verify | Martin Braun | 2018-01-16 | 1 | -1/+7 |
| | | | | | | When trying to run init(), mpmd will first query the initialization status of the MPM device. If it is found to be in a bad state, it will not go forward with initialization, but instead print the error message. | ||||
* | mpm: Refactor PeriphManager classes | Martin Braun | 2018-01-16 | 1 | -36/+65 |
| | | | | | - Sort methods by functional groups - Removed some cruft | ||||
* | mpm: n310: Check all periphs for initialization status | Martin Braun | 2018-01-12 | 1 | -0/+4 |
| | |||||
* | mpm: periph_manager: Pass default args to dboard manager | Martin Braun | 2018-01-11 | 1 | -2/+3 |
| | |||||
* | mpm: Add API call for claim and unclaim | Martin Braun | 2018-01-10 | 1 | -0/+18 |
| | | | | | | These are hooks that the RPC server calls into when claiming a device, and allow the device implementation to trigger user-definable actions on claiming/unclaiming. | ||||
* | mpm: n310: Move SID re-alloc log message to right spot | Martin Braun | 2018-01-08 | 1 | -1/+0 |
| | |||||
* | n310: Move SID framing all the way to n310.py | Martin Braun | 2017-12-22 | 1 | -2/+3 |
| | | | | | | | MPM will now no longer keep a SID framer variable. Reviewed-by: Trung Tran <trung.tran@ettus.com> Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com> | ||||
* | mpm: Fix linter warnings | Martin Braun | 2017-12-22 | 1 | -1/+5 |
| | | | | | | - Magnesium: Bad formatting in DRP setup - PeriphManagerBase: Import order - dtoverlay: Missed default value for param | ||||
* | mpm: periph_manager: Clarify request/commit protocol | Martin Braun | 2017-12-22 | 1 | -5/+8 |
| | |||||
* | mpm: xports: Amend protocol for request/commit xport, add allocation | Martin Braun | 2017-12-22 | 1 | -0/+11 |
| | | | | Reviewed-by: Trung Tran <trung.tran@ettus.com> | ||||
* | mpm: Harmonize all license header | Martin Braun | 2017-12-22 | 1 | -13/+2 |
| | | | | Now uses SPDX headers everywhere. | ||||
* | mpm: UIOs now open only when necessary | Brent Stapleton | 2017-12-22 | 1 | -0/+4 |
| | | | | | | | Refactoring to use the C++-based UIO objects. The Liberio and Ethernet objects now open the UIO before using it, and close it once done. Reviewed-By: Martin Braun <martin.braun@ettus.com> | ||||
* | mpm: Harmonize imports, tidy + sort modules | Martin Braun | 2017-12-22 | 1 | -6/+6 |
| | | | | | | | | - Moved nijesdcore to cores/ - Moved udev, net, dtoverlay, uio to sys_utils/ - Made all imports non-relative (except in __init__.py files) - Removed some unnecessary imports - Reordered some imports for Python conventions | ||||
* | mpm: Factor out xport managers as own objects | Martin Braun | 2017-12-22 | 1 | -5/+0 |
| | | | | | | - Move XportMgr classes out of n310.py - Subclass them there and apply N310-specific settings - Remove chdr_interfaces option from PeriphManagerBase | ||||
* | mpm: Reset periph manager on update | Brent Stapleton | 2017-12-22 | 1 | -1/+7 |
| | | | | | | | | | | Upon updating certain components (the FPGA, for example), the Peripheral Manager is restarted, and the overlay is reapplied. In order to facilitate this, the RPC server intercepts and handles the update_component function. Tested on the RJ45 ethernet connection. It probably won't work as well if the SFP connection goes down when the overlay is removed. | ||||
* | mpm: PeriphManager decides and applies overlay | Brent Stapleton | 2017-12-22 | 1 | -15/+0 |
| | | | | | | | Previously, the daughterboard requested an overlay file based on SFP preference using magic values. This commit moves the decision making to the peripheral manager, which uses our singular name (ie 'n3xx' for the N310). | ||||
* | fpga load: Atomic updating of multiple components | Brent Stapleton | 2017-12-22 | 1 | -40/+29 |
| | | | | | | | - The MPM function update_component now accepts multiple components to be updated in one RPC call. - Updated the property tree and image loader to match this change. - Also added DTS loading to the image loader. | ||||
* | mpm: mg: Optionally parallelize init calls to dboard | Martin Braun | 2017-12-22 | 1 | -3/+19 |
| | | | | | | Default is to run in parallel. serialize_init=1 will run them serially. Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com> | ||||
* | mpm: Made PeriphManagerBase.__init__ more exception-safe | Martin Braun | 2017-12-22 | 1 | -4/+13 |
| | |||||
* | mpm/mpmd: Move to request_xport()/commit_xport() architecture | Martin Braun | 2017-12-22 | 1 | -20/+68 |
| | | | | | This commit combines code from various branches to finally enable both UDP and Liberio transports. | ||||
* | mpm: Lower logging level for PeriphManagerBase.deinit() | Martin Braun | 2017-12-22 | 1 | -2/+2 |
| | |||||
* | mpm: Cache connection type in PeriphManagerBase | Martin Braun | 2017-12-22 | 1 | -0/+13 |
| | | | | | | Now, when claiming a device, the connection type will be stored as a string in PeriphManagerBase. This way we can read out the current connection type even when not currently inside an RPC call. | ||||
* | mpm: Remove leading _ from _get_device_info() | Martin Braun | 2017-12-22 | 1 | -1/+2 |
| | | | | Use @norpc instead. This fixes some linting issues. | ||||
* | mpm: Make list_updateable_components return something | Martin Braun | 2017-12-22 | 1 | -2/+1 |
| | |||||
* | fpga load: add update_component function to MPM | Brent Stapleton | 2017-12-22 | 1 | -0/+68 |
| | | | | | | | | -update_component takes a byte array containing the data to be written, and a dictionary containing the metadata of the component to be updated -The metadata must contain 'id' and 'filename' -The metadata may contain an md5 hash ('md5') | ||||
* | mpm: Minor refactoring of PeriphManagerBase attributes | Martin Braun | 2017-12-22 | 1 | -8/+2 |
| | |||||
* | mpm: Provide default dboard EEPROM getter/setters | Martin Braun | 2017-12-22 | 1 | -0/+28 |
| | | | | | The setter will throw an exception though. It is supposed to be overriden by device-specific classes. | ||||
* | mpm: Add mboard EEPROM support | Martin Braun | 2017-12-22 | 1 | -1/+25 |
| | | | | | | MPMD binds a property for the mboard EEPROM to the appropriate RPC calls. PeriphManager now provides default implementations for an mboard EEPROM. | ||||
* | mpm: Added sensor API | Martin Braun | 2017-12-22 | 1 | -0/+38 |
| | | | | | | | | - Motherboard sensors are automatically populated into the property tree, they can be automatically enumerated and queried - Daughterboard sensors have an API for querying and enumerating sensors, but this commit does not automatically add them to the property tree | ||||
* | mpm: Added max rev check overridable | Martin Braun | 2017-12-22 | 1 | -5/+29 |
| | | | | | | When reading revision numbers from EEPROM, we now have an easy way of checking of our version MPM is sufficient to run on the current device. N310 implicitly makes use of this starting with this commit. | ||||
* | mpm: Overlay handling functions use dtoverlay module | Martin Braun | 2017-12-22 | 1 | -10/+8 |
| | |||||
* | mpm/n310: Moved eth dispatcher setup into __init__ | Martin Braun | 2017-12-22 | 1 | -7/+6 |
| | |||||
* | n310: Allow --override-db-pids to skip dbs | Martin Braun | 2017-12-22 | 1 | -0/+5 |
| | |||||
* | mpm/mpmd: Dboard info is now stored in mboard info; refactored initialization | Martin Braun | 2017-12-22 | 1 | -6/+4 |
| | |||||
* | mpmd/mpm/n310: Added clock and time source APIs | Martin Braun | 2017-12-22 | 1 | -2/+4 |
| | |||||
* | mpm/mpmd: Call init() during UHD session init, not on hwd spawn | Martin Braun | 2017-12-22 | 1 | -2/+7 |
| | |||||
* | mpm: Addition Py3k fixes, all related to string/UTF-8/ascii differences | Martin Braun | 2017-12-22 | 1 | -1/+8 |
| | | | | - Also fixed some error handling in various cases | ||||
* | mpm/mpmd: Further improvements on multi-device operations | Martin Braun | 2017-12-22 | 1 | -3/+23 |
| | | | | | | | - 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 | ||||
* | mpm: Made code Python3-compatible | Martin Braun | 2017-12-22 | 1 | -3/+6 |
| | |||||
* | mpm/mpmd: Crossbar info is now polled instead of hardcoded | Martin Braun | 2017-12-22 | 1 | -0/+32 |
| | | | | - Extended base periph manager to provide crossbar info | ||||
* | mpm: Factored out eeprom code into its own module | Martin Braun | 2017-12-22 | 1 | -127/+8 |
| | |||||
* | mpm: motherboards can now also request overlays, dboard overlay code ↵ | Martin Braun | 2017-12-22 | 1 | -10/+41 |
| | | | | slightly refactored | ||||
* | mpm: Made overlay selection a static method for more flexibility | Martin Braun | 2017-12-22 | 1 | -4/+8 |
| | |||||
* | mpm: dt overlay handling: Better error handling, fewer FIXMEs | Martin Braun | 2017-12-22 | 1 | -10/+10 |
| | |||||
* | mpm: Added auto-loading of dboard-specific overlays | Martin Braun | 2017-12-22 | 1 | -2/+7 |
| | |||||
* | mpm: Better handling of case where no CHDR interfaces are available | Martin Braun | 2017-12-22 | 1 | -1/+4 |
| | |||||
* | mpm: periphs and n310 use eth table dispatcher now | Martin Braun | 2017-12-22 | 1 | -11/+30 |
| | |||||
* | mpm: SIDs are returned to pool after device is uninitialized | Martin Braun | 2017-12-22 | 1 | -12/+5 |
| | |||||
* | mpm: Guaranteed stringification of mboard_info values | Martin Braun | 2017-12-22 | 1 | -1/+3 |
| |