summaryrefslogtreecommitdiff
path: root/drivers/media/video/wmt_v4l2/sensors/gc0307/gc0307.h
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/gc0307/gc0307.h
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/gc0307/gc0307.h')
-rwxr-xr-xdrivers/media/video/wmt_v4l2/sensors/gc0307/gc0307.h567
1 files changed, 567 insertions, 0 deletions
diff --git a/drivers/media/video/wmt_v4l2/sensors/gc0307/gc0307.h b/drivers/media/video/wmt_v4l2/sensors/gc0307/gc0307.h
new file mode 100755
index 00000000..9c58f202
--- /dev/null
+++ b/drivers/media/video/wmt_v4l2/sensors/gc0307/gc0307.h
@@ -0,0 +1,567 @@
+#ifndef GC0307_H
+#define GC0307_H
+
+
+// Scene Mode
+uint8_t gc0307_scene_mode_auto[] = {
+
+};
+
+uint8_t gc0307_scene_mode_night[] = {
+
+};
+
+
+// White Balance
+uint8_t gc0307_wb_auto [] = {
+ 0xf0,0x00,
+// 0x41,0x2b,
+ 0xc7,0x4c,
+ 0xc8,0x40,
+ 0xc9,0x4a,
+};
+
+uint8_t gc0307_wb_incandescent [] = {
+ //bai re guang
+ 0xf0,0x00,
+// 0x41,0x2b,
+ 0xc7,0x48,
+ 0xc8,0x40,
+ 0xc9,0x5c,
+};
+
+uint8_t gc0307_wb_fluorescent [] = {
+ //ri guang deng
+ 0xf0,0x00,
+// 0x41,0x2b,
+ 0xc7,0x40,
+ 0xc8,0x42,
+ 0xc9,0x50,
+};
+
+uint8_t gc0307_wb_daylight [] = {
+ //tai yang guang
+ 0xf0,0x00,
+// 0x41,0x2b,
+ 0xc7,0x50,
+ 0xc8,0x45,
+ 0xc9,0x40,
+};
+
+uint8_t gc0307_wb_cloudy [] = {
+ 0xf0,0x00,
+// 0x41,0x2b,
+ 0xc7,0x5a,
+ 0xc8,0x42,
+ 0xc9,0x40,
+};
+
+
+// Exposure
+uint8_t gc0307_exposure_neg6[] = {
+ 0xf0,0x00,
+ 0x7a,0xd0,
+ 0xd1,0x38,
+};
+
+uint8_t gc0307_exposure_neg3[] = {
+ 0xf0,0x00,
+ 0x7a,0xe0,
+ 0xd1,0x48,
+};
+
+uint8_t gc0307_exposure_zero[] = {
+ 0xf0,0x00,
+ 0x7a,0x00,
+ 0xd1,0x50,
+};
+
+uint8_t gc0307_exposure_pos3[] = {
+ 0xf0,0x00,
+ 0x7a,0x20,
+ 0xd1,0x58,
+};
+
+uint8_t gc0307_exposure_pos6[] = {
+ 0xf0,0x00,
+ 0x7a,0x40,
+ 0xd1,0x68,
+};
+
+
+// Resolution
+uint8_t gc0307_320x240[]= {
+ 0x05,0x00,
+ 0x06,0x78,
+ 0x07,0x00,
+ 0x08,0xa0,
+ 0x09,0x00,
+ 0x0a,0xf8,
+ 0x0b,0x01,
+ 0x0c,0x48,
+ 0x45,0x24, // bit[7:2]=001001
+ 0x48,0x04, // bit[7]= 0
+ 0xe0,0x02,
+ 0xe1,0x01,
+ 0xe2,0x13,
+ 0xe3,0x0f,
+ 0xe8,0x1c,
+ 0xe9,0x35,
+ 0xea,0x17,
+ 0xeb,0x29,
+ 0xec,0x39,
+};
+
+uint8_t gc0307_640x480[] = {
+#if 0
+ 0x05,0x00,
+ 0x06,0x00,
+ 0x07,0x00,
+ 0x08,0x00,
+ 0x09,0x01,
+ 0x0a,0xe8,
+ 0x0b,0x02,
+ 0x0c,0x80,
+ 0x45,0x26, // bit[7:2]=001001
+ 0x48,0x84, // bit[7]=1
+ 0xe0,0x03,
+ 0xe1,0x02,
+ 0xe2,0x27,
+ 0xe3,0x1e,
+ 0xe8,0x3b,
+ 0xe9,0x6e,
+ 0xea,0x2c,
+ 0xeb,0x50,
+ 0xec,0x73,
+#endif
+};
+
+uint8_t gc0307_default_regs_init[] = {
+
+ // Initail Sequence Write In.
+ //========= close output
+ 0x43,0x00,
+ 0x44,0xa2,
+
+ //========= close some functions
+ // open them after configure their parmameters
+ 0x40,0x10,
+ 0x41,0x00,
+ 0x42,0x10,
+ 0x47,0x00,//mode1,
+ 0x48,0xc1,//mode2,
+ 0x49,0x00,//dither_mode
+ 0x4a,0x00,//clock_gating_en
+ 0x4b,0x00,//mode_reg3
+ 0x4E,0x23,//sync mode
+ 0x4F,0x01,//AWB, AEC, every N frame
+
+ //========= frame timing
+ 0x01,0x6a,//HB
+ 0x02,0x70,//VB//0c
+ 0x1C,0x00,//Vs_st
+ 0x1D,0x00,//Vs_et
+ 0x10,0x00,//high 4 bits of VB, HB
+ 0x11,0x05,//row_tail, AD_pipe_number
+
+ 0x03,0x01,//row_start
+ 0x04,0x2c,
+
+ //========= windowing
+ 0x05,0x00,//row_start
+ 0x06,0x00,
+ 0x07,0x00,//col start
+ 0x08,0x00,
+ 0x09,0x01,//win height
+ 0x0A,0xE8,
+ 0x0B,0x02,//win width, pixel array only 640
+ 0x0C,0x80,
+
+ //========= analog
+ 0x0D,0x22,//rsh_width
+ 0x0E,0x02,//CISCTL mode2,
+ 0x0F,0xb2,//CISCTL mode1
+
+
+ 0x12,0x70,//7 hrst, 6_4 darsg,
+ 0x13,0x00,//7 CISCTL_restart, 0 apwd
+ 0x14,0x00,//NA
+ 0x15,0xba,//7_4 vref
+ 0x16,0x13,//5to4 _coln_r, __1to0__da18
+ 0x17,0x52,//opa_r, ref_r, sRef_r
+ //0x18,0xc0,//analog_mode, best case for left band.
+ 0x18,0x00,
+
+ 0x1E,0x0d,//tsp_width
+ 0x1F,0x32,//sh_delay
+
+ //========= offset
+ 0x47,0x00, //7__test_image, __6__fixed_pga, //__5__auto_DN,__4__CbCr_fix,
+ //__3to2__dark_sequence, __1__allow_pclk_vcync, __0__LSC_test_image
+ 0x19,0x06, //pga_o
+ 0x1a,0x06, //pga_e
+
+ 0x31,0x00, //4 //pga_oFFset , high 8bits of 11bits
+ 0x3B,0x00, //global_oFFset, low 8bits of 11bits
+
+ 0x59,0x0f, //offset_mode
+ 0x58,0x88, //DARK_VALUE_RATIO_G, DARK_VALUE_RATIO_RB
+ 0x57,0x08, //DARK_CURRENT_RATE
+ 0x56,0x77, //PGA_OFFSET_EVEN_RATIO, PGA_OFFSET_ODD_RATIO
+
+ //========= blk
+ 0x35,0xd8, //blk_mode
+
+ 0x36,0x40,
+
+ 0x3C,0x00,
+ 0x3D,0x00,
+ 0x3E,0x00,
+ 0x3F,0x00,
+
+ 0xb5,0x70,
+ 0xb6,0x40,
+ 0xb7,0x00,
+ 0xb8,0x38,
+ 0xb9,0xc3,
+ 0xba,0x0f,
+
+ 0x7e,0x45,
+ 0x7f,0x66,
+
+ 0x5c,0x48,//78
+ 0x5d,0x58,//88
+
+
+ //========= manual_gain
+ 0x61,0x80,//manual_gain_g1
+ 0x63,0x80,//manual_gain_r
+ 0x65,0x98,//manual_gai_b, 0xa0=1.25, 0x98=1.1875
+ 0x67,0x80,//manual_gain_g2
+ 0x68,0x18,//global_manual_gain 2.4bits
+
+ //=========CC _R
+ 0x69,0x58, //54//58
+ 0x6A,0xf6, //ff
+ 0x6B,0xfb, //fe
+ 0x6C,0xf4, //ff
+ 0x6D,0x5a, //5f
+ 0x6E,0xe6, //e1
+
+ 0x6f,0x00,
+
+ //=========lsc
+ 0x70,0x14,
+ 0x71,0x1c,
+ 0x72,0x20,
+
+ 0x73,0x10,
+ 0x74,0x3c,//480/8
+ 0x75,0x52,// 640/8
+
+ //=========dn
+ 0x7d,0x2f, //dn_mode
+ 0x80,0x0c,//when auto_dn, check 7e,7f
+ 0x81,0x0c,
+ 0x82,0x44,
+
+ //dd
+ 0x83,0x18, //DD_TH1
+ 0x84,0x18, //DD_TH2
+ 0x85,0x04, //DD_TH3
+ 0x87,0x34, //32 b DNDD_low_range X16, DNDD_low_range_C_weight_center
+
+
+ //=========intp-ee
+ 0x88,0x04,
+ 0x89,0x01,
+ 0x8a,0x50,//60
+ 0x8b,0x50,//60
+ 0x8c,0x07,
+
+ 0x50,0x0c,
+ 0x5f,0x3c,
+
+ 0x8e,0x02,
+ 0x86,0x02,
+
+ 0x51,0x20,
+ 0x52,0x08,
+ 0x53,0x00,
+
+
+ //========= YCP
+ //contrast_center
+ 0x77,0x80,//contrast_center
+ 0x78,0x00,//fixed_Cb
+ 0x79,0x00,//fixed_Cr
+ 0x7a,0x00,//luma_offset
+ 0x7b,0x40,//hue_cos
+ 0x7c,0x00,//hue_sin
+
+ //saturation
+ 0xa0,0x40,//global_saturation
+ 0xa1,0x40,//luma_contrast
+ 0xa2,0x34,//saturation_Cb//0x34
+ 0xa3,0x32,// 34 saturation_Cr//0x34
+
+ 0xa4,0xc8,
+ 0xa5,0x02,
+ 0xa6,0x28,
+ 0xa7,0x02,
+
+ //skin
+ 0xa8,0xee,
+ 0xa9,0x12,
+ 0xaa,0x01,
+ 0xab,0x20,
+ 0xac,0xf0,
+ 0xad,0x10,
+
+ //========= ABS
+ 0xae,0x18,// black_pixel_target_number
+ 0xaf,0x74,
+ 0xb0,0xe0,
+ 0xb1,0x20,
+ 0xb2,0x6c,
+ 0xb3,0x40,
+ 0xb4,0x04,
+
+ //========= AWB
+ 0xbb,0x42,
+ 0xbc,0x60,
+ 0xbd,0x50,
+ 0xbe,0x50,
+
+ 0xbf,0x0c,
+ 0xc0,0x06,
+ 0xc1,0x60,
+ 0xc2,0xf1, //f4
+ 0xc3,0x40,
+ 0xc4,0x1c,//18
+ 0xc5,0x56,
+ 0xc6,0x1d,
+
+ 0xca,0x70,//0x70
+ 0xcb,0x70,//0x70
+ 0xcc,0x78,//0x78
+
+ 0xcd,0x80,//R_ratio
+ 0xce,0x80,//G_ratio , cold_white white
+ 0xcf,0x80,//B_ratio
+
+ //========= aecT
+ 0x20,0x06,//02
+ 0x21,0xc0,
+ 0x22,0x40,
+ 0x23,0x88,
+ 0x24,0x96,
+ 0x25,0x30,
+ 0x26,0xd0,
+ 0x27,0x00,
+
+
+ /////23 M
+ 0x28,0x02,//AEC_exp_level_1bit11to8
+ 0x29,0x58,//AEC_exp_level_1bit7to0
+ 0x2a,0x02,//AEC_exp_level_2bit11to8
+ 0x2b,0x58,//AEC_exp_level_2bit7to0
+ 0x2c,0x02,//AEC_exp_level_3bit11to8 659 - 8FPS, 8ca - 6FPS //
+ 0x2d,0x58,//AEC_exp_level_3bit7to0
+ 0x2e,0x02,//AEC_exp_level_4bit11to8 4FPS
+ 0x2f,0xee,//AEC_exp_level_4bit7to0
+
+ 0x30,0x20,
+ 0x31,0x00,
+ 0x32,0x1c,
+ 0x33,0x90,
+ 0x34,0x10,
+
+ 0xd0,0x34,//[2] 1 before gamma, 0 after gamma
+
+ 0xd1,0x50,//AEC_target_Y//0x50
+ 0xd2,0x61,//f2
+ 0xd4,0x4b,//96
+ 0xd5,0x01,// 10
+ 0xd6,0x4b,//antiflicker_step //96
+ 0xd7,0x03,//AEC_exp_time_min //10
+ 0xd8,0x02,
+
+ 0xdd,0x12,
+
+ //========= measure window
+ 0xe0,0x03,
+ 0xe1,0x02,
+ 0xe2,0x27,
+ 0xe3,0x1e,
+ 0xe8,0x3b,
+ 0xe9,0x6e,
+ 0xea,0x2c,
+ 0xeb,0x50,
+ 0xec,0x73,
+
+ //========= close_frame
+ 0xed,0x00,//close_frame_num1 ,can be use to reduce FPS
+ 0xee,0x00,//close_frame_num2
+ 0xef,0x00,//close_frame_num
+
+ // page1
+ 0xf0,0x01,//select page1
+
+ 0x00,0x20,
+ 0x01,0x20,
+ 0x02,0x20,
+ 0x03,0x20,
+ 0x04,0x78,
+ 0x05,0x78,
+ 0x06,0x78,
+ 0x07,0x78,
+
+
+
+ 0x10,0x04,
+ 0x11,0x04,
+ 0x12,0x04,
+ 0x13,0x04,
+ 0x14,0x01,
+ 0x15,0x01,
+ 0x16,0x01,
+ 0x17,0x01,
+
+
+ 0x20,0x00,
+ 0x21,0x00,
+ 0x22,0x00,
+ 0x23,0x00,
+ 0x24,0x00,
+ 0x25,0x00,
+ 0x26,0x00,
+ 0x27,0x00,
+
+ 0x40,0x11,
+
+ //=============================lscP
+ 0x45,0x06,
+ 0x46,0x06,
+ 0x47,0x05,
+
+ 0x48,0x04,
+ 0x49,0x03,
+ 0x4a,0x03,
+
+
+ 0x62,0xd8,
+ 0x63,0x24,
+ 0x64,0x24,
+ 0x65,0x24,
+ 0x66,0xd8,
+ 0x67,0x24,
+
+ 0x5a,0x00,
+ 0x5b,0x00,
+ 0x5c,0x00,
+ 0x5d,0x00,
+ 0x5e,0x00,
+ 0x5f,0x00,
+
+
+ //============================= ccP
+
+ 0x69,0x03,//cc_mode
+
+ //CC_G
+ 0x70,0x5d,
+ 0x71,0xed,
+ 0x72,0xff,
+ 0x73,0xe5,
+ 0x74,0x5f,
+ 0x75,0xe6,
+
+ //CC_B
+ 0x76,0x41,
+ 0x77,0xef,
+ 0x78,0xff,
+ 0x79,0xff,
+ 0x7a,0x5f,
+ 0x7b,0xfa,
+
+
+ //============================= AGP
+
+ 0x7e,0x00,
+ 0x7f,0x30, // 00 select gamma
+ 0x80,0x48, // c8
+ 0x81,0x06,
+ 0x82,0x08,
+
+
+ 0x83,0x23,
+ 0x84,0x38,
+ 0x85,0x4F,
+ 0x86,0x61,
+ 0x87,0x72,
+ 0x88,0x80,
+ 0x89,0x8D,
+ 0x8a,0xA2,
+ 0x8b,0xB2,
+ 0x8c,0xC0,
+ 0x8d,0xCA,
+ 0x8e,0xD3,
+ 0x8f,0xDB,
+ 0x90,0xE2,
+ 0x91,0xED,
+ 0x92,0xF6,
+ 0x93,0xFD,
+ /*
+ 0x83,0x13,
+ 0x84,0x23,
+ 0x85,0x35,
+ 0x86,0x44,
+ 0x87,0x53,
+ 0x88,0x60,
+ 0x89,0x6D,
+ 0x8a,0x84,
+ 0x8b,0x98,
+ 0x8c,0xaa,
+ 0x8d,0xb8,
+ 0x8e,0xc6,
+ 0x8f,0xd1,
+ 0x90,0xdb,
+ 0x91,0xea,
+ 0x92,0xf5,
+ 0x93,0xFb,
+ */
+ //about gamma1 is hex r oct
+ 0x94,0x04,
+ 0x95,0x0E,
+ 0x96,0x1B,
+ 0x97,0x28,
+ 0x98,0x35,
+ 0x99,0x41,
+ 0x9a,0x4E,
+ 0x9b,0x67,
+ 0x9c,0x7E,
+ 0x9d,0x94,
+ 0x9e,0xA7,
+ 0x9f,0xBA,
+ 0xa0,0xC8,
+ 0xa1,0xD4,
+ 0xa2,0xE7,
+ 0xa3,0xF4,
+ 0xa4,0xFA,
+
+ //========= open functions
+ 0xf0,0x00,//set back to page0
+
+ 0x40,0x7e,
+ 0x41,0x2f,
+ 0x43,0x40,
+ 0x44,0xE2,
+
+ 0x0f,0x82,
+ 0x45,0x24,
+ 0x47,0x20,
+ 0x4e,0x26,
+
+};
+#endif