Merge branch android-common-3.10
[firefly-linux-kernel-4.4.55.git] / drivers / media / video / sid130B.c
index 4028cf199d569f1bf6929b99e28f3a94e3812fa5..a022859546cfcb993a463d208fa00ab26539bd9a 100755 (executable)
@@ -50,9 +50,9 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
 #define SENSOR_MIN_HEIGHT   144\r
 #define SENSOR_MAX_WIDTH    1600\r
 #define SENSOR_MAX_HEIGHT   1200\r
-#define SENSOR_INIT_WIDTH      640                     /* Sensor pixel size for sensor_init_data array */\r
-#define SENSOR_INIT_HEIGHT  480\r
-#define SENSOR_INIT_WINSEQADR sensor_vga\r
+#define SENSOR_INIT_WIDTH      800                     /* Sensor pixel size for sensor_init_data array */\r
+#define SENSOR_INIT_HEIGHT  600\r
+#define SENSOR_INIT_WINSEQADR sensor_svga\r
 #define SENSOR_INIT_PIXFMT V4L2_MBUS_FMT_UYVY8_2X8\r
 \r
 #define CONFIG_SENSOR_WhiteBalance 1\r
@@ -115,7 +115,8 @@ static struct  flash_timer flash_off_timer;
 /* init 352X288 SVGA */\r
 static struct reginfo sensor_init_data[] =\r
 {\r
-       {0x00,  0x00},  \r
+#if 0\r
+          {0x00,  0x00},  \r
        {0x04,  0x00},  //Group A 0x10\r
        {0x05,  0x0F},  //UXGA Output\r
        {0x06,  0x86}, \r
@@ -750,8 +751,716 @@ static struct reginfo sensor_init_data[] =
        {0x00,  0x02}, \r
        {0x10,  0xd3}, \r
        {0xff,  0xff}, \r
+#else\r
 \r
+     {0x00,  0x00},  \r
+       {0x04,  0x00},  //Group A 0x10\r
+       {0x05,  0x0F},  //UXGA Output\r
+       {0x06,  0x86}, \r
+       {0x07,  0x08}, \r
 \r
+\r
+       {0x08,  0xa2},  //PLL on\r
+       {0x09,  0x12},  \r
+       {0x0A,  0x12},  \r
+       {0x10,  0x13},//17},  \r
+       {0x11,  0x01}, \r
+       {0x12,  0x8A}, \r
+\r
+    {0x13, 0x1a},//16},    \r
+    {0x15, 0x22},//16},    \r
+    {0x14, 0x27},//16},    \r
+    {0x17, 0xcb},//CF},    \r
+    {0x18, 0x38},//34},    \r
+    {0x41, 0x17},    \r
+    {0x42, 0x52},    \r
+                                              \r
+    //Flicker - 50Hz  - Still mode            \r
+    {0x00, 0x00},    \r
+       {0x20,  0x00}, \r
+       {0x21,  0x02}, \r
+       {0x23,  0x29},//15}, \r
+       {0x00,  0x01}, \r
+       {0x35,  0x50},//3c}, \r
+\r
+    //Flicker - 50Hz - Preview mode 24MHz MCLK\r
+    {0x00, 0x00},    \r
+    {0x24, 0x00},    \r
+       {0x25,  0xe6},//10}, \r
+       {0x27,  0x0d},//4b}, \r
+       {0x00,  0x01}, \r
+       {0x34,  0x80},//64}, \r
+       \r
+    //AE Block                                \r
+    {0x00, 0x01},    \r
+    {0x10, 0x80},    \r
+    {0x11, 0x0A},    \r
+    {0x12, 0x74},    \r
+    {0x13, 0x74},    \r
+    {0x14, 0x70},    \r
+    {0x17, 0xC4},    \r
+    {0x1c, 0x02},    \r
+                                              \r
+    {0x19, 0x00},//0x\r
+    {0x1A, 0x00},//0x\r
+    {0x1c, 0x02},    \r
+                                              \r
+    {0x36, 0x26},    \r
+                                              \r
+    {0x40, 0x40}, //M\r
+#if 0                                         \r
+    {0x41, 0x28},    \r
+    {0x42, 0x28},    \r
+    {0x43, 0x08},    \r
+    {0x44, 0x08},    \r
+    {0x45, 0x09},    \r
+    {0x46, 0x17},    \r
+    {0x47, 0x1D},    \r
+    {0x48, 0x21},    \r
+    {0x49, 0x23},    \r
+    {0x4A, 0x24},    \r
+    {0x4B, 0x26},    \r
+    {0x4C, 0x27},    \r
+    {0x4D, 0x27},    \r
+    {0x4E, 0x1A},    \r
+    {0x4F, 0x14},    \r
+    {0x50, 0x11},    \r
+    {0x51, 0x0F},    \r
+    {0x52, 0x0D},    \r
+    {0x53, 0x0C},    \r
+    {0x54, 0x0A},    \r
+    {0x55, 0x09},    \r
+#else                                         \r
+    {0x41, 0x20},    \r
+    {0x42, 0x20},    \r
+    {0x43, 0x00},    \r
+    {0x44, 0x00},    \r
+    {0x45, 0x01},    \r
+    {0x46, 0x0c},    \r
+    {0x47, 0x11},    \r
+    {0x48, 0x15},    \r
+    {0x49, 0x17},    \r
+    {0x4A, 0x1a},    \r
+    {0x4B, 0x1c},    \r
+    {0x4C, 0x1e},    \r
+    {0x4D, 0x1e},    \r
+    {0x4E, 0x0f},    \r
+    {0x4F, 0x09},    \r
+    {0x50, 0x07},    \r
+    {0x51, 0x05},    \r
+    {0x52, 0x04},    \r
+    {0x53, 0x03},    \r
+    {0x54, 0x02},    \r
+    {0x55, 0x01},    \r
+    {0x60, 0x7e},    \r
+    {0x61, 0xff},    \r
+    {0x62, 0xff},    \r
+    {0x63, 0xff},    \r
+    {0x64, 0xff},    \r
+    {0x65, 0x7e},    \r
+    {0x66, 0x50},    \r
+    {0x67, 0x50},    \r
+    {0x68, 0x50},    \r
+    {0x69, 0x50},    \r
+    {0x6A, 0x50},    \r
+    {0x6B, 0x00},    \r
+    {0x6C, 0x06},  \r
+       {0x9a, 0x80},\r
+       {0x6b, 0x80},\r
+\r
+\r
+#endif                                        \r
+                                              \r
+    //AWB Block                               \r
+    {0x00, 0x02},    \r
+    {0x10, 0xD3},    \r
+    {0x11, 0x11},    \r
+    {0x13, 0x80},    \r
+    {0x14, 0x80},    \r
+    {0x15, 0xE0},//FE},    \r
+    {0x16, 0x88},    \r
+    {0x17, 0xD0},    \r
+    {0x18, 0x78},    \r
+    {0x19, 0x98},    \r
+    {0x1A, 0x68},    \r
+    {0x1B, 0x8d},    \r
+    {0x1C, 0x68},    \r
+    {0x1D, 0x8C},    \r
+    {0x1E, 0x74},    \r
+    {0x20, 0xF0},    \r
+    {0x21, 0x70},    \r
+    {0x22, 0xa8},    \r
+    {0x23, 0x10},    \r
+    {0x25, 0x20},    \r
+    {0x26, 0x05},    \r
+    {0x27, 0x63},    \r
+    {0x28, 0x63},    \r
+    {0x29, 0xA0},    \r
+    {0x2A, 0x89},    \r
+    {0x30, 0x00},    \r
+    {0x31, 0x10},    \r
+    {0x32, 0x00},    \r
+    {0x33, 0x10},    \r
+    {0x34, 0x06},    \r
+    {0x35, 0x30},    \r
+    {0x36, 0x04},    \r
+    {0x37, 0xA0},    \r
+    {0x40, 0x01},    \r
+    {0x41, 0x04},    \r
+    {0x42, 0x08},    \r
+    {0x43, 0x10},    \r
+    {0x44, 0x13},    \r
+    {0x45, 0x6B},    \r
+    {0x46, 0x82},    \r
+    {0x52, 0x82},    \r
+        \r
+\r
+\r
+    //CMA change  -D65~A                      \r
+    {0x53, 0x86}, //A\r
+    {0x54, 0xA0}, //A\r
+    {0x55, 0x88}, //A\r
+    {0x56, 0x9F}, //A\r
+    {0x57, 0xA5}, //A\r
+    {0x58, 0x89}, //A\r
+    {0x59, 0xA6}, //A\r
+    {0x5A, 0x87}, //A\r
+                                              \r
+    {0x64, 0x00}, //T\r
+    {0x65, 0x00},    \r
+    {0x66, 0x00}, //T\r
+    {0x67, 0x00},    \r
+    {0x68, 0xA5}, //T\r
+    {0x69, 0xB4},    \r
+    {0x6A, 0xB3}, //T\r
+    {0x6B, 0xAC},    \r
+    {0x6C, 0xB7}, //T\r
+    {0x6D, 0x98},    \r
+    {0x6E, 0xBA}, //T\r
+    {0x6F, 0x90},    \r
+    {0x70, 0xBF}, //T\r
+    {0x71, 0x9B},    \r
+    {0x72, 0xCE}, //T\r
+    {0x73, 0x8C},    \r
+\r
+        \r
+                //IDP\r
+        \r
+\r
+    {0x74, 0x7F}, //T\r
+    {0x75, 0x8C}, //T\r
+    {0x76, 0xAD}, //T\r
+    {0x77, 0xBA}, //T\r
+    {0x78, 0x8F}, //T\r
+    {0x79, 0x9A}, //T\r
+    {0x7A, 0xA3}, //T\r
+    {0x7B, 0xAC}, //T\r
+    {0x7C, 0xA0}, //T\r
+    {0x7D, 0xA9}, //T\r
+    {0x7E, 0x95}, //T\r
+    {0x7F, 0xAC}, //T\r
+    {0x80, 0xAD}, //T\r
+    {0x81, 0xBC}, //T\r
+    {0x82, 0x98}, //T\r
+    {0x83, 0xA4}, //T\r
+    {0x84, 0x00}, //T\r
+    {0x85, 0x00}, //T\r
+    {0x86, 0x00}, //T\r
+    {0x87, 0x00}, //T\r
+    {0x88, 0xC9}, //T\r
+    {0x89, 0xD5}, //T\r
+    {0x8A, 0x70}, //T\r
+    {0x8B, 0x7B}, //T\r
+    {0x8C, 0xD0}, //T\r
+    {0x8D, 0xE5}, //T\r
+    {0x8E, 0x58}, //T\r
+    {0x8F, 0x70}, //T\r
+                                              \r
+    {0xB4, 0x05},    \r
+    {0xB5, 0x0F},    \r
+    {0xB6, 0x06},    \r
+    {0xB7, 0x06},    \r
+    {0xB8, 0x40},    \r
+    {0xB9, 0x10},    \r
+    {0xBA, 0x06},    \r
+                                              \r
+    //IDP                                     \r
+    {0x00, 0x03},    \r
+    {0x10, 0xFF},    \r
+    {0x11, 0x1D},    \r
+    {0x12, 0x1D},    \r
+    {0x13, 0xFB},    \r
+    {0x14, 0x00}, \r
+    {0x15, 0xc0},    \r
+                                              \r
+    //DPC                                     \r
+    {0x30, 0x88}, //D\r
+    {0x31, 0x14},//04}, //D\r
+    {0x32, 0x10}, //D\r
+    {0x33, 0x0C}, //D\r
+    {0x34, 0x08}, //D\r
+    {0x35, 0x04}, //D\r
+    {0x36, 0x44}, //D\r
+    {0x37, 0x66}, //D\r
+    {0x38, 0x00}, //0\r
+    {0x39, 0x08}, //0\r
+    {0x3A, 0x08}, //0\r
+    {0x3B, 0x20}, //0\r
+    {0x3C, 0x20}, // \r
+    {0x3D, 0x04}, //N\r
+    {0x3E, 0x08}, //N\r
+    {0x3F, 0x10}, //N\r
+    {0x40, 0x10}, //N\r
+    {0x41, 0x20}, //N\r
+    {0x42, 0xFF}, //N\r
+    {0x43, 0x40},//F0}, //N\r
+    {0x44, 0x40}, //B\r
+    {0x45, 0x06},//09}, //S\r
+    {0x46, 0x40}, //S\r
+    {0x47, 0x30}, //I\r
+\r
+               //DPC\r
+ #if 0                                             \r
+    //Shading                                 \r
+    {0x50, 0x24}, //R\r
+    {0x51, 0x44}, //R\r
+    {0x52, 0x20}, //R\r
+    {0x53, 0x30}, //R\r
+                                              \r
+    {0x54, 0x20}, //G\r
+    {0x55, 0x20}, //G\r
+    {0x56, 0x00}, //G\r
+    {0x57, 0x10}, //G\r
+                                              \r
+    {0x58, 0x20}, //G\r
+    {0x59, 0x20}, //G\r
+    {0x5A, 0x00}, //G\r
+    {0x5B, 0x10}, //G\r
+                                              \r
+    {0x5C, 0x34}, //B\r
+    {0x5D, 0x48}, //B\r
+    {0x5E, 0x18}, //B\r
+    {0x5F, 0x2a}, //B\r
+                                              \r
+    {0x60, 0x32}, //#\r
+    {0x61, 0x00}, //#\r
+    {0x62, 0x67}, //#\r
+                                              \r
+    {0x6B, 0x23},    \r
+    {0x6C, 0x44},    \r
+    {0x6D, 0x45},    \r
+    {0x6E, 0x67},    \r
+    {0x6F, 0x8a},    \r
+    {0x70, 0x89}, \r
+    \r
+    {0x71, 0x34},    \r
+    {0x72, 0x45},    \r
+    {0x73, 0x56},    \r
+    {0x74, 0x77},    \r
+    {0x75, 0x78},    \r
+    {0x76, 0x89},    \r
+\r
+       {0x77, 0x34},    \r
+    {0x78, 0x45},    \r
+    {0x79, 0x56},    \r
+    {0x7A, 0x77},    \r
+    {0x7B, 0x78},    \r
+    {0x7C, 0x89},    \r
+\r
+       {0x7D, 0x22},    \r
+    {0x7E, 0x32},    \r
+    {0x7F, 0x34},    \r
+    {0x80, 0x45},    \r
+    {0x81, 0x56},    \r
+    {0x82, 0x67},    \r
+    {0x83, 0x1f},    \r
+    {0x84, 0x50},    \r
+#endif\r
+\r
+    //Shading                                 \r
+    {0x50, 0x0b}, //R\r
+    {0x51, 0x0b}, //R\r
+    {0x52, 0x19}, //R\r
+    {0x53, 0x18}, //R\r
+                                              \r
+    {0x54, 0x10}, //G\r
+    {0x55, 0x00}, //G\r
+    {0x56, 0x08}, //G\r
+    {0x57, 0x00}, //G\r
+                                              \r
+    {0x58, 0x10}, //G\r
+    {0x59, 0x00}, //G\r
+    {0x5A, 0x08}, //G\r
+    {0x5B, 0x00}, //G\r
+                                              \r
+    {0x5C, 0x14}, //B\r
+    {0x5D, 0x0f}, //B\r
+    {0x5E, 0x24}, //B\r
+    {0x5F, 0x12}, //B\r
+                                              \r
+    {0x60, 0x32}, //#\r
+    {0x61, 0x00}, //#\r
+    {0x62, 0x67}, //#\r
+                                              \r
+    {0x6B, 0x23},    \r
+    {0x6C, 0x44},    \r
+    {0x6D, 0x44},    \r
+    {0x6E, 0x45},    \r
+    {0x6F, 0x44},    \r
+    {0x70, 0x00}, \r
+    \r
+    {0x71, 0x23},    \r
+    {0x72, 0x44},    \r
+    {0x73, 0x55},    \r
+    {0x74, 0x55},    \r
+    {0x75, 0x55},    \r
+    {0x76, 0x00},    \r
+\r
+       {0x77, 0x23},    \r
+    {0x78, 0x44},    \r
+    {0x79, 0x55},    \r
+    {0x7A, 0x55},    \r
+    {0x7B, 0x55},    \r
+    {0x7C, 0x00},    \r
+\r
+       {0x7D, 0x23},    \r
+    {0x7E, 0x44},    \r
+    {0x7F, 0x34},    \r
+    {0x80, 0x43},    \r
+    {0x81, 0x44},    \r
+    {0x82, 0x00},    \r
+    {0x83, 0x12},    \r
+    {0x84, 0x14},\r
+\r
+                                              \r
+    //Interpolation                           \r
+    {0xA0, 0x2F},    \r
+    {0xA1, 0xB7},    \r
+    {0xA2, 0xB7},    \r
+    {0xA3, 0xB7},    \r
+    {0xA4, 0x04},    \r
+    {0xA5, 0xFF},    \r
+    {0xA6, 0x06},    \r
+    {0xA7, 0xFF},    \r
+    {0xA8, 0x00},    \r
+    {0xA9, 0x00},    \r
+    {0xAA, 0x00},    \r
+    {0xAB, 0x00},    \r
+    {0xAC, 0x60},    \r
+    {0xAD, 0x18},    \r
+    {0xAE, 0x0c},    \r
+    {0xAF, 0x14},    \r
+    {0xB0, 0x08},    \r
+    {0xB1, 0x00},    \r
+\r
+\r
+    //Color Matrix for D65                    \r
+    {0xC0, 0xAF},// C\r
+    {0xC1, 0x66},    \r
+    {0xC2, 0xd4},    \r
+    {0xC3, 0x06},    \r
+    {0xC4, 0xf0},    \r
+    {0xC5, 0x5a},    \r
+    {0xC6, 0xF6},    \r
+    {0xC7, 0xF9},    \r
+    {0xC8, 0xbf},    \r
+    {0xC9, 0x88},    \r
+    {0xCA, 0x00},    \r
+    {0xCB, 0x00},    \r
+    {0xCC, 0x00},    \r
+    {0xCD, 0x00},    \r
+    {0xCE, 0x00},    \r
+    //Color Matrix for CWF                    \r
+    {0xD0, 0x2F},    \r
+    {0xD1, 0x72},    \r
+    {0xD2, 0xC9},    \r
+    {0xD3, 0x04},    \r
+    {0xD4, 0xE3},    \r
+    {0xD5, 0x60},    \r
+    {0xD6, 0xFC},    \r
+    {0xD7, 0xF5},    \r
+    {0xD8, 0xb0},    \r
+    {0xD9, 0x99},    \r
+    {0xDA, 0xC3},    \r
+    {0xDB, 0x14},    \r
+    {0xDC, 0x3A},    \r
+    {0xDD, 0xAD},    \r
+    {0xDE, 0x09},    \r
+                                              \r
+    //Color Matrix for A                      \r
+    {0xE0, 0x2F},    \r
+    {0xE1, 0x5C},    \r
+    {0xE2, 0xDD},    \r
+    {0xE3, 0x06},    \r
+    {0xE4, 0xE0},    \r
+    {0xE5, 0x69},    \r
+    {0xE6, 0xF6},    \r
+    {0xE7, 0xE5},    \r
+    {0xE8, 0xAB},    \r
+    {0xE9, 0xAE},    \r
+    {0xEA, 0x6A},    \r
+    {0xEB, 0x01},    \r
+    {0xEC, 0x2D},    \r
+    {0xED, 0xEE},    \r
+    {0xEE, 0x04},    \r
+                                              \r
+    //IDP 2                                   \r
+    {0x00, 0x04},    \r
+                                              \r
+    //Gamma - R                               \r
+    {0x10, 0x00},    \r
+    {0x11, 0x06},    \r
+    {0x12, 0x0e},    \r
+    {0x13, 0x20},    \r
+    {0x14, 0x40},    \r
+    {0x15, 0x5e},    \r
+    {0x16, 0x74},    \r
+    {0x17, 0x87},    \r
+    {0x18, 0x98},    \r
+    {0x19, 0xa6},    \r
+    {0x1A, 0xb3},    \r
+    {0x1B, 0xca},    \r
+    {0x1C, 0xde},    \r
+    {0x1D, 0xf0},    \r
+    {0x1E, 0xf8},    \r
+    {0x1F, 0xff},    \r
+\r
+\r
+    //Gamma - G                               \r
+    {0x20, 0x00},    \r
+    {0x21, 0x06},    \r
+    {0x22, 0x0e},    \r
+    {0x23, 0x20},    \r
+    {0x24, 0x40},    \r
+    {0x25, 0x5e},    \r
+    {0x26, 0x74},    \r
+    {0x27, 0x87},    \r
+    {0x28, 0x98},    \r
+    {0x29, 0xa6},    \r
+    {0x2A, 0xb3},    \r
+    {0x2B, 0xca},    \r
+    {0x2C, 0xde},    \r
+    {0x2D, 0xf0},    \r
+    {0x2E, 0xf8},    \r
+    {0x2F, 0xff},    \r
+                                              \r
+    //Gamma - B                               \r
+    {0x30, 0x00},    \r
+    {0x31, 0x06},    \r
+    {0x32, 0x0e},    \r
+    {0x33, 0x20},    \r
+    {0x34, 0x40},    \r
+    {0x35, 0x5e},    \r
+    {0x36, 0x74},    \r
+    {0x37, 0x87},    \r
+    {0x38, 0x98},    \r
+    {0x39, 0xa6},    \r
+    {0x3A, 0xb3},    \r
+    {0x3B, 0xca},    \r
+    {0x3C, 0xde},    \r
+    {0x3D, 0xf0},    \r
+    {0x3E, 0xf8},    \r
+    {0x3F, 0xff},    \r
+                                              \r
+    //CSC                                     \r
+    {0x60, 0x33},    \r
+    {0x61, 0x20},    \r
+    {0x62, 0xE4},    \r
+    {0x63, 0xFA},    \r
+    {0x64, 0x13},    \r
+    {0x65, 0x25},    \r
+    {0x66, 0x07},    \r
+    {0x67, 0xF5},    \r
+    {0x68, 0xEA},    \r
+    {0x69, 0x20},    \r
+    {0x6A, 0xC8},    \r
+    {0x6B, 0xC4},    \r
+    {0x6C, 0x84},    \r
+    {0x6D, 0x04},    \r
+    {0x6E, 0x0C},    \r
+    {0x6F, 0x00},    \r
+\r
+\r
+    //Edge                                    \r
+    {0x80, 0xa2},    \r
+    {0x81, 0x10},    \r
+    {0x82, 0x10},    \r
+    {0x83, 0x04},    \r
+    {0x84, 0x0a},    \r
+    {0x85, 0x06},    \r
+    {0x86, 0x00},    \r
+    {0x87, 0x04},    \r
+    {0x88, 0x0a},    \r
+    {0x89, 0x06},    \r
+    {0x8a, 0x10},    \r
+    {0x8b, 0x30},    \r
+    {0x8c, 0x30},    \r
+    {0X90, 0x16},    \r
+    {0x91, 0x03},    \r
+    {0x93, 0xE0},    \r
+\r
+    //Cr/Cb Coring                            \r
+    {0x94, 0x00},    \r
+    {0x95, 0x00},    \r
+    {0x96, 0x4c},    \r
+    {0x97, 0x66},    \r
+    {0x9A, 0xf5},    \r
+    {0xA1, 0x08},    \r
+    {0xA2, 0x10},    \r
+    {0xA3, 0x16},    \r
+    {0xA4, 0x14},    \r
+    {0xA5, 0x18},    \r
+    {0xA6, 0xa0},    \r
+    {0xA7, 0x06},    \r
+    {0xA8, 0x40},    \r
+                                              \r
+    {0xA9, 0x20},    \r
+    {0xAA, 0x28},    \r
+    {0xAc, 0xff},    \r
+    {0xAd, 0x09},    \r
+    {0xAe, 0x18},    \r
+    {0xAf, 0x18},    \r
+                                              \r
+    {0xB2, 0x24},    \r
+    {0xB3, 0x54},    \r
+    {0xB6, 0x08},    \r
+                                            \r
+    //Color Saturation                        \r
+    {0xBC, 0x10},    \r
+    {0xBD, 0x10},    \r
+    {0xBE, 0x10},    \r
+    {0xBF, 0x10},    \r
+    {0xc2, 0x12},    \r
+    {0xc3, 0x12},    \r
+                                              \r
+    //IDP 3                                   \r
+    {0x00, 0x05},    \r
+                                              \r
+    //Memory                                  \r
+    {0x40, 0x15},    \r
+    {0x41, 0x28},    \r
+    {0x42, 0x04},    \r
+    {0x43, 0x15},    \r
+    {0x44, 0x28},    \r
+    {0x45, 0x04},    \r
+    {0x46, 0x15},    \r
+    {0x47, 0x28},    \r
+    {0x48, 0x04},    \r
+                                              \r
+    //Knee                                    \r
+    {0x90, 0x00}, // \r
+    {0x91, 0x00}, //k\r
+    {0x92, 0x00}, //k\r
+    {0x93, 0x00}, //K\r
+    {0x94, 0x00}, //[\r
+    {0x95, 0x00}, //k\r
+    {0x96, 0x00}, //k\r
+                                              \r
+    //ADG                                     \r
+    #if 0                                     \r
+    {0x99, 0xC0},    \r
+    {0xA0, 0x10},    \r
+    {0xA1, 0x22},    \r
+    {0xA2, 0x36},    \r
+    {0xA3, 0x49},    \r
+    {0xA4, 0x5D},    \r
+    {0xA5, 0x70},    \r
+    {0xA6, 0x82},    \r
+    {0xA7, 0x94},    \r
+    {0xA8, 0xA5},    \r
+    {0xA9, 0xB5},    \r
+    {0xAA, 0xC3},    \r
+    {0xAB, 0xD1},    \r
+    {0xAC, 0xDE},    \r
+    {0xAD, 0xEA},    \r
+    {0xAE, 0xF5},    \r
+    {0xAF, 0xFF},    \r
+    //YXGMA                                   \r
+    {0xB0, 0xc0}, //Y\r
+    {0xB1, 0x04}, //Y\r
+    {0xB8, 0x0f}, //D\r
+    {0xB9, 0x10}, //D\r
+    //{0xBA, 0x38}, /\r
+    //{0xBB, 0x39}, /\r
+    {0xC0, 0x03},    \r
+    {0xC1, 0x0E},    \r
+    {0xC2, 0x16},    \r
+    {0xC3, 0x24},    \r
+    {0xC4, 0x3F},    \r
+    {0xC5, 0x56},    \r
+    {0xC6, 0x6A},    \r
+    {0xC7, 0x7C},    \r
+    {0xC8, 0x8C},    \r
+    {0xC9, 0x98},    \r
+    {0xCA, 0xA2},    \r
+    {0xCB, 0xB8},    \r
+    {0xCC, 0xCD},    \r
+    {0xCD, 0xE2},    \r
+    {0xCE, 0xF0},    \r
+    {0xCF, 0xFF},    \r
+   #else                                      \r
+    {0x99, 0x00},    \r
+    {0xA0, 0x00},    \r
+    {0xA1, 0x00},    \r
+    {0xA2, 0x00},    \r
+    {0xA3, 0x00},    \r
+    {0xA4, 0x00},    \r
+    {0xA5, 0x00},    \r
+    {0xA6, 0x00},    \r
+    {0xA7, 0x00},    \r
+    {0xA8, 0x00},    \r
+    {0xA9, 0x00},    \r
+    {0xAA, 0x00},    \r
+    {0xAB, 0x00},    \r
+    {0xAC, 0x00},    \r
+    {0xAD, 0x00},    \r
+    {0xAE, 0x00},    \r
+    {0xAF, 0x00},    \r
+                                              \r
+    //YXGMA                                   \r
+    {0xB0, 0x00}, //Y\r
+    {0xB1, 0x00}, //Y\r
+    {0xB8, 0x00}, //D\r
+    {0xB9, 0x00}, //D\r
+    //{0xBA, 0x38}, /\r
+    //{0xBB, 0x39}, /\r
+    {0xC0, 0x00},    \r
+    {0xC1, 0x00},    \r
+    {0xC2, 0x00},    \r
+    {0xC3, 0x00},    \r
+    {0xC4, 0x00},    \r
+    {0xC5, 0x00},    \r
+    {0xC6, 0x00},    \r
+    {0xC7, 0x00},    \r
+    {0xC8, 0x00},    \r
+    {0xC9, 0x00},    \r
+    {0xCA, 0x00},    \r
+    {0xCB, 0x00},    \r
+    {0xCC, 0x00},    \r
+    {0xCD, 0x00},    \r
+    {0xCE, 0x00},    \r
+    {0xCF, 0x00},    \r
+    {0xe0, 0x01},    \r
+    {0xe1, 0x03},    \r
+    {0xe2, 0x04},    \r
+    {0xe3, 0x0c},    \r
+    {0xe4, 0x11},    \r
+    {0xe5, 0x16},    \r
+    {0xe6, 0x1b},    \r
+    {0xe7, 0x24},    \r
+    {0xe8, 0x30},    \r
+  #endif                                      \r
+    //Sensor on                               \r
+       {0x00,  0x00}, \r
+       {0x03,  0xc5}, \r
+       {0x00,  0x01}, \r
+       {0x10,  0x84}, \r
+       {0x00,  0x02}, \r
+       {0x10,  0xd3}, \r
+       {0xff,  0xff},                            \r
+  \r
+\r
+#endif\r
 };\r
 \r
 /* 1600X1200 UXGA */\r
