From 5e0cebdc19eecad0cceac2d81bee0405a89cfe5a Mon Sep 17 00:00:00 2001 From: Steve Czabaniuk Date: Mon, 29 Jun 2020 15:43:28 -0500 Subject: 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. --- mpm/python/n3xx_bist | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'mpm/python/n3xx_bist') diff --git a/mpm/python/n3xx_bist b/mpm/python/n3xx_bist index 1202fe121..c125ac1ae 100755 --- a/mpm/python/n3xx_bist +++ b/mpm/python/n3xx_bist @@ -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)), } -- cgit v1.2.3