iio: imu: inv_mpu6050: reduce sleep time when turning regulators on
authorJean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Wed, 19 Feb 2020 14:39:52 +0000 (15:39 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 8 Mar 2020 17:28:38 +0000 (17:28 +0000)
Turning vdd regulator on requires a consequent sleep for the
chip to power on correctly.
Turning vddio regulator is much faster.

Signed-off-by: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c

index 3502b996671c9b9113a0b6e6151df0f1b8e504ac..63cdde20df7e2ca0fd52aa9a4bef9cf686469835 100644 (file)
@@ -1201,7 +1201,7 @@ static int inv_mpu_core_enable_regulator_vddio(struct inv_mpu6050_state *st)
                        "Failed to enable vddio regulator: %d\n", result);
        } else {
                /* Give the device a little bit of time to start up. */
-               usleep_range(35000, 70000);
+               usleep_range(3000, 5000);
        }
 
        return result;
@@ -1321,6 +1321,7 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name,
                dev_err(dev, "Failed to enable vdd regulator: %d\n", result);
                return result;
        }
+       msleep(INV_MPU6050_POWER_UP_TIME);
 
        result = inv_mpu_core_enable_regulator_vddio(st);
        if (result) {