@@ -1188,7 +1897,7 @@ static struct reginfo sensor_Zoom3[] =
 };\r
 static struct reginfo *sensor_ZoomSeqe[] = {sensor_Zoom0, sensor_Zoom1, sensor_Zoom2, sensor_Zoom3, NULL,};\r
 #endif\r
-static const struct v4l2_querymenu sensor_menus[] =\r
+static  struct v4l2_querymenu sensor_menus[] =\r
 {\r
        #if CONFIG_SENSOR_WhiteBalance\r
     { .id = V4L2_CID_DO_WHITE_BALANCE,  .index = 0,  .name = "auto",  .reserved = 0, }, {  .id = V4L2_CID_DO_WHITE_BALANCE,  .index = 1, .name = "incandescent",  .reserved = 0,},\r
@@ -1516,6 +2225,7 @@ static int sensor_write(struct i2c_client *client, u8 reg, u8 val)
     //buf[0] = reg >> 8;\r
     buf[0] = reg & 0xFF;\r
     buf[1] = val;\r
+       //printk("%s----%d-----\n",__func__,__LINE__);\r
 \r
     msg->addr = client->addr;\r
     msg->flags = client->flags;\r
@@ -1540,7 +2250,7 @@ static int sensor_write(struct i2c_client *client, u8 reg, u8 val)
 \r
     return err;\r
 }\r
-\r
+#if 0\r
 /* sensor register read */\r
 static int sensor_read(struct i2c_client *client, u8 reg, u8 *val)\r
 {\r
@@ -1581,7 +2291,7 @@ static int sensor_read(struct i2c_client *client, u8 reg, u8 *val)
 \r
     return err;\r
 }\r
-\r
+#endif\r
 /* write a array of registers  */\r
 static int sensor_write_array(struct i2c_client *client, struct reginfo *regarray)\r
 {\r
@@ -1767,6 +2477,7 @@ static int sensor_init(struct v4l2_subdev *sd, u32 val)
         goto sensor_INIT_ERR;\r
     }\r
 #endif\r
+\r
     ret = sensor_write_array(client, sensor_init_data);\r
     if (ret != 0)\r
     {\r