summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/gateworks/venice/eeprom.c7
-rw-r--r--board/gateworks/venice/eeprom.h1
-rw-r--r--board/gateworks/venice/spl.c6
3 files changed, 10 insertions, 4 deletions
diff --git a/board/gateworks/venice/eeprom.c b/board/gateworks/venice/eeprom.c
index 351d18886f1..41f620c90e7 100644
--- a/board/gateworks/venice/eeprom.c
+++ b/board/gateworks/venice/eeprom.c
@@ -19,6 +19,7 @@
struct venice_board_info som_info;
struct venice_board_info base_info;
char venice_model[32];
+char venice_som_model[32];
char venice_baseboard_model[32];
u32 venice_serial;
@@ -315,6 +316,7 @@ int venice_eeprom_init(int quiet)
memset(&som_info, 0, sizeof(som_info));
return 0;
}
+ strlcpy(venice_som_model, som_info.model, sizeof(venice_som_model));
/* read optional baseboard EEPROM */
eeprom_read(BASEBOARD_EEPROM_BUSNO, BASEBOARD_EEPROM_ADDR, 2, &base_info);
@@ -368,6 +370,11 @@ const char *eeprom_get_model(void)
return venice_model;
}
+const char *eeprom_get_som_model(void)
+{
+ return venice_som_model;
+}
+
const char *eeprom_get_baseboard_model(void)
{
return venice_baseboard_model;
diff --git a/board/gateworks/venice/eeprom.h b/board/gateworks/venice/eeprom.h
index bb7a5fa9ad1..30cd347d945 100644
--- a/board/gateworks/venice/eeprom.h
+++ b/board/gateworks/venice/eeprom.h
@@ -26,6 +26,7 @@ struct venice_board_info {
int venice_eeprom_init(int quiet);
const char *eeprom_get_model(void);
+const char *eeprom_get_som_model(void);
const char *eeprom_get_baseboard_model(void);
const char *eeprom_get_dtb_name(int level, char *buf, int len);
int eeprom_getmac(int index, uint8_t *enetaddr);
diff --git a/board/gateworks/venice/spl.c b/board/gateworks/venice/spl.c
index 275f9d3453e..f14ab1497d7 100644
--- a/board/gateworks/venice/spl.c
+++ b/board/gateworks/venice/spl.c
@@ -57,6 +57,7 @@ static int dm_i2c_clrsetbits(struct udevice *dev, uint reg, uint clr, uint set)
static int power_init_board(const char *model, struct udevice *gsc)
{
+ const char *som = eeprom_get_som_model();
struct udevice *bus;
struct udevice *dev;
int ret;
@@ -77,10 +78,7 @@ static int power_init_board(const char *model, struct udevice *gsc)
}
}
- if ((!strncmp(model, "GW71", 4)) ||
- (!strncmp(model, "GW72", 4)) ||
- (!strncmp(model, "GW73", 4)) ||
- (!strncmp(model, "GW75", 4))) {
+ if (!strncmp(som, "GW70", 4)) {
ret = uclass_get_device_by_seq(UCLASS_I2C, 0, &bus);
if (ret) {
printf("PMIC : failed I2C1 probe: %d\n", ret);