From bed4078c8b956ab7b80c9b9a9530b259e95af78d Mon Sep 17 00:00:00 2001 From: Signor Pellegrino <68112357+flyrouter@users.noreply.github.com> Date: Tue, 1 Oct 2024 18:45:54 +0300 Subject: [PATCH] Add SC4653 and SC3335 configs and drivers (#1562) --- .../files/sensor/config/gc4653_i2c_4M.ini | 67 +++++++++++++++ .../files/sensor/config/sc3335_i2c_3M.ini | 79 ++++++++++++++++++ .../files/sensor/libsns_gc4653_2l.so | Bin 0 -> 36848 bytes .../files/sensor/libsns_sc3335.so | Bin 0 -> 36952 bytes 4 files changed, 146 insertions(+) create mode 100644 general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/gc4653_i2c_4M.ini create mode 100644 general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/sc3335_i2c_3M.ini create mode 100644 general/package/hisilicon-osdrv-hi3516ev200/files/sensor/libsns_gc4653_2l.so create mode 100644 general/package/hisilicon-osdrv-hi3516ev200/files/sensor/libsns_sc3335.so diff --git a/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/gc4653_i2c_4M.ini b/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/gc4653_i2c_4M.ini new file mode 100644 index 00000000..8e92e0d2 --- /dev/null +++ b/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/gc4653_i2c_4M.ini @@ -0,0 +1,67 @@ +[sensor] +Sensor_type=stSnsgc4653_2lObj +Mode=WDR_MODE_NONE +DllFile=libsns_gc4653_2l.so + +[mode] +input_mode=INPUT_MODE_MIPI +raw_bitness=10 +clock=27MHz + +[mipi] +lane_id = 0|1|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable + +[isp_image] +Isp_FrameRate=25 +Isp_Bayer=BAYER_GRBG + +[vi_dev] +Input_mod=VI_MODE_MIPI +Work_mod = VI_WORK_MODE_1Multiplex +Mask_num = 2 +Mask_0 = 0xFFC00000 +Mask_1 = 0x0 +Scan_mode = VI_SCAN_PROGRESSIVE +Data_seq = VI_DATA_SEQ_YUYV +Vsync =1 ; vertical synchronization signal + ;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 =2560 ;Horizontal effetive width +Timingblank_HsyncHbb =0 ;Horizontal back blanking width +Timingblank_VsyncVfb =0 ;Vertical front blanking height +Timingblank_VsyncVact =1440 ;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_w=2560 +DevRect_h=1440 +DevRect_x=0 +DevRect_y=0 + +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 */ diff --git a/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/sc3335_i2c_3M.ini b/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/sc3335_i2c_3M.ini new file mode 100644 index 00000000..b12dbe40 --- /dev/null +++ b/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/config/sc3335_i2c_3M.ini @@ -0,0 +1,79 @@ +[sensor] +Sensor_type=stSnsSc3335Obj +Mode=WDR_MODE_NONE +DllFile=libsns_sc3335.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=20 +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 =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 =2304 ;Horizontal effetive width +Timingblank_HsyncHbb =0 ;Horizontal back blanking width +Timingblank_VsyncVfb =0 ;Vertical front blanking height +Timingblank_VsyncVact =1296 ;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=2304 +DevRect_h=1296 +FullLinesStd=1350 diff --git a/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/libsns_gc4653_2l.so b/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/libsns_gc4653_2l.so new file mode 100644 index 0000000000000000000000000000000000000000..5fb50b03c9e3b155fe08f82db299cc5e8e87257a GIT binary patch literal 36848 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 K4kGvty8i)9^Bzb5 literal 0 HcmV?d00001 diff --git a/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/libsns_sc3335.so b/general/package/hisilicon-osdrv-hi3516ev200/files/sensor/libsns_sc3335.so new file mode 100644 index 0000000000000000000000000000000000000000..17139eb773885a5e629e34d32b2e19464d422ddd GIT binary patch literal 36952 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 ou@3TGOup1FRX3-b97ivt