diff --git a/general/package/hisilicon-osdrv-hi3519v101/files/script/load_hisilicon b/general/package/hisilicon-osdrv-hi3519v101/files/script/load_hisilicon index 8d62942e..863793f7 100755 --- a/general/package/hisilicon-osdrv-hi3519v101/files/script/load_hisilicon +++ b/general/package/hisilicon-osdrv-hi3519v101/files/script/load_hisilicon @@ -2,7 +2,7 @@ # # This is part of OpenIPC.org project | 2022.01.07 # - +#set -x # SoC detect chipid=$(ipcinfo --chip_id) @@ -18,7 +18,9 @@ os_mem_size=${os_mem_size:=32} # Sensor config # SNS_TYPE=$(awk -F '=' '$1=="sensor"{print $2}' RS=" " /proc/cmdline) SNS_TYPE0=$(fw_printenv -n sensor) -SNS_TYPE0=${SNS_TYPE0:=ov4689} +SNS_TYPE0=${SNS_TYPE0:=imx290} +SNS_TYPE1="NULL" +WORK_MODE="single_pipe" report_error() { echo "******* Error: There's something wrong, please check! *****" @@ -69,6 +71,10 @@ remove_audio() { } sysconfig() { + devmem 0x100503c4 32 0x7 + devmem 0x100503c0 32 0x11011f + devmem 0x100503c4 32 0xc004 + devmem 0x100503c0 32 0x110113 vicap_pin_mux() { #sensor0 pinmux devmem 0x1204017c 32 0x1 #SENSOR0_CLK @@ -228,9 +234,8 @@ sysconfig() { vicap1_pwrdn >/dev/null fi - #clkcfg clkcfg() { - devmem 0x120100e4 32 0x1fff0000 # I2C0-3/SSP0-3 unreset, ir,enable clk gate + devmem 0x120100e4 32 0x1ff70000 # I2C0-3/SSP0-3 unreset, ir,enable clk gate devmem 0x1201003c 32 0x31000100 # MIPI VI ISP unreset devmem 0x12010050 32 0x2 # VEDU0 unreset devmem 0x12010058 32 0x2 # VPSS0 unreset @@ -269,8 +274,6 @@ sysconfig() { # pcie clk enable devmem 0x120100b0 32 0x000001f0 - - echo "clock configure operation done!" } vi_vpss_online_config() { # -------------vi vpss online open @@ -378,7 +381,7 @@ insert_sns() { devmem 0x12010040 32 0x14 # sensor0 clk_en, 24MHz i2c0_pin_mux ;; - imx290 | imx385) + imx290) tmp=0x18 # SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M #imx290:viu0:340M,isp0:214M, viu1:340M,isp1:214M @@ -387,6 +390,19 @@ insert_sns() { devmem 0x12010040 32 0x18 # sensor0 clk_en, 37.125MHz i2c0_pin_mux ;; + imx385) + tmp=0x18 + devmem 0x12010040 32 0x18 + devmem 0x12040190 32 0x2 + devmem 0x1204018c 32 0x2 + devmem 0x1204099c 32 0x120 + devmem 0x12040998 32 0x120 + insmod hi_ssp_sony.ko + devmem 0x12040184 32 0x1 + devmem 0x12040188 32 0x1 + devmem 0x12040010 32 0x2 + devmem 0x12040014 32 0x2 + ;; ov4689) tmp=0x14 # SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M @@ -557,6 +573,11 @@ insert_ko() { devmem 0x12010044 32 0x4ff0 devmem 0x12010044 32 0x4 + devmem 0x12040098 32 0x3 + devmem 0x120100DC 32 0x6 + + devmem 0x1204008C 32 0x1 + devmem 0x12040094 32 0x1 echo "==== Your input Sensor0 type is $SNS_TYPE0 ====" echo "==== Your input Sensor1 type is $SNS_TYPE1 ====" } @@ -568,8 +589,8 @@ remove_ko() { rmmod hi_pwm rmmod hi_piris - #rmmod hi3519v101_photo - rmmod hi3519v101_ive + rmmod hi3519v101_photo + #rmmod hi3519v101_ive rmmod hi3519v101_rc rmmod hi3519v101_jpege diff --git a/general/package/hisilicon-osdrv-hi3519v101/files/sensor/config/os08a_i2c_8M.ini b/general/package/hisilicon-osdrv-hi3519v101/files/sensor/config/os08a_i2c_8M.ini new file mode 100644 index 00000000..c1ebfcc0 --- /dev/null +++ b/general/package/hisilicon-osdrv-hi3519v101/files/sensor/config/os08a_i2c_8M.ini @@ -0,0 +1,80 @@ +[sensor] +Sensor_type=stSnsOs08a10Obj +Mode=WDR_MODE_NONE +DllFile=libsns_os08a10.so + +[mode] +input_mode=INPUT_MODE_MIPI +dev_attr=0 + +[mipi] +data_type=2 +lane_id=0|1|2|3|-1|-1|-1|-1| + +[isp_image] +Isp_FrameRate=30 +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 =3 ;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) +DataPath=1 +InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1, +DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1 +DevRect_x=0 +DevRect_y=0 +DevRect_w=3840 +DevRect_h=2160 diff --git a/general/package/hisilicon-osdrv-hi3519v101/hisilicon-osdrv-hi3519v101.mk b/general/package/hisilicon-osdrv-hi3519v101/hisilicon-osdrv-hi3519v101.mk index 1e0fe6c4..56b1f9c0 100644 --- a/general/package/hisilicon-osdrv-hi3519v101/hisilicon-osdrv-hi3519v101.mk +++ b/general/package/hisilicon-osdrv-hi3519v101/hisilicon-osdrv-hi3519v101.mk @@ -57,7 +57,7 @@ define HISILICON_OSDRV_HI3519V101_INSTALL_TARGET_CMDS $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.18.20/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/kmod/hi_pwm.ko $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.18.20/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/kmod/hi_sensor_i2c.ko $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.18.20/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/kmod/hi_sensor_spi.ko - # $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.18.20/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/kmod/hi_ssp_sony.ko + $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.18.20/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/kmod/hi_ssp_sony.ko # $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.18.20/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/kmod/hi_user.ko $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin