[PORT FROM R2] The slew rate of VC motor current rising time has changed.
authorVitali Samurov <vitali.samurov@intel.com>
Mon, 31 Oct 2011 11:57:42 +0000 (13:57 +0200)
committerbuildbot <buildbot@intel.com>
Mon, 19 Dec 2011 13:36:14 +0000 (05:36 -0800)
BZ: 17272

Currently VC motor has '0' in both configuration registers: 'slew_rate' and 'vcm_step_time'.
Therefore a current in the VC motor rises very fast (instantaneous) and it causes a big
mechanical impact to the lens unit, audible as a loud click.

This patch makes VC current rising slope slightly inclined and it makes a lens movement to be
more smooth. Patch should not affect to the speed of AF, because a duration of single Af step
remains the same.

Change-Id: Ibda9f7af5cdd74287bb25ddb83c53fa4dbaf1248
Orig-Change-Id: Ie35b30cafa9848a7175798a3832bd06be511aec8
Signed-off-by: Vitali Samurov <vitali.samurov@intel.com>
Reviewed-on: http://android.intel.com:8080/22776
Reviewed-by: Koski, Anttu <anttu.koski@intel.com>
Tested-by: Koski, Anttu <anttu.koski@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Reviewed-on: http://android.intel.com:8080/28041
Reviewed-by: Tuominen, TeemuX <teemux.tuominen@intel.com>
drivers/media/video/mt9e013.h

index 97b03b3..6f716aa 100644 (file)
@@ -597,11 +597,11 @@ static const struct mt9e013_reg mt9e013_start_streaming[] = {
 
 #define RESET_REGISTER {MT9E013_16BIT, {0x301A}, 0x4A18}
 
-#define INIT_VCM_CONTROL       {MT9E013_16BIT, {0x30F0}, 0x8000}
+#define INIT_VCM_CONTROL       {MT9E013_16BIT, {0x30F0}, 0x8004}  /* slew_rate[2:0] */
 static const struct mt9e013_reg mt9e013_init_vcm[] = {
        INIT_VCM_CONTROL,                                  /* VCM_CONTROL */
        {MT9E013_16BIT, {0x30F2}, 0x0000}, /* VCM_NEW_CODE */
-       {MT9E013_16BIT, {0x30F4}, 0x0000}, /* VCM_STEP_TIME */
+       {MT9E013_16BIT, {0x30F4}, 0x0080}, /* VCM_STEP_TIME */
        {MT9E013_TOK_TERM, {0}, 0}
 };
 static const struct mt9e013_reg mt9e013_reset_register[] = {