summaryrefslogtreecommitdiff
path: root/board/gateworks
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-10-24 17:04:30 +0300
committerTom Rini <trini@konsulko.com>2022-10-24 17:04:30 +0300
commit7d8ab3cd635ba2a7faea9f12278ea200149c82aa (patch)
treeaaabb726c97685de1799e31b0e20eaaf1958afee /board/gateworks
parent1e892ef0b59a4a04971ac23619b95917020b3e18 (diff)
parent0f5caf351c18b212b856f68a8b9d8ea150cc9fa1 (diff)
downloadu-boot-7d8ab3cd635ba2a7faea9f12278ea200149c82aa.tar.xz
Merge tag 'u-boot-imx-20221024' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
u-boot-imx-20221024 ------------------- CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/13916 - for 2022.01 - rework Kontron boards (mx6 and mx8) - fixes for Toradex - fixes (SPI, CAAM, ) - sync DT with Linux - fixes for Gateworks GW7903 and GW7904 PMIC - Engicam i.Core MX8M Plus EDIMM2.2
Diffstat (limited to 'board/gateworks')
-rw-r--r--board/gateworks/gw_ventana/gw_ventana.c5
-rw-r--r--board/gateworks/venice/eeprom.c2
-rw-r--r--board/gateworks/venice/eeprom.h2
-rw-r--r--board/gateworks/venice/spl.c28
-rw-r--r--board/gateworks/venice/venice.c2
5 files changed, 22 insertions, 17 deletions
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index 78d317d864..0ecfd98c22 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -1280,3 +1280,8 @@ int ft_board_setup(void *blob, struct bd_info *bd)
return 0;
}
#endif /* CONFIG_OF_BOARD_SETUP */
+
+int board_mmc_get_env_dev(int devno)
+{
+ return devno;
+}
diff --git a/board/gateworks/venice/eeprom.c b/board/gateworks/venice/eeprom.c
index ac52cc0a9e..6aea60ad05 100644
--- a/board/gateworks/venice/eeprom.c
+++ b/board/gateworks/venice/eeprom.c
@@ -299,7 +299,7 @@ static int eeprom_info(bool verbose)
return 0;
}
-int eeprom_init(int quiet)
+int venice_eeprom_init(int quiet)
{
char rev_pcb;
int rev_bom;
diff --git a/board/gateworks/venice/eeprom.h b/board/gateworks/venice/eeprom.h
index 8ea7318d7d..bb7a5fa9ad 100644
--- a/board/gateworks/venice/eeprom.h
+++ b/board/gateworks/venice/eeprom.h
@@ -24,7 +24,7 @@ struct venice_board_info {
u8 chksum[2]; /* 0x4E */
};
-int eeprom_init(int quiet);
+int venice_eeprom_init(int quiet);
const char *eeprom_get_model(void);
const char *eeprom_get_baseboard_model(void);
const char *eeprom_get_dtb_name(int level, char *buf, int len);
diff --git a/board/gateworks/venice/spl.c b/board/gateworks/venice/spl.c
index 4c0feb4381..e06de8bb54 100644
--- a/board/gateworks/venice/spl.c
+++ b/board/gateworks/venice/spl.c
@@ -156,28 +156,28 @@ static int power_init_board(void)
/* Buck 1 DVS control through PMIC_STBY_REQ */
dm_i2c_reg_write(dev, PCA9450_BUCK1CTRL, 0x59);
- /* Set DVS1 to 0.8v for suspend */
- dm_i2c_reg_write(dev, PCA9450_BUCK1OUT_DVS1, 0x10);
+ /* Set DVS1 to 0.85v for suspend */
+ dm_i2c_reg_write(dev, PCA9450_BUCK1OUT_DVS1, 0x14);
- /* increase VDD_DRAM to 0.95v for 3Ghz DDR */
- dm_i2c_reg_write(dev, PCA9450_BUCK3OUT_DVS0, 0x1C);
+ /* increase VDD_SOC to 0.95V before first DRAM access */
+ dm_i2c_reg_write(dev, PCA9450_BUCK1OUT_DVS0, 0x1C);
- /* VDD_DRAM off in suspend: B1_ENMODE=10 */
- dm_i2c_reg_write(dev, PCA9450_BUCK3CTRL, 0x4a);
-
- /* set VDD_SNVS_0V8 from default 0.85V */
- dm_i2c_reg_write(dev, PCA9450_LDO2CTRL, 0xC0);
+ /* Kernel uses OD/OD freq for SOC */
+ /* To avoid timing risk from SOC to ARM, increase VDD_ARM to OD voltage 0.95v */
+ dm_i2c_reg_write(dev, PCA9450_BUCK2OUT_DVS0, 0x1C);
/* set WDOG_B_CFG to cold reset */
dm_i2c_reg_write(dev, PCA9450_RESET_CTRL, 0xA1);
}
else if ((!strncmp(model, "GW7901", 6)) ||
- (!strncmp(model, "GW7902", 6))) {
- if (!strncmp(model, "GW7901", 6))
- ret = uclass_get_device_by_seq(UCLASS_I2C, 1, &bus);
- else
+ (!strncmp(model, "GW7902", 6)) ||
+ (!strncmp(model, "GW7903", 6)) ||
+ (!strncmp(model, "GW7904", 6))) {
+ if (!strncmp(model, "GW7902", 6))
ret = uclass_get_device_by_seq(UCLASS_I2C, 0, &bus);
+ else
+ ret = uclass_get_device_by_seq(UCLASS_I2C, 1, &bus);
if (ret) {
printf("PMIC : failed I2C2 probe: %d\n", ret);
return ret;
@@ -268,7 +268,7 @@ void board_init_f(ulong dummy)
break;
mdelay(1);
}
- dram_sz = eeprom_init(0);
+ dram_sz = venice_eeprom_init(0);
/* PMIC */
power_init_board();
diff --git a/board/gateworks/venice/venice.c b/board/gateworks/venice/venice.c
index 32b25ffd3e..d94f6b8a57 100644
--- a/board/gateworks/venice/venice.c
+++ b/board/gateworks/venice/venice.c
@@ -111,7 +111,7 @@ int board_phy_config(struct phy_device *phydev)
int board_init(void)
{
- eeprom_init(1);
+ venice_eeprom_init(1);
if (IS_ENABLED(CONFIG_FEC_MXC))
setup_fec();