summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2021-02-15 16:41:07 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-02-19 08:37:59 +0000
commite75f1807e1150eaf777a12a0503a9b5b7d302bc7 (patch)
tree4e2e1ebb6f302aef6f0b880c35a8d49571d61bdb
parentb67f385b69f394cf235693db50c98db760411320 (diff)
mb/prodrive/hermes/eeprom: Add function to read HSI from EEPROM
Will be used to determine the board revision. Change-Id: I41e4c6ad83e23c9d79e6abab3f38ad46bd3bec06 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/50788 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/prodrive/hermes/eeprom.c10
-rw-r--r--src/mainboard/prodrive/hermes/variants/baseboard/include/eeprom.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/mainboard/prodrive/hermes/eeprom.c b/src/mainboard/prodrive/hermes/eeprom.c
index 9bdec4a79b..6f61b30424 100644
--- a/src/mainboard/prodrive/hermes/eeprom.c
+++ b/src/mainboard/prodrive/hermes/eeprom.c
@@ -88,6 +88,16 @@ struct eeprom_bmc_settings *get_bmc_settings(void)
return &bmc_cfg;
}
+uint8_t get_bmc_hsi(void)
+{
+ uint8_t hsi = 0;
+ struct eeprom_bmc_settings *s = get_bmc_settings();
+ if (s)
+ hsi = s->hsi;
+ printk(BIOS_DEBUG, "CFG EEPROM: HSI 0x%x\n", hsi);
+
+ return hsi;
+}
/* Read data from offset and write it to offset in UPD */
bool read_write_config(void *blob, size_t read_offset, size_t write_offset, size_t size)
diff --git a/src/mainboard/prodrive/hermes/variants/baseboard/include/eeprom.h b/src/mainboard/prodrive/hermes/variants/baseboard/include/eeprom.h
index 9b14d9c39f..e6e5f39d0e 100644
--- a/src/mainboard/prodrive/hermes/variants/baseboard/include/eeprom.h
+++ b/src/mainboard/prodrive/hermes/variants/baseboard/include/eeprom.h
@@ -86,6 +86,7 @@ bool read_write_config(void *blob, size_t read_offset, size_t write_offset, size
int check_signature(const size_t offset, const uint64_t signature);
struct eeprom_board_settings *get_board_settings(void);
struct eeprom_bmc_settings *get_bmc_settings(void);
+uint8_t get_bmc_hsi(void);
void report_eeprom_error(const size_t off);
bool write_board_settings(const struct eeprom_board_layout *new_layout);