mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-16 21:10:10 +00:00
mpm: n3xx: bist: Read mboard and dboard eeprom to determine product
The routine to identify products currently only reads the motherboard EEPROM. The N310 and N320/N321 use the same motherboard so these devices can't be distinguished using the motherboard EEPROM alone. This change makes get_product_id() read both the motherboard and daughterboard EEPROM in order to determine which N3xx it actually is.
This commit is contained in:
parent
a68e710116
commit
5e0cebdc19
2 changed files with 14 additions and 5 deletions
|
|
@ -111,7 +111,17 @@ class N3XXBIST(bist.UsrpBIST):
|
|||
|
||||
def get_product_id(self):
|
||||
"""Return the mboard product ID (n310 or n300):"""
|
||||
return bist.get_product_id_from_eeprom(valid_ids=['n300', 'n310', 'n320'])
|
||||
product_map = {
|
||||
#(mboard, dboard): product
|
||||
('n300', 'magnesium'): 'n300',
|
||||
('n300', ''): 'n300', # n300 mboard with no dboard
|
||||
('n310', 'magnesium'): 'n310',
|
||||
('n310', ''): 'n310', # n310 mboard with no dboard
|
||||
('n310', 'rhodium'): 'n320',
|
||||
}
|
||||
mb_id = bist.get_product_id_from_eeprom(valid_ids=['n300', 'n310'], cmd='eeprom-id')
|
||||
db_id = bist.get_product_id_from_eeprom(valid_ids=['magnesium', 'rhodium', ''], cmd='db-id')
|
||||
return product_map[(mb_id, db_id)]
|
||||
|
||||
#############################################################################
|
||||
# BISTS
|
||||
|
|
@ -154,7 +164,7 @@ class N3XXBIST(bist.UsrpBIST):
|
|||
self.get_product_id(),
|
||||
)
|
||||
except Exception as ex:
|
||||
return {
|
||||
return False, {
|
||||
'throughput': 0,
|
||||
'error_msg': "Failed to load AA image: {}".format(str(ex)),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,14 +216,13 @@ def filter_results_for_lv(results, lv_compat_format):
|
|||
}
|
||||
return results
|
||||
|
||||
def get_product_id_from_eeprom(valid_ids):
|
||||
def get_product_id_from_eeprom(valid_ids, cmd='eeprom-id'):
|
||||
"""Return the mboard product ID
|
||||
|
||||
Returns something like n300, n310, e320...
|
||||
"""
|
||||
cmd = ['eeprom-id']
|
||||
output = subprocess.check_output(
|
||||
cmd,
|
||||
[cmd],
|
||||
stderr=subprocess.STDOUT,
|
||||
shell=True,
|
||||
).decode('utf-8')
|
||||
|
|
|
|||
Loading…
Reference in a new issue