From 1995bfc9fc4b90aa0aac74a5fa220c3a5696781d Mon Sep 17 00:00:00 2001 From: cronyx Date: Sun, 21 Aug 2022 13:26:11 +0300 Subject: [PATCH] add sc223a sensor, thanks @dimerr --- .../files/sensor/config/sc223a_i2c_1080p.ini | 78 ++++++++++++++++++ .../files/sensor/libsns_sc223a.so | Bin 0 -> 43140 bytes 2 files changed, 78 insertions(+) create mode 100644 general/package/goke-osdrv-gk7205v200/files/sensor/config/sc223a_i2c_1080p.ini create mode 100644 general/package/goke-osdrv-gk7205v200/files/sensor/libsns_sc223a.so diff --git a/general/package/goke-osdrv-gk7205v200/files/sensor/config/sc223a_i2c_1080p.ini b/general/package/goke-osdrv-gk7205v200/files/sensor/config/sc223a_i2c_1080p.ini new file mode 100644 index 00000000..e2a5fa4c --- /dev/null +++ b/general/package/goke-osdrv-gk7205v200/files/sensor/config/sc223a_i2c_1080p.ini @@ -0,0 +1,78 @@ +[sensor] +Sensor_type=stSnsSc223aObj +Mode=WDR_MODE_NONE +DllFile=libsns_sc223a.so + +[mode] +input_mode=INPUT_MODE_MIPI +raw_bitness=10 + +[mipi] +lane_id = 0|2|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable + +[isp_image] +Isp_FrameRate=25 +Isp_Bayer=BAYER_BGGR + +[vi_dev] +Input_mod=VI_MODE_MIPI +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 =0xFFC00000 +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 =1920 ;Horizontal effetive width +Timingblank_HsyncHbb =0 ;Horizontal back blanking width +Timingblank_VsyncVfb =0 ;Vertical front blanking height +Timingblank_VsyncVact =1080 ;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) +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=1920 +DevRect_h=1080 diff --git a/general/package/goke-osdrv-gk7205v200/files/sensor/libsns_sc223a.so b/general/package/goke-osdrv-gk7205v200/files/sensor/libsns_sc223a.so new file mode 100644 index 0000000000000000000000000000000000000000..827992070ae201d915ad7c06d3e82a1108bedaa4 GIT binary patch literal 43140 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 literal 0 HcmV?d00001