aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager/n3xx.py
Commit message (Collapse)AuthorAgeFilesLines
* N3xx: Update max rev to 7michael-west2019-02-191-2/+1
| | | | | | | Hardware revision was increased due to new firmware. No software changes are required. Signed-off-by: michael-west <michael.west@ettus.com>
* n3xx: init peripherals before loading FPGATrung Tran2019-02-011-24/+29
| | | | | | | | | Issue: Current code loads FPGA too early while many essential peripherals such as net clocks are not brought up. This change will make sure those are got init before FPGA loaded. Signed-off-by: Trung Tran<trung.tran@ettus.com>
* mpm: Parameterize max UDP link allocationAlex Williams2019-01-251-0/+5
| | | | | | | Add an argument to the UDP xport_mgr to adjust the xport sorting. This enables Rhodium to use a different limit from Magnesium. Previously, the sorting method would overload a link with both of Rhodium's higher-rate streams.
* mpm: n3xx: e320: Add bridge mode supportRyan Marlow2019-01-171-1/+8
|
* n3xx: Change init() procedure to reduce configuration timeHumberto Jimenez2018-11-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Previously, the init() procedure of the n3xx class passed either the user-provided or the default clock_source and time_source values to initialize the clocking configuration. When the user did not provide these parameters, the default values were assigned, overriding whatever configuration the device was previously initialized with. Therefore, a dboard reinit was forced when the currently configured state of the N3xx device did not match the default configuration (i.e. internal sources). Now, the init() procedure still provides the clock_source and time_source values; but, if the user does not provide the parameters, the previously used values are assigned (i.e. self._clock_source and/or self._time_source). By the time MPM runs this n3xx init() procedure for the first time, both self._clock_source and self._time_source have been initialized with the default internal values anyways in the _init_ref_clock_and_time() procedure. This change prevents additional, unnecessary calls to the set_sync_source() procedure, which ultimately causes a daughterboard reinitialization when either a new clock or time source is requested.
* mpm: add fpga githash to device infoTrung Tran2018-11-161-0/+2
|
* mpm: Add basic driver for QSFP board's retimerAlex Williams2018-11-071-0/+17
|
* rh: add support for rhodium devicesMark Meserve2018-10-251-1/+5
| | | | | | Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Alex Williams <alex.williams@ni.com> Co-authored-by: Derek Kozel <derek.kozel@ni.com>
* n3xx: output exception string on boot init failureMark Meserve2018-10-241-1/+1
|
* mpm:n3xx: improve set_time_source,set_clock_sourceTrung Tran2018-10-221-50/+88
| | | | | | Add coercing behavior to set_time_source and set_clock_source to a valid sync source. Also, skip set_sync_source if device already set to the corresponding one.
* mg: adding skip_rfic argumentTrung Tran2018-10-181-1/+3
| | | | | | This change to add skip_rfic as an device argument. skip_rfic should be only used in ref_clock bist tests to bring down the test time.
* mpm: n3xx: Fix Pylint warningsMartin Braun2018-10-121-11/+12
| | | | | This commit contains whitespace and formatting changes only. No functional changes.
* mpm: dboard_manager: add more args to update_ref_clock_freqTrung Tran2018-10-121-6/+7
| | | | | | | | | | | | | | | Summary: This change will allow correct args to pass from mboard to dboards, that in turn can be useful for dboard manager. Details: In N310, the dboard manager needs the time source to be updated before calling update_ref_clock_source(), because it will trigger a reinit of the dboard, for which the time_source is essential to determine correct clock synchronizer settings. The special case is the white rabbit time source needs a different internal ref_clock_frequency for the clock synchronizer than the passed in ref_clock_freq.
* n3xx: e320: fixing GPSDIface sensor namesBrent Stapleton2018-09-261-1/+1
| | | | | N3xx and E320 were registering GPSDIface names as get_*_sensor instead of just the sensor name. Fixing this to now register the sensor name.
* n3xx: Get RFNoC crossbar baseport from FPGABrent Stapleton2018-09-061-2/+2
|
* mpm: add Git hash, version to device infoBrent Stapleton2018-08-201-1/+4
| | | | | | | | Adding MPM Git hash and version to the MPM device info. This information is currently only available through logs when MPM starts (it is the first log message in usrp_hwd.py). Adding it to the device info makes it accessible to any application which checks that, such as uhd_usrp_probe.
* mpm: n3xx: Bump max rev to G/6Martin Braun2018-08-101-1/+1
|
* mpm: n3xx: clocking API changes for transitioning clock and time sourcesDaniel Jepson2018-08-021-97/+133
| | | | | | 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.
* 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.
* 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.
* 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-111-72/+3
| | | | | | | | | - 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-061-0/+1
| | | | | | 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-081-2/+2
|
* mpm: n3xx: Derive product key programmaticallyMartin Braun2018-06-081-3/+34
| | | | | | 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-081-12/+12
| | | | | | 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: Adding FPGA type to device infoBrent Stapleton2018-06-061-1/+2
|
* mpm: n3xx: Refactor n3xx_periphs into its own moduleMartin Braun2018-05-081-386/+4
|
* 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: 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-201-0/+2
| | | | | | 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: 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: Demote some log messagesMartin Braun2018-03-061-22/+21
| | | | | | 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-051-0/+1304
This module (and class) are, in fact, used for all N3xx-derivates so renaming it is the more correct thing to do.