aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager
Commit message (Collapse)AuthorAgeFilesLines
* mpm: n3xx: Improve error messages for invalid clock/time settingsMartin Braun2018-08-131-2/+4
|
* mpm: n3xx: Bump max rev to G/6Martin Braun2018-08-101-1/+1
|
* e320: Add all 5 temp sensors, fan sensor and rssi sensors per channelSugandha Gupta2018-08-091-17/+40
|
* mpm: n3xx: clocking API changes for transitioning clock and time sourcesDaniel Jepson2018-08-022-97/+150
| | | | | | Added set_sync_source method to set both the time and clock sources without forcing a re-init twice. Modified the existing set_time_source and set_clock_source methods to call into set_sync_source.
* e320: Fix front panel gpio to support 3.3VSugandha Gupta2018-07-312-22/+19
| | | | | - E320 will support only 3.3 V for the front panel GPIO - Remove other voltage options
* e320: Add 'ref_locked' sensor to mboard sensorsSugandha Gupta2018-07-311-0/+14
|
* mpm: n3xx: Allow to run without daughterboards connectedTrung Tran2018-07-231-0/+2
| | | | | The product ID will fall back to the motherboard ID (n300, n310). This will load FPGA images even if there is no daughterboard connected.
* uio: mpm: Fixup for opening mboard-regs UIOBrent Stapleton2018-07-232-32/+32
| | | | | | | | | - Fix the syntax to open mboard-regs UIO objects, and change the open() and close() functions to be private. - We were calling open() twice in every context manager line- once manually, and once in __enter__. This commit corrects those usages, and allows the context manager to fully manage the opening and closing of UIO objects.
* mpm: n3xx: Init device on bootMartin Braun2018-07-181-0/+5
| | | | | Specify skip_boot_init=1 to not init during boot. This will increase boot time for an N310, typically by around 15 seconds.
* e320: mpm: Add dboard and mboard sensorsSugandha Gupta2018-07-182-17/+91
| | | | | | | | Adding the following sensors: - Catalina temperature, RSSI, and LO Lock sensors - GPS lock, time, TPV, and SKY sensors Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpm: initial commit of E320 codeBrent Stapleton2018-07-183-3/+1059
| | | | Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* mpm: Remove unused _init_args from PeriphManagerBaseMartin Braun2018-07-171-4/+0
|
* mpm: n3xx: mg: Refactor init codeMartin Braun2018-07-171-0/+2
| | | | | | | All code relevant to initializing an N310/N300 daughterboard is moved to its own module (mg_init.py). No functional changes.
* mpm: n3xx: Remove unused importsMartin Braun2018-07-171-2/+0
|
* mpm: n3xx: Factor out component updatingBrent Stapleton2018-07-112-73/+5
| | | | | | | | | - Refactoring component (FPGA, DTS) updating functions out of n3xx.py into their own components.py. The ZynqComponent class now defines the methods to update these two components. - Adding super().__init__() to the PeriphManagerBase class. This is needed to get the multiple inheritance used in N3XX now to work, and (apparently) good Python practice.
* mpm: n3xx: Factor out GPSd Iface functionsBrent Stapleton2018-07-061-69/+22
| | | | | | | | | | | | | | - Refactoring GPSd interface to be instead wrapped by a GPSDIfaceExtension class. This class will faciliate "extending" an object, allowing that object to call the GPSDIfaceExtension methods as their own. - New MPM devices (or whatever else) can now use the GPSDIfaceExtension class instead of writing their own GPSDIface handling functions. - N3XX now instantiates a GPSDIfaceExtension object, and extends itself. This means that an n3xx object can call the `get_gps_time` method as its own, for example. - N3XX must get through initialization in order for the GPSd methods to be registered.
* mpm: n3xx: Overridable crossbar base portBrent Stapleton2018-07-062-1/+5
| | | | | | Moving the RFNoC crossbar base port to the class overridables. MPM devices may need to reserve different numbers of ports for non-blocks; this can now be done by overriding the crossbar_base_port.
* mpm: fix sanity check in _init_peripheralsMark Meserve2018-06-131-23/+24
| | | | - change scoping of product_map in n3xx
* mpm: Use device_info to determine overlay listMartin Braun2018-06-082-9/+7
|
* mpm: n3xx: Derive product key programmaticallyMartin Braun2018-06-082-5/+40
| | | | | | Since there is no simple mapping from an arbitrary tuple of mboard- and dboard info dictionaries, we use generate_device_info() to figure out the product key.
* mpm: Distinguish mboard_info and device_infoMartin Braun2018-06-082-21/+34
| | | | | | In the N3xx series, the motherboard ID and the device ID can differ. For example, the N310 could share the same motherboard with a different device that uses different daughterboards.
* mpm: Remove 'test' periph_managerMartin Braun2018-06-082-68/+1
|
* mpm: Refactor periph manager init; split EEPROM read from restMartin Braun2018-06-081-104/+135
| | | | | The readout of EEPROMs is moved to their own functions. This will allow us to read out EEPROM values before starting the initialization.
* mpm: Adding FPGA type to device infoBrent Stapleton2018-06-061-1/+2
|
* mpm: n3xx: Refactor n3xx_periphs into its own moduleMartin Braun2018-05-083-386/+400
|
* mpm: n3xx: Bump maximum supported revision to 5 (RevF)Moritz Fischer2018-04-171-1/+1
| | | | | | | Bump maximum supported motherboard revision to 5 (RevF), to support upcoming motherboard revisions. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* fixup! n3xx: add White Rabbit supportDaniel Jepson2018-04-031-12/+0
|
* mpm: cmake: Add git hash and version info to Python moduleMartin Braun2018-04-021-0/+3
| | | | Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpm: n3xx: Disable PPS out during initializationMartin Braun2018-04-021-1/+12
|
* n3xx: add White Rabbit supportDaniel Jepson2018-03-301-8/+74
| | | | Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpm: Adding offset to EEPROM readsBrent Stapleton2018-03-202-0/+16
| | | | | | Adding address offset to all MBoard and DBoard EEPROM reads. This matches what we're doing for the user portion of the EEPROM, and allows us to share access to an EEPROM.
* mpm: Add INFO log statements on MPM reset and component updateMartin Braun2018-03-131-0/+1
|
* mpm: n3xx: Fix failure on get_device_info() when uninitializedMartin Braun2018-03-131-2/+3
|
* mpm: n300: Warn when user tries to use external LOsMartin Braun2018-03-091-0/+10
| | | | | The N300-variant has no front-panel LO connectors, so we need to warn ther user when trying to use them.
* mpm: Fix some Pylint warningsMartin Braun2018-03-061-1/+0
| | | | No functional changes.
* mpm: Demote some log messagesMartin Braun2018-03-062-29/+28
| | | | | | The log output at level 'INFO' was pretty cluttered. This cleans up the log messages at the higher levels. In some cases, log message typos or capitalizations were also fixed.
* mpm: Rename n310 to n3xxMartin Braun2018-03-052-20/+20
| | | | | This module (and class) are, in fact, used for all N3xx-derivates so renaming it is the more correct thing to do.
* mpm: n300/n310: Select correct overlay based on product IDMartin Braun2018-03-052-21/+32
|
* n310: Make MPM report FPGA version and description, UHD read itMartin Braun2018-03-022-1/+14
| | | | | | | The FPGA and MPM version as well as the description of the device ("N300-Series Device") and its name (its the hostname) are now properly reported coming from MPM, properly saved in the prop tree, and uhd_usrp_probe can nicely display them this way.
* mpm: n310: Default-initialize some membersMartin Braun2018-02-281-4/+4
| | | | | This allows flawless execution of code paths regardless of initialization status.
* mpm: periph_manager: Guarantee self.dboards existsMartin Braun2018-02-281-1/+1
| | | | | Other components assume the existence of mgr.dboards, and so it needs to be default-initialized before doing any code that can go wrong.
* n3xx: add front panel gpio control registersTrung N Tran2018-02-211-1/+78
|
* mpm: N310 updates FPGA information on initBrent Stapleton2018-02-191-1/+43
| | | | | | | | | -Adding MboardRegsControl.get_fpga_type(), which reads the SFP info registers and determines the FPGA image type (HG, XG, AA, etc). This is a minor FPGA compat number bump. -Adding N310._update_fpga_type(), which updates the component information using the get_fpga_type() function described above. This information can then be accessed through get_component_info().
* mpm: adding get_component_infoBrent Stapleton2018-02-191-0/+18
| | | | | Add getter function for updateable component information. This is a minor compat number bump.
* mpm: Update all license headersMartin Braun2018-02-194-8/+8
| | | | | - Fix typo in company name (missing 'a') - Updated SPDX license identifier to version 3.0
* mpm: n310: Remove some leftover cruftMoritz Fischer2018-02-131-2/+0
| | | | | | | The lines removed here are no longer needed, get rid of them Suggested-by: Martin Braun <martin.braun@ettus.com> Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: Add entries for renamed sfpsMoritz Fischer2018-02-131-1/+13
| | | | | | | | | | | | | In order to match the front panel 0 and 1 for the SFPs, as well as for clarity and consistency reasons, udev rules will be put onto future filesystems in order to rename the eth1 eth2 devices to sfp0 and sfp1. This change *should* be backwards compatible, nevertheless, be careful and bump compat number. This also updates the uhd image loader manifest. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* fixup! mpm: magnesium_update_cpld.py: Add axi_bitq supportBrent Stapleton2018-02-091-1/+1
|
* mpm: Use prefs API for periph managerMartin Braun2018-02-082-6/+39
| | | | | | | | - Allow to set default args via config file - Read them from prefs API - override-db-pids uses the same APIs now ([overrides] section in config file, prefs API, and same dictionary as --default-args when used on the command line
* mpm: n310: Return CHDR addresses as part of device_infoMartin Braun2018-02-072-1/+27
| | | | Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>