Skip to content
Snippets Groups Projects
Commit 8daa3468 authored by Marek Behún's avatar Marek Behún Committed by Stefan Roese
Browse files

mvebu: turris_omnia: Fix PEX vs SATA detection for board topology


The I2C reading in the PEX vs SATA detection code often fails on the
first try. Try three times, as the code for EEPROM reading does.

Signed-off-by: default avatarMarek Behun <marek.behun@nic.cz>
Signed-off-by: default avatarStefan Roese <sr@denx.de>
parent eaa90e5d
No related branches found
No related tags found
No related merge requests found
......@@ -90,7 +90,7 @@ static struct serdes_map board_serdes_map_sata[] = {
static bool omnia_detect_sata(void)
{
struct udevice *bus, *dev;
int ret;
int ret, retry = 3;
u16 mode;
puts("SERDES0 card detect: ");
......@@ -106,8 +106,13 @@ static bool omnia_detect_sata(void)
return false;
}
ret = dm_i2c_read(dev, OMNIA_I2C_MCU_ADDR_STATUS, (uchar *) &mode, 2);
if (ret) {
for (; retry > 0; --retry) {
ret = dm_i2c_read(dev, OMNIA_I2C_MCU_ADDR_STATUS, (uchar *) &mode, 2);
if (!ret)
break;
}
if (!retry) {
puts("I2C read failed! Default PEX\n");
return false;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment