camera rk2928: add user define seriers

This commit is contained in:
root
2012-08-22 17:37:07 +08:00
parent 056440e3f0
commit 76b884dcf6
2 changed files with 503 additions and 0 deletions

View File

@@ -268,6 +268,7 @@ CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=y
CONFIG_SOC_CAMERA=y
CONFIG_SOC_CAMERA_GC0308=y
CONFIG_GC0308_USER_DEFINED_SERIES=y
CONFIG_VIDEO_RK29=y
CONFIG_VIDEO_RK29_CAMMEM_ION=y
CONFIG_ION=y

View File

@@ -0,0 +1,502 @@
/* init 640X480 VGA */
static struct reginfo sensor_init_data[] =
{
{0xfe , 0x80},
{0xfe , 0x00}, // set page0
{0xd2 , 0x10}, // close AEC
{0x22 , 0x55}, // close AWB
{0x03 , 0x01},
{0x04 , 0x2c},
{0x5a , 0x56},
{0x5b , 0x40},
{0x5c , 0x4a},
{0x22 , 0x57}, // Open AWB
{0x01 , 0xfa},
{0x02 , 0x70},
{0x0f , 0x01},
{0xe2 , 0x00}, //anti-flicker step [11:8]
{0xe3 , 0x64}, //anti-flicker step [7:0]
{0xe4 , 0x02}, //exp level 1 16.67fps
{0xe5 , 0x58},
{0xe6 , 0x03}, //exp level 2 12.5fps
{0xe7 , 0x20},
{0xe8 , 0x04}, //exp level 3 8.33fps
{0xe9 , 0xb0},
{0xea , 0x09}, //exp level 4 4.00fps
{0xeb , 0xc4},
//{0xec , 0x20},
{0x05 , 0x00},
{0x06 , 0x00},
{0x07 , 0x00},
{0x08 , 0x00},
{0x09 , 0x01},
{0x0a , 0xe8},
{0x0b , 0x02},
{0x0c , 0x88},
{0x0d , 0x02},
{0x0e , 0x02},
{0x10 , 0x22},
{0x11 , 0xfd},
{0x12 , 0x2a},
{0x13 , 0x00},
//{0x14 , 0x10},
{0x15 , 0x0a},
{0x16 , 0x05},
{0x17 , 0x01},
{0x18 , 0x44},
{0x19 , 0x44},
{0x1a , 0x1e},
{0x1b , 0x00},
{0x1c , 0xc1},
{0x1d , 0x08},
{0x1e , 0x60},
{0x1f , 0x17},
{0x20 , 0xff},
{0x21 , 0xf8},
{0x22 , 0x57},
{0x24 , 0xa2},
{0x25 , 0x0f},
//output sync_mode
{0x26 , 0x02}, //0x03 20101016 zhj
{0x2f , 0x01},
{0x30 , 0xf7},
{0x31 , 0x50},
{0x32 , 0x00},
{0x39 , 0x04},
{0x3a , 0x18},
{0x3b , 0x20},
{0x3c , 0x00},
{0x3d , 0x00},
{0x3e , 0x00},
{0x3f , 0x00},
{0x50 , 0x10},
{0x53 , 0x82},
{0x54 , 0x80},
{0x55 , 0x80},
{0x56 , 0x82},
{0x8b , 0x40},
{0x8c , 0x40},
{0x8d , 0x40},
{0x8e , 0x2e},
{0x8f , 0x2e},
{0x90 , 0x2e},
{0x91 , 0x3c},
{0x92 , 0x50},
{0x5d , 0x12},
{0x5e , 0x1a},
{0x5f , 0x24},
{0x60 , 0x07},
{0x61 , 0x15},
{0x62 , 0x08},
{0x64 , 0x03},
{0x66 , 0xe8},
{0x67 , 0x86},
{0x68 , 0xa2},
{0x69 , 0x18},
{0x6a , 0x0f},
{0x6b , 0x00},
{0x6c , 0x5f},
{0x6d , 0x8f},
{0x6e , 0x55},
{0x6f , 0x38},
{0x70 , 0x15},
{0x71 , 0x33},
{0x72 , 0xdc},
{0x73 , 0x80},
{0x74 , 0x02},
{0x75 , 0x3f},
{0x76 , 0x02},
{0x77 , 0x36},
{0x78 , 0x88},
{0x79 , 0x81},
{0x7a , 0x81},
{0x7b , 0x22},
{0x7c , 0xff},
{0x93 , 0x48},
{0x94 , 0x00},
{0x95 , 0x05},
{0x96 , 0xe8},
{0x97 , 0x40},
{0x98 , 0xf0},
{0xb1 , 0x38},
{0xb2 , 0x38},
{0xbd , 0x38},
{0xbe , 0x36},
{0xd0 , 0xc9},
{0xd1 , 0x10},
//{0xd2 , 0x90},
{0xd3 , 0x80},
{0xd5 , 0xf2},
{0xd6 , 0x16},
{0xdb , 0x92},
{0xdc , 0xa5},
{0xdf , 0x23},
{0xd9 , 0x00},
{0xda , 0x00},
{0xe0 , 0x09},
{0xed , 0x04},
{0xee , 0xa0},
{0xef , 0x40},
{0x80 , 0x03},
{0x80 , 0x03},
{0x9F , 0x10},
{0xA0 , 0x20},
{0xA1 , 0x38},
{0xA2 , 0x4E},
{0xA3 , 0x63},
{0xA4 , 0x76},
{0xA5 , 0x87},
{0xA6 , 0xA2},
{0xA7 , 0xB8},
{0xA8 , 0xCA},
{0xA9 , 0xD8},
{0xAA , 0xE3},
{0xAB , 0xEB},
{0xAC , 0xF0},
{0xAD , 0xF8},
{0xAE , 0xFD},
{0xAF , 0xFF},
{0xc0 , 0x00},
{0xc1 , 0x10},
{0xc2 , 0x1C},
{0xc3 , 0x30},
{0xc4 , 0x43},
{0xc5 , 0x54},
{0xc6 , 0x65},
{0xc7 , 0x75},
{0xc8 , 0x93},
{0xc9 , 0xB0},
{0xca , 0xCB},
{0xcb , 0xE6},
{0xcc , 0xFF},
{0xf0 , 0x02},
{0xf1 , 0x01},
{0xf2 , 0x01},
{0xf3 , 0x30},
{0xf9 , 0x9f},
{0xfa , 0x78},
//---------------------------------------------------------------
{0xfe , 0x01},// set page1
{0x00 , 0xf5},
{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},
{0x77 , 0x20},
{0x78 , 0x32},
{0x30 , 0x03},
{0x31 , 0x40},
{0x32 , 0xe0},
{0x33 , 0xe0},
{0x34 , 0xe0},
{0x35 , 0xb0},
{0x36 , 0xc0},
{0x37 , 0xc0},
{0x38 , 0x04},
{0x39 , 0x09},
{0x3a , 0x12},
{0x3b , 0x1C},
{0x3c , 0x28},
{0x3d , 0x31},
{0x3e , 0x44},
{0x3f , 0x57},
{0x40 , 0x6C},
{0x41 , 0x81},
{0x42 , 0x94},
{0x43 , 0xA7},
{0x44 , 0xB8},
{0x45 , 0xD6},
{0x46 , 0xEE},
{0x47 , 0x0d},
{0xfe , 0x00}, // set page0
//-----------Update the registers 2010/07/06-------------//
//Registers of Page0
{0xfe , 0x00}, // set page0
{0x10 , 0x26},
{0x11 , 0x0d}, // fd,modified by mormo 2010/07/06
{0x1a , 0x2a}, // 1e,modified by mormo 2010/07/06
{0x1c , 0x49}, // c1,modified by mormo 2010/07/06
{0x1d , 0x9a}, // 08,modified by mormo 2010/07/06
{0x1e , 0x61}, // 60,modified by mormo 2010/07/06
{0x3a , 0x20},
{0x50 , 0x14}, // 10,modified by mormo 2010/07/06
{0x53 , 0x80},
{0x56 , 0x80},
{0x8b , 0x20}, //LSC
{0x8c , 0x20},
{0x8d , 0x20},
{0x8e , 0x14},
{0x8f , 0x10},
{0x90 , 0x14},
{0x94 , 0x02},
{0x95 , 0x07},
{0x96 , 0xe0},
{0xb1 , 0x40}, // YCPT
{0xb2 , 0x40},
{0xb3 , 0x40},
{0xb6 , 0xe0},
{0xd0 , 0xcb}, // AECT c9,modifed by mormo 2010/07/06
{0xd3 , 0x48}, // 80,modified by mormor 2010/07/06
{0xf2 , 0x02},
{0xf7 , 0x12},
{0xf8 , 0x0a},
//Registers of Page1
{0xfe , 0x01},// set page1
{0x02 , 0x20},
{0x04 , 0x10},
{0x05 , 0x08},
{0x06 , 0x20},
{0x08 , 0x0a},
{0x0e , 0x44},
{0x0f , 0x32},
{0x10 , 0x41},
{0x11 , 0x37},
{0x12 , 0x22},
{0x13 , 0x19},
{0x14 , 0x44},
{0x15 , 0x44},
{0x19 , 0x50},
{0x1a , 0xd8},
{0x32 , 0x10},
{0x35 , 0x00},
{0x36 , 0x80},
{0x37 , 0x00},
//-----------Update the registers end---------//
{0xfe , 0x00}, // set page0
{0xd2 , 0x90},
//-----------GAMMA Select(3)---------------//
{0x9F , 0x10},
{0xA0 , 0x20},
{0xA1 , 0x38},
{0xA2 , 0x4E},
{0xA3 , 0x63},
{0xA4 , 0x76},
{0xA5 , 0x87},
{0xA6 , 0xA2},
{0xA7 , 0xB8},
{0xA8 , 0xCA},
{0xA9 , 0xD8},
{0xAA , 0xE3},
{0xAB , 0xEB},
{0xAC , 0xF0},
{0xAD , 0xF8},
{0xAE , 0xFD},
{0xAF , 0xFF},
/*GC0308_GAMMA_Select,
1: //smallest gamma curve
{0x9F , 0x0B},
{0xA0 , 0x16},
{0xA1 , 0x29},
{0xA2 , 0x3C},
{0xA3 , 0x4F},
{0xA4 , 0x5F},
{0xA5 , 0x6F},
{0xA6 , 0x8A},
{0xA7 , 0x9F},
{0xA8 , 0xB4},
{0xA9 , 0xC6},
{0xAA , 0xD3},
{0xAB , 0xDD},
{0xAC , 0xE5},
{0xAD , 0xF1},
{0xAE , 0xFA},
{0xAF , 0xFF},
2:
{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},
3:
{0x9F , 0x10},
{0xA0 , 0x20},
{0xA1 , 0x38},
{0xA2 , 0x4E},
{0xA3 , 0x63},
{0xA4 , 0x76},
{0xA5 , 0x87},
{0xA6 , 0xA2},
{0xA7 , 0xB8},
{0xA8 , 0xCA},
{0xA9 , 0xD8},
{0xAA , 0xE3},
{0xAB , 0xEB},
{0xAC , 0xF0},
{0xAD , 0xF8},
{0xAE , 0xFD},
{0xAF , 0xFF},
4:
{0x9F , 0x14},
{0xA0 , 0x28},
{0xA1 , 0x44},
{0xA2 , 0x5D},
{0xA3 , 0x72},
{0xA4 , 0x86},
{0xA5 , 0x95},
{0xA6 , 0xB1},
{0xA7 , 0xC6},
{0xA8 , 0xD5},
{0xA9 , 0xE1},
{0xAA , 0xEA},
{0xAB , 0xF1},
{0xAC , 0xF5},
{0xAD , 0xFB},
{0xAE , 0xFE},
{0xAF , 0xFF},
5: //largest gamma curve
{0x9F , 0x15},
{0xA0 , 0x2A},
{0xA1 , 0x4A},
{0xA2 , 0x67},
{0xA3 , 0x79},
{0xA4 , 0x8C},
{0xA5 , 0x9A},
{0xA6 , 0xB3},
{0xA7 , 0xC5},
{0xA8 , 0xD5},
{0xA9 , 0xDF},
{0xAA , 0xE8},
{0xAB , 0xEE},
{0xAC , 0xF3},
{0xAD , 0xFA},
{0xAE , 0xFD},
{0xAF , 0xFF}, */
//-----------GAMMA Select End--------------//
//-------------H_V_Switch(4)---------------//
{0x14 , 0x10}, //0x10
/*GC0308_H_V_Switch,
1: // normal
{0x14 , 0x10},
2: // IMAGE_H_MIRROR
{0x14 , 0x11},
3: // IMAGE_V_MIRROR
{0x14 , 0x12},
4: // IMAGE_HV_MIRROR
{0x14 , 0x13},
*/
//-------------H_V_Select End--------------//
};
/* 1280X1024 SXGA */
static struct reginfo sensor_sxga[] =
{
{0x00,0x00}
};
/* 800X600 SVGA*/
static struct reginfo sensor_svga[] =
{
{0x0, 0x0},
};
/* 640X480 VGA */
static struct reginfo sensor_vga[] =
{
{0x17, 0x13},
{0x18, 0x01},
{0x32, 0xbf},
{0x19, 0x03},
{0x1a, 0x7b},
{0x03, 0x0a},
{0x00,0x00}
};
/* 352X288 CIF */
static struct reginfo sensor_cif[] =
{
{0x00,0x00}
};
/* 320*240 QVGA */
static struct reginfo sensor_qvga[] =
{
{0x00,0x00}
};
/* 176X144 QCIF*/
static struct reginfo sensor_qcif[] =
{
{0x00,0x00}
};