From 9a1791a1cdf89a3993e16c93e4093b77d3079009 Mon Sep 17 00:00:00 2001 From: johndi3 Date: Sun, 25 Feb 2024 13:44:13 +0800 Subject: [PATCH] add sensor gc1054 for gk7205 family --- .../files/sensor/config/gc1054_i2c_720p.ini | 151 ++++++++++++++++++ .../files/sensor/libsns_gc1054.so | Bin 0 -> 44076 bytes 2 files changed, 151 insertions(+) create mode 100644 general/package/goke-osdrv-gk7205v200/files/sensor/config/gc1054_i2c_720p.ini create mode 100644 general/package/goke-osdrv-gk7205v200/files/sensor/libsns_gc1054.so diff --git a/general/package/goke-osdrv-gk7205v200/files/sensor/config/gc1054_i2c_720p.ini b/general/package/goke-osdrv-gk7205v200/files/sensor/config/gc1054_i2c_720p.ini new file mode 100644 index 00000000..5617899a --- /dev/null +++ b/general/package/goke-osdrv-gk7205v200/files/sensor/config/gc1054_i2c_720p.ini @@ -0,0 +1,151 @@ +[sensor] +Sensor_type =stSnsObj ;sensor name +Mode =0 ;WDR_MODE_NONE = 0 + ;WDR_MODE_BUILT_IN = 1 + ;WDR_MODE_QUDRA = 2 + ;WDR_MODE_2To1_LINE = 3 + ;WDR_MODE_2To1_FRAME = 4 + ;WDR_MODE_2To1_FRAME_FULL_RATE = 5 + ;WDR_MODE_3To1_LINE = 6 + ;WDR_MODE_3To1_FRAME = 7 + ;WDR_MODE_3To1_FRAME_FULL_RATE = 8 + ;WDR_MODE_4To1_LINE = 9 + ;WDR_MODE_4To1_FRAME = 10 + ;WDR_MODE_4To1_FRAME_FULL_RATE = 11 +DllFile = /usr/lib/sensors/libsns_gc1054.so ;sensor lib path + + +[mode] +input_mode =0 ;INPUT_MODE_MIPI = 0 + ;INPUT_MODE_SUBLVDS = 1 + ;INPUT_MODE_LVDS = 2 ...etc + +raw_bitness = 10 +clock=27MHz + +[mipi] +;----------only for mipi_dev--------- +data_type = 1 ;raw data type: 8/10/12/14 bit + ;DATA_TYPE_RAW_8BIT = 0, + ;DATA_TYPE_RAW_10BIT, + ;DATA_TYPE_RAW_12BIT, + ;DATA_TYPE_RAW_14BIT, + ;DATA_TYPE_RAW_16BIT, + ;DATA_TYPE_YUV420_8BIT_NORMAL, + ;DATA_TYPE_YUV420_8BIT_LEGACY, + ;DATA_TYPE_YUV422_8BIT, +lane_id = 0 ;lane_id: -1 - disable + +[isp_image] +Isp_x =0 +Isp_y =0 +Isp_W =1280 +Isp_H =720 +Isp_FrameRate=30 +Isp_Bayer =0 ;BAYER_RGGB=0, BAYER_GRBG=1, BAYER_GBRG=2, BAYER_BGGR=3 + +[vi_dev] +Input_mod = 6 + ; VI_MODE_BT656 = 0, /* ITU-R BT.656 YUV4:2:2 */ + ; VI_MODE_BT656_PACKED_YUV, /* ITU-R BT.656 packed YUV4:2:2 */ + ; VI_MODE_BT601, /* ITU-R BT.601 YUV4:2:2 */ + ; VI_MODE_DIGITAL_CAMERA, /* digatal camera mode */ + ; VI_MODE_BT1120_STANDARD, /* BT.1120 progressive mode */ + ; VI_MODE_BT1120_INTERLEAVED, /* BT.1120 interstage mode */ + ; VI_MODE_MIPI, /* MIPI RAW mode */ + ; VI_MODE_MIPI_YUV420_NORMAL, /* MIPI YUV420 normal mode */ + ; VI_MODE_MIPI_YUV420_LEGACY, /* MIPI YUV420 legacy mode */ + ; VI_MODE_MIPI_YUV422, /* MIPI YUV422 mode */ + ; VI_MODE_LVDS, /* LVDS mode */ + ; VI_MODE_HISPI, /* HiSPi mode */ + ; VI_MODE_SLVS, /* SLVS mode */ +Work_mod =0 ;VI_WORK_MODE_1Multiplex = 0 + ;VI_WORK_MODE_2Multiplex, + ;VI_WORK_MODE_4Multiplex +Combine_mode =0 ;Y/C composite or separation mode + ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */ + ;VI_COMBINE_SEPARATE, /*Separate mode */ +Comp_mode =0 ;Component mode (single-component or dual-component) + ;VI_COMP_MODE_SINGLE = 0, /*single component mode */ + ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */ +Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge) + ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */ + ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */ +Mask_num =2 ;Component mask +Mask_0 =0xFFF00000 +Mask_1 =0x0 +Scan_mode = 1;VI_SCAN_INTERLACED = 0 + ;VI_SCAN_PROGRESSIVE, +Data_seq =2 ;data sequence (ONLY for YUV format) + ;----2th component U/V sequence in bt1120 + ; VI_INPUT_DATA_VUVU = 0, + ; VI_INPUT_DATA_UVUV, + ;----input sequence for yuv + ; VI_INPUT_DATA_UYVY = 0, + ; VI_INPUT_DATA_VYUY, + ; VI_INPUT_DATA_YUYV, + ; VI_INPUT_DATA_YVYU + +Vsync =1 ; vertical synchronization signal + ;VI_VSYNC_FIELD = 0, + ;VI_VSYNC_PULSE, +VsyncNeg=1 ;Polarity of the vertical synchronization signal + ;VI_VSYNC_NEG_HIGH = 0, + ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E +Hsync =0 ;Attribute of the horizontal synchronization signal + ;VI_HSYNC_VALID_SINGNAL = 0, + ;VI_HSYNC_PULSE, +HsyncNeg =0 ;Polarity of the horizontal synchronization signal + ;VI_HSYNC_NEG_HIGH = 0, + ;VI_HSYNC_NEG_LOW +VsyncValid =1 ;Attribute of the valid vertical synchronization signal + ;VI_VSYNC_NORM_PULSE = 0, + ;VI_VSYNC_VALID_SINGAL, +VsyncValidNeg =0;Polarity of the valid vertical synchronization signal + ;VI_VSYNC_VALID_NEG_HIGH = 0, + ;VI_VSYNC_VALID_NEG_LOW +Timingblank_HsyncHfb =0 ;Horizontal front blanking width +Timingblank_HsyncAct =1280 ;Horizontal effetive width +Timingblank_HsyncHbb =0 ;Horizontal back blanking width +Timingblank_VsyncVfb =0 ;Vertical front blanking height +Timingblank_VsyncVact =720 ;Vertical effetive width +Timingblank_VsyncVbb=0 ;Vertical back blanking height +Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive) +Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive) +Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive) + +;----- only for bt656 ---------- +FixCode =0 ;BT656_FIXCODE_1 = 0, + ;BT656_FIXCODE_0 +FieldPolar=0 ;BT656_FIELD_POLAR_STD = 0 + ;BT656_FIELD_POLAR_NSTD +DataPath =1 ;ISP enable or bypass + ;VI_PATH_BYPASS = 0,/* ISP bypass */ + ;VI_PATH_ISP = 1,/* ISP enable */ + ;VI_PATH_RAW = 2,/* Capture raw data, for debug */ +InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1, +DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1 +DevRect_x=200 ; +DevRect_y=20 ; +DevRect_w=1280 ; +DevRect_h=720 ; + +[vi_chn] +CapRect_X =0 +CapRect_Y =0 +CapRect_Width=1280 +CapRect_Height=720 +DestSize_Width=1280 +DestSize_Height=720 +CapSel =2 ;Frame/field select. ONLY used in interlaced mode + ;VI_CAPSEL_TOP = 0, /* top field */ + ;VI_CAPSEL_BOTTOM, /* bottom field */ + ;VI_CAPSEL_BOTH, /* top and bottom field */ + +PixFormat =26;PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 26 ...etc +CompressMode =0 ;COMPRESS_MODE_NONE = 0 + ;COMPRESS_MODE_SEG =1 ...etc + +SrcFrameRate=-1 ;Source frame rate. -1: not controll +FrameRate =-1 ;Target frame rate. -1: not controll + diff --git a/general/package/goke-osdrv-gk7205v200/files/sensor/libsns_gc1054.so b/general/package/goke-osdrv-gk7205v200/files/sensor/libsns_gc1054.so new file mode 100644 index 0000000000000000000000000000000000000000..edc3c8fb19ad96455f0b667bd9154a7999d31338 GIT binary patch literal 44076 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 literal 0 HcmV?d00001