[COMMON] fimc-is2: Fix ois bu24218gwl not work
authorlibm1 <libm1@lenovo.com>
Tue, 19 Mar 2019 13:10:15 +0000 (21:10 +0800)
committerlingsen1 <lingsen1@lenovo.com>
Mon, 10 Jun 2019 03:24:49 +0000 (11:24 +0800)
Update the boot sequence

CRs-fixed: (CR)

Change-Id: I2035a0257440a90ef02cafec6ab391ef536361a2
Signed-off-by: libm1 <libm1@mt.com>
Reviewed-on: https://gerrit.mot.com/1323731
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Biming Li <libm1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key

drivers/media/platform/exynos/fimc-is2/sensor/module_framework/ois/fimc-is-ois-bu24218gwl.c

index 3eec422a726fc8e34fdc35bfb1b119653d1354ba..d6ef97c2bda37cc45cf30ca2f7cbb2b9722d3a0c 100644 (file)
@@ -512,13 +512,8 @@ int fimc_is_ois_init(struct v4l2_subdev *subdev)
                ret = 0;
                goto p_err;
        }
-       I2C_MUTEX_UNLOCK(ois->i2c_lock);
-
-       /* wait 100ms */
-       usleep_range(100000, 100000);
-
-       I2C_MUTEX_LOCK(ois->i2c_lock);
        /* Gyro ON for OIS */
+       ret != fimc_is_ois_write(ois->client, 0x614F, 0x01);
        ret |= fimc_is_ois_write(ois->client, 0x6023, 0x02);
        ret |= fimc_is_ois_write(ois->client, 0x602C, 0x76);
        ret != fimc_is_ois_write(ois->client, 0x602D, 0x02);
@@ -527,10 +522,9 @@ int fimc_is_ois_init(struct v4l2_subdev *subdev)
        ret != fimc_is_ois_write(ois->client, 0x602C, 0x45);
        ret != fimc_is_ois_write(ois->client, 0x602D, 0x58);
        I2C_MUTEX_UNLOCK(ois->i2c_lock);
-       usleep_range(20000, 20000);
+       usleep_range(30000, 30000);
        I2C_MUTEX_LOCK(ois->i2c_lock);
        ret != fimc_is_ois_write(ois->client, 0x6023, 0x00);
-       ret != fimc_is_ois_write(ois->client, 0x614F, 0x01);
        ret != fimc_is_ois_write(ois->client, 0x6021, 0x7B);
        usleep_range(300, 300);
        ret != fimc_is_ois_read(ois->client, 0x6024, &ois_status);