#include "sys_config.h" #include "typesdef.h" #include "lib/video/dvp/cmos_sensor/csi.h" #include "tx_platform.h" #include "list.h" #include "dev.h" #include "hal/i2c.h" #if DEV_SENSOR_GC2145 SENSOR_INIT_SECTION static const unsigned char gc2145InitTable[CMOS_INIT_LEN]={ 0xfe , 0xf0, 0xfe , 0xf0, 0xfe , 0xf0, 0xfc, 0x06, 0xf6,0x00, 0xf7,0x1d, 0xf8,0x82, 0xfa,0x00, 0xf9,0xfe, 0xf2,0x00, 0xfe,0x00, 0x03,0x04, 0x04,0xe2, 0x09,0x00, 0x0a,0xa0, 0x0b,0x00, 0x0c,0xf0, 0x0d,0x02, 0x0e,0xe0, 0x0F,0x05, 0x10,0x10, 0x12,0x2e, 0x17,0x14, 0x18,0x22, 0x19,0x0e, 0x1a,0x01, 0x1b,0x4b, 0x1c,0x07, 0x1d,0x10, 0x1e,0x88, 0x1f,0x78, 0x20,0x03, 0x21,0x40, 0x22,0xa0, 0x24,0x16, 0x25,0x01, 0x26,0x10, 0x2d,0x60, 0x30,0x01, 0x31,0x90, 0x33,0x06, 0x34,0x01, 0x80,0x7f, 0x81,0x24, 0x82,0x7a, 0x83,0x00, 0x84,0x02, 0x86,0x03, 0x88,0x03, 0x89,0x03, 0x85,0x08, 0x8a,0x00, 0x8b,0x00, 0xb0,0x55, 0xc3,0x00, 0xc4,0x80, 0xc5,0x90, 0xc6,0x3b, 0xc7,0x46, 0xec,0x06, 0xed,0x04, 0xee,0x60, 0xef,0x90, 0xb6,0x01, 0x90,0x01, 0x91,0x00, 0x92,0x00, 0x93,0x00, 0x94,0x00, 0x95,0x02, 0x96,0xd0,// 0x97,0x05, 0x98,0x00, 0xfe,0x00, 0x40,0x42, 0x41,0x00, 0x43,0x5b, 0x5e,0x00, 0x5f,0x00, 0x60,0x00, 0x61,0x00, 0x62,0x00, 0x63,0x00, 0x64,0x00, 0x65,0x00, 0x66,0x20, 0x67,0x20, 0x68,0x20, 0x69,0x20, 0x76,0x00, 0x6a,0x08, 0x6b,0x08, 0x6c,0x08, 0x6d,0x08, 0x6e,0x08, 0x6f,0x08, 0x70,0x08, 0x71,0x08, 0x76,0x00, 0x72,0xf0, 0x7e,0x3c, 0x7f,0x00, 0xfe,0x02, 0x48,0x15, 0x49,0x00, 0x4b,0x0b, 0xfe,0x00, 0xfe,0x01, 0x01,0x04, 0x02,0xc0, 0x03,0x04, 0x04,0x90, 0x05,0x30, 0x06,0x90, 0x07,0x30, 0x08,0x80, 0x09,0x00, 0x0a,0x82, 0x0b,0x11, 0x0c,0x10, 0x11,0x10, 0x13,0x7b, 0x17,0x00, 0x1c,0x11, 0x1e,0x61, 0x1f,0x30, 0x20,0x40, 0x22,0x40, 0x23,0x20, 0xfe,0x02, 0x0f,0x04, 0xfe,0x01, 0x12,0x35, 0x15,0xb0, 0x10,0x31, 0x3e,0x28, 0x3f,0xb0, 0x40,0x90, 0x41,0x0f, 0xfe,0x02, 0x90,0x6c, 0x91,0x03, 0x92,0xcb, 0x94,0x33, 0x95,0x84, 0x97,0x60, 0xa2,0x11, 0xfe,0x00, 0xfe,0x02, 0x80,0xc1, 0x81,0x08, 0x82,0x18, 0x83,0x28, 0x84,0x0a, 0x86,0xf0, 0x87,0x50, 0x88,0x15, 0x89,0xb0, 0x8a,0x30, 0x8b,0x10, 0xfe,0x01, 0x21,0x04, 0xfe,0x02, 0xa3,0x50, 0xa4,0x20, 0xa5,0x40, 0xa6,0x80, 0xab,0x40, 0xae,0x0c, 0xb3,0x46, 0xb4,0x64, 0xb6,0x60, 0xb7,0x01, 0xb9,0x00, 0x3c,0x04, 0x3d,0x15, 0x4b,0x06, 0x4c,0x20, 0xfe,0x00, 0xfe,0x02, 0x10,0x09, 0x11,0x0d, 0x12,0x13, 0x13,0x19, 0x14,0x27, 0x15,0x37, 0x16,0x45, 0x17,0x53, 0x18,0x69, 0x19,0x7d, 0x1a,0x8f, 0x1b,0x9d, 0x1c,0xa9, 0x1d,0xbd, 0x1e,0xcd, 0x1f,0xd9, 0x20,0xe3, 0x21,0xea, 0x22,0xef, 0x23,0xf5, 0x24,0xf9, 0x25,0xff, 0xfe,0x00, 0xc6,0x20, 0xc7,0x2b, 0xfe,0x02, 0x26,0x0f, 0x27,0x14, 0x28,0x19, 0x29,0x1e, 0x2a,0x27, 0x2b,0x33, 0x2c,0x3b, 0x2d,0x45, 0x2e,0x59, 0x2f,0x69, 0x30,0x7c, 0x31,0x89, 0x32,0x98, 0x33,0xae, 0x34,0xc0, 0x35,0xcf, 0x36,0xda, 0x37,0xe2, 0x38,0xe9, 0x39,0xf3, 0x3a,0xf9, 0x3b,0xff, 0xfe,0x02, 0xd1,0x32, 0xd2,0x32, 0xd3,0x48, 0xd6,0xf0, 0xd7,0x10, 0xd8,0xda, 0xdd,0x74, 0xde,0x86, 0xed,0x80, 0xee,0x00, 0xef,0x3f, 0xd8,0xd8, 0xfe,0x01, 0x9f,0x40, 0xfe,0x01, 0xc2,0x14, 0xc3,0x0d, 0xc4,0x0c, 0xc8,0x15, 0xc9,0x00, 0xca,0x0a, 0xbc,0x13, 0xbd,0x0e, 0xbe,0x10, 0xb6,0x25, 0xb7,0x14, 0xb8,0x10, 0xc5,0x00, 0xc6,0x00, 0xc7,0x00, 0xcb,0x00, 0xcc,0x00, 0xcd,0x00, 0xbf,0x07, 0xc0,0x00, 0xc1,0x00, 0xb9,0x00, 0xba,0x00, 0xbb,0x00, 0xaa,0x01, 0xab,0x01, 0xac,0x00, 0xad,0x05, 0xae,0x06, 0xaf,0x0e, 0xb0,0x0b, 0xb1,0x07, 0xb2,0x06, 0xb3,0x17, 0xb4,0x0e, 0xb5,0x0e, 0xd0,0x09, 0xd1,0x00, 0xd2,0x00, 0xd6,0x08, 0xd7,0x00, 0xd8,0x00, 0xd9,0x00, 0xda,0x00, 0xdb,0x00, 0xd3,0x0a, 0xd4,0x00, 0xd5,0x00, 0xa4,0x00, 0xa5,0x00, 0xa6,0x77, 0xa7,0x77, 0xa8,0x77, 0xa9,0x77, 0xa1,0x80, 0xa2,0x80, 0xfe,0x01, 0xdf,0x0d, 0xdc,0x25, 0xdd,0x30, 0xe0,0x77, 0xe1,0x80, 0xe2,0x77, 0xe3,0x90, 0xe6,0x90, 0xe7,0xa0, 0xe8,0x90, 0xe9,0xa0, 0xfe,0x00, 0xfe,0x00, 0xfe,0x01, 0x4f,0x00, 0x4f,0x00, 0x4b,0x01, 0x4f,0x00, 0x4c,0x01, 0x4d,0x71, 0x4e,0x01, 0x4c,0x01, 0x4d,0x91, 0x4e,0x01, 0x4c,0x01, 0x4d,0x70, 0x4e,0x01, 0x4c,0x01, 0x4d,0x90, 0x4e,0x02, 0x4c,0x01, 0x4d,0xb0, 0x4e,0x02, 0x4c,0x01, 0x4d,0x8f, 0x4e,0x02, 0x4c,0x01, 0x4d,0x6f, 0x4e,0x02, 0x4c,0x01, 0x4d,0xaf, 0x4e,0x02, 0x4c,0x01, 0x4d,0xd0, 0x4e,0x02, 0x4c,0x01, 0x4d,0xf0, 0x4e,0x02, 0x4c,0x01, 0x4d,0xcf, 0x4e,0x02, 0x4c,0x01, 0x4d,0xef, 0x4e,0x02, 0x4c,0x01, 0x4d,0x6e, 0x4e,0x03, 0x4c,0x01, 0x4d,0x8e, 0x4e,0x03, 0x4c,0x01, 0x4d,0xae, 0x4e,0x03, 0x4c,0x01, 0x4d,0xce, 0x4e,0x03, 0x4c,0x01, 0x4d,0x4d, 0x4e,0x03, 0x4c,0x01, 0x4d,0x6d, 0x4e,0x03, 0x4c,0x01, 0x4d,0x8d, 0x4e,0x03, 0x4c,0x01, 0x4d,0xad, 0x4e,0x03, 0x4c,0x01, 0x4d,0xcd, 0x4e,0x03, 0x4c,0x01, 0x4d,0x4c, 0x4e,0x03, 0x4c,0x01, 0x4d,0x6c, 0x4e,0x03, 0x4c,0x01, 0x4d,0x8c, 0x4e,0x03, 0x4c,0x01, 0x4d,0xac, 0x4e,0x03, 0x4c,0x01, 0x4d,0xcc, 0x4e,0x03, 0x4c,0x01, 0x4d,0xcb, 0x4e,0x03, 0x4c,0x01, 0x4d,0x4b, 0x4e,0x03, 0x4c,0x01, 0x4d,0x6b, 0x4e,0x03, 0x4c,0x01, 0x4d,0x8b, 0x4e,0x03, 0x4c,0x01, 0x4d,0xab, 0x4e,0x03, 0x4c,0x01, 0x4d,0x8a, 0x4e,0x04, 0x4c,0x01, 0x4d,0xaa, 0x4e,0x04, 0x4c,0x01, 0x4d,0xca, 0x4e,0x04, 0x4c,0x01, 0x4d,0xca, 0x4e,0x04, 0x4c,0x01, 0x4d,0xc9, 0x4e,0x04, 0x4c,0x01, 0x4d,0x8a, 0x4e,0x04, 0x4c,0x01, 0x4d,0x89, 0x4e,0x04, 0x4c,0x01, 0x4d,0xa9, 0x4e,0x04, 0x4c,0x02, 0x4d,0x0b, 0x4e,0x05, 0x4c,0x02, 0x4d,0x0a, 0x4e,0x05, 0x4c,0x01, 0x4d,0xeb, 0x4e,0x05, 0x4c,0x01, 0x4d,0xea, 0x4e,0x05, 0x4c,0x02, 0x4d,0x09, 0x4e,0x05, 0x4c,0x02, 0x4d,0x29, 0x4e,0x05, 0x4c,0x02, 0x4d,0x2a, 0x4e,0x05, 0x4c,0x02, 0x4d,0x4a, 0x4e,0x05, 0x4c,0x02, 0x4d,0x8a, 0x4e,0x06, 0x4c,0x02, 0x4d,0x49, 0x4e,0x06, 0x4c,0x02, 0x4d,0x69, 0x4e,0x06, 0x4c,0x02, 0x4d,0x89, 0x4e,0x06, 0x4c,0x02, 0x4d,0xa9, 0x4e,0x06, 0x4c,0x02, 0x4d,0x48, 0x4e,0x06, 0x4c,0x02, 0x4d,0x68, 0x4e,0x06, 0x4c,0x02, 0x4d,0x69, 0x4e,0x06, 0x4c,0x02, 0x4d,0xca, 0x4e,0x07, 0x4c,0x02, 0x4d,0xc9, 0x4e,0x07, 0x4c,0x02, 0x4d,0xe9, 0x4e,0x07, 0x4c,0x03, 0x4d,0x09, 0x4e,0x07, 0x4c,0x02, 0x4d,0xc8, 0x4e,0x07, 0x4c,0x02, 0x4d,0xe8, 0x4e,0x07, 0x4c,0x02, 0x4d,0xa7, 0x4e,0x07, 0x4c,0x02, 0x4d,0xc7, 0x4e,0x07, 0x4c,0x02, 0x4d,0xe7, 0x4e,0x07, 0x4c,0x03, 0x4d,0x07, 0x4e,0x07, 0x4f,0x01, 0x50,0x80, 0x51,0xa8, 0x52,0x47, 0x53,0x38, 0x54,0xc7, 0x56,0x0e, 0x58,0x08, 0x5b,0x00, 0x5c,0x74, 0x5d,0x8b, 0x61,0xdb, 0x62,0xb8, 0x63,0x86, 0x64,0xc0, 0x65,0x04, 0x67,0xa8, 0x68,0xb0, 0x69,0x00, 0x6a,0xa8, 0x6b,0xb0, 0x6c,0xaf, 0x6d,0x8b, 0x6e,0x50, 0x6f,0x18, 0x73,0xf0, 0x70,0x0d, 0x71,0x60, 0x72,0x80, 0x74,0x01, 0x75,0x01, 0x7f,0x0c, 0x76,0x70, 0x77,0x58, 0x78,0xa0, 0x79,0x5e, 0x7a,0x54, 0x7b,0x58, 0xfe,0x00, 0xfe,0x02, 0xc0,0x01, 0xc1,0x44, 0xc2,0xfd, 0xc3,0x04, 0xc4,0xf0, 0xc5,0x48, 0xc6,0xfd, 0xc7,0x46, 0xc8,0xfd, 0xc9,0x02, 0xca,0xe0, 0xcb,0x45, 0xcc,0xec, 0xcd,0x48, 0xce,0xf0, 0xcf,0xf0, 0xe3,0x0c, 0xe4,0x4b, 0xe5,0xe0, 0xfe,0x01, 0x9f,0x40, 0xfe,0x00, 0xfe,0x00, 0xf2,0x0f, 0xfe,0x02, 0x40,0xbf, 0x46,0xcf, 0xfe,0x00, 0xfe,0x00, 0x05,0x01, 0x06,0x7e, 0x07,0x00, 0x08,0x78, 0xfe,0x01, 0x25,0x00, 0x26,0x83, 0x27,0x02, 0x28,0x8f, 0x29,0x04, 0x2a,0x18, 0x2b,0x05, 0x2c,0x1e, 0x2d,0x05, 0x2e,0xa1, 0x3c,0x00, 0xfe,0x00, 0xec,0x01, 0xed,0x02, 0xee,0x30, 0xef,0x48, 0xfe,0x01, 0x74,0x00, 0xfe,0x01, 0x01,0x04, 0x02,0x60, 0x03,0x02, 0x04,0x48, 0x05,0x18, 0x06,0x50, 0x07,0x10, 0x08,0x38, 0x0a,0x82, 0x21,0x15, 0xfe,0x00, 0x20,0x15, 0xfe,0x01, 0xa2,0x10, 0xfe,0x02, 0xd1,0x44, 0xd2,0x38, 0xd3,0x48, 0xb9,0x01, 0xfe,0x00, 0xae,0x82, 0xad,0x7c, 0xfe,0x00, 0x17,0x14, -1,-1, }; SENSOR_OP_SECTION const _Sensor_Adpt_ gc2145_cmd= { .typ = 1, //YUV .pixelw = 1280, .pixelh= 720, .hsyn = 1, .vsyn = 1, .rduline = 0,// .rawwide = 1,//10bit .colrarray = 2,//0:_RGRG_ 1:_GRGR_,2:_BGBG_,3:_GBGB_ .init = (uint8 *)gc2145InitTable, .rotate_adapt = {0}, //.hvb_adapt = {0x6a,0x12,0x6a,0x12}, . mclk = 24000000, .p_fun_adapt = {NULL,NULL,NULL}, .p_xc7016_adapt = {NULL}, }; const _Sensor_Ident_ gc2145_init= { 0x45,0x78,0x79,0x01,0x01,0xF1 }; #endif