diff options
author | Tom Rini <trini@konsulko.com> | 2022-10-24 17:04:30 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-10-24 17:04:30 +0300 |
commit | 7d8ab3cd635ba2a7faea9f12278ea200149c82aa (patch) | |
tree | aaabb726c97685de1799e31b0e20eaaf1958afee /board/gateworks | |
parent | 1e892ef0b59a4a04971ac23619b95917020b3e18 (diff) | |
parent | 0f5caf351c18b212b856f68a8b9d8ea150cc9fa1 (diff) | |
download | u-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.c | 5 | ||||
-rw-r--r-- | board/gateworks/venice/eeprom.c | 2 | ||||
-rw-r--r-- | board/gateworks/venice/eeprom.h | 2 | ||||
-rw-r--r-- | board/gateworks/venice/spl.c | 28 | ||||
-rw-r--r-- | board/gateworks/venice/venice.c | 2 |
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(); |