media: tegra: imx091: fix pinkish preview issue
Frank Chen [Thu, 11 Oct 2012 18:04:13 +0000 (11:04 -0700)]
Do software reset instead of standby before
programming the new sensor mode.

Bug 1156556

Change-Id: Icba79ff790905c810ed88533b74287b458d98423
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: http://git-master/r/143791
(cherry picked from commit 816c361834aa5a8c7a490a79088ae52047fe38f7)
Reviewed-on: http://git-master/r/145641
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Patrick Shehane <pshehane@nvidia.com>
Reviewed-by: Jon Mayo <jmayo@nvidia.com>

drivers/media/video/tegra/imx091.c

index da67bb1..60e82ae 100644 (file)
@@ -41,8 +41,8 @@ struct imx091_info {
 #define IMX091_WAIT_MS 3
 
 static struct imx091_reg mode_4208x3120[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */
@@ -151,8 +151,8 @@ static struct imx091_reg mode_4208x3120[] = {
 };
 
 static struct imx091_reg mode_2104x1560[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */
@@ -261,8 +261,8 @@ static struct imx091_reg mode_2104x1560[] = {
 };
 
 static struct imx091_reg mode_1052x778[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */
@@ -372,8 +372,8 @@ static struct imx091_reg mode_1052x778[] = {
 
 
 static struct imx091_reg mode_524x390[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */
@@ -482,8 +482,8 @@ static struct imx091_reg mode_524x390[] = {
 };
 
 static struct imx091_reg mode_348x260[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */
@@ -592,8 +592,8 @@ static struct imx091_reg mode_348x260[] = {
 };
 
 static struct imx091_reg mode_1948x1096[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */
@@ -702,8 +702,8 @@ static struct imx091_reg mode_1948x1096[] = {
 };
 
 static struct imx091_reg mode_1308x736[] = {
-       /* Stand by */
-       {0x0100, 0x00},
+       /* Software reset */
+       {0x0103, 0x01},
        {IMX091_TABLE_WAIT_MS, IMX091_WAIT_MS},
 
        /* global settings */