summaryrefslogtreecommitdiff
path: root/drivers/media/video/wmt_v4l2/sensors/gc2035
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /drivers/media/video/wmt_v4l2/sensors/gc2035
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'drivers/media/video/wmt_v4l2/sensors/gc2035')
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-3nod.h1024
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-781a.h1027
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-8335c.h899
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-forfun-v91.h1105
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-htr_t75v.h1040
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-jmt781.h954
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-kyt110_v7.h1042
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-mid8-wms8368.h1025
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb352a_v7.h914
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb357a_v7.h914
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-shutter.c441
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-tvboxh2-ori.h1064
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-v7_maz7z233.h1105
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-xhb_gbeffz2743l.h1023
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1426.h954
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1547a-tp785.h1030
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.c390
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.h1105
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid10_hl_pc1089.h1158
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid13_hl_pc1388.h1152
20 files changed, 19366 insertions, 0 deletions
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-3nod.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-3nod.h
new file mode 100755
index 00000000..b8057c96
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-3nod.h
@@ -0,0 +1,1024 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x75,//78 cyrille
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x75,//y_target 84
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0xdc,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x38,//saturation_cb//34 cyrille
+ 0xd2,0x38,//saturation_Cr//34 cyrille
+ 0xd3,0x40,//contrast ?
+ 0xd4,0x80,//contrast center
+ 0xd5,0x00,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1f,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x45,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-781a.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-781a.h
new file mode 100755
index 00000000..c6fbc88f
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-781a.h
@@ -0,0 +1,1027 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x05,//level1
+ 0x2a,0xdc,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0x59,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x3d, //Green_cc for d//40 ary
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x34,//saturation_cb
+ 0xd2,0x34,//saturation_Cr
+ 0xd3,0x3e,//contrast ? {{0xd4},{0x80}},//contrast center //40 ary
+ 0xd5,0xf6,//luma_offset //f8 ary
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1f,//dn_b_base//1c ary
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x45,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+ 0xad,0x7d,//ary
+ 0xae,0x80,
+ 0xaf,0x80,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-8335c.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-8335c.h
new file mode 100755
index 00000000..8fe749eb
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-8335c.h
@@ -0,0 +1,899 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+#define GC2035_I2C_ADDR 0x3c
+
+#define gc2035_read_reg(r) wmt_vid_i2c_read(GC2035_I2C_ADDR, r)
+
+#define gc2035_write_reg(r, d) wmt_vid_i2c_write(GC2035_I2C_ADDR, r, d)
+
+#define gc2035_write_array(a) \
+do { \
+ cmos_init_8bit_addr(a, ARRAY_SIZE(a), GC2035_I2C_ADDR); \
+} while (0)
+
+
+// Scene Mode
+unsigned char gc2035_scene_mode_auto[] = {
+0xfe,0x01,
+0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+0xfe,0x00,
+};
+
+unsigned char gc2035_scene_mode_night[] = {
+0xfe, 0x01,
+0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+0xfe, 0x00,
+};
+
+
+// White Balance
+unsigned char gc2035_wb_auto [] = {
+0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+0x82, 0xfe,
+};
+
+unsigned char gc2035_wb_incandescent [] = {
+0xfe, 0x00,
+0x82, 0xfc,
+0xb3, 0x50,
+0xb4, 0x40,
+0xb5, 0xa8,
+};
+
+unsigned char gc2035_wb_fluorescent [] = {
+0xfe, 0x00,
+0x82, 0xfc,
+0xb3, 0xa0,
+0xb4, 0x45,
+0xb5, 0x40,
+};
+
+unsigned char gc2035_wb_daylight [] = {
+0xfe, 0x00,
+0x82, 0xfc,
+0xb3, 0x78,
+0xb4, 0x40,
+0xb5, 0x50,
+};
+
+unsigned char gc2035_wb_cloudy [] = {
+0xfe, 0x00,
+0x82, 0xfc,
+0xb3, 0x58,
+0xb4, 0x40,
+0xb5, 0x50,
+};
+
+
+// Exposure
+unsigned char gc2035_exposure_neg6[] = {
+0xfe, 0x01,
+0x13, 0x68,
+0xfe, 0x02,
+0xd5, 0xe0,
+0xfe, 0x00,
+};
+
+unsigned char gc2035_exposure_neg3[] = {
+0xfe, 0x01,
+0x13, 0x70,
+0xfe, 0x02,
+0xd5, 0xf0,
+0xfe, 0x00,
+};
+
+unsigned char gc2035_exposure_zero[] = {
+0xfe, 0x01,
+0x13, 0x78,
+0xfe, 0x02,
+0xd5, 0x00,
+0xfe, 0x00,
+};
+
+unsigned char gc2035_exposure_pos3[] = {
+0xfe, 0x01,
+0x13, 0x80,
+0xfe, 0x02,
+0xd5, 0x10,
+0xfe, 0x00,
+};
+
+unsigned char gc2035_exposure_pos6[] = {
+0xfe, 0x01,
+0x13, 0x88,
+0xfe, 0x02,
+0xd5, 0x20,
+0xfe, 0x00,
+};
+
+
+// Resolution
+unsigned char gc2035_1600x1200_key[]={
+0xfe,0x00,
+0x0c,0x02,
+
+0x0d,0x04,
+0x0e,0xc0,
+0x0f,0x06,
+0x10,0x58,
+
+0x90,0x01,
+0x99,0x11,
+0x95,0x04,
+0x96,0xb0,
+0x97,0x06,
+0x98,0x40,
+0x99,0x11,
+
+0xc8,0x00,
+0xfa,0x11,
+0xfe,0x03,
+0x42,0x80,
+0x43,0x06,
+0x41,0x00,
+0x40,0x00,
+0x17,0x01,
+0xfe,0x00,
+0xc8,0x00,
+};
+
+unsigned char gc2035_640x480_key[]={
+0xfe,0x00,
+0x0c,0x00,
+0x0d,0x04,
+0x0e,0xc0,
+0x0f,0x06,
+0x10,0x58,
+
+0x90,0x01,
+0x99,0x11,
+0x95,0x01,
+0x96,0xe0,
+0x97,0x02,
+0x98,0x80,
+0xc8,0x15,
+0xfa,0x00,
+0xfe,0x03,
+0x42,0x00,
+0x43,0x05,
+0x41,0x02,
+0x40,0x40,
+0x17,0x00,
+0xfe,0x00,
+0xc8,0x55,
+0xb6,0x03,
+};
+
+unsigned char gc2035_640x480[]={
+0xfe,0x80,
+0xfe,0x80,
+0xfe,0x80,
+0xfc,0x06,
+0xf9,0xfe,
+0xfa,0x00,
+0xf6,0x00,
+0xf7,0x17,
+0xf8,0x00,
+0xfe,0x00,
+0x82,0x00,
+0xb3,0x60,
+0xb4,0x40,
+0xb5,0x60,
+0x03,0x05,
+0x04,0x08,
+0xfe,0x00,
+0xec,0x04,
+0xed,0x04,
+0xee,0x60,
+0xef,0x90,
+0x0c,0x00,
+0x0d,0x04,
+0x0e,0xc0,
+0x0f,0x06,
+0x10,0x58,
+0x17,0x14,
+0x18,0x0a,
+0x19,0x0a,
+0x1a,0x01,
+0x1b,0x8b,
+0x1c,0x05,
+0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+0x1f,0x08, //[3] tx-low en//
+0x20,0x05, //[0]adclk mode,0x[1]rowclk_MODE [2]rsthigh_en
+0x21,0x0f, //[6:4]rsg
+0x22,0xd0, //[3:0]vref
+0x23,0xc3, //f3//ADC_r
+0x24,0x17, //pad drive 16
+
+ //AEC
+0xfe,0x01,
+0x11,0x20,//AEC_out_slope,0x
+0x1f,0xc0,//max_post_gain
+0x20,0x60,//max_pre_gain
+0x47,0x30,//AEC_outdoor_th
+0x0b,0x10,//
+0x13,0x75,//y_target
+0xfe,0x00,
+
+
+0x05,0x01,//hb
+0x06,0x11,
+0x07,0x00,//vb
+0x08,0x50,
+0xfe,0x01,
+0x27,0x00,//step
+0x28,0xa0,
+0x29,0x05,//level1
+0x2a,0x00,
+0x2b,0x05,//level2
+0x2c,0x00,
+0x2d,0x06,//6e8//level3
+0x2e,0xe0,
+0x2f,0x0b,//level4
+0x30,0x40,
+0x3e,0x40,
+0xfe,0x00,
+0xb6,0x03,
+0xfe,0x00,
+0x3f,0x00,
+0x40,0x77,
+0x42,0x7f,
+0x43,0x30,
+0x5c,0x08,
+0x5e,0x20,
+0x5f,0x20,
+0x60,0x20,
+0x61,0x20,
+0x62,0x20,
+0x63,0x20,
+0x64,0x20,
+0x65,0x20,
+0x66,0x20,
+0x67,0x20,
+0x68,0x20,
+0x69,0x20,
+0x90,0x01,
+0x95,0x04,
+0x96,0xb0,
+0x97,0x06,
+0x98,0x40,
+0xfe,0x03,
+0x42,0x80,
+0x43,0x06,
+0x41,0x00,
+0x40,0x00,
+0x17,0x01,
+0xfe,0x00,
+0x80,0xff,
+0x81,0x26,
+0x03,0x05,
+0x04,0x2e,
+0x84,0x02,
+0x86,0x02,
+0x87,0x80,
+0x8b,0xbc,
+0xa7,0x80,
+0xa8,0x80,
+0xb0,0x80,
+0xc0,0x40,
+//LSC
+0xfe,0x01,
+0xc2,0x38,
+0xc3,0x25,
+0xc4,0x21,
+0xc8,0x19,
+0xc9,0x12,
+0xca,0x0e,
+0xbc,0x43,
+0xbd,0x18,
+0xbe,0x1b,
+0xb6,0x40,
+0xb7,0x2e,
+0xb8,0x26,
+0xc5,0x05,
+0xc6,0x03,
+0xc7,0x04,
+0xcb,0x00,
+0xcc,0x00,
+0xcd,0x00,
+0xbf,0x14,
+0xc0,0x22,
+0xc1,0x1b,
+0xb9,0x00,
+0xba,0x05,
+0xbb,0x05,
+0xaa,0x35,
+0xab,0x33,
+0xac,0x33,
+0xad,0x25,
+0xae,0x22,
+0xaf,0x27,
+0xb0,0x1d,
+0xb1,0x20,
+0xb2,0x22,
+0xb3,0x14,
+0xb4,0x15,
+0xb5,0x16,
+0xd0,0x00,
+0xd2,0x07,
+0xd3,0x08,
+0xd8,0x00,
+0xda,0x13,
+0xdb,0x17,
+0xdc,0x00,
+0xde,0x0a,
+0xdf,0x08,
+0xd4,0x00,
+0xd6,0x00,
+0xd7,0x0c,
+0xa4,0x00,
+0xa5,0x00,
+0xa6,0x00,
+0xa7,0x00,
+0xa8,0x00,
+0xa9,0x00,
+0xa1,0x80,
+0xa2,0x80,
+
+ //=================================cc
+0xfe,0x02,
+0xc0,0x01,
+0xc1,0x40, //Green_cc for d
+0xc2,0xfc,
+0xc3,0x05,
+0xc4,0xec,
+0xc5,0x42,
+0xc6,0xf8,
+0xc7,0x40,//for cwf
+0xc8,0xf8,
+0xc9,0x06,
+0xca,0xfd,
+0xcb,0x3e,
+0xcc,0xf3,
+0xcd,0x36,//for A
+0xce,0xf6,
+0xcf,0x04,
+0xe3,0x0c,
+0xe4,0x44,
+0xe5,0xe5,
+0xfe,0x00,
+
+//==============================awb
+ //AWB clear
+0xfe,0x01,
+0x4f,0x00,
+0x4d,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x10, // 10
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x20, // 20
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x30,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00, // 30
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x40, // 40
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x50, // 50
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x60, // 60
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x70, // 70
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x80, // 80
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0x90, // 90
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0xa0, // a0
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0xb0, // b0
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0xc0, // c0
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4d,0xd0, // d0
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4e,0x00,
+0x4f,0x01,
+ /////// awb value////////
+0xfe,0x01,
+0x4f,0x00,
+0x4d,0x30,
+0x4e,0x00,
+0x4e,0x80,
+0x4e,0x80,
+0x4e,0x02,
+0x4e,0x02,
+0x4d,0x40,
+0x4e,0x00,
+0x4e,0x80,
+0x4e,0x80,
+0x4e,0x02,
+0x4e,0x02,
+0x4e,0x02,
+0x4d,0x53,
+0x4e,0x08,
+0x4e,0x04,
+0x4d,0x62,
+0x4e,0x10,
+0x4d,0x72,
+0x4e,0x20,
+0x4f,0x01,
+
+/////awb////
+0xfe,0x01,
+0x50,0x88,//c0//[6]green mode
+0x52,0x40,
+0x54,0x60,
+0x56,0x06,
+0x57,0x20, //pre adjust
+0x58,0x01,
+0x5b,0x02, //AWB_gain_delta
+0x61,0xaa,//R/G stand
+0x62,0xaa,//R/G stand
+0x71,0x00,
+0x74,0x10,//AWB_C_max
+0x77,0x08, // 0x//AWB_p2_x
+0x78,0xfd, //AWB_p2_y
+0x86,0x30,
+0x87,0x00,
+0x88,0x04,//06,[1]dark mode
+0x8a,0xc0,//awb move mode
+0x89,0x75,
+0x84,0x08,//auto_window
+0x8b,0x00, // 0x//awb compare luma
+0x8d,0x70, //awb gain limit R
+0x8e,0x70,//G
+0x8f,0xf4,//B
+0xfe,0x00,
+0x82,0x02,//awb_en
+
+0xfe,0x01,
+0x21,0xbf,
+0xfe,0x02,
+0xa4,0x00,//
+0xa5,0x40, //lsc_th
+0xa2,0xa0, //lsc_dec_slope
+0xa6,0x80, //dd_th
+0xa7,0x80, //ot_th
+0xab,0x31, //
+0xa9,0x6f, //
+0xb0,0x99, //0x//edge effect slope low
+0xb1,0x34,//edge effect slope low
+0xb3,0x80, //saturation dec slope
+0xde,0xb6, //
+0x38,0x0f, //
+0x39,0x60, //
+0xfe,0x00,
+0x81,0x26,
+0xfe,0x02,
+0x83,0x00,//
+0x84,0x45,//
+ ////////////YCP//////////
+0xd1,0x40,//saturation_cb
+0xd2,0x40,//saturation_Cr
+0xd3,0x40,//contrast ?
+0xd4,0x80,//contrast center
+0xd5,0x00,//luma_offset
+0xdc,0x30,
+0xdd,0xb8,
+0xfe,0x00,
+//gamma
+0xfe,0x02,
+0x88,0x15,//dn_b_base
+0x8c,0xf6, //[2]b_in_dark_inc
+0x89,0x03, //dn_c_weight
+ ////////EE ///////////
+0xfe,0x02,
+0x90,0x6c,// EEINTP mode1
+0x97,0x45,// edge effect
+ ////==============RGB Gamma
+0xfe,0x02,
+0x15,0x0a,
+0x16,0x12,
+0x17,0x19,
+0x18,0x1f,
+0x19,0x2c,
+0x1a,0x38,
+0x1b,0x42,
+0x1c,0x4e,
+0x1d,0x63,
+0x1e,0x76,
+0x1f,0x87,
+0x20,0x96,
+0x21,0xa2,
+0x22,0xb8,
+0x23,0xca,
+0x24,0xd8,
+0x25,0xe3,
+0x26,0xf0,
+0x27,0xf8,
+0x28,0xfd,
+0x29,0xff,
+
+ ///=================y gamma
+0xfe,0x02,
+0x2b,0x00,
+0x2c,0x04,
+0x2d,0x09,
+0x2e,0x18,
+0x2f,0x27,
+0x30,0x37,
+0x31,0x49,
+0x32,0x5c,
+0x33,0x7e,
+0x34,0xa0,
+0x35,0xc0,
+0x36,0xe0,
+0x37,0xff,
+0xfe,0x00,
+
+0xfe,0x00,
+0x82,0xfe,
+0xf2,0x70,
+0xf3,0xff,
+0xf4,0x00,
+0xf5,0x30,
+
+0xfe,0x00,
+0x90,0x01,
+0x95,0x01,
+0x96,0xe0,
+0x97,0x02,
+0x98,0x80,
+0xc8,0x14,
+0xf7,0x11,
+0xf8,0x85,
+0xfa,0x00,
+0x05,0x01,
+0x06,0x0a,
+0x07,0x00,
+0x08,0x58,
+0xfe,0x01,
+0x27,0x00,
+0x28,0xa1,
+0x29,0x05,
+0x2a,0x08,
+0x2b,0x05,
+0x2c,0x08,
+0x2d,0x06,
+0x2e,0xeb,
+0x3e,0x40,
+0xfe,0x03,
+0x42,0x04,
+0x43,0x05,
+0x41,0x02,
+0x40,0x40,
+0x17,0x00,
+0xfe,0x00,
+0xc8,0x55,
+};
+
+unsigned char gc2035_1280x720[]={
+0xfe,0x00,
+0x0a,0xf0,
+0x0c,0xa0,
+0x0d,0x02,
+0x0e,0xd8,
+0x0f,0x05,
+0x10,0x18,
+0xfe,0x00,
+0xec,0x04,
+0xed,0x04,
+0xee,0x50,
+0xef,0x58,
+0x05,0x01,
+0x06,0xaa,
+0x07,0x00,
+0x08,0xf6,
+0xfe,0x01,
+0x27,0x00,
+0x28,0xa1,
+0x29,0x03,
+0x2a,0xc6,
+0x2b,0x04,
+0x2c,0x67,
+0x2d,0x06,
+0x2e,0x4a,
+0x2f,0x07,
+0x30,0x8c,
+0x3e,0x40,
+0xfe,0x00,
+0xb6,0x03,
+0xec,0x04,
+0xed,0x04,
+0xee,0x50,
+0xef,0x58,
+0x99,0x11,
+0x90,0x01,
+0x95,0x02,
+0x96,0xd0,
+0x97,0x05,
+0x98,0x00,
+0xfe,0x03,
+0x42,0x80,
+0x43,0x06,
+0x41,0x00,
+0x40,0x00,
+0x17,0x01,
+0xfe,0x00,
+0xc8,0x00,
+0xfa,0x11,
+};
+
+unsigned char gc2035_320x240[]={
+0xfe,0x00,
+
+
+0x99,0x22,
+0x9b,0x00,
+0x9f,0x00,
+
+
+0x90,0x01,
+
+0x95,0x00,
+0x96,0xf2,//600
+0x97,0x01,
+0x98,0x40,//800
+
+0xc8,0x15,
+0xf7,0x11,
+0xfe,0x03,
+0x42,0x80,
+0x43,0x02,
+0x41,0x02,
+0x40,0x40,
+0x17,0x00,
+0xfe,0x00,
+0xc8,0x54,
+};
+
+unsigned char gc2035_176x144[]={
+0xfe,0x00,
+
+
+0x99,0x33,
+0x9b,0x00,
+0x9f,0x00,
+0x90,0x01,
+
+
+
+0x95,0x00,
+0x96,0x92,//600
+0x97,0x00,
+0x98,0xb0,//800
+
+
+
+
+0xc8,0x15,
+0xf7,0x11,
+
+
+0xfe,0x03,
+0x42,0x60,
+0x43,0x01,
+0x41,0x02,
+0x40,0x40,
+0x17,0x00,
+0xfe,0x00,
+0xc8,0x54,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-forfun-v91.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-forfun-v91.h
new file mode 100755
index 00000000..42e399ad
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-forfun-v91.h
@@ -0,0 +1,1105 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_auto[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_50hz[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+
+
+};
+
+uint8_t gc2035_antibanding_60hz[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_off[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0xdc,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x40,//saturation_cb//34 cyrille
+ 0xd2,0x40,//saturation_Cr//34 cyrille
+ 0xd3,0x44,//contrast ? //40 cyrille
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1c,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x67,// edge effect//45 cyrille
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-htr_t75v.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-htr_t75v.h
new file mode 100755
index 00000000..0a01437f
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-htr_t75v.h
@@ -0,0 +1,1040 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+ 0xf7,0x15,
+ 0xf8,0x85,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+ 0xf7,0x15,
+ 0xf8,0x85,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+ 0xf7,0x15,
+ 0xf8,0x84,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xf8,0x85,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+ 0xf7,0x15,
+ 0xf8,0x85,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+ 0xf7,0x15,
+ 0xf8,0x85,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x85,//84
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+#if 0 // max fr: 10fps
+ 0x03,0x02,
+ 0x04,0x71,
+#endif
+#if 1 // max fr: 12.5fps
+ 0x03,0x02,
+ 0x04,0x80,
+#endif
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+#if 1 // max fr: 12.5fps
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0x40,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+#if 0 // max fr: 10fps
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0xdc,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+#endif
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x34,//saturation_cb
+ 0xd2,0x34,//saturation_Cr
+ 0xd3,0x40,//contrast ? {{0xd4},{0x80}},//contrast center
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1c,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x45,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-jmt781.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-jmt781.h
new file mode 100755
index 00000000..3a513bf1
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-jmt781.h
@@ -0,0 +1,954 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x60,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x00,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x8a,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x90,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf9,0xfe,
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x17,
+ 0xf8,0x00,
+ 0xfe,0x00,
+ 0x82,0x00,
+ //0xb3,0x60,//close manual WB 2013.0723
+ //0xb4,0x40,
+ //0xb5,0x60,
+ 0x03,0x05,
+ 0x04,0x08,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x60,
+ 0xef,0x90,
+ 0x0c,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+ 0x17,0x14,
+ 0x18,0x0a,
+ 0x19,0x0a,
+ 0x1a,0x01,
+ 0x1b,0x8b,
+ 0x1c,0x05,
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode,0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xd0, //[3:0]vref
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+ //AEC
+ 0xfe,0x01,
+ 0x0c,0x01,
+ 0x11,0x20,//AEC_out_slope,0x
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x88,//y_target
+ 0xfe,0x00,
+
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0x00,
+ 0x2f,0x0b,//level4
+ 0x30,0x40,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xfe,0x00,
+ 0x3f,0x00,
+ 0x40,0x77,
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+ 0x66,0x20,
+ 0x67,0x20,
+ 0x68,0x20,
+ 0x69,0x20,
+ 0x90,0x01,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0x80,0xff,
+ 0x81,0x26,
+ 0x03,0x05,
+ 0x04,0x2e,
+ 0x84,0x02,
+ 0x86,0x02,
+ 0x87,0x80,
+ 0x8b,0xbc,
+ 0xa7,0x80,
+ 0xa8,0x80,
+ 0xb0,0x80,
+ 0xc0,0x40,
+ //LSC
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ //=================================cc
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ //==============================awb
+ //AWB clear
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ /////// awb value////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ /////awb////
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10,//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06,[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08,//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+
+ 0xfe,0x01,
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x24,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////////////YCP//////////
+ 0xd1,0x40,// 40 saturation_cb
+ 0xd2,0x40,//40 saturation_Cr
+
+ 0xaf,0x7e,
+
+
+ 0xd3,0x40,//3ccontrast ? 40 2013-7-22 dustin
+ 0xd4,0x80,//contrast center
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,
+ 0xfe,0x00,
+ //gamma
+ 0xfe,0x02,
+ 0x88,0x1f,//dn_b_base 15 2013-7-22 dustin
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x02, //dn_c_weight 03 2013-7-22 dustin
+ ////////EE ///////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x9a,//78 edge effect
+ ////==============RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ ///=================y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ 0xfe,0x00,
+
+ 0xfe,0x00,
+ 0x82,0xfe,
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ 0xfe,0x00,
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ 0xc8,0x14,
+ 0xf7,0x11,
+ 0xf8,0x85,
+ 0xfa,0x00,
+ 0x05,0x01,
+ 0x06,0x0a,
+ 0x07,0x00,
+ 0x08,0x58,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x05,
+ 0x2a,0x08,
+ 0x2b,0x05,
+ 0x2c,0x08,
+ 0x2d,0x05,
+ 0x2e,0x08,
+
+ 0x2f,0x05,
+ 0x30,0x08,
+
+ 0x3e,0x40,
+ 0xfe,0x03,
+ 0x42,0x04,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+
+
+#if 0
+ //////// re zao///
+ 0xfe,0x00,
+ 0x22,0xd0,
+ 0xfe,0x01,
+ 0x21,0xff,
+ 0xfe,0x02,
+ 0x8a,0x33,
+ 0x8c,0x76,
+ 0x8d,0x85,
+ 0xa6,0xf0,
+ 0xae,0x9f,
+ 0xa2,0x90,
+ 0xa5,0x40,
+ 0xa7,0x30,
+ 0xb0,0x88,
+ 0x38,0x0b,
+ 0x39,0x30,
+ 0xfe,0x00,
+ 0x87,0xb0,
+
+ /// small RGB gamma////
+
+
+ ///dark sun/////
+ 0xfe , 0x02,
+ 0x40 , 0x06,
+ 0x41 , 0x23,
+ 0x42 , 0x3f,
+ 0x43 , 0x06,
+ 0x44 , 0x00,
+ 0x45 , 0x00,
+ 0x46 , 0x14,
+ 0x47 , 0x09,
+ 0xfe,0x00,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-kyt110_v7.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-kyt110_v7.h
new file mode 100755
index 00000000..522ad251
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-kyt110_v7.h
@@ -0,0 +1,1042 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0xa0,
+ 0xb4, 0x45,
+ 0xb5, 0x40,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0x00,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x17,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+ 0xf7,0x15,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf9,0xfe,
+ 0xfa,0x00,
+ 0xf6,0x00,
+#if 0
+ 0xf7,0x17,
+ 0xf8,0x00,
+#endif
+ 0xf7,0x15,
+ 0xf8,0x84,
+ 0xfe,0x00,
+ 0x82,0x00,
+ //0xb3,0x60,//close manual wb 2013.07.23
+ //0xb4,0x40,
+ //0xb5,0x60,
+ 0x03,0x01,
+ 0x04,0xf4,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x60,
+ 0xef,0x90,
+ 0x0c,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+ 0x17,0x14,
+ 0x18,0x0a,
+ 0x19,0x0a,
+ 0x1a,0x01,
+ 0x1b,0x8b,
+ 0x1c,0x05,
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode,0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xd0, //[3:0]vref
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+ //AEC
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope,0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x60,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x80,//y_target//75
+ 0xfe,0x00,
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0x00,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb 15c
+ 0x06,0x58,
+ 0x07,0x00,//vb
+ 0x08,0x22,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x04,//level2
+ 0x2c,0xe2,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0xdc,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xfe,0x00,
+ 0x3f,0x00,
+ 0x40,0x77,
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+ 0x66,0x20,
+ 0x67,0x20,
+ 0x68,0x20,
+ 0x69,0x20,
+ 0x90,0x01,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0x80,0xff,
+ 0x81,0x26,
+#if 0
+ 0x03,0x05,//
+ 0x04,0x2e,
+#endif
+ 0x03,0x01,//
+ 0x04,0xf4,
+ 0x84,0x02,
+ 0x86,0x02,
+ 0x87,0x80,
+ 0x8b,0xbc,
+ 0xa7,0x80,
+ 0xa8,0x80,
+ 0xb0,0x80,
+ 0xc0,0x40,
+ //LSC
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x22,// 43
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x2e,// 40
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ //=================================cc
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ //==============================awb
+ //AWB clear
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ /////// awb value////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x00,//08
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ /////awb////
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10,//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06,[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08,//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+
+ 0xfe,0x01,
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////////////YCP//////////
+ 0xd1,0x38,//saturation_cb//40
+ 0xd2,0x38,//40 saturation_Cr//46
+
+ 0xaf,0x7e,
+
+
+ 0xd3,0x42,//contrast ?
+ 0xd4,0x80,//contrast center
+ 0xd5,0x00,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,
+ 0xfe,0x00,
+ //gamma
+ 0xfe,0x02,
+ 0x88,0x15,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////////EE ///////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x56,// edge effect//78
+ ////==============RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ ///=================y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ 0xfe,0x00,
+
+ 0xfe,0x00,
+ 0x82,0xfe,
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ 0xfe,0x00,
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ 0xc8,0x14,
+#if 0
+ 0xf7,0x11,
+ 0xf8,0x85,
+#endif
+ 0xf7,0x15,
+ 0xfa,0x00,
+ 0x05,0x01,
+ 0x06,0x58,
+ 0x07,0x00,
+ 0x08,0x22,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0x7d,
+ 0x29,0x04,
+ 0x2a,0xe2,
+ 0x2b,0x04,
+ 0x2c,0xe2,
+ 0x2d,0x05,
+ 0x2e,0xdc,
+
+ 0x2f,0x09,
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x03,
+ 0x42,0x04,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+
+#if 1
+0xfe,0x00,
+0x22,0xd0,
+0xfe,0x01,
+0x21,0xff,
+0xfe,0x02,
+0x8a,0x33,
+0x8c,0x76,
+0x8d,0x85,
+0xa6,0xf0,
+0xae,0x9f,
+0xa2,0x90,
+0xa5,0x40,
+0xa7,0x30,
+0xb0,0x88,
+0x38,0x0b,
+0x39,0x30,
+
+0xfe,0x00,
+0x87,0xb0,
+
+0xfe,0x02,
+0x40,0x06,
+0x41,0x23,
+0x42,0x3f,
+0x43,0x06,
+0x44,0x00,
+0x45,0x00,
+0x46,0x14,
+0x47,0x09,
+
+
+0xfe,0x00,
+0x18,0x0a,
+0x40,0x73,///use ndark
+0x41,0x0b,///BLK row select
+0x5e,0x14,
+0x5f,0x14,
+0x60,0x14,
+0x61,0x14,
+
+0x62,0x14,
+0x63,0x14,
+0x64,0x14,
+0x65,0x14,
+
+0x66,0x1d,
+0x67,0x1d,
+0x68,0x1d,
+0x69,0x1d,
+#endif
+
+#if 0
+///////////////20130628//////////
+0xfe,0x00,
+0x18,0x0a,
+0x40,0x73,///use ndark
+0x41,0x0b,///BLK row select
+0x5e,0x14,
+0x5f,0x14,
+0x60,0x14,
+0x61,0x14,
+
+0x62,0x14,
+0x63,0x14,
+0x64,0x14,
+0x65,0x14,
+
+0x66,0x1d,
+0x67,0x1d,
+0x68,0x1d,
+0x69,0x1d,
+
+
+/////////RGB gamma/////////
+0xfe,0x02,
+0x15,0x0b,
+0x16,0x0e,
+0x17,0x10,
+0x18,0x12,
+0x19,0x19,
+0x1a,0x21,
+0x1b,0x29,
+0x1c,0x31,
+0x1d,0x41,
+0x1e,0x50,
+0x1f,0x5f,
+0x20,0x6d,
+0x21,0x79,
+0x22,0x91,
+0x23,0xa5,
+0x24,0xb9,
+0x25,0xc9,
+0x26,0xe1,
+0x27,0xee,
+0x28,0xf7,
+0x29,0xff,
+0xfe,0x00,
+#endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-mid8-wms8368.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-mid8-wms8368.h
new file mode 100755
index 00000000..e75394ac
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-mid8-wms8368.h
@@ -0,0 +1,1025 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,// 78 cyrille
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,///80 cyrille
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x90,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x0c,0x21,// cyrille
+ 0x13,0x78,//y_target 84//78 cyrille
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#else
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0x59,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+#endif
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x44, //Green_cc for d//40 cyrille
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x00,//04 cyrille
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x39,//saturation_cb
+ 0xd2,0x39,//saturation_Cr
+ 0xd3,0x42,//contrast ?
+ 0xd4,0x80,//contrast center
+ 0xd5,0x00,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x15,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x56,// edge effect//45 cyrille
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 0
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb352a_v7.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb352a_v7.h
new file mode 100755
index 00000000..f338be3c
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb352a_v7.h
@@ -0,0 +1,914 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0xa0,
+ 0xb4, 0x45,
+ 0xb5, 0x40,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0x00,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x17,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf9,0xfe,
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x17,
+ 0xf8,0x00,
+ 0xfe,0x00,
+ 0x82,0x00,
+ //0xb3,0x60,//close manual wb 2013.07.23
+ //0xb4,0x40,
+ //0xb5,0x60,
+ 0x03,0x05,
+ 0x04,0x08,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x60,
+ 0xef,0x90,
+ 0x0c,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+ 0x17,0x14,
+ 0x18,0x0a,
+ 0x19,0x0a,
+ 0x1a,0x01,
+ 0x1b,0x8b,
+ 0x1c,0x05,
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode,0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xd0, //[3:0]vref
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+ //AEC
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope,0x
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x75,//y_target
+ 0xfe,0x00,
+
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0x00,
+ 0x2f,0x0b,//level4
+ 0x30,0x40,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xfe,0x00,
+ 0x3f,0x00,
+ 0x40,0x77,
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+ 0x66,0x20,
+ 0x67,0x20,
+ 0x68,0x20,
+ 0x69,0x20,
+ 0x90,0x01,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0x80,0xff,
+ 0x81,0x26,
+ 0x03,0x05,
+ 0x04,0x2e,
+ 0x84,0x02,
+ 0x86,0x02,
+ 0x87,0x80,
+ 0x8b,0xbc,
+ 0xa7,0x80,
+ 0xa8,0x80,
+ 0xb0,0x80,
+ 0xc0,0x40,
+ //LSC
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ //=================================cc
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ //==============================awb
+ //AWB clear
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ /////// awb value////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ /////awb////
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10,//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06,[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08,//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+
+ 0xfe,0x01,
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////////////YCP//////////
+ 0xd1,0x40,//saturation_cb
+ 0xd2,0x46,//40 saturation_Cr
+
+ 0xaf,0x7e,
+
+
+ 0xd3,0x48,//contrast ? 40 2013-7-22 dustin
+ 0xd4,0x80,//contrast center
+ 0xd5,0x00,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,
+ 0xfe,0x00,
+ //gamma
+ 0xfe,0x02,
+ 0x88,0x1f,//dn_b_base 15 2013-7-22 dustin
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x02, //dn_c_weight 03 2013-7-22 dustin
+ ////////EE ///////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x78,// edge effect
+ ////==============RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ ///=================y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ 0xfe,0x00,
+
+ 0xfe,0x00,
+ 0x82,0xfe,
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ 0xfe,0x00,
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ 0xc8,0x14,
+ 0xf7,0x11,
+ 0xf8,0x85,
+ 0xfa,0x00,
+ 0x05,0x01,
+ 0x06,0x0a,
+ 0x07,0x00,
+ 0x08,0x58,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x05,
+ 0x2a,0x08,
+ 0x2b,0x05,
+ 0x2c,0x08,
+ 0x2d,0x05,
+ 0x2e,0x08,
+
+ 0x2f,0x05,
+ 0x30,0x08,
+
+ 0x3e,0x40,
+ 0xfe,0x03,
+ 0x42,0x04,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb357a_v7.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb357a_v7.h
new file mode 100755
index 00000000..eb5759f7
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-rb357a_v7.h
@@ -0,0 +1,914 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0xa0,
+ 0xb4, 0x45,
+ 0xb5, 0x40,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0x00,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x17,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf9,0xfe,
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x17,
+ 0xf8,0x00,
+ 0xfe,0x00,
+ 0x82,0x00,
+ //0xb3,0x60,////close manual wb 2013.07.23
+ //0xb4,0x40,
+ //0xb5,0x60,
+ 0x03,0x05,
+ 0x04,0x08,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x60,
+ 0xef,0x90,
+ 0x0c,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+ 0x17,0x14,
+ 0x18,0x0a,
+ 0x19,0x0a,
+ 0x1a,0x01,
+ 0x1b,0x8b,
+ 0x1c,0x05,
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode,0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xd0, //[3:0]vref
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+ //AEC
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope,0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x60,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x75,//y_target
+ 0xfe,0x00,
+
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0x00,
+ 0x2f,0x0b,//level4
+ 0x30,0x40,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xfe,0x00,
+ 0x3f,0x00,
+ 0x40,0x77,
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+ 0x66,0x20,
+ 0x67,0x20,
+ 0x68,0x20,
+ 0x69,0x20,
+ 0x90,0x01,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0x80,0xff,
+ 0x81,0x26,
+ 0x03,0x05,
+ 0x04,0x2e,
+ 0x84,0x02,
+ 0x86,0x02,
+ 0x87,0x80,
+ 0x8b,0xbc,
+ 0xa7,0x80,
+ 0xa8,0x80,
+ 0xb0,0x80,
+ 0xc0,0x40,
+ //LSC
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ //=================================cc
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ //==============================awb
+ //AWB clear
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ /////// awb value////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ /////awb////
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10,//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06,[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08,//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+
+ 0xfe,0x01,
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////////////YCP//////////
+ 0xd1,0x40,//saturation_cb
+ 0xd2,0x46,//40 saturation_Cr
+
+ 0xaf,0x7e,
+
+
+ 0xd3,0x40,//contrast ?
+ 0xd4,0x80,//contrast center
+ 0xd5,0x00,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,
+ 0xfe,0x00,
+ //gamma
+ 0xfe,0x02,
+ 0x88,0x15,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////////EE ///////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x78,// edge effect
+ ////==============RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ ///=================y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ 0xfe,0x00,
+
+ 0xfe,0x00,
+ 0x82,0xfe,
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ 0xfe,0x00,
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ 0xc8,0x14,
+ 0xf7,0x11,
+ 0xf8,0x85,
+ 0xfa,0x00,
+ 0x05,0x01,
+ 0x06,0x0a,
+ 0x07,0x00,
+ 0x08,0x58,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x05,
+ 0x2a,0x08,
+ 0x2b,0x05,
+ 0x2c,0x08,
+ 0x2d,0x05,
+ 0x2e,0x08,
+
+ 0x2f,0x05,
+ 0x30,0x08,
+
+ 0x3e,0x40,
+ 0xfe,0x03,
+ 0x42,0x04,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-shutter.c b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-shutter.c
new file mode 100755
index 00000000..c3c11719
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-shutter.c
@@ -0,0 +1,441 @@
+
+#include "../cmos-subdev.h"
+#include "../../wmt-vid.h"
+#include "gc2035.h"
+
+#define sensor_write_array(sd, arr, sz) \
+ cmos_init_8bit_addr(arr, sz, (sd)->i2c_addr)
+
+#define sensor_read(sd, reg) \
+ wmt_vid_i2c_read(sd->i2c_addr, reg)
+
+#define sensor_write(sd, reg, val) \
+ wmt_vid_i2c_write(sd->i2c_addr, reg, val)
+
+struct cmos_win_size {
+ char *name;
+ int width;
+ int height;
+ uint8_t *regs;
+ size_t size;
+};
+
+#define CMOS_WIN_SIZE(n, w, h, r) \
+ {.name = n, .width = w , .height = h, .regs = r, .size = ARRAY_SIZE(r) }
+
+#define FILP_REG_INIT_VALUE 0x14
+#define DELAY_INTERVAL 50
+#define RETRY_TIMES 10
+static uint32_t Preview_Shutter = 0;
+static uint32_t Capture_Shutter = 0;
+
+static const struct cmos_win_size cmos_supported_win_sizes[] = {
+ //CMOS_WIN_SIZE("QVGA", 320, 240, gc2035_320_240_regs),
+ CMOS_WIN_SIZE("VGA", 640, 480, gc2035_640_480_regs),
+ //CMOS_WIN_SIZE("SVGA", 800, 600, gc2035_800_600_regs),
+ //CMOS_WIN_SIZE("720p", 1280, 720, gc2035_1280_720_regs),
+ CMOS_WIN_SIZE("UXGA", 1600, 1200, gc2035_1600_1200_regs),
+};
+
+static const struct cmos_win_size *cmos_select_win(u32 *width, u32 *height)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(cmos_supported_win_sizes); i++) {
+ if (cmos_supported_win_sizes[i].width == *width &&
+ cmos_supported_win_sizes[i].height == *height) {
+ *width = cmos_supported_win_sizes[i].width;
+ *height = cmos_supported_win_sizes[i].height;
+ return &cmos_supported_win_sizes[i];
+ }
+ }
+ return NULL;
+}
+
+static int sensor_s_wb(struct cmos_subdev *sd, enum v4l2_wb_mode value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case WHITE_BALANCE_AUTO:
+ regs = gc2035_wb_auto;
+ size = ARRAY_SIZE(gc2035_wb_auto);
+ break;
+ case WHITE_BALANCE_INCANDESCENCE:
+ regs = gc2035_wb_incandescent;
+ size = ARRAY_SIZE(gc2035_wb_incandescent);
+ break;
+ case WHITE_BALANCE_DAYLIGHT:
+ regs = gc2035_wb_daylight;
+ size = ARRAY_SIZE(gc2035_wb_daylight);
+ break;
+ case WHITE_BALANCE_CLOUDY:
+ regs = gc2035_wb_cloudy;
+ size = ARRAY_SIZE(gc2035_wb_cloudy);
+ break;
+ case WHITE_BALANCE_FLUORESCENT:
+ regs = gc2035_wb_fluorescent;
+ size = ARRAY_SIZE(gc2035_wb_fluorescent);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_scenemode(struct cmos_subdev *sd, enum v4l2_scene_mode value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case SCENE_MODE_AUTO:
+ regs = gc2035_scene_mode_auto;
+ size = ARRAY_SIZE(gc2035_scene_mode_auto);
+ break;
+ case SCENE_MODE_NIGHTSHOT:
+ regs = gc2035_scene_mode_night;
+ size = ARRAY_SIZE(gc2035_scene_mode_night);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_exposure(struct cmos_subdev *sd, enum v4l2_exposure_mode value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case -2:
+ regs = gc2035_exposure_neg6;
+ size = ARRAY_SIZE(gc2035_exposure_neg6);
+ break;
+ case -1:
+ regs = gc2035_exposure_neg3;
+ size = ARRAY_SIZE(gc2035_exposure_neg3);
+ break;
+ case 0:
+ regs = gc2035_exposure_zero;
+ size = ARRAY_SIZE(gc2035_exposure_zero);
+ break;
+ case 1:
+ regs = gc2035_exposure_pos3;
+ size = ARRAY_SIZE(gc2035_exposure_pos3);
+ break;
+ case 2:
+ regs = gc2035_exposure_pos6;
+ size = ARRAY_SIZE(gc2035_exposure_pos6);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_antibanding(struct cmos_subdev *sd, int value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case 0:
+ regs = gc2035_antibanding_auto;
+ size = ARRAY_SIZE(gc2035_antibanding_auto);
+ break;
+ case 1:
+ regs = gc2035_antibanding_50hz;
+ size = ARRAY_SIZE(gc2035_antibanding_50hz);
+ break;
+ case 2:
+ regs = gc2035_antibanding_60hz;
+ size = ARRAY_SIZE(gc2035_antibanding_60hz);
+ break;
+ case 3:
+ regs = gc2035_antibanding_off;
+ size = ARRAY_SIZE(gc2035_antibanding_off);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+
+ return 0;
+}
+
+static int sensor_s_hflip(struct cmos_subdev *sd, int value)
+{
+ uint8_t data,tmp=0 ;
+ uint8_t retry_times=0;
+
+ sensor_write(sd, 0xfe, 0x00); // set page0
+ data=sensor_read(sd, 0x17);
+
+ switch (value) {
+ case 0:
+ data &= ~0x01;
+ break;
+ case 1:
+ data |= 0x01;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ tmp=data | FILP_REG_INIT_VALUE;
+ for(retry_times=0;retry_times<RETRY_TIMES;retry_times++){
+ sensor_write(sd, 0x17, tmp);
+ msleep(50+retry_times*DELAY_INTERVAL);
+ if(sensor_read(sd, 0x17)==tmp)
+ break;
+ }
+
+ return 0;
+}
+
+static int sensor_s_vflip(struct cmos_subdev *sd, int value)
+{
+ uint8_t data,tmp=0;
+ uint8_t retry_times=0;
+
+ sensor_write(sd, 0xfe, 0x00); // set page0
+ data=sensor_read(sd, 0x17);
+
+ switch (value) {
+ case 0:
+ data &= ~0x02;
+ break;
+ case 1:
+ data |= 0x02;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ tmp=data | FILP_REG_INIT_VALUE;
+ for(retry_times=0;retry_times<RETRY_TIMES;retry_times++){
+ sensor_write(sd, 0x17, tmp);
+ msleep(50+retry_times*DELAY_INTERVAL);
+ if(sensor_read(sd, 0x17)==tmp)
+ break;
+ }
+ return 0;
+}
+
+static int sensor_queryctrl(struct cmos_subdev *sd, struct v4l2_queryctrl *qc)
+{
+ switch (qc->id) {
+ case V4L2_CID_VFLIP:
+ case V4L2_CID_HFLIP:
+ return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
+ case V4L2_CID_CAMERA_SCENE_MODE:
+ return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
+ case V4L2_CID_DO_WHITE_BALANCE:
+ return v4l2_ctrl_query_fill(qc, 0, 3, 1, 0);
+ case V4L2_CID_EXPOSURE:
+ return v4l2_ctrl_query_fill(qc, -2, 2, 1, 0);
+ }
+ return -EINVAL;
+}
+
+static int sensor_s_ctrl(struct cmos_subdev *sd, struct v4l2_control *ctrl)
+{
+ switch (ctrl->id) {
+ case V4L2_CID_CAMERA_SCENE_MODE:
+ return sensor_s_scenemode(sd, ctrl->value);
+ case V4L2_CID_DO_WHITE_BALANCE:
+ return sensor_s_wb(sd, ctrl->value);
+ case V4L2_CID_EXPOSURE:
+ return sensor_s_exposure(sd, ctrl->value);
+ case V4L2_CID_HFLIP:
+ return sensor_s_hflip(sd, ctrl->value);
+ case V4L2_CID_VFLIP:
+ return sensor_s_vflip(sd, ctrl->value);
+ case V4L2_CID_CAMERA_ANTI_BANDING:
+ return sensor_s_antibanding(sd, ctrl->value);
+ default:
+ case WMT_V4L2_CID_CAMERA_ANTIBANDING:
+ return -EINVAL;
+ }
+ return -EINVAL;
+}
+
+static int sensor_g_mbus_fmt(struct cmos_subdev *sd,
+ struct v4l2_mbus_framefmt *mf)
+{
+ return -EINVAL;
+}
+
+uint32_t sensor_read_shutter(struct cmos_subdev *sd)
+{
+ return (sensor_read(sd,0x03) << 8)|sensor_read(sd,0x04) ;
+}
+
+
+static void sensor_write_shutter(struct cmos_subdev *sd,uint32_t shutter)
+{
+
+ if(shutter < 1)
+ return;
+
+ sensor_write(sd,0x03, (shutter >> 8) & 0xff);
+ sensor_write(sd,0x04, shutter & 0xff);
+}
+
+
+static void sensor_set_ae_mode(struct cmos_subdev *sd,bool AE_enable)
+{
+ sensor_write(sd,0xfe, 0x00);
+ if (AE_enable == true)
+ {
+ // turn on AEC/AGC
+ sensor_write(sd,0xb6, 0x03);
+ }
+ else
+ {
+ // turn off AEC/AGC
+ sensor_write(sd,0xb6, 0x00);
+ }
+}
+
+
+static int sensor_s_mbus_fmt(struct cmos_subdev *sd,
+ struct v4l2_mbus_framefmt *mf)
+{
+ const struct cmos_win_size *win;
+ uint32_t shutter = 0;
+
+ printk(KERN_DEBUG "%s, s_mbus_fmt width %d, height %d\n",
+ sd->name, mf->width, mf->height);
+
+ win = cmos_select_win(&mf->width, &mf->height);
+ if (!win) {
+ pr_err("%s, s_mbus_fmt failed, width %d, height %d\n",
+ sd->name, mf->width, mf->height);
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, win->regs, win->size);
+ if(mf->width == 640 && mf->height ==480){
+ sensor_write_shutter(sd,Preview_Shutter);
+ sensor_set_ae_mode(sd,true);
+ }else if(mf->width == 1600 && mf->height ==1200){
+ sensor_set_ae_mode(sd,false);
+ shutter = sensor_read_shutter(sd);
+ Preview_Shutter = shutter;
+ shutter = shutter /2;
+ Capture_Shutter = shutter;
+ sensor_write_shutter(sd,Capture_Shutter);
+
+
+ }
+
+ msleep(400);
+ //msleep(500);
+ return 0;
+}
+
+static int sensor_try_mbus_fmt(struct cmos_subdev *sd,
+ struct v4l2_mbus_framefmt *mf)
+{
+ return 0;
+}
+
+static int sensor_enum_framesizes(struct cmos_subdev *sd,
+ struct v4l2_frmsizeenum *fsize)
+{
+ int i;
+ int num_valid = -1;
+ __u32 index = fsize->index;
+
+ for (i = 0; i < ARRAY_SIZE(cmos_supported_win_sizes); i++) {
+ const struct cmos_win_size *win = &cmos_supported_win_sizes[index];
+ if (index == ++num_valid) {
+ fsize->type = V4L2_FRMSIZE_TYPE_DISCRETE;
+ fsize->discrete.width = win->width;
+ fsize->discrete.height = win->height;
+ return 0;
+ }
+ }
+
+ return -EINVAL;
+}
+
+static int sensor_identify(struct cmos_subdev *sd)
+{
+ uint32_t data = 0;
+
+ data |= (sensor_read(sd, 0xf0) & 0xff) << 8;
+ data |= (sensor_read(sd, 0xf1) & 0xff);
+
+ return (data == sd->id) ? 0 : -EINVAL;
+}
+
+static int sensor_init(struct cmos_subdev *sd)
+{
+ if (sensor_identify(sd)) {
+ return -1;
+ }
+
+ sensor_write_array(sd, gc2035_default_regs_init,
+ ARRAY_SIZE(gc2035_default_regs_init));
+
+ msleep(100);
+ Preview_Shutter =sensor_read_shutter(sd);
+ return 0;
+}
+
+static int sensor_exit(struct cmos_subdev *sd)
+{
+ sensor_write_array(sd, gc2035_default_regs_exit,
+ ARRAY_SIZE(gc2035_default_regs_exit));
+ return 0;
+}
+
+static struct cmos_subdev_ops gc2035_ops = {
+ .identify = sensor_identify,
+ .init = sensor_init,
+ .exit = sensor_exit,
+ .queryctrl = sensor_queryctrl,
+ .s_ctrl = sensor_s_ctrl,
+ .s_mbus_fmt = sensor_s_mbus_fmt,
+ .g_mbus_fmt = sensor_g_mbus_fmt,
+ .try_mbus_fmt = sensor_try_mbus_fmt,
+ .enum_framesizes = sensor_enum_framesizes,
+};
+
+struct cmos_subdev gc2035 = {
+ .name = "gc2035",
+ .i2c_addr = 0x3c,
+ .id = 0x2035,
+ .max_width = 1600,
+ .max_height = 1200,
+ .ops = &gc2035_ops,
+};
+
+#if 0
+static int __init gc2035_init(void)
+{
+ return cmos_register_sudbdev(&gc2035);
+}
+
+static void __exit gc2035_exit(void)
+{
+ return cmos_unregister_subdev(&gc2035);
+}
+
+module_init(gc2035_init);
+module_exit(gc2035_exit);
+
+MODULE_LICENSE("GPL");
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-tvboxh2-ori.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-tvboxh2-ori.h
new file mode 100755
index 00000000..39bd4d4e
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-tvboxh2-ori.h
@@ -0,0 +1,1064 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x05,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_auto[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_50hz[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x06,// level 1 10
+ 0x2c , 0xa4,
+ 0x2d , 0x08,// level 2 7.5
+ 0x2e , 0xa2,
+ 0x2f , 0x0b,// level 3
+ 0x30 , 0x4a,
+ 0xfe , 0x00,
+
+
+};
+
+uint8_t gc2035_antibanding_60hz[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_off[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x06,// level 1 10
+ 0x2c , 0xa4,
+ 0x2d , 0x08,// level 2 7.5
+ 0x2e , 0xa2,
+ 0x2f , 0x0b,// level 3
+ 0x30 , 0x4a,
+ 0xfe , 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xb0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2 5dc
+ 0x2c,0xdc,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xd6,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x25,
+ 0xc3,0x09,
+ 0xc4,0x02,
+ 0xc8,0x12,
+ 0xc9,0x04,
+ 0xca,0x00,
+ 0xbc,0x3b,
+ 0xbd,0x11,
+ 0xbe,0x10,
+ 0xb6,0x5a,
+ 0xb7,0x27,
+ 0xb8,0x1e,
+ 0xc5,0x00,
+ 0xc6,0x00,
+ 0xc7,0x00,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x00,
+ 0xc0,0x00,
+ 0xc1,0x00,
+ 0xb9,0x00,
+ 0xba,0x09,
+ 0xbb,0x09,
+ 0xaa,0x4a,
+ 0xab,0x3d,
+ 0xac,0x3c,
+ 0xad,0x26,
+ 0xae,0x1f,
+ 0xaf,0x22,
+ 0xb0,0x3c,
+ 0xb1,0x31,
+ 0xb2,0x29,
+ 0xb3,0x3f,
+ 0xb4,0x30,
+ 0xb5,0x36,
+ 0xd0,0x00,
+ 0xd2,0x00,
+ 0xd3,0x00,
+ 0xd8,0x00,
+ 0xda,0x14,
+ 0xdb,0x24,
+ 0xdc,0x00,
+ 0xde,0x00,
+ 0xdf,0x1c,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x00,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x3e, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xea,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x20,//saturation_cb
+ 0xd2,0x20,//saturation_Cr
+ 0xd3,0x42,//contrast ? {{0xd4},{0x80}},//contrast center
+ 0xd5,0x00,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1c,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x75,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+ 0xad,0x7d,////////////////////////////////////////////////////////R-ratio
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+
+ /* //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-v7_maz7z233.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-v7_maz7z233.h
new file mode 100755
index 00000000..7d7d4f27
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-v7_maz7z233.h
@@ -0,0 +1,1105 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_auto[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_50hz[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x07,// level 1 13.75 // 4a6
+ 0x2c , 0xf8,
+ 0x2d , 0x07,// level 2 10 // 6a4
+ 0x2e , 0xf8,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+
+
+};
+
+uint8_t gc2035_antibanding_60hz[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_off[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xb8,//max_post_gain
+ 0x20,0x50,//max_pre_gain // 48
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+#if 1
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0xdc,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x34,//saturation_cb
+ 0xd2,0x34,//saturation_Cr
+ 0xd3,0x45,//contrast ? {{0xd4},{0x80}},//contrast center // 40
+ 0xd5,0xfa,//luma_offset // f8
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x08,//dn_b_base // 1c
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x78,// edge effect // 45
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,*/
+
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-xhb_gbeffz2743l.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-xhb_gbeffz2743l.h
new file mode 100755
index 00000000..afb142a6
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-xhb_gbeffz2743l.h
@@ -0,0 +1,1023 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x60,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x84,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x90,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x84,//y_target
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x05,//level1
+ 0x2a,0xdc,
+ 0x2b,0x06,//level2
+ 0x2c,0x59,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xd6,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x34,//saturation_cb
+ 0xd2,0x34,//saturation_Cr
+ 0xd3,0x40,//contrast ? {{0xd4},{0x80}},//contrast center
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1c,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x45,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1426.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1426.h
new file mode 100755
index 00000000..63ac5b1a
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1426.h
@@ -0,0 +1,954 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x60,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xfd, /// 00
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x90,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf9,0xfe,
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x17,
+ 0xf8,0x00,
+ 0xfe,0x00,
+ 0x82,0x00,
+ //0xb3,0x60,//close manual WB 2013.0723
+ //0xb4,0x40,
+ //0xb5,0x60,
+ 0x03,0x05,
+ 0x04,0x08,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x60,
+ 0xef,0x90,
+ 0x0c,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+ 0x17,0x14,
+ 0x18,0x0a,
+ 0x19,0x0a,
+ 0x1a,0x01,
+ 0x1b,0x8b,
+ 0x1c,0x05,
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode,0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xd0, //[3:0]vref
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+ //AEC
+ 0xfe,0x01,
+ 0x0c,0x01,
+ 0x11,0x20,//AEC_out_slope,0x
+ 0x1f,0xb0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x60,//max_pre_gain 60 2013-7-22 dustin
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x7a,//y_target
+ 0xfe,0x00,
+
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0x40,
+ 0x2f,0x0b,//level4
+ 0x30,0x40,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xfe,0x00,
+ 0x3f,0x00,
+ 0x40,0x77,
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+ 0x66,0x20,
+ 0x67,0x20,
+ 0x68,0x20,
+ 0x69,0x20,
+ 0x90,0x01,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0x80,0xff,
+ 0x81,0x26,
+ 0x03,0x05,
+ 0x04,0x2e,
+ 0x84,0x02,
+ 0x86,0x02,
+ 0x87,0x80,
+ 0x8b,0xbc,
+ 0xa7,0x80,
+ 0xa8,0x80,
+ 0xb0,0x80,
+ 0xc0,0x40,
+ //LSC
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ //=================================cc
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ //==============================awb
+ //AWB clear
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ /////// awb value////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ /////awb////
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10,//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06,[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08,//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+
+ 0xfe,0x01,
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x60, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x24,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////////////YCP//////////
+ 0xd1,0x40,// 40 saturation_cb
+ 0xd2,0x40,//40 saturation_Cr
+
+ 0xaf,0x7e,
+
+
+ 0xd3,0x40,//
+ 0xd4,0x80,//contrast center
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,
+ 0xfe,0x00,
+ //gamma
+ 0xfe,0x02,
+ 0x88,0x1f,//dn_b_base 15 2013-7-22 dustin
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x02, //dn_c_weight 03 2013-7-22 dustin
+ ////////EE ///////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x9a,//78 edge effect
+ ////==============RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ ///=================y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x06, /// 04
+ 0x2d,0x0a, // 09
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ 0xfe,0x00,
+
+ 0xfe,0x00,
+ 0x82,0xfe,
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ 0xfe,0x00,
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ 0xc8,0x14,
+ 0xf7,0x11,
+ 0xf8,0x85,
+ 0xfa,0x00,
+ 0x05,0x01,
+ 0x06,0x0a,
+ 0x07,0x00,
+ 0x08,0x58,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x05,
+ 0x2a,0x08,
+ 0x2b,0x05,
+ 0x2c,0x08,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+
+ 0x2f,0x05,
+ 0x30,0x08,
+
+ 0x3e,0x40,
+ 0xfe,0x03,
+ 0x42,0x04,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+
+
+#if 0
+ //////// re zao///
+ 0xfe,0x00,
+ 0x22,0xd0,
+ 0xfe,0x01,
+ 0x21,0xff,
+ 0xfe,0x02,
+ 0x8a,0x33,
+ 0x8c,0x76,
+ 0x8d,0x85,
+ 0xa6,0xf0,
+ 0xae,0x9f,
+ 0xa2,0x90,
+ 0xa5,0x40,
+ 0xa7,0x30,
+ 0xb0,0x88,
+ 0x38,0x0b,
+ 0x39,0x30,
+ 0xfe,0x00,
+ 0x87,0xb0,
+
+ /// small RGB gamma////
+
+
+ ///dark sun/////
+ 0xfe , 0x02,
+ 0x40 , 0x06,
+ 0x41 , 0x23,
+ 0x42 , 0x3f,
+ 0x43 , 0x06,
+ 0x44 , 0x00,
+ 0x45 , 0x00,
+ 0x46 , 0x14,
+ 0x47 , 0x09,
+ 0xfe,0x00,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1547a-tp785.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1547a-tp785.h
new file mode 100755
index 00000000..875dec12
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035-zh1547a-tp785.h
@@ -0,0 +1,1030 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x04,//level2
+ 0x2c,0xe2,
+ 0x2d,0x04,//6e8//level3
+ 0x2e,0xe2,
+ 0x2f,0x07,//level4
+ 0x30,0x53,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ 0xad,0x7d,
+ 0xae,0x81,
+ 0xaf,0x7e,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x52,
+ 0x4e,0x08,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x38,//saturation_cb
+ 0xd2,0x38,//saturation_Cr
+ 0xd3,0x40,//contrast ? {{0xd4},{0x80}},//contrast center
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1c,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x45,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.c b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.c
new file mode 100755
index 00000000..b655582c
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.c
@@ -0,0 +1,390 @@
+
+#include "../cmos-subdev.h"
+#include "../../wmt-vid.h"
+#include "gc2035.h"
+
+#define sensor_write_array(sd, arr, sz) \
+ cmos_init_8bit_addr(arr, sz, (sd)->i2c_addr)
+
+#define sensor_read(sd, reg) \
+ wmt_vid_i2c_read(sd->i2c_addr, reg)
+
+#define sensor_write(sd, reg, val) \
+ wmt_vid_i2c_write(sd->i2c_addr, reg, val)
+
+struct cmos_win_size {
+ char *name;
+ int width;
+ int height;
+ uint8_t *regs;
+ size_t size;
+};
+
+#define CMOS_WIN_SIZE(n, w, h, r) \
+ {.name = n, .width = w , .height = h, .regs = r, .size = ARRAY_SIZE(r) }
+
+#define FILP_REG_INIT_VALUE 0x14
+#define DELAY_INTERVAL 50
+#define RETRY_TIMES 10
+
+static const struct cmos_win_size cmos_supported_win_sizes[] = {
+ //CMOS_WIN_SIZE("QVGA", 320, 240, gc2035_320_240_regs),
+ CMOS_WIN_SIZE("VGA", 640, 480, gc2035_640_480_regs),
+ //CMOS_WIN_SIZE("SVGA", 800, 600, gc2035_800_600_regs),
+ //CMOS_WIN_SIZE("720p", 1280, 720, gc2035_1280_720_regs),
+ CMOS_WIN_SIZE("UXGA", 1600, 1200, gc2035_1600_1200_regs),
+};
+
+static const struct cmos_win_size *cmos_select_win(u32 *width, u32 *height)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(cmos_supported_win_sizes); i++) {
+ if (cmos_supported_win_sizes[i].width == *width &&
+ cmos_supported_win_sizes[i].height == *height) {
+ *width = cmos_supported_win_sizes[i].width;
+ *height = cmos_supported_win_sizes[i].height;
+ return &cmos_supported_win_sizes[i];
+ }
+ }
+ return NULL;
+}
+
+static int sensor_s_wb(struct cmos_subdev *sd, enum v4l2_wb_mode value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case WHITE_BALANCE_AUTO:
+ regs = gc2035_wb_auto;
+ size = ARRAY_SIZE(gc2035_wb_auto);
+ break;
+ case WHITE_BALANCE_INCANDESCENCE:
+ regs = gc2035_wb_incandescent;
+ size = ARRAY_SIZE(gc2035_wb_incandescent);
+ break;
+ case WHITE_BALANCE_DAYLIGHT:
+ regs = gc2035_wb_daylight;
+ size = ARRAY_SIZE(gc2035_wb_daylight);
+ break;
+ case WHITE_BALANCE_CLOUDY:
+ regs = gc2035_wb_cloudy;
+ size = ARRAY_SIZE(gc2035_wb_cloudy);
+ break;
+ case WHITE_BALANCE_FLUORESCENT:
+ regs = gc2035_wb_fluorescent;
+ size = ARRAY_SIZE(gc2035_wb_fluorescent);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_scenemode(struct cmos_subdev *sd, enum v4l2_scene_mode value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case SCENE_MODE_AUTO:
+ regs = gc2035_scene_mode_auto;
+ size = ARRAY_SIZE(gc2035_scene_mode_auto);
+ break;
+ case SCENE_MODE_NIGHTSHOT:
+ regs = gc2035_scene_mode_night;
+ size = ARRAY_SIZE(gc2035_scene_mode_night);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_exposure(struct cmos_subdev *sd, enum v4l2_exposure_mode value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case -2:
+ regs = gc2035_exposure_neg6;
+ size = ARRAY_SIZE(gc2035_exposure_neg6);
+ break;
+ case -1:
+ regs = gc2035_exposure_neg3;
+ size = ARRAY_SIZE(gc2035_exposure_neg3);
+ break;
+ case 0:
+ regs = gc2035_exposure_zero;
+ size = ARRAY_SIZE(gc2035_exposure_zero);
+ break;
+ case 1:
+ regs = gc2035_exposure_pos3;
+ size = ARRAY_SIZE(gc2035_exposure_pos3);
+ break;
+ case 2:
+ regs = gc2035_exposure_pos6;
+ size = ARRAY_SIZE(gc2035_exposure_pos6);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_antibanding(struct cmos_subdev *sd, int value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case 0:
+ regs = gc2035_antibanding_auto;
+ size = ARRAY_SIZE(gc2035_antibanding_auto);
+ break;
+ case 1:
+ regs = gc2035_antibanding_50hz;
+ size = ARRAY_SIZE(gc2035_antibanding_50hz);
+ break;
+ case 2:
+ regs = gc2035_antibanding_60hz;
+ size = ARRAY_SIZE(gc2035_antibanding_60hz);
+ break;
+ case 3:
+ regs = gc2035_antibanding_off;
+ size = ARRAY_SIZE(gc2035_antibanding_off);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+
+ return 0;
+}
+
+static int sensor_s_hflip(struct cmos_subdev *sd, int value)
+{
+ uint8_t data,tmp=0 ;
+ uint8_t retry_times=0;
+
+ sensor_write(sd, 0xfe, 0x00); // set page0
+ data=sensor_read(sd, 0x17);
+
+ switch (value) {
+ case 0:
+ data &= ~0x01;
+ break;
+ case 1:
+ data |= 0x01;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ tmp=data | FILP_REG_INIT_VALUE;
+ for(retry_times=0;retry_times<RETRY_TIMES;retry_times++){
+ sensor_write(sd, 0x17, tmp);
+ msleep(50+retry_times*DELAY_INTERVAL);
+ if(sensor_read(sd, 0x17)==tmp)
+ break;
+ }
+
+ return 0;
+}
+
+static int sensor_s_vflip(struct cmos_subdev *sd, int value)
+{
+ uint8_t data,tmp=0;
+ uint8_t retry_times=0;
+
+ sensor_write(sd, 0xfe, 0x00); // set page0
+ data=sensor_read(sd, 0x17);
+
+ switch (value) {
+ case 0:
+ data &= ~0x02;
+ break;
+ case 1:
+ data |= 0x02;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ tmp=data | FILP_REG_INIT_VALUE;
+ for(retry_times=0;retry_times<RETRY_TIMES;retry_times++){
+ sensor_write(sd, 0x17, tmp);
+ msleep(50+retry_times*DELAY_INTERVAL);
+ if(sensor_read(sd, 0x17)==tmp)
+ break;
+ }
+ return 0;
+}
+
+static int sensor_queryctrl(struct cmos_subdev *sd, struct v4l2_queryctrl *qc)
+{
+ switch (qc->id) {
+ case V4L2_CID_VFLIP:
+ case V4L2_CID_HFLIP:
+ return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
+ case V4L2_CID_CAMERA_SCENE_MODE:
+ return v4l2_ctrl_query_fill(qc, 0, 1, 1, 0);
+ case V4L2_CID_DO_WHITE_BALANCE:
+ return v4l2_ctrl_query_fill(qc, 0, 3, 1, 0);
+ case V4L2_CID_EXPOSURE:
+ return v4l2_ctrl_query_fill(qc, -2, 2, 1, 0);
+ }
+ return -EINVAL;
+}
+
+static int sensor_s_ctrl(struct cmos_subdev *sd, struct v4l2_control *ctrl)
+{
+ switch (ctrl->id) {
+ case V4L2_CID_CAMERA_SCENE_MODE:
+ return sensor_s_scenemode(sd, ctrl->value);
+ case V4L2_CID_DO_WHITE_BALANCE:
+ return sensor_s_wb(sd, ctrl->value);
+ case V4L2_CID_EXPOSURE:
+ return sensor_s_exposure(sd, ctrl->value);
+ case V4L2_CID_HFLIP:
+ return sensor_s_hflip(sd, ctrl->value);
+ case V4L2_CID_VFLIP:
+ return sensor_s_vflip(sd, ctrl->value);
+ case V4L2_CID_CAMERA_ANTI_BANDING:
+ return sensor_s_antibanding(sd, ctrl->value);
+ default:
+ case WMT_V4L2_CID_CAMERA_ANTIBANDING:
+ return -EINVAL;
+ }
+ return -EINVAL;
+}
+
+static int sensor_g_mbus_fmt(struct cmos_subdev *sd,
+ struct v4l2_mbus_framefmt *mf)
+{
+ return -EINVAL;
+}
+
+static int sensor_s_mbus_fmt(struct cmos_subdev *sd,
+ struct v4l2_mbus_framefmt *mf)
+{
+ const struct cmos_win_size *win;
+
+ printk(KERN_DEBUG "%s, s_mbus_fmt width %d, height %d\n",
+ sd->name, mf->width, mf->height);
+
+ win = cmos_select_win(&mf->width, &mf->height);
+ if (!win) {
+ pr_err("%s, s_mbus_fmt failed, width %d, height %d\n",
+ sd->name, mf->width, mf->height);
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, win->regs, win->size);
+ msleep(150);
+ //msleep(500);
+ return 0;
+}
+
+static int sensor_try_mbus_fmt(struct cmos_subdev *sd,
+ struct v4l2_mbus_framefmt *mf)
+{
+ return 0;
+}
+
+static int sensor_enum_framesizes(struct cmos_subdev *sd,
+ struct v4l2_frmsizeenum *fsize)
+{
+ int i;
+ int num_valid = -1;
+ __u32 index = fsize->index;
+
+ for (i = 0; i < ARRAY_SIZE(cmos_supported_win_sizes); i++) {
+ const struct cmos_win_size *win = &cmos_supported_win_sizes[index];
+ if (index == ++num_valid) {
+ fsize->type = V4L2_FRMSIZE_TYPE_DISCRETE;
+ fsize->discrete.width = win->width;
+ fsize->discrete.height = win->height;
+ return 0;
+ }
+ }
+
+ return -EINVAL;
+}
+
+static int sensor_identify(struct cmos_subdev *sd)
+{
+ uint32_t data = 0;
+
+ data |= (sensor_read(sd, 0xf0) & 0xff) << 8;
+ data |= (sensor_read(sd, 0xf1) & 0xff);
+
+ return (data == sd->id) ? 0 : -EINVAL;
+}
+
+static int sensor_init(struct cmos_subdev *sd)
+{
+ if (sensor_identify(sd)) {
+ return -1;
+ }
+
+ sensor_write_array(sd, gc2035_default_regs_init,
+ ARRAY_SIZE(gc2035_default_regs_init));
+
+ msleep(100);
+ return 0;
+}
+
+static int sensor_exit(struct cmos_subdev *sd)
+{
+ sensor_write_array(sd, gc2035_default_regs_exit,
+ ARRAY_SIZE(gc2035_default_regs_exit));
+ return 0;
+}
+
+static struct cmos_subdev_ops gc2035_ops = {
+ .identify = sensor_identify,
+ .init = sensor_init,
+ .exit = sensor_exit,
+ .queryctrl = sensor_queryctrl,
+ .s_ctrl = sensor_s_ctrl,
+ .s_mbus_fmt = sensor_s_mbus_fmt,
+ .g_mbus_fmt = sensor_g_mbus_fmt,
+ .try_mbus_fmt = sensor_try_mbus_fmt,
+ .enum_framesizes = sensor_enum_framesizes,
+};
+
+struct cmos_subdev gc2035 = {
+ .name = "gc2035",
+ .i2c_addr = 0x3c,
+ .id = 0x2035,
+ .max_width = 1600,
+ .max_height = 1200,
+ .ops = &gc2035_ops,
+};
+
+#if 0
+static int __init gc2035_init(void)
+{
+ return cmos_register_sudbdev(&gc2035);
+}
+
+static void __exit gc2035_exit(void)
+{
+ return cmos_unregister_subdev(&gc2035);
+}
+
+module_init(gc2035_init);
+module_exit(gc2035_exit);
+
+MODULE_LICENSE("GPL");
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.h
new file mode 100755
index 00000000..99ee760d
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035.h
@@ -0,0 +1,1105 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,
+ 0xfe, 0x02,
+ 0xd5, 0xf8,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+
+
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_auto[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_50hz[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+
+
+};
+
+uint8_t gc2035_antibanding_60hz[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_off[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x02,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x04,
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xc8,0x00,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x06,
+ 0xf2,0x00,
+ 0xf3,0x00,
+ 0xf4,0x00,
+ 0xf5,0x00,
+ 0xf9,0xfe, //[0] pll enable
+ 0xfa,0x00,
+ 0xf6,0x00,
+ 0xf7,0x15, //pll enable
+
+ 0xf8,0x84,//85
+ 0xfe,0x00,
+ 0x82,0x00,
+ 0xb3,0x60,
+ 0xb4,0x40,
+ 0xb5,0x60,
+
+ 0x03,0x02,
+ 0x04,0x71,
+
+ ////,/meare window ///////////
+ 0xfe,0x00,
+ 0xec,0x06,//04
+ 0xed,0x06,//04
+ 0xee,0x62,//60
+ 0xef,0x92,//90
+
+ ////,//anog/////////////
+ 0x0a,0x00, //row start
+ 0x0c,0x00, //col start
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06, //Window setting
+ 0x10,0x58,
+ 0x17,0x14, //[0]mirror [1]flip
+ 0x18,0x0a, //0a 2012.10.26
+ 0x19,0x0a, //AD pipe number
+ 0x1a,0x01, //CISCTL mode4
+ 0x1b,0x8b,
+ 0x1c,0x05,//add by lanking 20130403
+ 0x1e,0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f,0x08, //[3] tx-low en//
+ 0x20,0x05, //[0]adclk mode},{0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21,0x0f, //[6:4]rsg
+ 0x22,0xf0, //[3:0]vref 20130403
+ 0x23,0xc3, //f3//ADC_r
+ 0x24,0x17, //pad drive 16
+
+
+ 0xfe,0x01,
+ 0x11,0x20,//AEC_out_slope},{0x
+ 0x1f,0xc0,//max_post_gain
+ 0x20,0x48,//max_pre_gain
+ 0x47,0x30,//AEC_outdoor_th
+ 0x0b,0x10,//
+ 0x13,0x78,//y_target 84
+ 0xfe,0x00,
+
+#if 0
+ 0x05,0x01,//hb
+ 0x06,0x11,
+ 0x07,0x00,//vb
+ 0x08,0x50,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0xa0,
+ 0x29,0x05,//level1
+ 0x2a,0x00,
+ 0x2b,0x05,//level2
+ 0x2c,0x00,
+ 0x2d,0x06,//6e8//level3
+ 0x2e,0xe0,
+ 0x2f,0x0a,//level4
+ 0x30,0x00,
+#endif
+ 0x05,0x01,//hb
+ 0x06,0x5c,
+ 0x07,0x00,//vb
+ 0x08,0x32,
+ 0xfe,0x01,
+ 0x27,0x00,//step
+ 0x28,0x7d,
+ 0x29,0x04,//level1
+ 0x2a,0xe2,
+ 0x2b,0x05,//level2
+ 0x2c,0xdc,
+ 0x2d,0x05,//6e8//level3
+ 0x2e,0xdc,
+ 0x2f,0x09,//level4
+ 0x30,0xc4,
+
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xfe,0x00, //0x},{0x},{0x},{0x},{0x
+ 0xb6,0x03, //AEC enable
+ 0xfe,0x00,
+
+ ////,BLK////
+ 0x3f,0x00, //prc close
+ 0x40,0x77,//
+ 0x42,0x7f,
+ 0x43,0x30,
+ 0x5c,0x08,
+ 0x5e,0x20,
+ 0x5f,0x20,
+ 0x60,0x20,
+ 0x61,0x20,
+ 0x62,0x20,
+ 0x63,0x20,
+ 0x64,0x20,
+ 0x65,0x20,
+
+ //blo,/////////
+ 0x80,0xff,
+ 0x81,0x26,//38},{0x//skin_Y 8c_debug
+ 0x87,0x90, //[7]middle gamma
+ 0x84,0x02, //output put foramat
+ 0x86,0x02, //02 //sync plority
+ 0x8b,0xbc,
+ 0xb0,0x80, //globle gain
+ 0xc0,0x40,//Yuv bypass
+
+ ////lsc///////////
+ 0xfe,0x01,
+ 0xc2,0x38,
+ 0xc3,0x25,
+ 0xc4,0x21,
+ 0xc8,0x19,
+ 0xc9,0x12,
+ 0xca,0x0e,
+ 0xbc,0x43,
+ 0xbd,0x18,
+ 0xbe,0x1b,
+ 0xb6,0x40,
+ 0xb7,0x2e,
+ 0xb8,0x26,
+ 0xc5,0x05,
+ 0xc6,0x03,
+ 0xc7,0x04,
+ 0xcb,0x00,
+ 0xcc,0x00,
+ 0xcd,0x00,
+ 0xbf,0x14,
+ 0xc0,0x22,
+ 0xc1,0x1b,
+ 0xb9,0x00,
+ 0xba,0x05,
+ 0xbb,0x05,
+ 0xaa,0x35,
+ 0xab,0x33,
+ 0xac,0x33,
+ 0xad,0x25,
+ 0xae,0x22,
+ 0xaf,0x27,
+ 0xb0,0x1d,
+ 0xb1,0x20,
+ 0xb2,0x22,
+ 0xb3,0x14,
+ 0xb4,0x15,
+ 0xb5,0x16,
+ 0xd0,0x00,
+ 0xd2,0x07,
+ 0xd3,0x08,
+ 0xd8,0x00,
+ 0xda,0x13,
+ 0xdb,0x17,
+ 0xdc,0x00,
+ 0xde,0x0a,
+ 0xdf,0x08,
+ 0xd4,0x00,
+ 0xd6,0x00,
+ 0xd7,0x0c,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+ 0xa8,0x00,
+ 0xa9,0x00,
+ 0xa1,0x80,
+ 0xa2,0x80,
+
+ ////,/cc////////////
+ 0xfe,0x02,
+ 0xc0,0x01,
+ 0xc1,0x40, //Green_cc for d
+ 0xc2,0xfc,
+ 0xc3,0x05,
+ 0xc4,0xec,
+ 0xc5,0x42,
+ 0xc6,0xf8,
+ 0xc7,0x40,//for cwf
+ 0xc8,0xf8,
+ 0xc9,0x06,
+ 0xca,0xfd,
+ 0xcb,0x3e,
+ 0xcc,0xf3,
+ 0xcd,0x36,//for A
+ 0xce,0xf6,
+ 0xcf,0x04,
+ 0xe3,0x0c,
+ 0xe4,0x44,
+ 0xe5,0xe5,
+ 0xfe,0x00,
+
+ ////,b stt ////////////////AWB ,ar
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x10, // 10
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x20, // 20
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00, // 30
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x40, // 40
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x50, // 50
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x60, // 60
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x70, // 70
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x80, // 80
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0x90, // 90
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xa0, // a0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xb0, // b0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xc0, // c0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4d,0xd0, // d0
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4e,0x00,
+ 0x4f,0x01,
+ ////,wb vue////////
+ 0xfe,0x01,
+ 0x4f,0x00,
+ 0x4d,0x30,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x40,
+ 0x4e,0x00,
+ 0x4e,0x80,
+ 0x4e,0x80,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4e,0x02,
+ 0x4d,0x53,
+ 0x4e,0x08,
+ 0x4e,0x04,
+ 0x4d,0x62,
+ 0x4e,0x10,
+ 0x4d,0x72,
+ 0x4e,0x20,
+ 0x4f,0x01,
+
+ ///a,///
+ 0xfe,0x01,
+ 0x50,0x88,//c0//[6]green mode
+ 0x52,0x40,
+ 0x54,0x60,
+ 0x56,0x06,
+ 0x57,0x20, //pre adjust
+ 0x58,0x01,
+ 0x5b,0x02, //AWB_gain_delta
+ 0x61,0xaa,//R/G stand
+ 0x62,0xaa,//R/G stand
+ 0x71,0x00,
+ 0x74,0x10, //0x//AWB_C_max
+ 0x77,0x08, // 0x//AWB_p2_x
+ 0x78,0xfd, //AWB_p2_y
+ 0x86,0x30,
+ 0x87,0x00,
+ 0x88,0x04,//06},{0x//[1]dark mode
+ 0x8a,0xc0,//awb move mode
+ 0x89,0x75,
+ 0x84,0x08, //0x//auto_window
+ 0x8b,0x00, // 0x//awb compare luma
+ 0x8d,0x70, //awb gain limit R
+ 0x8e,0x70,//G
+ 0x8f,0xf4,//B
+ 0xfe,0x00,
+ 0x82,0x02,//awb_en
+ ////wb end /////////////
+
+ //===,====de
+ 0xfe,0x01,
+
+ 0x9c,0x04,//00
+
+ 0x21,0xbf,
+ 0xfe,0x02,
+ 0xa4,0x00,//
+ 0xa5,0x40, //lsc_th
+ 0xa2,0xa0, //lsc_dec_slope
+ 0xa6,0x80, //dd_th
+ 0xa7,0x80, //ot_th
+ 0xab,0x31, //
+ 0xa9,0x6f, //
+ 0xb0,0x99, //0x//edge effect slope low
+ 0xb1,0x34,//edge effect slope low
+ 0xb3,0x80, //saturation dec slope
+ 0xde,0xb6, //
+ 0x38,0x0f, //
+ 0x39,0x60, //
+ 0xfe,0x00,
+ 0x81,0x26,
+ 0xfe,0x02,
+ 0x83,0x00,//
+ 0x84,0x45,//
+ ////,///Y//////////
+ 0xd1,0x34,//saturation_cb
+ 0xd2,0x34,//saturation_Cr
+ 0xd3,0x40,//contrast ? {{0xd4},{0x80}},//contrast center
+ 0xd5,0xf8,//luma_offset
+ 0xdc,0x30,
+ 0xdd,0xb8,//edge_sa_g,b
+ 0xfe,0x00,
+ ////,dd/////////
+ 0xfe,0x02,
+ 0x88,0x1c,//dn_b_base
+ 0x8c,0xf6, //[2]b_in_dark_inc
+ 0x89,0x03, //dn_c_weight
+ ////,E /////////
+ 0xfe,0x02,
+ 0x90,0x6c,// EEINTP mode1
+ 0x97,0x45,// edge effect
+ //==,=======RGB Gamma
+ 0xfe,0x02,
+ 0x15,0x0a,
+ 0x16,0x12,
+ 0x17,0x19,
+ 0x18,0x1f,
+ 0x19,0x2c,
+ 0x1a,0x38,
+ 0x1b,0x42,
+ 0x1c,0x4e,
+ 0x1d,0x63,
+ 0x1e,0x76,
+ 0x1f,0x87,
+ 0x20,0x96,
+ 0x21,0xa2,
+ 0x22,0xb8,
+ 0x23,0xca,
+ 0x24,0xd8,
+ 0x25,0xe3,
+ 0x26,0xf0,
+ 0x27,0xf8,
+ 0x28,0xfd,
+ 0x29,0xff,
+
+ //===,=========y gamma
+ 0xfe,0x02,
+ 0x2b,0x00,
+ 0x2c,0x04,
+ 0x2d,0x09,
+ 0x2e,0x18,
+ 0x2f,0x27,
+ 0x30,0x37,
+ 0x31,0x49,
+ 0x32,0x5c,
+ 0x33,0x7e,
+ 0x34,0xa0,
+ 0x35,0xc0,
+ 0x36,0xe0,
+ 0x37,0xff,
+ ///1,x120ize//
+ 0xfe,0x00,//
+ 0x90,0x01, //0x//crop enable
+ 0x95,0x04, //0x//1600x1200
+ 0x96,0xb0,
+ 0x97,0x06,
+ 0x98,0x40,
+
+ 0xfe,0x03,
+ 0x42,0x40,
+ 0x43,0x06, //output buf width
+ 0x41,0x02, // Pclk_polarity
+ 0x40,0x40, //00
+ 0x17,0x00, //widv
+ 0xfe,0x00,
+ //ou,t DV////
+
+ 0xfe,0x00,
+ 0x82,0xfe, // fe
+ 0xf2,0x70,
+ 0xf3,0xff,
+ 0xf4,0x00,
+ 0xf5,0x30,
+
+ #if 0
+ //,///ssumple 640X4800//////
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+
+ 0x90,0x01,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+ #endif
+
+
+ 0xfe,0x00,
+ 0x0c,0x00,
+
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+
+#if 1
+ //// re zao///
+ 0xfe ,0x00,
+ 0x22 ,0xf0,
+ 0xfe ,0x01,
+ 0x21 ,0xff,
+ 0xfe ,0x02,
+ 0x8a ,0x33,
+ 0x8c ,0x76,
+ 0x8d ,0x85,
+ 0xa6 ,0xf0,
+ 0xae ,0x9f,
+ 0xa2 ,0x90,
+ 0xa5 ,0x40,
+ 0xa7 ,0x30,
+ 0xb0 ,0x88,
+ 0x38 ,0x0b,
+ 0x39 ,0x30,
+ 0xfe ,0x00,
+ 0x87 ,0xb0,
+
+
+ /*
+ //, sma RGB gamma////
+ 0xfe,0x02,
+ 0x15,0x0b,
+ 0x16,0x0e,
+ 0x17,0x10,
+ 0x18,0x12,
+ 0x19,0x19,
+ 0x1a,0x21,
+ 0x1b,0x29,
+ 0x1c,0x31,
+ 0x1d,0x41,
+ 0x1e,0x50,
+ 0x1f,0x5f,
+ 0x20,0x6d,
+ 0x21,0x79,
+ 0x22,0x91,
+ 0x23,0xa5,
+ 0x24,0xb9,
+ 0x25,0xc9,
+ 0x26,0xe1,
+ 0x27,0xee,
+ 0x28,0xf7,
+ 0x29,0xff,
+ */
+ //da,sun///
+ 0xfe,0x02,
+ 0x40,0x06,
+ 0x41,0x23,
+ 0x42,0x3f,
+ 0x43,0x06,
+ 0x44,0x00,
+ 0x45,0x00,
+ 0x46,0x14,
+ 0x47,0x09,
+
+ #endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid10_hl_pc1089.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid10_hl_pc1089.h
new file mode 100755
index 00000000..45a63cdf
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid10_hl_pc1089.h
@@ -0,0 +1,1158 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xd0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x78,//78
+ 0xfe, 0x02,
+ 0xd5, 0xf8,//00
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x80,//80
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,//88
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_auto[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_50hz[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+
+
+};
+
+uint8_t gc2035_antibanding_60hz[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_off[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]= {
+ 0xfe , 0x00,
+ 0xfa , 0x11,
+ 0xc8 , 0x00,
+
+ 0x90 , 0x01,
+ 0x95 , 0x04,
+ 0x96 , 0xb0,
+ 0x97 , 0x06,
+ 0x98 , 0x40,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+ 0xfa,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+
+ 0xfe , 0x80,
+ 0xfe , 0x80,
+ 0xfe , 0x80,
+ 0xfc , 0x06,
+ 0xf2 , 0x00,
+ 0xf3 , 0x00,
+ 0xf4 , 0x00,
+ 0xf5 , 0x00,
+ 0xf9 , 0xfe, //[0] pll enable
+ 0xfa , 0x00,
+ 0xf6 , 0x00,
+ 0xf7 , 0x15, //pll enable
+ 0xf8 , 0x85,
+ 0xfe , 0x00,
+ 0x82 , 0x00,
+ 0xb3 , 0x60,
+ 0xb4 , 0x40,
+ 0xb5 , 0x60,
+
+ 0x03 , 0x02,
+ 0x04 , 0xa8,
+
+ //////////measure window ///////////
+ 0xfe , 0x00,
+ 0xec , 0x06,//04
+ 0xed , 0x06,//04
+ 0xee , 0x62,//60
+ 0xef , 0x92,//90
+
+ ///////////analog/////////////
+ 0x0a , 0x00, //row start
+ 0x0c , 0x00, //col start
+ 0x0d , 0x04,
+ 0x0e , 0xc0,
+ 0x0f , 0x06, //Window setting
+ 0x10 , 0x58,
+ 0x17 , 0x14, //[0]mirror [1]flip
+ 0x18 , 0x0e, //0a 2012.10.26
+ 0x19 , 0x0c, //AD pipe number
+ 0x1a , 0x01, //CISCTL mode4
+ 0x1b , 0x8b,
+ 0x1c , 0x05,//add by lanking 20130403
+ 0x1e , 0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f , 0x08, //[3] tx-low en//
+ 0x20 , 0x05, //[0]adclk mode , 0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21 , 0x0f, //[6:4]rsg
+ 0x22 , 0xf0, //[3:0]vref d0 20130628
+ 0x23 , 0xc3, //f3//ADC_r
+ 0x24 , 0x17, //pad drive 16
+
+ //AWB_gray
+ 0xfe , 0x01,
+ 0x4f , 0x00,
+ 0x4d , 0x32, // 30
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x42, // 40
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x52, // 50
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x62, // 60
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x72, // 70
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x82, // 80
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x92, // 90
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4f , 0x01,
+ 0x50 , 0x88,
+ 0xfe , 0x00,
+ 0x82 , 0xfe,
+
+ ///////awb start ////////////////
+ 0xfe , 0x01,
+ 0x50 , 0x88,//c0//[6]green mode
+ 0x52 , 0x40,
+ 0x54 , 0x60,
+ 0x56 , 0x06,
+ 0x57 , 0x20,//pre adjust
+ 0x58 , 0x01,
+ 0x5b , 0x02,//AWB_gain_delta
+ 0x61 , 0xaa,//R/G stand
+ 0x62 , 0xaa,//R/G stand
+ 0x71 , 0x00,
+ 0x74 , 0x10,//AWB_C_max
+ 0x77 , 0x08,//AWB_p2_x
+ 0x78 , 0xfd,//AWB_p2_y
+ 0x86 , 0x30,
+ 0x87 , 0x00,
+ 0x88 , 0x04,//[1]dark mode
+ 0x8a , 0xc0,//awb move mode
+ 0x89 , 0x75,
+ 0x84 , 0x08,//auto_window
+ 0x8b , 0x00,//awb compare luma
+ 0x8d , 0x70,//awb gain limit R
+ 0x8e , 0x70,//G
+ 0x8f , 0xf4,//B
+ /////////awb end /////////////
+
+ //AEC
+ 0xfe , 0x01,
+ 0x11 , 0x20,//AEC_out_slope , 0x
+ 0x1f , 0xc0,//max_post_gain
+ 0x20 , 0x60,//max_pre_gain
+ 0x47 , 0x30,//AEC_outdoor_th
+ 0x0b , 0x10,//
+ 0x13 , 0x78,//y_target 75
+
+
+ 0xfe , 0x00,
+ 0x05 , 0x01,
+ 0x06 , 0x23,
+ 0x07 , 0x00,
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,//
+ 0xb6 , 0x03,//AEC enable
+ 0xfe , 0x00,
+
+ /////////BLK//////
+ 0x3f , 0x00,//prc close
+ 0x40 , 0x77,//
+ 0x42 , 0x7f,
+ 0x43 , 0x30,
+ 0x5c , 0x08,
+ 0x5e , 0x20,
+ 0x5f , 0x20,
+ 0x60 , 0x20,
+ 0x61 , 0x20,
+ 0x62 , 0x20,
+ 0x63 , 0x20,
+ 0x64 , 0x20,
+ 0x65 , 0x20,
+
+ ///block////////////
+ 0x80 , 0xff,
+ 0x81 , 0x26,//38 //skin_Y 8c_debug
+ 0x87 , 0x90,//[7]middle gamma
+ 0x84 , 0x02,//output put foramat
+ 0x86 , 0x06,//02 //sync plority lanking
+ 0x8b , 0xbc,
+ 0xb0 , 0x80,//globle gain
+ 0xc0 , 0x40,//Yuv bypass
+
+ //////lsc/////////////
+#if 0
+ 0xfe , 0x01,
+ 0xc2 , 0x38,
+ 0xc3 , 0x25,
+ 0xc4 , 0x21,
+ 0xc8 , 0x19,
+ 0xc9 , 0x12,
+ 0xca , 0x0e,
+ 0xbc , 0x43,
+ 0xbd , 0x18,
+ 0xbe , 0x1b,
+ 0xb6 , 0x40,
+ 0xb7 , 0x2e,
+ 0xb8 , 0x26,
+ 0xc5 , 0x05,
+ 0xc6 , 0x03,
+ 0xc7 , 0x04,
+ 0xcb , 0x00,
+ 0xcc , 0x00,
+ 0xcd , 0x00,
+ 0xbf , 0x14,
+ 0xc0 , 0x22,
+ 0xc1 , 0x1b,
+ 0xb9 , 0x00,
+ 0xba , 0x05,
+ 0xbb , 0x05,
+ 0xaa , 0x35,
+ 0xab , 0x33,
+ 0xac , 0x33,
+ 0xad , 0x25,
+ 0xae , 0x22,
+ 0xaf , 0x27,
+ 0xb0 , 0x1d,
+ 0xb1 , 0x20,
+ 0xb2 , 0x22,
+ 0xb3 , 0x14,
+ 0xb4 , 0x15,
+ 0xb5 , 0x16,
+ 0xd0 , 0x00,
+ 0xd2 , 0x07,
+ 0xd3 , 0x08,
+ 0xd8 , 0x00,
+ 0xda , 0x13,
+ 0xdb , 0x17,
+ 0xdc , 0x00,
+ 0xde , 0x0a,
+ 0xdf , 0x08,
+ 0xd4 , 0x00,
+ 0xd6 , 0x00,
+ 0xd7 , 0x0c,
+ 0xa4 , 0x00,
+ 0xa5 , 0x00,
+ 0xa6 , 0x00,
+ 0xa7 , 0x00,
+ 0xa8 , 0x00,
+ 0xa9 , 0x00,
+ 0xa1 , 0x80,
+ 0xa2 , 0x80,
+#endif
+ 0xfe,0x01,
+ 0xa1,0x80, // center_row
+ 0xa2,0x80, // center_col
+ 0xa4,0x07, // sign of b1
+ 0xa5,0x00, // sign of b1
+ 0xa6,0x00, // sign of b4
+ 0xa7,0x00, // sign of b4
+ 0xa8,0x00, // sign of b22
+ 0xa9,0x07, // sign of b22
+ 0xaa,0x1e, // Q1_b1 of R
+ 0xab,0x49, // Q1_b1 of G
+ 0xac,0x1e, // Q1_b1 of B
+ 0xad,0x30, // Q2_b1 of R
+ 0xae,0x1c, // Q2_b1 of G
+ 0xaf,0x1b, // Q2_b1 of B
+ 0xb0,0x56, // Q3_b1 of R
+ 0xb1,0x88, // Q3_b1 of G
+ 0xb2,0x53, // Q3_b1 of B
+ 0xb3,0xff, // Q4_b1 of R
+ 0xb4,0xf8, // Q4_b1 of G
+ 0xb5,0xcb, // Q4_b1 of B
+ 0xb6,0x62, // right_b2 of R
+ 0xb7,0x19, // right_b2 of G
+ 0xb8,0x00, // right_b2 of B
+ 0xb9,0xff, // right_b4 of R
+ 0xba,0xff, // right_b4 of G
+ 0xbb,0xff, // right_b4 of B
+ 0xbc,0x67, // left_b2 of R
+ 0xbd,0x3a, // left_b2 of G
+ 0xbe,0x25, // left_b2 of B
+ 0xbf,0x65, // left_b4 of R
+ 0xc0,0x49, // left_b4 of G
+ 0xc1,0x60, // left_b4 of B
+ 0xc2,0x3f, // up_b2 of R
+ 0xc3,0x1b, // up_b2 of G
+ 0xc4,0x19, // up_b2 of B
+ 0xc5,0x45, // up_b4 of R
+ 0xc6,0x39, // up_b4 of G
+ 0xc7,0x19, // up_b4 of B
+ 0xc8,0x12, // down_b2 of R
+ 0xc9,0x02, // down_b2 of G
+ 0xca,0x00, // down_b2 of B
+ 0xcb,0xff, // down_b4 of R
+ 0xcc,0xff, // down_b4 of G
+ 0xcd,0xf3, // down_b4 of B
+ 0xd0,0xff, // right_up_b22 of R
+ 0xd2,0x3b, // right_up_b22 of G
+ 0xd3,0x7d, // right_up_b22 of B
+ 0xd4,0xff, // right_down_b22 of R
+ 0xd6,0xff, // right_down_b22 of G
+ 0xd7,0xff, // right_down_b22 of B
+ 0xd8,0xff, // left_up_b22 of R
+ 0xda,0x89, // left_up_b22 of G
+ 0xdb,0xa3, // left_up_b22 of B
+ 0xdc,0x1c, // left_down_b22 of R
+ 0xde,0x99, // left_down_b22 of G
+ 0xdf,0x27, // left_down_b22 of B
+ 0xfe,0x00,
+
+ //////////cc//////////////
+ 0xfe , 0x02,
+ 0xc0 , 0x01,
+ 0xc1 , 0x38,//Green_cc for d 40
+ 0xc2 , 0xfc,
+ 0xc3 , 0x05,
+ 0xc4 , 0xec,
+ 0xc5 , 0x42,
+ 0xc6 , 0xf8,
+ 0xc7 , 0x40,//for cwf
+ 0xc8 , 0xf8,
+ 0xc9 , 0x06,
+ 0xca , 0xfd,
+ 0xcb , 0x3e,
+ 0xcc , 0xf3,
+ 0xcd , 0x36,//for A
+ 0xce , 0xf6,
+ 0xcf , 0x04,
+ 0xe3 , 0x0c,
+ 0xe4 , 0x44,
+ 0xe5 , 0xe5,
+ 0xfe , 0x00,
+
+ ///==========asde
+ 0xfe , 0x01,
+ 0x21 , 0xbf,
+ 0xfe , 0x02,
+ 0xa4 , 0x00,
+ 0xa5 , 0x40,//lsc_th
+ 0xa2 , 0xa0,//lsc_dec_slope
+ 0xa6 , 0x80,//dd_th
+ 0xa7 , 0x80,//ot_th
+ 0xab , 0x31,
+ 0xa9 , 0x6f,
+ 0xb0 , 0x99,//edge effect slope low
+ 0xb1 , 0x34,//edge effect slope low
+ 0xb3 , 0x80,//saturation dec slope
+ 0xde , 0xb6,
+ 0x38 , 0x0f,
+ 0x39 , 0x60,
+ 0xfe , 0x00,
+ 0x81 , 0x26,
+ 0xfe , 0x02,
+ 0x83 , 0x00,
+ 0x84 , 0x45,
+ ////////////YCP//////////
+ 0xd1 , 0x38,//saturation_cb
+ 0xd2 , 0x34,//saturation_Cr 38
+ 0xd3 , 0x40,//contrast
+ 0xd4 , 0x80,//contrast center
+ 0xd5 , 0xf8,//luma_offset
+ 0xdc , 0x30,
+ 0xdd , 0xb8,//edge_sa_g,b
+ 0xfe , 0x00,
+ //////////dndd///////////
+ 0xfe , 0x02,
+ 0x88 , 0x15,//dn_b_base
+ 0x8c , 0xf6,//[2]b_in_dark_inc
+ 0x89 , 0x03,//dn_c_weight
+ //////////EE ///////////
+ 0xfe , 0x02,
+ 0x90 , 0x6c,// EEINTP mode1
+ 0x97 , 0x45,// edge effect
+ ////==============RGB Gamma ////
+ 0xfe , 0x02,
+ 0x15 , 0x0a,
+ 0x16 , 0x12,
+ 0x17 , 0x19,
+ 0x18 , 0x1f,
+ 0x19 , 0x2c,
+ 0x1a , 0x38,
+ 0x1b , 0x42,
+ 0x1c , 0x4e,
+ 0x1d , 0x63,
+ 0x1e , 0x76,
+ 0x1f , 0x87,
+ 0x20 , 0x96,
+ 0x21 , 0xa2,
+ 0x22 , 0xb8,
+ 0x23 , 0xca,
+ 0x24 , 0xd8,
+ 0x25 , 0xe3,
+ 0x26 , 0xf0,
+ 0x27 , 0xf8,
+ 0x28 , 0xfd,
+ 0x29 , 0xff,
+ //// small RGB gamma////
+ /*
+ 0xfe , 0x02,
+ 0x15 , 0x0b,
+ 0x16 , 0x0e,
+ 0x17 , 0x10,
+ 0x18 , 0x12,
+ 0x19 , 0x19,
+ 0x1a , 0x21,
+ 0x1b , 0x29,
+ 0x1c , 0x31,
+ 0x1d , 0x41,
+ 0x1e , 0x50,
+ 0x1f , 0x5f,
+ 0x20 , 0x6d,
+ 0x21 , 0x79,
+ 0x22 , 0x91,
+ 0x23 , 0xa5,
+ 0x24 , 0xb9,
+ 0x25 , 0xc9,
+ 0x26 , 0xe1,
+ 0x27 , 0xee,
+ 0x28 , 0xf7,
+ 0x29 , 0xff,
+ */
+
+ ///=================y gamma
+ 0xfe , 0x02,
+ 0x2b , 0x00,
+ 0x2c , 0x04,
+ 0x2d , 0x09,
+ 0x2e , 0x18,
+ 0x2f , 0x27,
+ 0x30 , 0x37,
+ 0x31 , 0x49,
+ 0x32 , 0x5c,
+ 0x33 , 0x7e,
+ 0x34 , 0xa0,
+ 0x35 , 0xc0,
+ 0x36 , 0xe0,
+ 0x37 , 0xff,
+
+
+ //AWB clear
+ 0xfe , 0x01,
+ 0x4f , 0x00,
+ 0x4d , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x10, // 10
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x20, // 20
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x30,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00, // 30
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x40, // 40
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x50, // 50
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x60, // 60
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x70, // 70
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x80, // 80
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x90, // 90
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xa0, // a0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xb0, // b0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xc0, // c0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xd0, // d0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4f , 0x01,
+ /////// awb value////////
+ 0xfe , 0x01,
+ 0x4f , 0x00,
+ 0x4d , 0x30,
+ 0x4e , 0x00,
+ 0x4e , 0x80,
+ 0x4e , 0x80,
+ 0x4e , 0x02,
+ 0x4e , 0x02,
+ 0x4d , 0x40,
+ 0x4e , 0x00,
+ 0x4e , 0x80,
+ 0x4e , 0x80,
+ 0x4e , 0x02,
+ 0x4e , 0x02,
+ 0x4e , 0x02,
+ 0x4d , 0x53,
+ 0x4e , 0x08,
+ 0x4e , 0x04,
+ 0x4d , 0x62,
+ 0x4e , 0x10,
+ 0x4d , 0x72,
+ 0x4e , 0x20,
+ 0x4f , 0x01,
+
+ /////1600x1200size//
+ 0xfe , 0x00,//
+ 0x90 , 0x01, ////crop enable
+ 0x95 , 0x04, ////1600x1200
+ 0x96 , 0xb0,
+ 0x97 , 0x06,
+ 0x98 , 0x40,
+
+ 0xfe , 0x03,
+ 0x17 , 0x00, //widv
+ 0x40 , 0x40, //00
+ 0x41 , 0x02, // Pclk_polarity
+ 0x42 , 0x40,
+ 0x43 , 0x06, //output buf width
+
+ 0xfe , 0x00,
+ 0xad , 0x7c,
+ 0xae , 0x81,
+ 0xaf , 0x80,
+
+
+ ////output DVP/////
+ 0xfe , 0x00,
+ 0x82 , 0xfe,
+ 0xf2 , 0x70,
+ 0xf3 , 0xff,
+ 0xf4 , 0x00,
+ 0xf5 , 0x30,
+#if 0
+ 0xfe , 0x00 ,
+ 0x80 , 0x08 ,
+ 0x81 , 0x00 ,
+ 0x82 , 0x00 ,
+ 0xa3 , 0x80 ,
+ 0xa4 , 0x80 ,
+ 0xa5 , 0x80 ,
+ 0xa6 , 0x80 ,
+ 0xa7 , 0x80 ,
+ 0xa8 , 0x80 ,
+ 0xa9 , 0x80 ,
+ 0xaa , 0x80 ,
+ 0xad , 0x80 ,
+ 0xae , 0x80 ,
+ 0xaf , 0x80 ,
+ 0xb3 , 0x40 ,
+ 0xb4 , 0x40 ,
+ 0xb5 , 0x40 ,
+ 0xfe , 0x01 ,
+ 0x0a , 0x40 ,
+ 0x13 , 0x48 ,
+ 0x9f , 0x40 ,
+ 0xfe , 0x02 ,
+ 0xd0 , 0x40 ,
+ 0xd1 , 0x20 ,
+ 0xd2 , 0x20 ,
+ 0xd3 , 0x40 ,
+ 0xd5 , 0x00 ,
+ 0xdd , 0x00 ,
+ 0xfe , 0x00 ,
+#endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid13_hl_pc1388.h b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid13_hl_pc1388.h
new file mode 100755
index 00000000..a7f149f7
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc2035/gc2035_pid13_hl_pc1388.h
@@ -0,0 +1,1152 @@
+#ifndef GC2035_H
+#define GC2035_H
+
+
+// Scene Mode
+uint8_t gc2035_scene_mode_auto[] = {
+ 0xfe,0x01,
+ 0x3e,0x40,
+ 0x1f,0xa0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x50,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe,0x00,
+};
+
+uint8_t gc2035_scene_mode_night[] = {
+ 0xfe, 0x01,
+ 0x3e, 0x60,
+ 0x1f,0xe0,//max_post_gain c0 2013-7-22 dustin
+ 0x20,0x80,//max_pre_gain 60 2013-7-22 dustin
+ 0xfe, 0x00,
+};
+
+
+// White Balance
+uint8_t gc2035_wb_auto [] = {
+ 0xfe, 0x00,
+// 0xb3, 0x61, //2013-8-16 dustin
+// 0xb4, 0x40,
+// 0xb5, 0x61,
+ 0x82, 0xfe,
+};
+
+uint8_t gc2035_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0xa8,
+};
+
+uint8_t gc2035_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x50,
+ 0xb4, 0x40,
+ 0xb5, 0x78,
+};
+
+uint8_t gc2035_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x78,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+uint8_t gc2035_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x82, 0xfc,
+ 0xb3, 0x58,
+ 0xb4, 0x40,
+ 0xb5, 0x50,
+};
+
+
+// Exposure
+uint8_t gc2035_exposure_neg6[] = {
+ 0xfe, 0x01,
+ 0x13, 0x68,
+ 0xfe, 0x02,
+ 0xd5, 0xe0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_neg3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x02,
+ 0xd5, 0xf0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_zero[] = {
+ 0xfe, 0x01,
+ 0x13, 0x88,//78
+ 0xfe, 0x02,
+ 0xd5, 0x04,//00
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos3[] = {
+ 0xfe, 0x01,
+ 0x13, 0x98,//80
+ 0xfe, 0x02,
+ 0xd5, 0x10,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_exposure_pos6[] = {
+ 0xfe, 0x01,
+ 0x13, 0xa8,//88
+ 0xfe, 0x02,
+ 0xd5, 0x20,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_auto[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_50hz[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+
+
+};
+
+uint8_t gc2035_antibanding_60hz[] = {
+ 0xfe, 0x00,
+ 0x05, 0x01,
+ 0x06, 0x39,
+ 0x07, 0x00,
+ 0x08, 0x14,
+ 0xfe, 0x01,
+ 0x27, 0x00,
+ 0x28, 0x8b,
+ 0x29, 0x04,
+ 0x2a, 0x58,
+ 0x2b, 0x04,
+ 0x2c, 0x58,
+ 0x2d, 0x06,
+ 0x2e, 0x84,
+ 0x2f, 0x08,
+ 0x30, 0xb0,
+ 0xfe, 0x00,
+};
+
+uint8_t gc2035_antibanding_off[] = {
+ 0xfe , 0x00,
+ 0x05 , 0x01,// HB
+ 0x06 , 0x23,
+ 0x07 , 0x00,// VB
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,// step
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,
+};
+
+uint8_t gc2035_176_144_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x33,
+ 0x9b,0x00,
+ 0x9f,0x00,
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0x92,//600
+ 0x97,0x00,
+ 0x98,0xb0,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+
+ 0xfe,0x03,
+ 0x42,0x60,
+ 0x43,0x01,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_320_240_regs[]={
+ 0xfe,0x00,
+
+ 0x99,0x22,
+ 0x9b,0x00,
+ 0x9f,0x00,
+
+ 0x90,0x01,
+
+ 0x95,0x00,
+ 0x96,0xf2,//600
+ 0x97,0x01,
+ 0x98,0x40,//800
+
+ 0xc8,0x15,
+ 0xf7,0x11,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x02,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x54,
+};
+
+uint8_t gc2035_1280_720_regs[]={
+ 0xfe,0x00,
+ 0x0a,0xf0,
+ 0x0c,0xa0,
+ 0x0d,0x02,
+ 0x0e,0xd8,
+ 0x0f,0x05,
+ 0x10,0x18,
+ 0xfe,0x00,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x05,0x01,
+ 0x06,0xaa,
+ 0x07,0x00,
+ 0x08,0xf6,
+ 0xfe,0x01,
+ 0x27,0x00,
+ 0x28,0xa1,
+ 0x29,0x03,
+ 0x2a,0xc6,
+ 0x2b,0x04,
+ 0x2c,0x67,
+ 0x2d,0x06,
+ 0x2e,0x4a,
+ 0x2f,0x07,
+ 0x30,0x8c,
+ 0x3e,0x40,
+ 0xfe,0x00,
+ 0xb6,0x03,
+ 0xec,0x04,
+ 0xed,0x04,
+ 0xee,0x50,
+ 0xef,0x58,
+ 0x99,0x11,
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0xd0,
+ 0x97,0x05,
+ 0x98,0x00,
+ 0xfe,0x03,
+ 0x42,0x80,
+ 0x43,0x06,
+ 0x41,0x00,
+ 0x40,0x00,
+ 0x17,0x01,
+ 0xfe,0x00,
+ 0xc8,0x00,
+ 0xfa,0x11,
+};
+
+uint8_t gc2035_1600_1200_regs[]= {
+ 0xfe , 0x00,
+ 0xfa , 0x11,
+ 0xc8 , 0x00,
+
+ 0x90 , 0x01,
+ 0x95 , 0x04,
+ 0x96 , 0xb0,
+ 0x97 , 0x06,
+ 0x98 , 0x40,
+};
+
+uint8_t gc2035_800_600_regs[]={
+ 0xfe,0x00,
+ 0xfa,0x00,
+ 0xc8,0x00,
+
+ 0x99,0x22,
+ 0x9a,0x07,
+ 0x9b,0x00,
+ 0x9c,0x00,
+ 0x9d,0x00,
+ 0x9e,0x00,
+ 0x9f,0x00,
+ 0xa0,0x00,
+ 0xa1,0x00,
+ 0xa2,0x00,
+
+ 0x90,0x01,
+ 0x95,0x02,
+ 0x96,0x58,
+ 0x97,0x03,
+ 0x98,0x20,
+};
+
+uint8_t gc2035_640_480_regs[]={
+ 0xfe,0x00,
+ 0x0c,0x00,
+ 0xfa,0x00,
+ 0x0d,0x04,
+ 0x0e,0xc0,
+ 0x0f,0x06,
+ 0x10,0x58,
+
+ 0x90,0x01,
+ 0x99,0x11,
+ 0x95,0x01,
+ 0x96,0xe0,
+ 0x97,0x02,
+ 0x98,0x80,
+
+ 0xc8,0x15,
+ 0xf7,0x15,
+ 0xfe,0x03,
+ 0x42,0x00,
+ 0x43,0x05,
+ 0x41,0x02,
+ 0x40,0x40,
+ 0x17,0x00,
+ 0xfe,0x00,
+ 0xc8,0x55,
+ 0xb6,0x03,
+};
+
+uint8_t gc2035_default_regs_init[]={
+
+ 0xfe , 0x80,
+ 0xfe , 0x80,
+ 0xfe , 0x80,
+ 0xfc , 0x06,
+ 0xf2 , 0x00,
+ 0xf3 , 0x00,
+ 0xf4 , 0x00,
+ 0xf5 , 0x00,
+ 0xf9 , 0xfe, //[0] pll enable
+ 0xfa , 0x00,
+ 0xf6 , 0x00,
+ 0xf7 , 0x15, //pll enable
+ 0xf8 , 0x85,
+ 0xfe , 0x00,
+ 0x82 , 0x00,
+ 0xb3 , 0x60,
+ 0xb4 , 0x40,
+ 0xb5 , 0x60,
+
+ 0x03 , 0x02,
+ 0x04 , 0xa8,
+
+ //////////measure window ///////////
+ 0xfe , 0x00,
+ 0xec , 0x06,//04
+ 0xed , 0x06,//04
+ 0xee , 0x62,//60
+ 0xef , 0x92,//90
+
+ ///////////analog/////////////
+ 0x0a , 0x00, //row start
+ 0x0c , 0x00, //col start
+ 0x0d , 0x04,
+ 0x0e , 0xc0,
+ 0x0f , 0x06, //Window setting
+ 0x10 , 0x58,
+ 0x17 , 0x14, //[0]mirror [1]flip
+ 0x18 , 0x0e, //0a 2012.10.26
+ 0x19 , 0x0c, //AD pipe number
+ 0x1a , 0x01, //CISCTL mode4
+ 0x1b , 0x8b,
+ 0x1c , 0x05,//add by lanking 20130403
+ 0x1e , 0x88, //analog mode1 [7] tx-high en [5:3]COL_bias
+ 0x1f , 0x08, //[3] tx-low en//
+ 0x20 , 0x05, //[0]adclk mode , 0x[1]rowclk_MODE [2]rsthigh_en
+ 0x21 , 0x0f, //[6:4]rsg
+ 0x22 , 0xf0, //[3:0]vref d0 20130628
+ 0x23 , 0xc3, //f3//ADC_r
+ 0x24 , 0x17, //pad drive 16
+
+ //AWB_gray
+ 0xfe , 0x01,
+ 0x4f , 0x00,
+ 0x4d , 0x32, // 30
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x42, // 40
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x52, // 50
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x62, // 60
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x72, // 70
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x82, // 80
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4d , 0x92, // 90
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4e , 0x04,
+ 0x4f , 0x01,
+ 0x50 , 0x88,
+ 0xfe , 0x00,
+ 0x82 , 0xfe,
+
+ ///////awb start ////////////////
+ 0xfe , 0x01,
+ 0x50 , 0x88,//c0//[6]green mode
+ 0x52 , 0x40,
+ 0x54 , 0x60,
+ 0x56 , 0x06,
+ 0x57 , 0x20,//pre adjust
+ 0x58 , 0x01,
+ 0x5b , 0x02,//AWB_gain_delta
+ 0x61 , 0xaa,//R/G stand
+ 0x62 , 0xaa,//R/G stand
+ 0x71 , 0x00,
+ 0x74 , 0x10,//AWB_C_max
+ 0x77 , 0x08,//AWB_p2_x
+ 0x78 , 0xfd,//AWB_p2_y
+ 0x86 , 0x30,
+ 0x87 , 0x00,
+ 0x88 , 0x04,//[1]dark mode
+ 0x8a , 0xc0,//awb move mode
+ 0x89 , 0x75,
+ 0x84 , 0x08,//auto_window
+ 0x8b , 0x00,//awb compare luma
+ 0x8d , 0x70,//awb gain limit R
+ 0x8e , 0x70,//G
+ 0x8f , 0xf4,//B
+ /////////awb end /////////////
+
+ //AEC
+ 0xfe , 0x01,
+ 0x11 , 0x20,//AEC_out_slope , 0x
+ 0x1f , 0xc0,//max_post_gain
+ 0x20 , 0x60,//max_pre_gain
+ 0x47 , 0x30,//AEC_outdoor_th
+ 0x0b , 0x10,//
+ 0x13 , 0x88,//y_target 75
+
+
+ 0xfe , 0x00,
+ 0x05 , 0x01,
+ 0x06 , 0x23,
+ 0x07 , 0x00,
+ 0x08 , 0x14,
+ 0xfe , 0x01,
+ 0x27 , 0x00,
+ 0x28 , 0xaa,
+ 0x29 , 0x04,// level 0 13.75
+ 0x2a , 0xa6,
+ 0x2b , 0x04,// level 1 13.75
+ 0x2c , 0xa6,
+ 0x2d , 0x06,// level 2 10
+ 0x2e , 0xa4,
+ 0x2f , 0x08,// level 3 7.5
+ 0x30 , 0xa2,
+ 0xfe , 0x00,//
+ 0xb6 , 0x03,//AEC enable
+ 0xfe , 0x00,
+
+ /////////BLK//////
+ 0x3f , 0x00,//prc close
+ 0x40 , 0x77,//
+ 0x42 , 0x7f,
+ 0x43 , 0x30,
+ 0x5c , 0x08,
+ 0x5e , 0x20,
+ 0x5f , 0x20,
+ 0x60 , 0x20,
+ 0x61 , 0x20,
+ 0x62 , 0x20,
+ 0x63 , 0x20,
+ 0x64 , 0x20,
+ 0x65 , 0x20,
+
+ ///block////////////
+ 0x80 , 0xff,
+ 0x81 , 0x26,//38 //skin_Y 8c_debug
+ 0x87 , 0x90,//[7]middle gamma
+ 0x84 , 0x02,//output put foramat
+ 0x86 , 0x06,//02 //sync plority lanking
+ 0x8b , 0xbc,
+ 0xb0 , 0x80,//globle gain
+ 0xc0 , 0x40,//Yuv bypass
+
+ //////lsc/////////////
+#if 0
+ 0xfe , 0x01,
+ 0xc2 , 0x38,
+ 0xc3 , 0x25,
+ 0xc4 , 0x21,
+ 0xc8 , 0x19,
+ 0xc9 , 0x12,
+ 0xca , 0x0e,
+ 0xbc , 0x43,
+ 0xbd , 0x18,
+ 0xbe , 0x1b,
+ 0xb6 , 0x40,
+ 0xb7 , 0x2e,
+ 0xb8 , 0x26,
+ 0xc5 , 0x05,
+ 0xc6 , 0x03,
+ 0xc7 , 0x04,
+ 0xcb , 0x00,
+ 0xcc , 0x00,
+ 0xcd , 0x00,
+ 0xbf , 0x14,
+ 0xc0 , 0x22,
+ 0xc1 , 0x1b,
+ 0xb9 , 0x00,
+ 0xba , 0x05,
+ 0xbb , 0x05,
+ 0xaa , 0x35,
+ 0xab , 0x33,
+ 0xac , 0x33,
+ 0xad , 0x25,
+ 0xae , 0x22,
+ 0xaf , 0x27,
+ 0xb0 , 0x1d,
+ 0xb1 , 0x20,
+ 0xb2 , 0x22,
+ 0xb3 , 0x14,
+ 0xb4 , 0x15,
+ 0xb5 , 0x16,
+ 0xd0 , 0x00,
+ 0xd2 , 0x07,
+ 0xd3 , 0x08,
+ 0xd8 , 0x00,
+ 0xda , 0x13,
+ 0xdb , 0x17,
+ 0xdc , 0x00,
+ 0xde , 0x0a,
+ 0xdf , 0x08,
+ 0xd4 , 0x00,
+ 0xd6 , 0x00,
+ 0xd7 , 0x0c,
+ 0xa4 , 0x00,
+ 0xa5 , 0x00,
+ 0xa6 , 0x00,
+ 0xa7 , 0x00,
+ 0xa8 , 0x00,
+ 0xa9 , 0x00,
+ 0xa1 , 0x80,
+ 0xa2 , 0x80,
+#endif
+ 0xfe,0x01,
+ 0xa1,0x80, // center_row
+ 0xa2,0x80, // center_col
+ 0xa4,0x07, // sign of b1
+ 0xa5,0x00, // sign of b1
+ 0xa6,0x00, // sign of b4
+ 0xa7,0x00, // sign of b4
+ 0xa8,0x00, // sign of b22
+ 0xa9,0x07, // sign of b22
+ 0xaa,0x1e, // Q1_b1 of R
+ 0xab,0x49, // Q1_b1 of G
+ 0xac,0x1e, // Q1_b1 of B
+ 0xad,0x30, // Q2_b1 of R
+ 0xae,0x1c, // Q2_b1 of G
+ 0xaf,0x1b, // Q2_b1 of B
+ 0xb0,0x56, // Q3_b1 of R
+ 0xb1,0x88, // Q3_b1 of G
+ 0xb2,0x53, // Q3_b1 of B
+ 0xb3,0xff, // Q4_b1 of R
+ 0xb4,0xf8, // Q4_b1 of G
+ 0xb5,0xcb, // Q4_b1 of B
+ 0xb6,0x62, // right_b2 of R
+ 0xb7,0x19, // right_b2 of G
+ 0xb8,0x00, // right_b2 of B
+ 0xb9,0xff, // right_b4 of R
+ 0xba,0xff, // right_b4 of G
+ 0xbb,0xff, // right_b4 of B
+ 0xbc,0x67, // left_b2 of R
+ 0xbd,0x3a, // left_b2 of G
+ 0xbe,0x25, // left_b2 of B
+ 0xbf,0x65, // left_b4 of R
+ 0xc0,0x49, // left_b4 of G
+ 0xc1,0x60, // left_b4 of B
+ 0xc2,0x3f, // up_b2 of R
+ 0xc3,0x1b, // up_b2 of G
+ 0xc4,0x19, // up_b2 of B
+ 0xc5,0x45, // up_b4 of R
+ 0xc6,0x39, // up_b4 of G
+ 0xc7,0x19, // up_b4 of B
+ 0xc8,0x12, // down_b2 of R
+ 0xc9,0x02, // down_b2 of G
+ 0xca,0x00, // down_b2 of B
+ 0xcb,0xff, // down_b4 of R
+ 0xcc,0xff, // down_b4 of G
+ 0xcd,0xf3, // down_b4 of B
+ 0xd0,0xff, // right_up_b22 of R
+ 0xd2,0x3b, // right_up_b22 of G
+ 0xd3,0x7d, // right_up_b22 of B
+ 0xd4,0xff, // right_down_b22 of R
+ 0xd6,0xff, // right_down_b22 of G
+ 0xd7,0xff, // right_down_b22 of B
+ 0xd8,0xff, // left_up_b22 of R
+ 0xda,0x89, // left_up_b22 of G
+ 0xdb,0xa3, // left_up_b22 of B
+ 0xdc,0x1c, // left_down_b22 of R
+ 0xde,0x99, // left_down_b22 of G
+ 0xdf,0x27, // left_down_b22 of B
+ 0xfe,0x00,
+
+ //////////cc//////////////
+ 0xfe , 0x02,
+ 0xc0 , 0x01,
+ 0xc1 , 0x40,//Green_cc for d
+ 0xc2 , 0xfc,
+ 0xc3 , 0x05,
+ 0xc4 , 0xec,
+ 0xc5 , 0x42,
+ 0xc6 , 0xf8,
+ 0xc7 , 0x40,//for cwf
+ 0xc8 , 0xf8,
+ 0xc9 , 0x06,
+ 0xca , 0xfd,
+ 0xcb , 0x3e,
+ 0xcc , 0xf3,
+ 0xcd , 0x36,//for A
+ 0xce , 0xf6,
+ 0xcf , 0x04,
+ 0xe3 , 0x0c,
+ 0xe4 , 0x44,
+ 0xe5 , 0xe5,
+ 0xfe , 0x00,
+
+ ///==========asde
+ 0xfe , 0x01,
+ 0x21 , 0xbf,
+ 0xfe , 0x02,
+ 0xa4 , 0x00,
+ 0xa5 , 0x40,//lsc_th
+ 0xa2 , 0xa0,//lsc_dec_slope
+ 0xa6 , 0x80,//dd_th
+ 0xa7 , 0x80,//ot_th
+ 0xab , 0x31,
+ 0xa9 , 0x6f,
+ 0xb0 , 0x99,//edge effect slope low
+ 0xb1 , 0x34,//edge effect slope low
+ 0xb3 , 0x80,//saturation dec slope
+ 0xde , 0xb6,
+ 0x38 , 0x0f,
+ 0x39 , 0x60,
+ 0xfe , 0x00,
+ 0x81 , 0x26,
+ 0xfe , 0x02,
+ 0x83 , 0x00,
+ 0x84 , 0x45,
+ ////////////YCP//////////
+ 0xd1 , 0x38,//saturation_cb
+ 0xd2 , 0x38,//saturation_Cr
+ 0xd3 , 0x40,//contrast
+ 0xd4 , 0x80,//contrast center
+ 0xd5 , 0x00,//luma_offset
+ 0xdc , 0x30,
+ 0xdd , 0xb8,//edge_sa_g,b
+ 0xfe , 0x00,
+ //////////dndd///////////
+ 0xfe , 0x02,
+ 0x88 , 0x15,//dn_b_base
+ 0x8c , 0xf6,//[2]b_in_dark_inc
+ 0x89 , 0x03,//dn_c_weight
+ //////////EE ///////////
+ 0xfe , 0x02,
+ 0x90 , 0x6c,// EEINTP mode1
+ 0x97 , 0x45,// edge effect
+ ////==============RGB Gamma ////
+ 0xfe , 0x02,
+ 0x15 , 0x0a,
+ 0x16 , 0x12,
+ 0x17 , 0x19,
+ 0x18 , 0x1f,
+ 0x19 , 0x2c,
+ 0x1a , 0x38,
+ 0x1b , 0x42,
+ 0x1c , 0x4e,
+ 0x1d , 0x63,
+ 0x1e , 0x76,
+ 0x1f , 0x87,
+ 0x20 , 0x96,
+ 0x21 , 0xa2,
+ 0x22 , 0xb8,
+ 0x23 , 0xca,
+ 0x24 , 0xd8,
+ 0x25 , 0xe3,
+ 0x26 , 0xf0,
+ 0x27 , 0xf8,
+ 0x28 , 0xfd,
+ 0x29 , 0xff,
+ //// small RGB gamma////
+ /*
+ 0xfe , 0x02,
+ 0x15 , 0x0b,
+ 0x16 , 0x0e,
+ 0x17 , 0x10,
+ 0x18 , 0x12,
+ 0x19 , 0x19,
+ 0x1a , 0x21,
+ 0x1b , 0x29,
+ 0x1c , 0x31,
+ 0x1d , 0x41,
+ 0x1e , 0x50,
+ 0x1f , 0x5f,
+ 0x20 , 0x6d,
+ 0x21 , 0x79,
+ 0x22 , 0x91,
+ 0x23 , 0xa5,
+ 0x24 , 0xb9,
+ 0x25 , 0xc9,
+ 0x26 , 0xe1,
+ 0x27 , 0xee,
+ 0x28 , 0xf7,
+ 0x29 , 0xff,
+ */
+
+ ///=================y gamma
+ 0xfe , 0x02,
+ 0x2b , 0x00,
+ 0x2c , 0x04,
+ 0x2d , 0x09,
+ 0x2e , 0x18,
+ 0x2f , 0x27,
+ 0x30 , 0x37,
+ 0x31 , 0x49,
+ 0x32 , 0x5c,
+ 0x33 , 0x7e,
+ 0x34 , 0xa0,
+ 0x35 , 0xc0,
+ 0x36 , 0xe0,
+ 0x37 , 0xff,
+
+
+ //AWB clear
+ 0xfe , 0x01,
+ 0x4f , 0x00,
+ 0x4d , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x10, // 10
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x20, // 20
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x30,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00, // 30
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x40, // 40
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x50, // 50
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x60, // 60
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x70, // 70
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x80, // 80
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0x90, // 90
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xa0, // a0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xb0, // b0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xc0, // c0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4d , 0xd0, // d0
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4e , 0x00,
+ 0x4f , 0x01,
+ /////// awb value////////
+ 0xfe , 0x01,
+ 0x4f , 0x00,
+ 0x4d , 0x30,
+ 0x4e , 0x00,
+ 0x4e , 0x80,
+ 0x4e , 0x80,
+ 0x4e , 0x02,
+ 0x4e , 0x02,
+ 0x4d , 0x40,
+ 0x4e , 0x00,
+ 0x4e , 0x80,
+ 0x4e , 0x80,
+ 0x4e , 0x02,
+ 0x4e , 0x02,
+ 0x4e , 0x02,
+ 0x4d , 0x53,
+ 0x4e , 0x08,
+ 0x4e , 0x04,
+ 0x4d , 0x62,
+ 0x4e , 0x10,
+ 0x4d , 0x72,
+ 0x4e , 0x20,
+ 0x4f , 0x01,
+
+ /////1600x1200size//
+ 0xfe , 0x00,//
+ 0x90 , 0x01, ////crop enable
+ 0x95 , 0x04, ////1600x1200
+ 0x96 , 0xb0,
+ 0x97 , 0x06,
+ 0x98 , 0x40,
+
+ 0xfe , 0x03,
+ 0x17 , 0x00, //widv
+ 0x40 , 0x40, //00
+ 0x41 , 0x02, // Pclk_polarity
+ 0x42 , 0x40,
+ 0x43 , 0x06, //output buf width
+
+ ////output DVP/////
+ 0xfe , 0x00,
+ 0x82 , 0xfe,
+ 0xf2 , 0x70,
+ 0xf3 , 0xff,
+ 0xf4 , 0x00,
+ 0xf5 , 0x30,
+#if 0
+ 0xfe , 0x00 ,
+ 0x80 , 0x08 ,
+ 0x81 , 0x00 ,
+ 0x82 , 0x00 ,
+ 0xa3 , 0x80 ,
+ 0xa4 , 0x80 ,
+ 0xa5 , 0x80 ,
+ 0xa6 , 0x80 ,
+ 0xa7 , 0x80 ,
+ 0xa8 , 0x80 ,
+ 0xa9 , 0x80 ,
+ 0xaa , 0x80 ,
+ 0xad , 0x80 ,
+ 0xae , 0x80 ,
+ 0xaf , 0x80 ,
+ 0xb3 , 0x40 ,
+ 0xb4 , 0x40 ,
+ 0xb5 , 0x40 ,
+ 0xfe , 0x01 ,
+ 0x0a , 0x40 ,
+ 0x13 , 0x48 ,
+ 0x9f , 0x40 ,
+ 0xfe , 0x02 ,
+ 0xd0 , 0x40 ,
+ 0xd1 , 0x20 ,
+ 0xd2 , 0x20 ,
+ 0xd3 , 0x40 ,
+ 0xd5 , 0x00 ,
+ 0xdd , 0x00 ,
+ 0xfe , 0x00 ,
+#endif
+};
+
+uint8_t gc2035_default_regs_exit[]={
+ 0xfe, 0x00,
+ 0xf1, 0x00,
+ 0xf2, 0x00,
+};
+
+#endif