Martin Braun
f3a6a013c3
mpm: n310: Enable read/write of user EEPROM data
...
This exposes two new API calls to read and write arbitrary data to the
device's EEPROM.
Please keep in mind that EEPROMs have limited write cycles!
2017-12-22 15:04:02 -08:00
Ryan Marlow
c6f228452d
n3xx: enable 1G clock with gpio settings.
2017-12-22 15:04:02 -08:00
Trung N Tran
894d1a1a0a
mpm: n3xx: Add GPS locked sensor
2017-12-22 15:04:02 -08:00
Martin Braun
016866d3f1
mpm: Provide default dboard EEPROM getter/setters
...
The setter will throw an exception though. It is supposed to be
overriden by device-specific classes.
2017-12-22 15:04:02 -08:00
Martin Braun
96f012a14a
mpm: n310: Add mboard EEPROM support
...
This is a specific override for the N310. It returns all the default
device info as a dict.
2017-12-22 15:04:02 -08:00
Martin Braun
cea45dda8f
mpm: Add mboard EEPROM support
...
MPMD binds a property for the mboard EEPROM to the appropriate RPC
calls. PeriphManager now provides default implementations for an mboard
EEPROM.
2017-12-22 15:04:02 -08:00
Martin Braun
5c489c2597
mpm/n310: Moved the mboard ref_locked sensor into MPM
...
An N310 device will query all its dboards for ref lock status and
return a Boolean combination as a motherboard sensors (note: the N310
does not actually have a ref_locked sensor on the motherboard, this is
mostly for backwards-compat with UHD applications that expect a
motherboard ref lock sensor).
2017-12-22 15:04:02 -08:00
Martin Braun
e2f8f8e0bd
mpm: Added sensor API
...
- Motherboard sensors are automatically populated into the property
tree, they can be automatically enumerated and queried
- Daughterboard sensors have an API for querying and enumerating
sensors, but this commit does not automatically add them to the
property tree
2017-12-22 15:04:02 -08:00
Trung N Tran
aeaea49360
mpm: add n310 motherboard revD support
...
This will enable both RevC and RevD from an MPM perspective. The
revision read back from the EEPROM is used to enable the code for either
rev.
The impact on the code is limited to the port expander GPIOs. Port
expander objects are instantiated in both the N310 MPM module as well as
the n3xx_bist executable.
2017-12-22 15:04:02 -08:00
Martin Braun
688637522a
mpm: Added max rev check overridable
...
When reading revision numbers from EEPROM, we now have an easy way of
checking of our version MPM is sufficient to run on the current device.
N310 implicitly makes use of this starting with this commit.
2017-12-22 15:04:01 -08:00
Martin Braun
8ee3da3ef9
mpm: n3xx: Don't set time and clock source without dboards
...
When there are no daughterboards present, clock and time source are
meaningless. It's also possible that corresponding FPGA images are not
loaded, in which case trying to set those could crash the system. Unless
daughterboards are actually present, these settings won't get applied
any more.
2017-12-22 15:04:00 -08:00
Martin Braun
8ecb09be8b
mpm: Overlay handling functions use dtoverlay module
2017-12-22 15:04:00 -08:00
Martin Braun
fa07fd53f0
mpm: n3xx: Fix TCA GPIO read function
...
Used to always return None, now returns the actual pin value.
2017-12-22 15:04:00 -08:00
Martin Braun
a2f0269a1e
mpm: n3xx: Change default state for TCA GPIOs
...
This makes the GPS reset go high by default (i.e., takes it out of reset
by default) and the init survey pin go high (i.e., take it out of survey
mode).
2017-12-22 15:04:00 -08:00
Trung N Tran
c07af7edfe
n310: enable CLK-MGT156MHz at init n310 call
2017-12-22 15:04:00 -08:00
Martin Braun
7cd6758336
n310/eiscat: Removed 20 MHz as a valid ref clock frequency
2017-12-22 15:04:00 -08:00
Martin Braun
053e6b5aee
n3xx mpm: Refactored peripheral init code
2017-12-22 15:04:00 -08:00
Martin Braun
90f608fa75
n3xx mpm: Enable more subcomponents through API calls
2017-12-22 15:04:00 -08:00
Martin Braun
eb2b11524b
n3xx mpm: Set call for TCA6424 pins gets value arg
2017-12-22 15:04:00 -08:00
Trung N Tran
a745877cc9
n310: gpio bist
2017-12-22 15:04:00 -08:00
Trung N Tran
1db37316eb
n3xx: enable all pins on tca6424
2017-12-22 15:04:00 -08:00
Martin Braun
3bd01c27a3
mpm/n310: Moved eth dispatcher setup into __init__
2017-12-22 15:04:00 -08:00
sugandhagupta
113e425613
n3xx: added args for ethernet crossover path
2017-12-22 15:03:59 -08:00
Martin Braun
e7f7f06b49
mpm: Added eth table preloading capability
2017-12-22 15:03:59 -08:00
Martin Braun
c34a36853e
n310: Allow --override-db-pids to skip dbs
2017-12-22 15:03:59 -08:00
Martin Braun
b14bc217e9
mpm/mpmd: Dboard info is now stored in mboard info; refactored initialization
2017-12-22 15:03:59 -08:00
Martin Braun
eb4a0cb6eb
mpmd/mpm/n310: Added clock and time source APIs
2017-12-22 15:03:59 -08:00
Martin Braun
40235b8c5a
mpm/mpmd: Call init() during UHD session init, not on hwd spawn
2017-12-22 15:03:59 -08:00
Martin Braun
039de2841b
mpm/mpmd: Allow SID increment; more fixes for multi-usrp operation
2017-12-22 15:03:59 -08:00
Martin Braun
664f471baf
mpm: Addition Py3k fixes, all related to string/UTF-8/ascii differences
...
- Also fixed some error handling in various cases
2017-12-22 15:03:58 -08:00
Martin Braun
1809822893
mpm/mpmd: Further improvements on multi-device operations
...
- Crossbar local addr is now written during initialization of UHD
session
- Support for multiple crossbars per device (at least on UHD side)
- Crossbars are now sequentially given a unique address
2017-12-22 15:03:58 -08:00
Martin Braun
3c50e39d64
mpm: Removed gratuitous encode(), safer udev lookups
...
- Udev lookups now just return empty lists when they can't find anything
- Made SPI dev interface factory Py2/3 safe
2017-12-22 15:03:58 -08:00
Martin Braun
6183d9eeaa
mpm: Made code Python3-compatible
2017-12-22 15:03:58 -08:00
Martin Braun
3aa899e1f5
mpm: udev now sorts EEPROM paths properly (9-0050 before 10-0050)
2017-12-22 15:03:58 -08:00
Martin Braun
34174c98f3
eiscat/mpm: Moved EISCAT full init sequence to UHD
2017-12-22 15:03:58 -08:00
Daniel Jepson
a233877f65
mpm/eiscat: Updated bringup procedure for dual-synched dboards
2017-12-22 15:03:58 -08:00
Martin Braun
2406def0ac
mpm/mpmd: Crossbar info is now polled instead of hardcoded
...
- Extended base periph manager to provide crossbar info
2017-12-22 15:03:58 -08:00
Martin Braun
5edeeef564
mpm/EISCAT: Renamed UIO udev labels, enabled spidevs on both dboards
...
The UIO labels will require an update to the device tree overlay file.
2017-12-22 15:03:58 -08:00
Martin Braun
1ce038094d
mpm: Factored out eeprom code into its own module
2017-12-22 15:03:53 -08:00
Martin Braun
0c0b0595bb
mpm: motherboards can now also request overlays, dboard overlay code slightly refactored
2017-12-22 15:03:53 -08:00
Martin Braun
7c9b801906
mpm: Made overlay selection a static method for more flexibility
2017-12-22 15:03:53 -08:00
Martin Braun
5926f1b9d9
mpm: dt overlay handling: Better error handling, fewer FIXMEs
2017-12-22 15:03:53 -08:00
Martin Braun
245b96a777
mpm: Added auto-loading of dboard-specific overlays
2017-12-22 15:03:53 -08:00
Martin Braun
e9a1af171e
mpm: Better handling of case where no CHDR interfaces are available
2017-12-22 15:03:53 -08:00
Martin Braun
06afc8eeef
mpm: Fixed relative imports
2017-12-22 15:03:53 -08:00
Martin Braun
11977ad25c
mpm: hwd can be spawned with clock_source and ext_clock_freq
2017-12-22 15:03:53 -08:00
Martin Braun
3102bf1cee
mpm: periphs and n310 use eth table dispatcher now
2017-12-22 15:03:53 -08:00
Martin Braun
7cc40f9d12
mpm: Added ethernet dispatcher code for N310
2017-12-22 15:03:53 -08:00
Martin Braun
e2503018da
mpm: SIDs are returned to pool after device is uninitialized
2017-12-22 15:03:53 -08:00
Martin Braun
c0a528394d
mpm: Guaranteed stringification of mboard_info values
2017-12-22 15:03:53 -08:00