summaryrefslogtreecommitdiff
path: root/drivers/media/video/wmt_v4l2/sensors/gc0329
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/wmt_v4l2/sensors/gc0329')
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod.h550
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod_TL070VA5.h560
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-jmt781.h496
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-kyt-174-v7.h992
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-zh1426.h530
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.c345
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.h530
-rw-r--r--drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_shuttle.h560
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_style_s729.h530
9 files changed, 5093 insertions, 0 deletions
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod.h
new file mode 100755
index 00000000..148f403c
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod.h
@@ -0,0 +1,550 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x00, /// 00
+ 0xfe, 0x01,
+ 0x13, 0x56,//6a cyrille
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x11,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x3c,
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x02,
+
+ 0x2e, 0xd0,
+ 0x2f, 0x03,
+ 0x30, 0x48,
+ 0x31, 0x04,
+ 0x32, 0x38,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x00,
+ 0x0c, 0x00,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x16,
+
+
+ 0x26, 0xf7,
+ 0x28, 0x7f,
+ 0x29, 0x00,
+ 0x32, 0x00,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x3b, 0x04,
+ 0x3c, 0x04,
+ 0x3d, 0x04,
+ 0x3e, 0x04,
+
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x55,
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x35,
+ 0xfe, 0x00,
+ ///gamma
+ /*
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ */
+
+ 0xBF, 0x0B,
+ 0xc0, 0x16,
+ 0xc1, 0x29,
+ 0xc2, 0x3C,
+ 0xc3, 0x4F,
+ 0xc4, 0x5F,
+ 0xc5, 0x6F,
+ 0xc6, 0x8A,
+ 0xc7, 0x9F,
+ 0xc8, 0xB4,
+ 0xc9, 0xC6,
+ 0xcA, 0xD3,
+ 0xcB, 0xDD,
+ 0xcC, 0xE5,
+ 0xcD, 0xF1,
+ 0xcE, 0xFA,
+ 0xcF, 0xFF,
+ /*0xBF, 0x14,
+ 0xc0, 0x28,
+ 0xc1, 0x44,
+ 0xc2, 0x5D,
+ 0xc3, 0x72,
+ 0xc4, 0x86,
+ 0xc5, 0x95,
+ 0xc6, 0xB1,
+ 0xc7, 0xC6,
+ 0xc8, 0xD5,
+ 0xc9, 0xE1,
+ 0xcA, 0xEA,
+ 0xcB, 0xF1,
+ 0xcC, 0xF5,
+ 0xcD, 0xFB,
+ 0xcE, 0xFE,
+ 0xcF, 0xFF,*/
+
+
+ 0xfe, 0x00,
+ 0xb3, 0x40,//44 cyrille
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x28,// 34 cyrille
+ 0xd2, 0x26,//34 cyrille
+ 0x7a, 0x7d,// cyrille
+ 0x7b, 0x81,// cyrille
+ 0x7c, 0x80,// cyrille
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x27,//17 cyrille
+ 0x13, 0x56,//60 cyrille
+ 0x17, 0x88,
+ 0x21, 0x80,//b0 cyrille
+ 0x22, 0x40,//60 cyrille
+ 0x3c, 0x82,
+ 0x3d, 0x55,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x00,
+ 0x9d, 0x10,
+ 0x9e, 0xc0,
+ 0x9f, 0x40,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0x80,//c0 cyrille
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x28, //34 cyrille
+ 0xd2,0x26, //34 cyrille
+ 0xd3,0x40,// 3b cyrille
+ 0xd5,0x00,//0c cyrille
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod_TL070VA5.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod_TL070VA5.h
new file mode 100755
index 00000000..eabe66b7
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-3nod_TL070VA5.h
@@ -0,0 +1,560 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x00, /// 00
+ 0xfe, 0x01,
+ 0x13, 0x56,//6a cyrille
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x11,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x3c,
+ /*
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x02,
+
+ 0x2e, 0xd0,
+ 0x2f, 0x03,
+ 0x30, 0x48,
+ 0x31, 0x04,
+ 0x32, 0x38,*/
+ 0x2b, 0x02,
+ 0x2c, 0xd0,
+ 0x2d, 0x03,
+
+ 0x2e, 0x48,
+ 0x2f, 0x03,
+ 0x30, 0x84,
+ 0x31, 0x04,
+ 0x32, 0x38,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x00,
+ 0x0c, 0x00,
+ 0x17, 0x14, //14
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x13,//0x16
+
+
+ 0x26, 0xf7,
+ 0x28, 0x7f,
+ 0x29, 0x00,
+ 0x32, 0x00,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x3b, 0x04,
+ 0x3c, 0x04,
+ 0x3d, 0x04,
+ 0x3e, 0x04,
+
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x60,//0x55
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x45,//0x35
+ 0xfe, 0x00,
+ ///gamma
+ /*
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ */
+
+ 0xBF, 0x0B,
+ 0xc0, 0x16,
+ 0xc1, 0x29,
+ 0xc2, 0x3C,
+ 0xc3, 0x4F,
+ 0xc4, 0x5F,
+ 0xc5, 0x6F,
+ 0xc6, 0x8A,
+ 0xc7, 0x9F,
+ 0xc8, 0xB4,
+ 0xc9, 0xC6,
+ 0xcA, 0xD3,
+ 0xcB, 0xDD,
+ 0xcC, 0xE5,
+ 0xcD, 0xF1,
+ 0xcE, 0xFA,
+ 0xcF, 0xFF,
+ /*0xBF, 0x14,
+ 0xc0, 0x28,
+ 0xc1, 0x44,
+ 0xc2, 0x5D,
+ 0xc3, 0x72,
+ 0xc4, 0x86,
+ 0xc5, 0x95,
+ 0xc6, 0xB1,
+ 0xc7, 0xC6,
+ 0xc8, 0xD5,
+ 0xc9, 0xE1,
+ 0xcA, 0xEA,
+ 0xcB, 0xF1,
+ 0xcC, 0xF5,
+ 0xcD, 0xFB,
+ 0xcE, 0xFE,
+ 0xcF, 0xFF,*/
+
+
+ 0xfe, 0x00,
+ 0xb3, 0x38,//44 cyrille 40
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x28,// 34 cyrille
+ 0xd2, 0x26,//34 cyrille
+ 0x7a, 0x7a,// cyrille 7d
+ 0x7b, 0x81,// cyrille
+ 0x7c, 0x80,// cyrille
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x27,//17 cyrille
+ 0x13, 0x56,//60 cyrille
+ 0x17, 0x88,
+ 0x21, 0x80,//b0 cyrille
+ 0x22, 0x40,//60 cyrille
+ 0x3c, 0x82,
+ 0x3d, 0x55,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x00,
+ 0x9d, 0x10,
+ 0x9e, 0xc0,
+ 0x9f, 0x40,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0x80,//c0 cyrille
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x28, //34 cyrille
+ 0xd2,0x26, //34 cyrille
+ 0xd3,0x40,// 3b cyrille
+ 0xd5,0x00,//0c cyrille
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-jmt781.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-jmt781.h
new file mode 100755
index 00000000..0dbf462f
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-jmt781.h
@@ -0,0 +1,496 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x00,
+ 0xfe, 0x01,
+ 0x13, 0x60,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x11,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x3c,
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x03,
+
+ 0x2e, 0x48,
+ 0x2f, 0x03,
+ 0x30, 0x48,
+ 0x31, 0x05,
+ 0x32, 0xa0,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x00,
+ 0x0c, 0x00,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x16,
+ 0x26, 0xf7,
+ 0x32, 0x04,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x55,
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x35,
+ 0xfe, 0x00,
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ 0xfe, 0x00,
+
+ 0xb3, 0x40,// 44
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xf0,// fa
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x34,
+ 0xd2, 0x34,
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x07,
+ 0x13, 0x60,
+ 0x17, 0x88,
+ 0x21, 0xb0,
+ 0x22, 0x48,
+ 0x3c, 0x95,
+ 0x3d, 0x50,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x02,
+ 0x9d, 0x10,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0xc0,
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x34,
+ 0xd2,0x34,
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-kyt-174-v7.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-kyt-174-v7.h
new file mode 100755
index 00000000..dfa6527f
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-kyt-174-v7.h
@@ -0,0 +1,992 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+// 0x77, 0x57,
+// 0x78, 0x4d,
+// 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x75,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x00,
+ 0xfe, 0x01,
+ 0x13, 0x96,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x98,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x9c,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+#if 1
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+
+//20131009 50hz anti fliker
+ 0xfa, 0x11, //0x00 clk_div
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+
+ 0xfe, 0x01,
+ 0x29, 0x00, //anti-flicker step [11:8]
+ 0x2a, 0x3c, //anti-flicker step [7:0]
+
+ 0x2b, 0x02, //exp level 0 14.28fps
+ 0x2c, 0x58,
+ 0x2d, 0x02, //exp level 1 12.50fps
+ 0x2e, 0xd0,
+ 0x2f, 0x03, //exp level 2 10.00fps
+ 0x30, 0x48,
+ 0x31, 0x04, //exp level 3 7.14fps
+ 0x32, 0x38,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+//
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+ 0x0a, 0x02,
+ 0x0c, 0x02,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc0,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x16,
+ 0x26, 0xf7,
+ 0x32, 0x04,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x25,//55
+ 0x83, 0x01,//03
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x04,//54
+ 0x95, 0x35,
+ 0xfe, 0x00,
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ 0xfe, 0x00,
+ 0xb3, 0x38,
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x28,
+ 0xd2, 0x28,
+ 0xd3, 0x32,//40
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x07,
+ 0x13, 0x96,
+ 0x17, 0x88,
+ 0x21, 0xb0,
+ 0x22, 0x48,
+ 0x3c, 0x95,
+ 0x3d, 0x50,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x02,
+ 0x9d, 0x10,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0xc0,
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x34,
+ 0xd2,0x34,
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+#else
+ 0xfe,0x80,
+ 0xfe,0x80,
+ 0xfc,0x16,
+ 0xfc,0x16,
+ 0xfc,0x16,
+ 0xfc,0x16,
+ 0xfe,0x00,
+ 0xf0,0x07,
+ 0xf1,0x01,
+
+ 0xfa,0x11, //0x00 clk_div
+
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+
+ 0x42, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ //0x42, 0xfc,
+
+#if 1 //12M clk
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+
+ 0xfe, 0x01,
+ 0x29, 0x00, //anti-flicker step [11:8]
+ 0x2a, 0x3c, //anti-flicker step [7:0]
+
+ 0x2b, 0x02, //exp level 0 14.28fps
+ 0x2c, 0x58,
+ 0x2d, 0x02, //exp level 1 12.50fps
+ 0x2e, 0xd0,
+ 0x2f, 0x03, //exp level 2 10.00fps
+ 0x30, 0x48,
+ 0x31, 0x04, //exp level 3 7.14fps
+ 0x32, 0x38,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+#else //24M clk
+ 0x05, 0x02,
+ 0x06, 0x2c,
+ 0x07, 0x00,
+ 0x08, 0xb8,
+
+ 0xfe, 0x01,
+ 0x29, 0x00, //anti-flicker step [11:8]
+ 0x2a, 0x60, //anti-flicker step [7:0]
+
+ 0x2b, 0x02, //exp level 0 14.28fps
+ 0x2c, 0xa0,
+ 0x2d, 0x03, //exp level 1 12.50fps
+ 0x2e, 0x00,
+ 0x2f, 0x03, //exp level 2 10.00fps
+ 0x30, 0xc0,
+ 0x31, 0x05, //exp level 3 7.14fps
+ 0x32, 0x40,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+#endif
+ ////////////////////analog////////////////////
+ 0x0a, 0x02,
+ 0x0c, 0x02,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x08,
+ 0x1f, 0xc8, // c0 20120720
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x22, 0xba,
+ 0x23, 0x22,
+ 0x24, 0x16,
+
+ ////////////////////blk////////////////////
+ 0x26,0xf7,
+ 0x28,0x7f,// 20130819 lanking
+ 0x29,0x80,
+ 0x32,0x04,
+ 0x33,0x20,
+ 0x34,0x20,
+ 0x35,0x20,
+ 0x36,0x20,
+
+ ////////////////////ISP BLOCK ENABL////////////////////
+ 0x40, 0xff,
+ 0x41, 0x44,
+ 0x42, 0x7e,
+ 0x44, 0xa2, ///yuv order
+ 0x46, 0x03, // vsync
+ 0x4b, 0xca,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+
+ //0xb0,0x00,
+ //0xbc,0x00,
+ //0xbd,0x00,
+ //0xbe,0x00,
+ ////////////////////DNDD////////////////////
+ 0x80, 0xe7,
+ 0x82, 0x55,
+ 0x83, 0x03,
+ 0x87, 0x4a,
+
+ ////////////////////INTPEE////////////////////
+ 0x95,0x45,
+
+ ////////////////////ASDE////////////////////
+ //0xfe,0x01,
+ //0x18,0x22,
+ //0xfe,0x00,
+ //0x9c,0x0a,
+ //0xa0,0xaf,
+ //0xa2,0xff,
+ //0xa4,0x50,
+ //0xa5,0x21,
+ //0xa7,0x35,
+
+ ////////////////////RGB gamma////////////////////
+ //RGB gamma m4'
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xcA, 0xd6,
+ 0xcB, 0xe0,
+ 0xcC, 0xe8,
+ 0xcD, 0xf4,
+ 0xcE, 0xFc,
+ 0xcF, 0xFF,
+#if 0
+ case GC0329_RGB_Gamma_m1: //smallest gamma curve
+ 0xfe, 0x00,
+ 0xbf, 0x06,
+ 0xc0, 0x12,
+ 0xc1, 0x22,
+ 0xc2, 0x35,
+ 0xc3, 0x4b,
+ 0xc4, 0x5f,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc8,
+ 0xca, 0xd4,
+ 0xcb, 0xde,
+ 0xcc, 0xe6,
+ 0xcd, 0xf1,
+ 0xce, 0xf8,
+ 0xcf, 0xfd,
+
+ case GC0329_RGB_Gamma_m2:
+ 0xBF, 0x08,
+ 0xc0, 0x0F,
+ 0xc1, 0x21,
+ 0xc2, 0x32,
+ 0xc3, 0x43,
+ 0xc4, 0x50,
+ 0xc5, 0x5E,
+ 0xc6, 0x78,
+ 0xc7, 0x90,
+ 0xc8, 0xA6,
+ 0xc9, 0xB9,
+ 0xcA, 0xC9,
+ 0xcB, 0xD6,
+ 0xcC, 0xE0,
+ 0xcD, 0xEE,
+ 0xcE, 0xF8,
+ 0xcF, 0xFF,
+
+ case GC0329_RGB_Gamma_m3:
+ 0xBF, 0x0B,
+ 0xc0, 0x16,
+ 0xc1, 0x29,
+ 0xc2, 0x3C,
+ 0xc3, 0x4F,
+ 0xc4, 0x5F,
+ 0xc5, 0x6F,
+ 0xc6, 0x8A,
+ 0xc7, 0x9F,
+ 0xc8, 0xB4,
+ 0xc9, 0xC6,
+ 0xcA, 0xD3,
+ 0xcB, 0xDD,
+ 0xcC, 0xE5,
+ 0xcD, 0xF1,
+ 0xcE, 0xFA,
+ 0xcF, 0xFF,
+
+ case GC0329_RGB_Gamma_m4:
+ 0xBF, 0x0E,
+ 0xc0, 0x1C,
+ 0xc1, 0x34,
+ 0xc2, 0x48,
+ 0xc3, 0x5A,
+ 0xc4, 0x6B,
+ 0xc5, 0x7B,
+ 0xc6, 0x95,
+ 0xc7, 0xAB,
+ 0xc8, 0xBF,
+ 0xc9, 0xCE,
+ 0xcA, 0xD9,
+ 0xcB, 0xE4,
+ 0xcC, 0xEC,
+ 0xcD, 0xF7,
+ 0xcE, 0xFD,
+ 0xcF, 0xFF,
+
+ case GC0329_RGB_Gamma_m5:
+ 0xBF, 0x10,
+ 0xc0, 0x20,
+ 0xc1, 0x38,
+ 0xc2, 0x4E,
+ 0xc3, 0x63,
+ 0xc4, 0x76,
+ 0xc5, 0x87,
+ 0xc6, 0xA2,
+ 0xc7, 0xB8,
+ 0xc8, 0xCA,
+ 0xc9, 0xD8,
+ 0xcA, 0xE3,
+ 0xcB, 0xEB,
+ 0xcC, 0xF0,
+ 0xcD, 0xF8,
+ 0xcE, 0xFD,
+ 0xcF, 0xFF,
+
+ case GC0329_RGB_Gamma_m6: // largest gamma curve
+ 0xBF, 0x14,
+ 0xc0, 0x28,
+ 0xc1, 0x44,
+ 0xc2, 0x5D,
+ 0xc3, 0x72,
+ 0xc4, 0x86,
+ 0xc5, 0x95,
+ 0xc6, 0xB1,
+ 0xc7, 0xC6,
+ 0xc8, 0xD5,
+ 0xc9, 0xE1,
+ 0xcA, 0xEA,
+ 0xcB, 0xF1,
+ 0xcC, 0xF5,
+ 0xcD, 0xFB,
+ 0xcE, 0xFE,
+ 0xcF, 0xFF,
+
+ case GC0329_RGB_Gamma_night: //Gamma for night mode
+ 0xBF, 0x0B,
+ 0xc0, 0x16,
+ 0xc1, 0x29,
+ 0xc2, 0x3C,
+ 0xc3, 0x4F,
+ 0xc4, 0x5F,
+ 0xc5, 0x6F,
+ 0xc6, 0x8A,
+ 0xc7, 0x9F,
+ 0xc8, 0xB4,
+ 0xc9, 0xC6,
+ 0xcA, 0xD3,
+ 0xcB, 0xDD,
+ 0xcC, 0xE5,
+ 0xcD, 0xF1,
+ 0xcE, 0xFA,
+ 0xcF, 0xFF,
+
+ //GC0329_RGB_Gamma_m1 default
+ 0xfe, 0x00,
+ 0xbf, 0x06,
+ 0xc0, 0x12,
+ 0xc1, 0x22,
+ 0xc2, 0x35,
+ 0xc3, 0x4b,
+ 0xc4, 0x5f,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc8,
+ 0xca, 0xd4,
+ 0xcb, 0xde,
+ 0xcc, 0xe6,
+ 0xcd, 0xf1,
+ 0xce, 0xf8,
+ 0xcf, 0xfd,
+#endif
+
+ //////////////////CC///////////////////
+ 0xfe,0x00,
+
+ 0xb3,0x44,
+ 0xb4,0xfd,
+ 0xb5,0x02,
+ 0xb6,0xfa,
+ 0xb7,0x48,
+ 0xb8,0xf0,
+
+ // crop
+ 0x50,0x01,
+
+ ////////////////////YCP////////////////////
+ 0xfe,0x00,
+ 0xd1,0x38,
+ 0xd2,0x38,
+ 0xd5, 0x00, /// luma_offset
+ 0xdd,0x54,
+
+ ////////////////////AEC////////////////////
+ 0xfe,0x01,
+ 0x10,0x40,
+ 0x11,0x21,
+ 0x12,0x07,
+ 0x13,0x50,
+ 0x17,0x88,
+ 0x21,0xb0,
+ 0x22,0x48,
+ 0x3c,0x95,
+ 0x3d,0x50,
+ 0x3e,0x48,
+
+ ////////////////////AWB////////////////////
+ 0xfe,0x01,
+ 0x06,0x16,
+ 0x07,0x06,
+ 0x08,0x98,
+ 0x09,0xee,
+ 0x50,0xfc,
+ 0x51,0x20,
+ 0x52,0x0b,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x10,
+ 0x56,0x20,
+ //0x57,0x40,
+ 0x58,0xa0,
+ 0x59,0x28,
+ 0x5a,0x02,
+ 0x5b,0x63,
+ 0x5c,0x34,
+ 0x5d,0x73,
+ 0x5e,0x11,
+ 0x5f,0x40,
+ 0x60,0x40,
+ 0x61,0xc8,
+ 0x62,0xa0,
+ 0x63,0x40,
+ 0x64,0x50,
+ 0x65,0x98,
+ 0x66,0xfa,
+ 0x67,0x70,
+ 0x68,0x58,
+ 0x69,0x85,
+ 0x6a,0x40,
+ 0x6b,0x39,
+ 0x6c,0x18,
+ 0x6d,0x28,
+ 0x6e,0x41,
+ 0x70,0x02,
+ 0x71,0x00,
+ 0x72,0x10,
+ 0x73,0x40,
+
+ //0x74,0x32,
+ //0x75,0x40,
+ //0x76,0x30,
+ //0x77,0x48,
+ //0x7a,0x50,
+ //0x7b,0x20,
+
+ 0x80,0x60,
+ 0x81,0x50,
+ 0x82,0x42,
+ 0x83,0x40,
+ 0x84,0x40,
+ 0x85,0x40,
+
+ 0x74,0x40,
+ 0x75,0x58,
+ 0x76,0x24,
+ 0x77,0x40,
+ 0x78,0x20,
+ 0x79,0x60,
+ 0x7a,0x58,
+ 0x7b,0x20,
+ 0x7c,0x30,
+ 0x7d,0x35,
+ 0x7e,0x10,
+ 0x7f,0x08,
+
+ ////////////////////ABS////////////////////
+ 0x9c,0x02,
+ 0x9d,0x20,
+ //0x9f,0x40,
+
+ ////////////////////CC-AWB////////////////////
+ 0xd0,0x00,
+ 0xd2,0x2c,
+ 0xd3,0x80,
+
+ ////////////////////LSC///////////////////
+ 0xfe,0x01,
+ 0xa0,0x00,
+ 0xa1,0x3c,
+ 0xa2,0x50,
+ 0xa3,0x00,
+ 0xa8,0x0f,
+ 0xa9,0x08,
+ 0xaa,0x00,
+ 0xab,0x04,
+ 0xac,0x00,
+ 0xad,0x07,
+ 0xae,0x0e,
+ 0xaf,0x00,
+ 0xb0,0x00,
+ 0xb1,0x09,
+ 0xb2,0x00,
+ 0xb3,0x00,
+ 0xb4,0x31,
+ 0xb5,0x19,
+ 0xb6,0x24,
+ 0xba,0x3a,
+ 0xbb,0x24,
+ 0xbc,0x2a,
+ 0xc0,0x17,
+ 0xc1,0x13,
+ 0xc2,0x17,
+ 0xc6,0x21,
+ 0xc7,0x1c,
+ 0xc8,0x1c,
+ 0xb7,0x00,
+ 0xb8,0x00,
+ 0xb9,0x00,
+ 0xbd,0x00,
+ 0xbe,0x00,
+ 0xbf,0x00,
+ 0xc3,0x00,
+ 0xc4,0x00,
+ 0xc5,0x00,
+ 0xc9,0x00,
+ 0xca,0x00,
+ 0xcb,0x00,
+ 0xa4,0x00,
+ 0xa5,0x00,
+ 0xa6,0x00,
+ 0xa7,0x00,
+
+ ////////////////////asde ///////////////////
+ //0xa0,0xaf,
+ //0xa2,0xff,
+
+ ////////////20120427/////////////
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0xc0,
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x34,
+ 0xd2,0x34,
+ 0xfe,0x00,
+#endif
+
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-zh1426.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-zh1426.h
new file mode 100755
index 00000000..37dd3384
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329-zh1426.h
@@ -0,0 +1,530 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x04, /// 00
+ 0xfe, 0x01,
+ 0x13, 0x6a,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x11,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x3c,
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x03,
+
+ 0x2e, 0x48,
+ 0x2f, 0x03,
+ 0x30, 0x48,
+ 0x31, 0x05,
+ 0x32, 0xa0,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x00,
+ 0x0c, 0x00,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x16,
+
+
+ 0x26, 0xf7,
+ 0x28, 0x7f,
+ 0x29, 0x00,
+ 0x32, 0x00,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x3b, 0x04,
+ 0x3c, 0x04,
+ 0x3d, 0x04,
+ 0x3e, 0x04,
+
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x55,
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x35,
+ 0xfe, 0x00,
+ ///gamma
+ /*
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ */
+
+ 0xBF, 0x10,
+ 0xc0, 0x20,
+ 0xc1, 0x38,
+ 0xc2, 0x4E,
+ 0xc3, 0x63,
+ 0xc4, 0x76,
+ 0xc5, 0x87,
+ 0xc6, 0xA2,
+ 0xc7, 0xB8,
+ 0xc8, 0xCA,
+ 0xc9, 0xD8,
+ 0xcA, 0xE3,
+ 0xcB, 0xEB,
+ 0xcC, 0xF0,
+ 0xcD, 0xF8,
+ 0xcE, 0xFD,
+ 0xcF, 0xFF,
+
+
+ 0xfe, 0x00,
+ 0xb3, 0x44,
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x34,
+ 0xd2, 0x34,
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x07,
+ 0x13, 0x64,
+ 0x17, 0x88,
+ 0x21, 0xb0,
+ 0x22, 0x58,
+ 0x3c, 0x85,
+ 0x3d, 0x50,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x00,
+ 0x9d, 0x10,
+ 0x9e, 0xc0,
+ 0x9f, 0x40,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0xc0,
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x34,
+ 0xd2,0x34,
+ 0xd3,0x3c,
+ 0xd5,0x08,
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.c b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.c
new file mode 100755
index 00000000..f0c0ff58
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.c
@@ -0,0 +1,345 @@
+
+#include "../cmos-subdev.h"
+#include "../../wmt-vid.h"
+#include "gc0329.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;
+};
+
+struct sensor_flip{
+ int h_flip;
+ int v_flip;
+}gc0329_flip;
+
+#define CMOS_WIN_SIZE(n, w, h, r) \
+ {.name = n, .width = w , .height = h, .regs = r, .size = ARRAY_SIZE(r) }
+
+static const struct cmos_win_size cmos_supported_win_sizes[] = {
+ //CMOS_WIN_SIZE("QVGA", 320, 240, gc0329_320x240),
+ CMOS_WIN_SIZE("VGA", 640, 480, gc0329_640x480),
+};
+
+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 = gc0329_wb_auto;
+ size = ARRAY_SIZE(gc0329_wb_auto);
+ break;
+ case WHITE_BALANCE_INCANDESCENCE:
+ regs = gc0329_wb_incandescent;
+ size = ARRAY_SIZE(gc0329_wb_incandescent);
+ break;
+ case WHITE_BALANCE_DAYLIGHT:
+ regs = gc0329_wb_daylight;
+ size = ARRAY_SIZE(gc0329_wb_daylight);
+ break;
+ case WHITE_BALANCE_CLOUDY:
+ regs = gc0329_wb_cloudy;
+ size = ARRAY_SIZE(gc0329_wb_cloudy);
+ break;
+ case WHITE_BALANCE_FLUORESCENT:
+ regs = gc0329_wb_fluorescent;
+ size = ARRAY_SIZE(gc0329_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 = gc0329_scene_mode_auto;
+ size = ARRAY_SIZE(gc0329_scene_mode_auto);
+ break;
+ case SCENE_MODE_NIGHTSHOT:
+ regs = gc0329_scene_mode_night;
+ size = ARRAY_SIZE(gc0329_scene_mode_night);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sensor_write_array(sd, regs, size);
+ return 0;
+}
+
+static int sensor_s_exposure(struct cmos_subdev *sd, int value)
+{
+ uint8_t *regs;
+ size_t size;
+
+ switch (value) {
+ case -2:
+ regs = gc0329_exposure_neg6;
+ size = ARRAY_SIZE(gc0329_exposure_neg6);
+ break;
+ case -1:
+ regs = gc0329_exposure_neg3;
+ size = ARRAY_SIZE(gc0329_exposure_neg3);
+ break;
+ case 0:
+ regs = gc0329_exposure_zero;
+ size = ARRAY_SIZE(gc0329_exposure_zero);
+ break;
+ case 1:
+ regs = gc0329_exposure_pos3;
+ size = ARRAY_SIZE(gc0329_exposure_pos3);
+ break;
+ case 2:
+ regs = gc0329_exposure_pos6;
+ size = ARRAY_SIZE(gc0329_exposure_pos6);
+ 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;
+
+ sensor_write(sd, 0xfe, 0x00); // set page0
+
+ //data = sensor_read(sd, 0x17);
+
+ switch (value) {
+ case 0:
+ gc0329_flip.h_flip = 0x00;
+ data= (0x14&~0x01);
+ break;
+ case 1:
+ gc0329_flip.h_flip =0x01;
+ data = (0x14|0x01);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ data|=gc0329_flip.v_flip;
+ sensor_write(sd, 0x17, data);
+ msleep(150);
+
+ return 0;
+}
+
+static int sensor_s_vflip(struct cmos_subdev *sd, int value)
+{
+ uint8_t data;
+
+ sensor_write(sd, 0xfe, 0x00); // set page0
+
+ //data = sensor_read(sd, 0x17);
+
+ switch (value) {
+ case 0:
+ gc0329_flip.v_flip = 0x00;
+ data = (0x14&~0x02);
+ break;
+ case 1:
+ gc0329_flip.v_flip = 0x02;
+ data = (0x14|0x02);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ data|=gc0329_flip.h_flip;
+ sensor_write(sd, 0x17, data);
+ msleep(150);
+
+ 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);
+ 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;
+
+ 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(300);
+ 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)
+{
+ sensor_write(sd, 0xfc, 0x16);
+ return (sensor_read(sd, 0) == sd->id) ? 0 : -EINVAL;
+}
+
+static int sensor_init(struct cmos_subdev *sd)
+{
+ if (sensor_identify(sd)) {
+ return -1;
+ }
+
+ gc0329_flip.h_flip=0;
+ gc0329_flip.v_flip=0;
+ sensor_write_array(sd, gc0329_default_regs_init,
+ ARRAY_SIZE(gc0329_default_regs_init));
+ return 0;
+}
+
+static int sensor_exit(struct cmos_subdev *sd)
+{
+ sensor_write_array(sd, gc0329_default_regs_exit,
+ ARRAY_SIZE(gc0329_default_regs_exit));
+ return 0;
+}
+
+static struct cmos_subdev_ops gc0329_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 gc0329 = {
+ .name = "gc0329",
+ .i2c_addr = 0x31,
+ .id = 0xc0,
+ .max_width = 640,
+ .max_height = 480,
+ .ops = &gc0329_ops,
+};
+
+#if 0
+static int __init gc0329_init(void)
+{
+ return cmos_register_sudbdev(&gc0329);
+}
+
+static void __exit gc0329_exit(void)
+{
+ return cmos_unregister_subdev(&gc0329);
+}
+
+module_init(gc0329_init);
+module_exit(gc0329_exit);
+
+MODULE_LICENSE("GPL");
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.h
new file mode 100755
index 00000000..9cd67ac5
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329.h
@@ -0,0 +1,530 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x04, /// 00
+ 0xfe, 0x01,
+ 0x13, 0x6a,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x00,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0xfa,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x64,
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x04,
+
+ 0x2e, 0xb0,
+ 0x2f, 0x06,
+ 0x30, 0x40,
+ 0x31, 0x09,
+ 0x32, 0xc4,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x00,
+ 0x0c, 0x00,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x16,
+
+
+ 0x26, 0xf7,
+ 0x28, 0x7f,
+ 0x29, 0x00,
+ 0x32, 0x00,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x3b, 0x04,
+ 0x3c, 0x04,
+ 0x3d, 0x04,
+ 0x3e, 0x04,
+
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x55,
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x35,
+ 0xfe, 0x00,
+ ///gamma
+ /*
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ */
+
+ 0xBF, 0x14,
+ 0xc0, 0x28,
+ 0xc1, 0x44,
+ 0xc2, 0x5D,
+ 0xc3, 0x72,
+ 0xc4, 0x86,
+ 0xc5, 0x95,
+ 0xc6, 0xB1,
+ 0xc7, 0xC6,
+ 0xc8, 0xD5,
+ 0xc9, 0xE1,
+ 0xcA, 0xEA,
+ 0xcB, 0xF1,
+ 0xcC, 0xF5,
+ 0xcD, 0xFB,
+ 0xcE, 0xFE,
+ 0xcF, 0xFF,
+
+
+ 0xfe, 0x00,
+ 0xb3, 0x44,
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x34,
+ 0xd2, 0x34,
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x17,
+ 0x13, 0x60,
+ 0x17, 0x88,
+ 0x21, 0xb0,
+ 0x22, 0x60,
+ 0x3c, 0x82,
+ 0x3d, 0x55,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x00,
+ 0x9d, 0x10,
+ 0x9e, 0xc0,
+ 0x9f, 0x40,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0xc0,
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x34,
+ 0xd2,0x34,
+ 0xd3,0x3b,
+ 0xd5,0x0c,
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_shuttle.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_shuttle.h
new file mode 100644
index 00000000..6d847ff1
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_shuttle.h
@@ -0,0 +1,560 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x00, /// 00
+ 0xfe, 0x01,
+ 0x13, 0x56,//6a cyrille
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x11,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0x32,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x3c,
+ /*
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x02,
+
+ 0x2e, 0xd0,
+ 0x2f, 0x03,
+ 0x30, 0x48,
+ 0x31, 0x04,
+ 0x32, 0x38,*/
+ 0x2b, 0x02,
+ 0x2c, 0xd0,
+ 0x2d, 0x03,
+
+ 0x2e, 0x48,
+ 0x2f, 0x03,
+ 0x30, 0x84,
+ 0x31, 0x04,
+ 0x32, 0x38,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x00,
+ 0x0c, 0x00,
+ 0x17, 0x14, //14
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x13,//0x16
+
+
+ 0x26, 0xf7,
+ 0x28, 0x7f,
+ 0x29, 0x00,
+ 0x32, 0x00,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x3b, 0x04,
+ 0x3c, 0x04,
+ 0x3d, 0x04,
+ 0x3e, 0x04,
+
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x60,//0x55
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x45,//0x35
+ 0xfe, 0x00,
+ ///gamma
+ /*
+ 0xbf, 0x06,
+ 0xc0, 0x14,
+ 0xc1, 0x27,
+ 0xc2, 0x3b,
+ 0xc3, 0x4f,
+ 0xc4, 0x62,
+ 0xc5, 0x72,
+ 0xc6, 0x8d,
+ 0xc7, 0xa4,
+ 0xc8, 0xb8,
+ 0xc9, 0xc9,
+ 0xca, 0xd6,
+ 0xcb, 0xe0,
+ 0xcc, 0xe8,
+ 0xcd, 0xf4,
+ 0xce, 0xfc,
+ 0xcf, 0xff,
+ */
+
+ 0xBF, 0x0B,
+ 0xc0, 0x16,
+ 0xc1, 0x29,
+ 0xc2, 0x3C,
+ 0xc3, 0x4F,
+ 0xc4, 0x5F,
+ 0xc5, 0x6F,
+ 0xc6, 0x8A,
+ 0xc7, 0x9F,
+ 0xc8, 0xB4,
+ 0xc9, 0xC6,
+ 0xcA, 0xD3,
+ 0xcB, 0xDD,
+ 0xcC, 0xE5,
+ 0xcD, 0xF1,
+ 0xcE, 0xFA,
+ 0xcF, 0xFF,
+ /*0xBF, 0x14,
+ 0xc0, 0x28,
+ 0xc1, 0x44,
+ 0xc2, 0x5D,
+ 0xc3, 0x72,
+ 0xc4, 0x86,
+ 0xc5, 0x95,
+ 0xc6, 0xB1,
+ 0xc7, 0xC6,
+ 0xc8, 0xD5,
+ 0xc9, 0xE1,
+ 0xcA, 0xEA,
+ 0xcB, 0xF1,
+ 0xcC, 0xF5,
+ 0xcD, 0xFB,
+ 0xcE, 0xFE,
+ 0xcF, 0xFF,*/
+
+
+ 0xfe, 0x00,
+ 0xb3, 0x38,//44 cyrille 40
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x28,// 34 cyrille
+ 0xd2, 0x26,//34 cyrille
+ 0x7a, 0x70,// cyrille 7d
+ 0x7b, 0x84,// cyrille
+ 0x7c, 0x80,// cyrille
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x27,//17 cyrille
+ 0x13, 0x56,//60 cyrille
+ 0x17, 0x88,
+ 0x21, 0x80,//b0 cyrille
+ 0x22, 0x40,//60 cyrille
+ 0x3c, 0x82,
+ 0x3d, 0x55,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x00,
+ 0x9d, 0x10,
+ 0x9e, 0xc0,
+ 0x9f, 0x40,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0x80,//c0 cyrille
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x28, //34 cyrille
+ 0xd2,0x26, //34 cyrille
+ 0xd3,0x40,// 3b cyrille
+ 0xd5,0x00,//0c cyrille
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_style_s729.h b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_style_s729.h
new file mode 100755
index 00000000..06e42a1a
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0329/gc0329_style_s729.h
@@ -0,0 +1,530 @@
+#ifndef GC0329_H
+#define GC0329_H
+
+
+// Scene Mode
+uint8_t gc0329_scene_mode_auto[] = {
+};
+
+uint8_t gc0329_scene_mode_night[] = {
+};
+
+
+// White Balance
+uint8_t gc0329_wb_auto [] = {
+ 0xfe, 0x00,
+ 0x77, 0x57,
+ 0x78, 0x4d,
+ 0x79, 0x45,
+ 0x42, 0xfe, //AWB on
+};
+
+uint8_t gc0329_wb_incandescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x48,
+ 0x78, 0x40,
+ 0x79, 0x5c,
+
+};
+
+uint8_t gc0329_wb_fluorescent [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x42,
+ 0x79, 0x50,
+
+};
+
+uint8_t gc0329_wb_daylight [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x74,
+ 0x78, 0x52,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_cloudy [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x8c,
+ 0x78, 0x50,
+ 0x79, 0x40,
+
+};
+
+uint8_t gc0329_wb_tungsten [] = {
+ 0xfe, 0x00,
+ 0x42, 0xfc,
+ 0x77, 0x40,
+ 0x78, 0x54,
+ 0x79, 0x70,
+
+};
+
+
+// Exposure
+uint8_t gc0329_exposure_neg6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xe0,
+ 0xfe, 0x01,
+ 0x13, 0x40,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_neg3[] = {
+ 0xfe, 0x00,
+ 0xd5, 0xf0,
+ 0xfe, 0x01,
+ 0x13, 0x48,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_zero[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x04, /// 00
+ 0xfe, 0x01,
+ 0x13, 0x6a,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos3[] = {
+
+ 0xfe, 0x00,
+ 0xd5, 0x10,
+ 0xfe, 0x01,
+ 0x13, 0x70,
+ 0xfe, 0x00,
+
+};
+
+uint8_t gc0329_exposure_pos6[] = {
+ 0xfe, 0x00,
+ 0xd5, 0x20,
+ 0xfe, 0x01,
+ 0x13, 0x80,
+ 0xfe, 0x00,
+
+};
+
+
+// Color Effect
+uint8_t gc0329_colorfx_none[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x00,
+};
+
+uint8_t gc0329_colorfx_bw[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x00,
+ 0xdb , 0x00,
+
+};
+
+uint8_t gc0329_colorfx_sepia[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xd0,
+ 0xdb , 0x28,
+
+};
+
+uint8_t gc0329_colorfx_negative[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x01,
+};
+
+uint8_t gc0329_colorfx_emboss[] = {
+};
+
+uint8_t gc0329_colorfx_sketch[] = {
+
+};
+
+uint8_t gc0329_colorfx_sky_blue[] = {
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0x50,
+ 0xdb , 0xe0,
+
+};
+
+uint8_t gc0329_colorfx_grass_green[] = {
+
+ 0xfe, 0x00,
+ 0x43 , 0x02,
+ 0xda , 0xc0,
+ 0xdb , 0xc0,
+
+};
+
+uint8_t gc0329_colorfx_skin_whiten[] = {
+};
+
+uint8_t gc0329_colorfx_vivid[] = {
+};
+
+// Brightness
+uint8_t gc0329_brightness_neg4[] = {
+};
+
+uint8_t gc0329_brightness_neg3[] = {
+};
+
+uint8_t gc0329_brightness_neg2[] = {
+};
+
+uint8_t gc0329_brightness_neg1[] = {
+};
+
+uint8_t gc0329_brightness_zero[] = {
+};
+
+uint8_t gc0329_brightness_pos1[] = {
+};
+
+uint8_t gc0329_brightness_pos2[] = {
+};
+
+uint8_t gc0329_brightness_pos3[] = {
+};
+
+uint8_t gc0329_brightness_pos4[] = {
+};
+
+// Contrast
+uint8_t gc0329_contrast_neg4[] = {
+};
+
+uint8_t gc0329_contrast_neg3[] = {
+};
+
+uint8_t gc0329_contrast_neg2[] = {
+};
+
+uint8_t gc0329_contrast_neg1[] = {
+};
+
+uint8_t gc0329_contrast_zero[] = {
+};
+
+uint8_t gc0329_contrast_pos1[] = {
+};
+
+uint8_t gc0329_contrast_pos2[] = {
+};
+
+uint8_t gc0329_contrast_pos3[] = {
+};
+
+uint8_t gc0329_contrast_pos4[] = {
+};
+
+// Saturation
+uint8_t gc0329_saturation_neg4[] = {
+};
+
+uint8_t gc0329_saturation_neg3[] = {
+};
+
+uint8_t gc0329_saturation_neg2[] = {
+};
+
+uint8_t gc0329_saturation_neg1[] = {
+};
+
+uint8_t gc0329_saturation_zero[] = {
+};
+
+uint8_t gc0329_saturation_pos1[] = {
+};
+
+uint8_t gc0329_saturation_pos2[] = {
+};
+
+uint8_t gc0329_saturation_pos3[] = {
+};
+
+uint8_t gc0329_saturation_pos4[] = {
+};
+
+
+// Resolution
+
+// QCIF
+uint8_t gc0329_176x144[]={
+};
+
+uint8_t gc0329_320x240[]={
+ 0x59, 0x22,
+};
+
+uint8_t gc0329_640x480[]={
+ 0x59, 0x11,
+};
+
+
+// Initiliztion
+uint8_t gc0329_default_regs_init[] = {
+ 0xfe, 0x80,
+ 0xfc, 0x12,
+ 0xfc, 0x12,
+ 0xfe, 0x00,
+
+ 0xfa, 0x00,
+
+ 0xf0, 0x07,
+ 0xf1, 0x01,
+ 0x73, 0x90,
+ 0x74, 0x80,
+ 0x75, 0x80,
+ 0x76, 0x94,
+ 0xfc, 0x16,
+
+ 0x05, 0x01,
+ 0x06, 0xfa,
+ 0x07, 0x00,
+ 0x08, 0x70,
+ 0xfe, 0x01,
+ 0x29, 0x00,
+ 0x2a, 0x64,
+ 0x2b, 0x02,
+ 0x2c, 0x58,
+ 0x2d, 0x04,
+
+ 0x2e, 0xb0,
+ 0x2f, 0x06,
+ 0x30, 0x40,
+ 0x31, 0x09,
+ 0x32, 0xc4,
+ 0x33, 0x20,
+ 0xfe, 0x00,
+
+
+
+
+
+ 0x0a, 0x02,
+ 0x0c, 0x02,
+ 0x17, 0x14,
+ 0x19, 0x05,
+ 0x1b, 0x24,
+ 0x1c, 0x04,
+ 0x1e, 0x00,
+ 0x1f, 0xc8,
+ 0x20, 0x00,
+ 0x21, 0x48,
+ 0x23, 0x22,
+ 0x24, 0x15,
+
+
+ 0x26, 0xf7,
+ 0x28, 0x7f,
+ 0x29, 0x00,
+ 0x32, 0x00,
+ 0x33, 0x20,
+ 0x34, 0x20,
+ 0x35, 0x20,
+ 0x36, 0x20,
+ 0x3b, 0x04,
+ 0x3c, 0x04,
+ 0x3d, 0x04,
+ 0x3e, 0x04,
+
+ 0x40, 0xff,
+ 0x41, 0x00,
+ 0x42, 0xfe,
+ 0x46, 0x02,
+ 0x4b, 0xcb,
+ 0x4d, 0x01,
+ 0x4f, 0x01,
+ 0x70, 0x48,
+ 0x80, 0xe7,
+ 0x82, 0x45,
+ 0x87, 0x4a,
+ 0xfe, 0x01,
+ 0x18, 0x22,
+ 0xfe, 0x00,
+ 0x9c, 0x0a,
+ 0xa4, 0x50,
+ 0xa5, 0x21,
+ 0xa7, 0x35,
+ 0xdd, 0x54,
+ 0x95, 0x35,
+ 0xfe, 0x00,
+ ///gamma
+ /*
+ 0xbf, 0x0b,
+ 0xc0, 0x16,
+ 0xc1, 0x32,
+ 0xc2, 0x3f,
+ 0xc3, 0x50,
+ 0xc4, 0x6d,
+ 0xc5, 0x78,
+ 0xc6, 0x92,
+ 0xc7, 0xae,
+ 0xc8, 0xbd,
+ 0xc9, 0xcf,
+ 0xca, 0xdc,
+ 0xcb, 0xe7,
+ 0xcc, 0xed,
+ 0xcd, 0xf9,
+ 0xce, 0xfd,
+ 0xcf, 0xff,
+ */
+
+ 0xBF, 0x14,
+ 0xc0, 0x28,
+ 0xc1, 0x44,
+ 0xc2, 0x5D,
+ 0xc3, 0x72,
+ 0xc4, 0x86,
+ 0xc5, 0x95,
+ 0xc6, 0xB1,
+ 0xc7, 0xC6,
+ 0xc8, 0xD5,
+ 0xc9, 0xE1,
+ 0xcA, 0xEA,
+ 0xcB, 0xF1,
+ 0xcC, 0xF5,
+ 0xcD, 0xFB,
+ 0xcE, 0xFE,
+ 0xcF, 0xFF,
+
+
+ 0xfe, 0x00,
+ 0xb3, 0x44,
+ 0xb4, 0xfd,
+ 0xb5, 0x02,
+ 0xb6, 0xfa,
+ 0xb7, 0x48,
+ 0xb8, 0xf0,
+ 0x50, 0x01,
+ 0x19, 0x05,
+ 0x20, 0x01,
+ 0x22, 0xba,
+ 0x21, 0x48,
+ 0xfe, 0x00,
+ 0xd1, 0x34,
+ 0xd2, 0x34,
+ 0xfe, 0x01,
+ 0x10, 0x40,
+ 0x12, 0x17,
+ 0x13, 0x60,
+ 0x17, 0x88,
+ 0x21, 0xb0,
+ 0x22, 0x60,
+ 0x3c, 0x82,
+ 0x3d, 0x55,
+ 0x3e, 0x48,
+ 0xfe, 0x01,
+ 0x06, 0x08,
+ 0x07, 0x06,
+ 0x08, 0xa6,
+ 0x09, 0xee,
+ 0x6a, 0x40,
+ 0x6b, 0x39,
+ 0xd0, 0x00,
+ 0xd2, 0x2c,
+ 0xd3, 0x80,
+ 0x9c, 0x00,
+ 0x9d, 0x10,
+ 0x9e, 0xc0,
+ 0x9f, 0x40,
+ 0xfe, 0x01,
+ 0xa0, 0x00,
+ 0xa1, 0x3c,
+ 0xa2, 0x50,
+ 0xa3, 0x00,
+ 0xa8, 0x0f,
+ 0xa9, 0x08,
+ 0xaa, 0x00,
+ 0xab, 0x04,
+ 0xac, 0x00,
+ 0xad, 0x07,
+ 0xae, 0x0e,
+ 0xaf, 0x00,
+ 0xb0, 0x00,
+ 0xb1, 0x09,
+ 0xb2, 0x00,
+ 0xb3, 0x00,
+ 0xb4, 0x31,
+ 0xb5, 0x19,
+ 0xb6, 0x24,
+ 0xba, 0x3a,
+ 0xbb, 0x24,
+ 0xbc, 0x2a,
+ 0xc0, 0x17,
+ 0xc1, 0x13,
+ 0xc2, 0x17,
+ 0xc6, 0x21,
+ 0xc7, 0x1c,
+ 0xc8, 0x1c,
+ 0xb7, 0x00,
+ 0xb8, 0x00,
+ 0xb9, 0x00,
+ 0xbd, 0x00,
+ 0xbe, 0x00,
+ 0xbf, 0x00,
+ 0xc3, 0x00,
+ 0xc4, 0x00,
+ 0xc5, 0x00,
+ 0xc9, 0x00,
+ 0xca, 0x00,
+ 0xcb, 0x00,
+ 0xa4, 0x00,
+ 0xa5, 0x00,
+ 0xa6, 0x00,
+ 0xa7, 0x00,
+ 0xfe, 0x00,
+
+ 0xfe,0x01,
+ 0x18,0x22,
+ 0x21,0xc0,
+ 0x06,0x12,
+ 0x08,0x9c,
+ 0x51,0x28,
+ 0x52,0x10,
+ 0x53,0x20,
+ 0x54,0x40,
+ 0x55,0x16,
+ 0x56,0x30,
+ 0x58,0x60,
+ 0x59,0x08,
+ 0x5c,0x35,
+ 0x5d,0x72,
+ 0x67,0x80,
+ 0x68,0x60,
+ 0x69,0x90,
+ 0x6c,0x30,
+ 0x6d,0x60,
+ 0x70,0x10,
+ 0xfe,0x00,
+ 0x9c,0x0a,
+ 0xa0,0xaf,
+ 0xa2,0xff,
+ 0xa4,0x60,
+ 0xa5,0x31,
+ 0xa7,0x35,
+ 0x42,0xfe,
+ 0xd1,0x34,
+ 0xd2,0x34,
+ 0xd3,0x3b,
+ 0xd5,0x0c,
+ 0xfe,0x00,
+
+ 0xa0, 0xaf,
+ 0xa2, 0xff,
+ 0x44, 0xa2,
+};
+
+uint8_t gc0329_default_regs_exit[] = {
+};
+
+#endif