summaryrefslogtreecommitdiff
path: root/drivers/i2c/stm32f7_i2c.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2019-05-24 08:13:27 -0400
committerTom Rini <trini@konsulko.com>2019-05-24 08:13:27 -0400
commit866a78dc28411f4c76ba887f439f69f1116d8a6b (patch)
treee9e7f1255f290783c4f748983debbf832495764e /drivers/i2c/stm32f7_i2c.c
parentafe9e1f197e6d0ee4fa59d56639ca56d5f2ed566 (diff)
parent187c41d783371dc3b7ecae45f450b330f5e1bb25 (diff)
Merge tag 'u-boot-stm32-20190523' of https://github.com/pchotard/u-boot
- Add various STM32MP1 fixes for serial, env, clk, board, i2c ... - Add STM32MP1 DDR driver update: These update introduce the DDR interactive mode described in: https://wiki.st.com/stm32mpu/index.php/U-Boot_SPL:_DDR_interactive_mode This mode is used by the CubeMX: DDR tuning tool. https://wiki.st.com/stm32mpu/index.php/STM32CubeMX The DDR interactive mode is NOT activated by default because it increase the SPL size and slow down the boot time (200ms wait added).
Diffstat (limited to 'drivers/i2c/stm32f7_i2c.c')
-rw-r--r--drivers/i2c/stm32f7_i2c.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/stm32f7_i2c.c b/drivers/i2c/stm32f7_i2c.c
index 3872364d6bf..50c4fd0de23 100644
--- a/drivers/i2c/stm32f7_i2c.c
+++ b/drivers/i2c/stm32f7_i2c.c
@@ -500,7 +500,7 @@ static int stm32_i2c_compute_solutions(struct stm32_i2c_setup *setup,
af_delay_max = setup->analog_filter ?
STM32_I2C_ANALOG_FILTER_DELAY_MAX : 0;
- sdadel_min = setup->fall_time - i2c_specs[setup->speed].hddat_min -
+ sdadel_min = i2c_specs[setup->speed].hddat_min + setup->fall_time -
af_delay_min - (setup->dnf + 3) * i2cclk;
sdadel_max = i2c_specs[setup->speed].vddat_max - setup->rise_time -
@@ -540,8 +540,12 @@ static int stm32_i2c_compute_solutions(struct stm32_i2c_setup *setup,
p_prev = p;
list_add_tail(&v->node, solutions);
+ break;
}
}
+
+ if (p_prev == p)
+ break;
}
}