aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager
Commit message (Collapse)AuthorAgeFilesLines
* MPM: Add check for valid EEPROM addressmichael-west2019-10-151-0/+3
| | | | | | | | Provides a more useful error message if the EEPROM cannot be found at the specified address. Without this change a generic index out of range error is raised. Signed-off-by: michael-west <michael.west@ettus.com>
* N3xx: Remove close-in noise on TXMichael West2019-10-111-2/+3
| | | | | | | | | | | Some close-in noise was observed on TX when using external references. This change reduces the noise by changing U19 to select the GPSDO when references are set to external. Also included is a change to properly read and apply settings from the configuration file. This allows the user to further quiet the transmission by adding 'enable_gps=False' to the configuration file in order to power off the GPSDO. Signed-off-by: Michael West <michael.west@ettus.com>
* n3xx: Disable gpsdo reference source when enable_gps=0Martin Braun2019-10-111-12/+18
| | | | | | | | | | | | | | | When using enable_gps=0, the power to the LTE-Lite GPS chip is turned off, and neither the reference sources (time/clock) nor the location/time data (via gpsd) can be used. This commit disables the gpsdo options for the set_time_source, set_clock_source, and set_sync_source when enable_gps=0 is used, and adds logging to inform the user about this. This behaviour is consistent with X310, where `gpsdo` is only a valid reference if the GPSDO module is plugged in. The manual was also updated accordingly.
* mpm: periph manager: Fix typo in docstring (update default args)Martin Braun2019-10-111-2/+3
|
* MPM: Increase E320 max rev to 4michael-west2019-09-241-1/+1
| | | | | | Increase to currently shipping rev. Signed-off-by: michael-west <michael.west@ettus.com>
* mpm: fixed mboard_max_revision valueMatthew Crymble2019-09-243-14/+9
| | | | | | | | This value should be 9 to correspond with the rev J motherboards. This property was renamed to mboard_last_rev_compat in a previous commit. But mboard_max_rev is actually a more accurate description, since it specifies the latest hardware revision that the software is aware of. I renamed all references back to mboard_max_rev.
* e320: fix time source clobbering ref sourceMark Meserve2019-08-151-2/+6
| | | | | | | - Fixes a case where the e320 would be unable to lock to an external 10 MHz reference - Previously, calling set_time_source would set the reference clock source to internal as a side effect
* n3xx: bugfix for mpm set_db_eeprom access via networkThomas Vogel2019-06-131-4/+7
| | | | access or data as bytes instead of str was not possible due to unconditional assert check for str
* mpm: Change SW/HW compat check to use last_rev_compatTrung Tran2019-05-103-17/+32
| | | | | | | Newer revisions of the E320 and N3xx motherboards use EEPROM version 3, and store a rev_compat field. The rev_compat is the last revision that this hardware is compatible with. We now use that instead of simply the revision.
* E320: Add support for rev Emichael-west2019-05-021-1/+1
| | | | | | - No driver changes required Signed-off-by: michael-west <michael.west@ettus.com>
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-014-0/+1049
| | | | | | | | | | | | - 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>
* mpm: n320: Update FPGA type if QSFP board is availableMartin Braun2019-02-221-1/+9
| | | | | | The N320 has FPGA types (XQ, AQ) which cannot be derived from the mboard regs in the same way as the non-QSFP variants. We therefore bite the bullet and hardcode those.
* mpm: n320: Demote warning on absence of QSFP boardMartin Braun2019-02-221-4/+5
| | | | | The QSFP board can't be detected if support for it is not baked into the current FPGA image, so the warning on its absence may be incorrect.
* e320: add fpga_version_hash to e320 device infoSugandha Gupta2019-02-191-0/+2
| | | | | Fixes uhd_usrp_probe FPGA version githash to report the correct hash and not 'UNKNOWN'.
* 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-013-45/+64
| | | | | | | | | 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-172-2/+9
|
* e320: Fix return value of get_fpga_typeSugandha Gupta2018-11-301-3/+3
| | | | | | Return value should be fpga image type and not sfp type, fixes a bug with uhd_image_loader while trying to update XG and AA images
* 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
|
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-4/+4
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* mpm:e320: fixup gps_locked typeTrung Tran2018-11-131-1/+1
| | | | gps_locked should be a bool not int.
* mpm: Add basic driver for QSFP board's retimerAlex Williams2018-11-072-0/+34
|
* rh: add lo distribution supportMark Meserve2018-11-051-1/+1
| | | | | | | | | - This is a combination of 5 commits. - rh: add lo distribution board gpio expander - rh: add lo distribution mpm functions - rh: add code to conditionally initialize lo distribution - rh: change empty i2c device from exception to assertion - rh: add lo distribution board control
* 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: identify sysfs gpios more genericallyMark Meserve2018-10-182-4/+4
| | | | | - Allow generic path names to be given for each search parameter instead of only checking the label
* 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.
* mpm: Add __mpm_device__ as usrp_hwd module variableMartin Braun2018-10-091-0/+1
|
* n3xx: e320: fixing GPSDIface sensor namesBrent Stapleton2018-09-262-2/+2
| | | | | 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-062-2/+7
|
* e320: Get RFNoC crossbar baseport from FPGABrent Stapleton2018-09-062-2/+8
|
* mpm: add Git hash, version to device infoBrent Stapleton2018-08-202-1/+13
| | | | | | | | 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: 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.