mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
board: venice: use SOM model for PMIC adjustment on SOM
Use the SOM model to adjust PMIC settings on SOM's. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
committed by
Fabio Estevam
parent
ea04f7261e
commit
b1ead5a224
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user