aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
Commit message (Collapse)AuthorAgeFilesLines
...
* mpm: tdc: update PDAC BIST and flatness test to use latest APIsDaniel Jepson2018-09-051-29/+35
|
* mpm: reset the RPC server upon reloadBrent Stapleton2018-08-271-0/+10
| | | | | | | | | | | When reloading the Periph Manager (as when we run the image loader), we need to run the RPCServer `__init__` function in order to reset the cache of RPC methods. Otherwise, that cache keeps stale references to old functions (and prevents garbage collection). It may be possible to reset the method cache some other way, but the `_methods` attribute of RPCServer is Cython, and doesn't seem to be accessible in our Python code.
* 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: mg: move init_rf_cal before JESD de/framer bringupTrung Tran2018-08-161-4/+4
| | | | This sequence is the one as described by the AD9371 user guide.
* 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-092-21/+42
|
* mpm: sys_utils: Get list of temperatures from all thermal zonesSugandha Gupta2018-08-091-4/+21
|
* e320: bist: Add link_up testSugandha Gupta2018-08-061-0/+26
| | | | - Returns true if the link of sfp0 is up (1G/10G)
* adf400x: Fix adf400x driver for ref counter and charge pump modeSugandha Gupta2018-08-021-11/+19
| | | | | | | - For different ref clock frequencies, the ref_counter should change and not the n_counter. - The charge pump should be set to normal mode and tristate as that would prevent the PLL to lock.
* e320: bist: Fix ref_clock lock test implementationSugandha Gupta2018-08-021-24/+42
| | | | | | | - ref_clock_(int/ext) test was not changing adf400x driver settings for new ref clock frequency. Therefore, changed the implementation to use uhd_usrp_probe --sensor to set clock_source and get 'ref_locked' sensor value
* mpm: n3xx: clocking API changes for transitioning clock and time sourcesDaniel Jepson2018-08-024-101/+231
| | | | | | 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: mg: periphs: Modify AD9361 reset function to keep it in resetMartin Braun2018-08-021-2/+9
|
* e320: Update temp and fan bistSugandha Gupta2018-07-311-10/+21
| | | | | - Add mapping for 5 thermal zones for TMP464 - Update to one cooling_device as e320 has 1 fan (optional)
* e320: update sfp loopback test to load AA FPGA imageSugandha Gupta2018-07-311-19/+76
| | | | | - Load AA FPGA image before sfp bist and load default image after the test
* e320: Fix front panel gpio to support 3.3VSugandha Gupta2018-07-313-24/+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
|
* n3xx: Fixup for parsing the EEPROMBrent Stapleton2018-07-301-3/+2
| | | | | | | EEPROM parsing in MPM was ignoring the dt_compat number (MPM doesn't need it), so when the dt_compat number was non-zero, the CRC calculation was incorrect. CRC calculations are now done on the raw data.
* n3xx: Fix UIO usage in Aurora BISTBrent Stapleton2018-07-261-19/+23
|
* 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-237-62/+71
| | | | | | | | | - 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: Fix eeprom-tools in CMakeBrent Stapleton2018-07-191-2/+2
| | | | | | | Fixes the list of epprom-tools to be built in CMake. The list of tools is appended, instead of being overwritten by device-specific tools. Fixes: 300a5e3f6e5e [mpm: initial commit of E320 code]
* mpm: n3xx: bist: Only conditionally reload FPGA imageMartin Braun2018-07-191-3/+19
| | | | | | The tests for white rabbit and SFP loopback require a specific FPGA image. We now check if that image is already available before running uhd_image_loader.
* mpm: n3xx: bist: Provide switch for not reloading default FPGA imageMartin Braun2018-07-191-1/+7
|
* mpm: uio: Fix use of loggerMartin Braun2018-07-191-1/+2
| | | | When logger==None, it uio.py would fail.
* mpm: n3xx: bist: Add White Rabbit lock testMartin Braun2018-07-191-0/+33
|
* n3xx_bist: update sfp loopback testTrung Tran2018-07-181-0/+39
| | | | Load AA image before doing the bist and load HG image after the bist.
* mpm: n3xx: Init device on bootMartin Braun2018-07-182-0/+9
| | | | | Specify skip_boot_init=1 to not init during boot. This will increase boot time for an N310, typically by around 15 seconds.
* mpm: tools: eeprom-id: Add E320 product id to eeprom-idMoritz Fischer2018-07-181-0/+3
| | | | | | Add E320 product id to eeprom-id executable Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: e320_bist: Add tests for running BIST on E320Sugandha Gupta2018-07-181-0/+769
|
* e320: mpm: Add dboard and mboard sensorsSugandha Gupta2018-07-183-30/+148
| | | | | | | | 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-1820-27/+1736
| | | | Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* mpm: mg: Adding fast-reinit modeMartin Braun2018-07-172-19/+99
| | | | | | | | | | When a device is re-initialized without any changes (e.g., master_clock_rate, ref_clock_freq) then we can skip the initialization sequence and move on. This shaves a significant amount of time from the init sequence. Fast re-init can be overridden by providing the `force_reinit=1` device arg.
* mpm: mg: Move RF cal initialization after JESD initMartin Braun2018-07-171-2/+1
|
* mpm: mg: Store init args between runsMartin Braun2018-07-171-2/+6
|
* mpm: Remove unused _init_args from PeriphManagerBaseMartin Braun2018-07-171-4/+0
|
* mpm: n3xx: mg: Refactor init codeMartin Braun2018-07-174-499/+585
| | | | | | | 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: mg: Print AD9371 info as debug message during initMartin Braun2018-07-171-0/+8
|
* mpm: tools: eeprom-init: Fix issue with dt/mcu-compat numberMoritz Fischer2018-07-121-4/+8
| | | | | | | | | | | Fix issue with dt-compat and mcu-compat numbers not working for the case where 0 is a legitimate dt/mcu compat number. This can happen if a Rev2 board (1 in hardware) shares a DT or MCU firmware with the Rev1 board (0 in hardware). Fixes 91a5518443f ("mpm: tools: Introduce dt-compat ...") Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: n3xx: Factor out component updatingBrent Stapleton2018-07-114-73/+105
| | | | | | | | | - 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-062-70/+129
| | | | | | | | | | | | | | - 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: ad9371: Accept PID 0x01 as well as 0x03Martin Braun2018-06-281-1/+5
|
* mpm: adding adf400x support to chipsBrent Stapleton2018-06-275-3/+226
| | | | | Adding ADF400X driver to MPM. This uses the Boost.Python bound spidev, and is largely a translation from the C++ driver in UHD.
* mpm: tools: Introduce dt-compat and mcu-compat fieldsMoritz Fischer2018-06-206-30/+140
| | | | | | | | | | | | | | | | Introduce dt-compat and mcu-compat fields into the eeprom structure. For the motherboard eeprom this is straightforward, since there's still padding bytes that could be (ab)used for this. On the dboard side more creativity is required and the original revision field of 2 bytes is reduced to only one byte revision and one byte dt-compat. Since this will only affect new units being backwards compatible with older versions of the bootloader is not an issue. Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com> Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: dboard_manager: Fix docstring for get_serial()Martin Braun2018-06-181-1/+2
|
* mpm: fix sanity check in _init_peripheralsMark Meserve2018-06-131-23/+24
| | | | - change scoping of product_map in n3xx
* mpm: Remove superfluous test fileMartin Braun2018-06-101-57/+0
|
* mpm: xportmgr_udp: Catch inconsistent Ethernet device detectionsMartin Braun2018-06-081-7/+26
| | | | | | | This manager first detects all valid Ethernet devices. The checks for validity happen across multiple calls in a non-atomic fashion, so it's possible to end up with inconsistent results. To avoid such issues, we filter results without talking to the network stack as a final pass.