Unfortunately a recent change adjusted the order of the checks here such
that 400MHz now shows up as fast-plus speed (1Mbps). Fix it.

Signed-off-by: Simon Glass <s...@chromium.org>
Fixes: d96440d1e3 ("i2c: designware_i2c: Add support for fast-plus speed")
---

 drivers/i2c/designware_i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c
index e1d5aeb19d..0b5e70af59 100644
--- a/drivers/i2c/designware_i2c.c
+++ b/drivers/i2c/designware_i2c.c
@@ -212,9 +212,9 @@ static int calc_bus_speed(struct dw_i2c *priv, int speed, 
ulong bus_clk,
        if (speed >= I2C_SPEED_HIGH_RATE &&
            (!scl_sda_cfg || scl_sda_cfg->has_high_speed))
                i2c_spd = IC_SPEED_MODE_HIGH;
-       else if (speed >= I2C_SPEED_FAST_RATE)
-               i2c_spd = IC_SPEED_MODE_FAST_PLUS;
        else if (speed >= I2C_SPEED_FAST_PLUS_RATE)
+               i2c_spd = IC_SPEED_MODE_FAST_PLUS;
+       else if (speed >= I2C_SPEED_FAST_RATE)
                i2c_spd = IC_SPEED_MODE_FAST;
        else
                i2c_spd = IC_SPEED_MODE_STANDARD;
-- 
2.25.0.265.gbab2e86ba0-goog

Reply via email to