From b14adeaae605cbb1c1af592ae0a7f58e40f28776 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Thu, 9 May 2019 16:25:11 -0700 Subject: mpm: Add MB-EEPROMv3 This includes a rev_compat field, which we can use to identify the last hardware revision this hardware is compatible with. Example: Say the current hardware revision is 7, but it is compatible with version 5, then we store 7 as the current rev, and 5 as the rev_compat. Software can now check the rev_compat rather than the current rev for compatibility. This makes MPM more future-proof against minor, compatible hardware changes. --- mpm/tools/eeprom.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mpm/tools/eeprom.h') diff --git a/mpm/tools/eeprom.h b/mpm/tools/eeprom.h index 04f468dd9..39301327f 100644 --- a/mpm/tools/eeprom.h +++ b/mpm/tools/eeprom.h @@ -33,7 +33,7 @@ struct usrp_sulfur_eeprom { u8 eth_addr1[ETH_ALEN]; u16 mcu_compat; u8 eth_addr2[ETH_ALEN]; - u8 __pad_2[2]; + u16 rev_compat; u32 crc; } __attribute__((packed)); @@ -63,7 +63,8 @@ struct usrp_sulfur_eeprom *usrp_sulfur_eeprom_new(const u32 *mcu_flags, const char *eth_addr1, const char *eth_addr2, const u16 dt_compat, - const u16 mcu_compat); + const u16 mcu_compat, + const u16 rev_compat); void usrp_sulfur_eeprom_to_i2c(struct usrp_sulfur_eeprom *ep, const char *path); -- cgit v1.2.3