aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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>