{
/*init registers code.*/
#if 1
-{0xfe,0x80}, // soft reset
-
-// GC0309_SET_PAGE0; // set page0
-
-{0x1a,0x16},
-{0xd2,0x10}, // close AEC
-{0x22,0x55}, // close AWB
+ {0xfe,0x80}, // soft reset
+
+ {0x1a,0x16},
+ {0xd2,0x10}, // close AEC
+ {0x22,0x55}, // close AWB
-{0x5a,0x56},
-{0x5b,0x40},
-{0x5c,0x4a},
+ {0x5a,0x56},
+ {0x5b,0x40},
+ {0x5c,0x4a},
-{0x22,0x57},
+ {0x22,0x57},
-{0x01,0xfa},
-{0x02,0x70},
-{0x0f,0x01},
+ {0x01,0xfa},
+ {0x02,0x70},
+ {0x0f,0x01},
-{0xe2,0x00},
-{0xe3,0x64},
+ {0xe2,0x00},
+ {0xe3,0x64},
-{0x03,0x01},
-{0x04,0x2c},
+ {0x03,0x01},
+ {0x04,0x2c},
- /*
-{0x01,0x6a},
-{0x02,0x25},
-{0x0f,0x00},
+ {0x05,0x00},
+ {0x06,0x00},
+ {0x07,0x00},
+ {0x08,0x00},
+ {0x09,0x01},
+ {0x0a,0xe8},
+ {0x0b,0x02},
+ {0x0c,0x88},
+ {0x0d,0x02},
+ {0x0e,0x02},
+ {0x10,0x22},
+ {0x11,0x0d},
+ {0x12,0x2a},
+ {0x13,0x00},
+ {0x14,0x10},
+ {0x15,0x0a},
+ {0x16,0x05},
+ {0x17,0x01},
+
+ {0x1b,0x03},
+ {0x1c,0xc1},
+ {0x1d,0x08},
+ {0x1e,0x20},
+ {0x1f,0x16},
-{0xe2,0x00},
-{0xe3,0x4b},
-
-{0xe4,0x02},
-{0xe5,0x0d},
-{0xe6,0x02},
-{0xe7,0x0d},
-{0xe8,0x02},
-{0xe9,0x0d},
-{0xea,0x05},
-{0xeb,0xdc},
- */
-
-{0x05,0x00},
-{0x06,0x00},
-{0x07,0x00},
-{0x08,0x00},
-{0x09,0x01},
-{0x0a,0xe8},
-{0x0b,0x02},
-{0x0c,0x88},
-{0x0d,0x02},
-{0x0e,0x02},
-{0x10,0x22},
-{0x11,0x0d},
-{0x12,0x2a},
-{0x13,0x00},
-//{0x14,0x10},
-{0x15,0x0a},
-{0x16,0x05},
-{0x17,0x01},
-
-{0x1b,0x03},
-{0x1c,0xc1},
-{0x1d,0x08},
-{0x1e,0x20},
-{0x1f,0x16},
-
-{0x20,0xff},
-{0x21,0xf8},
-{0x24,0xa2},
-{0x25,0x0f},
+ {0x20,0xff},
+ {0x21,0xf8},
+ {0x24,0xa0},
+ {0x25,0x0f},
//output sync_mode
-{0x26,0x03},
-{0x2f,0x01},
+ {0x26,0x03},
+ {0x2f,0x01},
/////////////////////////////////////////////////////////////////////
/////////////////////////// grab_t ////////////////////////////////
/////////////////////////////////////////////////////////////////////
-{0x30,0xf7},
-{0x31,0x40},
-{0x32,0x00},
-{0x39,0x04},
-{0x3a,0x20},
-{0x3b,0x20},
-{0x3c,0x02},
-{0x3d,0x02},
-{0x3e,0x02},
-{0x3f,0x02},
+ {0x30,0xf7},
+ {0x31,0x40},
+ {0x32,0x00},
+ {0x39,0x04},
+ {0x3a,0x20},
+ {0x3b,0x20},
+ {0x3c,0x02},
+ {0x3d,0x02},
+ {0x3e,0x02},
+ {0x3f,0x02},
//gain
-{0x50,0x24},
+ {0x50,0x24},
-{0x53,0x82},
-{0x54,0x80},
-{0x55,0x80},
-{0x56,0x82},
+ {0x53,0x82},
+ {0x54,0x80},
+ {0x55,0x80},
+ {0x56,0x82},
/////////////////////////////////////////////////////////////////////
/////////////////////////// LSC_t ////////////////////////////////
/////////////////////////////////////////////////////////////////////
-{0x8b,0x20},
-{0x8c,0x20},
-{0x8d,0x20},
-{0x8e,0x10},
-{0x8f,0x10},
-{0x90,0x10},
-{0x91,0x3c},
-{0x92,0x50},
-{0x5d,0x12},
-{0x5e,0x1a},
-{0x5f,0x24},
+ {0x8b,0x20},
+ {0x8c,0x20},
+ {0x8d,0x20},
+ {0x8e,0x10},
+ {0x8f,0x10},
+ {0x90,0x10},
+ {0x91,0x3c},
+ {0x92,0x50},
+ {0x5d,0x12},
+ {0x5e,0x1a},
+ {0x5f,0x24},
/////////////////////////////////////////////////////////////////////
/////////////////////////// DNDD_t ///////////////////////////////
/////////////////////////////////////////////////////////////////////
-{0x60,0x07},
-{0x61,0x0e},
-{0x62,0x0c},
-{0x64,0x03},
-{0x66,0xe8},
-{0x67,0x86},
-{0x68,0xa2},
+ {0x60,0x07},
+ {0x61,0x0e},
+ {0x62,0x0c},
+ {0x64,0x03},
+ {0x66,0xe8},
+ {0x67,0x86},
+ {0x68,0xa2},
/////////////////////////////////////////////////////////////////////
/////////////////////////// asde_t ///////////////////////////////
/////////////////////////////////////////////////////////////////////
-{0x69,0x20},
-{0x6a,0x0f},
-{0x6b,0x00},
-{0x6c,0x53},
-{0x6d,0x83},
-{0x6e,0xac},
-{0x6f,0xac},
-{0x70,0x15},
-{0x71,0x33},
+ {0x69,0x20},
+ {0x6a,0x0f},
+ {0x6b,0x00},
+ {0x6c,0x53},
+ {0x6d,0x83},
+ {0x6e,0xac},
+ {0x6f,0xac},
+ {0x70,0x15},
+ {0x71,0x33},
/////////////////////////////////////////////////////////////////////
/////////////////////////// eeintp_t///////////////////////////////
-#else
- {0xfe,0x80}, /*sofware reset*/
- {0xfe, 0x00}, /*set page0*/
-
- {0x1a,0x16},
- {0xd2,0x10}, /*close AEC*/
- {0x22,0x55}, /*close AWB*/
-
- {0x5a,0x56},
- {0x5b,0x40},
- {0x5c,0x4a},
- {0x22,0x57},
- {0x01,0xfa},
- {0x02,0x70},
- {0x0f,0x01},
- {0xe2,0x00},
- {0xe3,0x64},
- {0x03,0x01},
- {0x04,0x2c},
-
- {0x01,0x6a},
- {0x02,0x25},
- {0x0f,0x00},
- {0xe2,0x00},
- {0xe3,0x4b},
- {0xe4,0x02},
- {0xe5,0x0d},
- {0xe6,0x02},
- {0xe7,0x0d},
- {0xe8,0x02},
- {0xe9,0x0d},
- {0xea,0x05},
- {0xeb,0xdc},
-
- {0x05,0x00},
- {0x06,0x00},
- {0x07,0x00},
- {0x08,0x00},
- {0x09,0x01},
- {0x0a,0xe8},
- {0x0b,0x02},
- {0x0c,0x88},
- {0x0d,0x02},
- {0x0e,0x02},
- {0x10,0x22},
- {0x11,0x0d},
- {0x12,0x2a},
- {0x13,0x00},
+ /////////////////////////////////////////////////////////////////////
+ {0x72,0xdc},
+ {0x73,0x80},
+ //for high resolution in light scene
+ {0x74,0x02},
+ {0x75,0x3f},
+ {0x76,0x02},
+ {0x77,0x54},
+ {0x78,0x88},
+ {0x79,0x81},
+ {0x7a,0x81},
+ {0x7b,0x22},
+ {0x7c,0xff},
- {0x15,0x0a},
- {0x16,0x05},
- {0x17,0x01},
- {0x1b,0x03},
- {0x1c,0xc1},
- {0x1d,0x08},
- {0x1e,0x20},
- {0x1f,0x16},
- {0x20,0xff},
- {0x21,0xf8},
- {0x24,0xa2},
- {0x25,0x0f},
- /*output sync_mode*/
- {0x26,0x03},
- {0x2f,0x01},
+ /////////////////////////////////////////////////////////////////////
+ ///////////////////////////CC_t///////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0x93,0x45},
+ {0x94,0x00},
+ {0x95,0x00},
+ {0x96,0x00},
+ {0x97,0x45},
+ {0x98,0xf0},
+ {0x9c,0x00},
+ {0x9d,0x03},
+ {0x9e,0x00},
+
- /*grab_t*/
- {0x30,0xf7},
- {0x31,0x40},
- {0x32,0x00},
- {0x39,0x04},
- {0x3a,0x20},
- {0x3b,0x20},
- {0x3c,0x02},
- {0x3d,0x02},
- {0x3e,0x02},
- {0x3f,0x02},
- {0x50,0x24},
- {0x53,0x82},
- {0x54,0x80},
- {0x55,0x80},
- {0x56,0x82},
-
- /*LSC_t*/
- {0x8b,0x20},
- {0x8c,0x20},
- {0x8d,0x20},
- {0x8e,0x10},
- {0x8f,0x10},
- {0x90,0x10},
- {0x91,0x3c},
- {0x92,0x50},
- {0x5d,0x12},
- {0x5e,0x1a},
- {0x5f,0x24},
-
- /*DNDD_t*/
- {0x60,0x07},
- {0x61,0x0e},
- {0x62,0x0c},
- {0x64,0x03},
- {0x66,0xe8},
- {0x67,0x86},
- {0x68,0xa2},
- /*asde_t*/
- {0x69,0x20},
- {0x6a,0x0f},
- {0x6b,0x00},
- {0x6c,0x53},
- {0x6d,0x83},
- {0x6e,0xac},
- {0x6f,0xac},
- {0x70,0x15},
- {0x71,0x33},
-
- /*eeintp_t*/
- {0x72,0xdc},
- {0x73,0x80},
- //for high resolution in light scene
- {0x74,0x02},
- {0x75,0x3f},
- {0x76,0x02},
- {0x77,0x54},
- {0x78,0x88},
- {0x79,0x81},
- {0x7a,0x81},
- {0x7b,0x22},
- {0x7c,0xff},
-
- /*CC_t*/
- {0x93,0x45},
- {0x94,0x00},
- {0x95,0x00},
- {0x96,0x00},
- {0x97,0x45},
- {0x98,0xf0},
- {0x9c,0x00},
- {0x9d,0x03},
- {0x9e,0x00},
-
- /*YCP_t*/
- {0xb1,0x40},
- {0xb2,0x40},
- {0xb8,0x20},
- {0xbe,0x36},
- {0xbf,0x00},
-
- /*AEC_t*/
- {0xd0,0xc9},
- {0xd1,0x10},
- //{0xd2,0x90},
- {0xd3,0x80},
- {0xd5,0xf2},
- {0xd6,0x16},
- {0xdb,0x92},
- {0xdc,0xa5},
- {0xdf,0x23},
- {0xd9,0x00},
- {0xda,0x00},
+ /////////////////////////////////////////////////////////////////////
+ ///////////////////////////YCP_t///////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0xb1,0x40},
+ {0xb2,0x40},
+ {0xb8,0x20},
+ {0xbe,0x36},
+ {0xbf,0x00},
+ /////////////////////////////////////////////////////////////////////
+ ///////////////////////////AEC_t///////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0xd0,0xc9},
+ {0xd1,0x10},
+// {0xd2,0x90},
+ {0xd3,0x80},
+ {0xd5,0xf2},
+ {0xd6,0x16},
+ {0xdb,0x92},
+ {0xdc,0xa5},
+ {0xdf,0x23},
+ {0xd9,0x00},
+ {0xda,0x00},
{0xe0,0x09},
- {0xec,0x20},
- {0xed,0x04},
- {0xee,0xa0},
- {0xef,0x40},
- /*GAMMA*/
-#if 0
- {0x9F,0x0F},
- {0xA0,0x1D},
- {0xA1,0x2D},
- {0xA2,0x3B},
- {0xA3,0x46},
- {0xA4,0x50},
- {0xA5,0x5A},
- {0xA6,0x6B},
- {0xA7,0x7B},
- {0xA8,0x8A},
- {0xA9,0x98},
- {0xAA,0xA5},
- {0xAB,0xB2},
- {0xAC,0xBE},
- {0xAD,0xD5},
- {0xAE,0xEB},
- {0xAF,0xFE},
-#endif
+ {0xec,0x20},
+ {0xed,0x04},
+ {0xee,0xa0},
+ {0xef,0x40},
- //Y_gramma
+ //Y_gamma
{0xc0,0x00},
{0xc1,0x0B},
{0xc2,0x15},
{0xcb,0xE3},
{0xcc,0xFF},
- /*ABS_t*/
+ /////////////////////////////////////////////////////////////////
+ /////////////////////////// ABS_t ///////////////////////////////
+ /////////////////////////////////////////////////////////////////
{0xf0,0x02},
{0xf1,0x01},
- {0xf2,0x00},
- {0xf3,0x30},
-
- /*Measure Window*/
- {0xf7,0x04},
- {0xf8,0x02},
+ {0xf2,0x00},
+ {0xf3,0x30},
+
+ /////////////////////////////////////////////////////////////////
+ /////////////////////////// Measure Window ///////////////////////
+ /////////////////////////////////////////////////////////////////
+ {0xf7,0x04},
+ {0xf8,0x02},
{0xf9,0x9f},
{0xfa,0x78},
- /*GC0309_SET_PAGE1*/
- {0xfe, 0x01},
-
- /*AWB_p*/
- {0x00,0xf5},
- //{0x01,0x0a},
- {0x02,0x1a},
- {0x0a,0xa0},
- {0x0b,0x60},
- {0x0c,0x08},
- {0x0e,0x4c},
- {0x0f,0x39},
- {0x11,0x3f},
- {0x12,0x72},
- {0x13,0x13},
- {0x14,0x42},
- {0x15,0x43},
- {0x16,0xc2},
- {0x17,0xa8},
- {0x18,0x18},
- {0x19,0x40},
- {0x1a,0xd0},
- {0x1b,0xf5},
- {0x70,0x40},
- {0x71,0x58},
- {0x72,0x30},
- {0x73,0x48},
- {0x74,0x20},
- {0x75,0x60},
-
- /*GC0309_SET_PAGE0*/
- {0xfe, 0x00},
+#else
+ {0xfe,0x80}, // soft reset
- /* Open AEC at last*/
- {0xd2, 0x90},
-
- /*gramma*/
- {0x9F, 0x0E},
- {0xA0, 0x1C},
- {0xA1, 0x34},
- {0xA2, 0x48},
- {0xA3, 0x5A},
- {0xA4, 0x6B},
- {0xA5, 0x7B},
- {0xA6, 0x95},
- {0xA7, 0xAB},
- {0xA8, 0xBF},
- {0xA9, 0xCE},
- {0xAA, 0xD9},
- {0xAB, 0xE4},
- {0xAC, 0xEC},
- {0xAD, 0xF7},
- {0xAE, 0xFD},
- {0xAF, 0xFF},
-
- /*direction: normal*/
- {0x14, 0x10}
+ {0x1a,0x16},
+ {0xd2,0x10}, // close AEC
+ {0x22,0x55}, // close AWB
+
+ {0x5a,0x56},
+ {0x5b,0x40},
+ {0x5c,0x4a},
+
+ {0x22,0x57},
+
+ {0x01,0xfa},
+ {0x02,0x70},
+ {0x0f,0x01},
+
+ {0xe2,0x00},
+ {0xe3,0x64},
+
+ {0x03,0x01},
+ {0x04,0x2c},
+
+
+ {0x05,0x00},
+ {0x06,0x00},
+ {0x07,0x00},
+ {0x08,0x00},
+ {0x09,0x01},
+ {0x0a,0xe8},
+ {0x0b,0x02},
+ {0x0c,0x88},
+ {0x0d,0x02},
+ {0x0e,0x02},
+ {0x10,0x22},
+ {0x11,0x0d},
+ {0x12,0x2a},
+ {0x13,0x00},
+
+ {0x15,0x0a},
+ {0x16,0x05},
+ {0x17,0x01},
+
+ {0x1b,0x03},
+ {0x1c,0xc1},
+ {0x1d,0x08},
+ {0x1e,0x20},
+ {0x1f,0x16},
+
+ {0x20,0xff},
+ {0x21,0xf8},
+ {0x24,0xa2},
+ {0x25,0x0f},
+ //output sync_mode
+ {0x26,0x03},
+ {0x2f,0x01},
+ /////////////////////////////////////////////////////////////////////
+ /////////////////////////// grab_t ////////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0x30,0xf7},
+ {0x31,0x40},
+ {0x32,0x00},
+ {0x39,0x04},
+ {0x3a,0x20},
+ {0x3b,0x20},
+ {0x3c,0x02},
+ {0x3d,0x02},
+ {0x3e,0x02},
+ {0x3f,0x02},
+
+ //gain
+ {0x50,0x24},
+
+ {0x53,0x82},
+ {0x54,0x80},
+ {0x55,0x80},
+ {0x56,0x82},
+
+ /////////////////////////////////////////////////////////////////////
+ /////////////////////////// LSC_t ////////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0x8b,0x20},
+ {0x8c,0x20},
+ {0x8d,0x20},
+ {0x8e,0x10},
+ {0x8f,0x10},
+ {0x90,0x10},
+ {0x91,0x3c},
+ {0x92,0x50},
+ {0x5d,0x12},
+ {0x5e,0x1a},
+ {0x5f,0x24},
+ /////////////////////////////////////////////////////////////////////
+ /////////////////////////// DNDD_t ///////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0x60,0x07},
+ {0x61,0x0e},
+ {0x62,0x0c},
+ {0x64,0x03},
+ {0x66,0xe8},
+ {0x67,0x86},
+ {0x68,0xa2},
+
+ /////////////////////////////////////////////////////////////////////
+ /////////////////////////// asde_t ///////////////////////////////
+ /////////////////////////////////////////////////////////////////////
+ {0x69,0x20},
+ {0x6a,0x0f},
+ {0x6b,0x00},
+ {0x6c,0x53},
+ {0x6d,0x83},
+ {0x6e,0xac},
+ {0x6f,0xac},
+ {0x70,0x15},
+ {0x71,0x33},
+ /////////////////////////////////////////////////////////////////////
+ /////////////////////////// eeintp_t///////////////////////////////
#endif
};
/* 640X480 VGA */
static struct reginfo sensor_vga[] =
{
-{0x45 , 0x0f}, //output enable
- {0x0,0x0}
+ //{0x45 , 0x0f}, //output enable
+ {0x15 , 0x0a}, //output enable
+ {0x0,0x0}
};
/* 352X288 CIF */