From 1aea1bd194126c55978520d796d40633f239ad9f Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin Date: Mon, 29 Aug 2022 12:42:14 +0300 Subject: [PATCH] Migrate Hi3516ev200 to opensdk (#408) --- ...nown_unknown_hi3516dv200_openipc_defconfig | 1 + ...nknown_unknown_hi3516ev200_eltis_defconfig | 1 + .../unknown_unknown_hi3516ev200_fpv_defconfig | 1 + ...nown_unknown_hi3516ev200_openipc_defconfig | 1 + ...own_unknown_hi3516ev200_ultimate_defconfig | 1 + .../unknown_unknown_hi3516ev300_dev_defconfig | 1 + .../unknown_unknown_hi3516ev300_fpv_defconfig | 1 + ...nknown_unknown_hi3516ev300_glibc_defconfig | 1 + ...nown_unknown_hi3516ev300_openipc_defconfig | 1 + ...wn_unknown_hi3516ev300_tehshield_defconfig | 1 + ...own_unknown_hi3516ev300_ultimate_defconfig | 1 + ...nown_unknown_hi3518ev300_openipc_defconfig | 1 + ...own_unknown_hi3518ev300_ultimate_defconfig | 1 + .../hisilicon-opensdk/hisilicon-opensdk.mk | 9 +- .../files/script/load_hisilicon | 342 +++++++++--------- .../hisilicon-osdrv-hi3516ev200.mk | 34 +- 16 files changed, 186 insertions(+), 212 deletions(-) diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516dv200_openipc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516dv200_openipc_defconfig index 6b446d0c..d6d8b722 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516dv200_openipc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516dv200_openipc_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_eltis_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_eltis_defconfig index 37a3e4d1..16df1b0a 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_eltis_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_eltis_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y # BR2_PACKAGE_JSON_C is not set # BR2_PACKAGE_LAME_OPENIPC is not set diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_fpv_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_fpv_defconfig index d07ed14b..cc1b897d 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_fpv_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_fpv_defconfig @@ -52,6 +52,7 @@ BR2_PACKAGE_DROPBEAR_OPENIPC=y # BR2_PACKAGE_FDK_AAC_OPENIPC is not set BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_IPCTOOL=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig index a2362d40..41c0868e 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_ultimate_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_ultimate_defconfig index a0c5ae67..50da4ccb 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_ultimate_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_ultimate_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_dev_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_dev_defconfig index 0fb57744..93be8f19 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_dev_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_dev_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_fpv_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_fpv_defconfig index 94408986..5b758aa5 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_fpv_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_fpv_defconfig @@ -52,6 +52,7 @@ BR2_PACKAGE_DROPBEAR_OPENIPC=y # BR2_PACKAGE_FDK_AAC_OPENIPC is not set BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_IPCTOOL=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig index 93b6e8e0..a90d6e19 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_glibc_defconfig @@ -57,6 +57,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_openipc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_openipc_defconfig index 965b65c9..682070a1 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_openipc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_openipc_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_tehshield_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_tehshield_defconfig index e6226ff1..374ca92b 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_tehshield_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_tehshield_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig index b8dd8237..38110b18 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev300_ultimate_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_openipc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_openipc_defconfig index a5b82d95..c362b9e4 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_openipc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_openipc_defconfig @@ -54,6 +54,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_ultimate_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_ultimate_defconfig index 4ab8ca30..df2b4e58 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_ultimate_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev300_ultimate_defconfig @@ -59,6 +59,7 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y +BR2_PACKAGE_HISILICON_OPENSDK=y BR2_PACKAGE_IPCTOOL=y BR2_PACKAGE_JSON_C=y BR2_PACKAGE_LAME_OPENIPC=y diff --git a/general/package/hisilicon-opensdk/hisilicon-opensdk.mk b/general/package/hisilicon-opensdk/hisilicon-opensdk.mk index c29b37b4..545d889d 100644 --- a/general/package/hisilicon-opensdk/hisilicon-opensdk.mk +++ b/general/package/hisilicon-opensdk/hisilicon-opensdk.mk @@ -4,7 +4,7 @@ # ################################################################################ -HISILICON_OPENSDK_VERSION = a768b49b7540cb564891c3577071446acb8ac7c3 +HISILICON_OPENSDK_VERSION = 471e047340557995c6aebfdf48dd5628032a7265 HISILICON_OPENSDK_SITE = $(call github,openipc,openhisilicon,$(HISILICON_OPENSDK_VERSION)) HISILICON_OPENSDK_LICENSE = GPL-3.0 HISILICON_OPENSDK_LICENSE_FILES = LICENSE @@ -13,7 +13,12 @@ FAMILY = $(shell grep "/board/" $(BR2_CONFIG) | head -1 | cut -d "/" -f 3) HISILICON_OPENSDK_MODULE_SUBDIRS = kernel HISILICON_OPENSDK_MODULE_MAKE_OPTS = \ - CHIPSET=$(FAMILY) + DISABLE_IST=1 \ + DISABLE_PM=1 \ + DISABLE_TDE=1 \ + DISABLE_VO=1 \ + DISABLE_ISP=1 \ + CHIPARCH=$(FAMILY) $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/general/package/hisilicon-osdrv-hi3516ev200/files/script/load_hisilicon b/general/package/hisilicon-osdrv-hi3516ev200/files/script/load_hisilicon index be5f1585..3fc119f9 100755 --- a/general/package/hisilicon-osdrv-hi3516ev200/files/script/load_hisilicon +++ b/general/package/hisilicon-osdrv-hi3516ev200/files/script/load_hisilicon @@ -4,13 +4,13 @@ # # Board -board=demo; +board=demo # SoC detect chipid=$(ipcinfo --chip-name) # Memory config -mem_start=0x40000000 # phy mem start +mem_start=0x40000000 # phy mem start mem_total=$(fw_printenv -n totalmem | tr -d 'M') mem_total=${mem_total:=64} @@ -18,7 +18,7 @@ mem_total=${mem_total:=64} os_mem_size=$(fw_printenv -n osmem | tr -d 'M') os_mem_size=${os_mem_size:=32} -YUV_TYPE0=0; # 0 -- raw, 1 --DC, 2 --bt1120, 3 --bt656 +YUV_TYPE0=0 # 0 -- raw, 1 --DC, 2 --bt1120, 3 --bt656 ################################################################## # @@ -64,8 +64,7 @@ YUV_TYPE0=0; # 0 -- raw, 1 --DC, 2 --bt1120, 3 --bt656 # ################################################################## -report_error() -{ +report_error() { echo "******* Error: There's something wrong, please check! *****" exit 1 } @@ -81,172 +80,159 @@ check_allocator() { fi } -insert_osal() -{ +insert_osal() { check_allocator MMZ=$(awk -F '=' '$1=="mmz"{print $2}' RS=" " /proc/cmdline) if [ -z "$MMZ" ]; then - insmod hi_osal.ko anony=1 mmz_allocator=hisi mmz=anonymous,0,$mmz_start,$mmz_size || report_error + modprobe open_osal anony=1 mmz_allocator=hisi mmz=anonymous,0,$mmz_start,$mmz_size || report_error else - insmod hi_osal.ko anony=1 mmz_allocator=cma mmz=$MMZ || report_error + modprobe open_osal anony=1 mmz_allocator=cma mmz=$MMZ || report_error fi } -insert_detect() -{ - cd /lib/modules/4.9.37/hisilicon - insmod sys_config.ko chip=${chipid} sensors=unknown g_cmos_yuv_flag=$YUV_TYPE0 board=${board} +insert_detect() { + cd /lib/modules/$(uname -r)/hisilicon + modprobe open_sys_config chip=${chipid} sensors=unknown g_cmos_yuv_flag=$YUV_TYPE0 board=${board} insert_osal - insmod hi3516ev200_base.ko - insmod hi3516ev200_isp.ko - insmod hi_sensor_i2c.ko - insmod hi_sensor_spi.ko + modprobe open_base + modprobe hi3516ev200_isp + modprobe open_sensor_i2c + modprobe open_sensor_spi } -remove_detect() -{ - rmmod -w hi_sensor_spi - rmmod -w hi_sensor_i2c +remove_detect() { + rmmod -w open_sensor_spi + rmmod -w open_sensor_i2c rmmod -w hi3516ev200_isp - rmmod -w hi3516ev200_base - rmmod -w hi_osal - rmmod -w sys_config.ko + rmmod -w open_base + rmmod -w open_osal + rmmod -w open_sys_config } -insert_audio() -{ - insmod hi3516ev200_aio.ko - insmod hi3516ev200_ai.ko - insmod hi3516ev200_ao.ko - insmod hi3516ev200_aenc.ko - insmod hi3516ev200_adec.ko - insmod hi3516ev200_acodec.ko -# insmod hi_tlv320aic31.ko +insert_audio() { + modprobe open_aio + modprobe open_ai + modprobe open_ao + modprobe open_aenc + modprobe open_adec + modprobe open_acodec + # insmod hi_tlv320aic31.ko echo "insert audio" } -remove_audio() -{ - rmmod -w hi3516ev200_acodec -# rmmod -w hi_tlv320aic31.ko - rmmod -w hi3516ev200_adec - rmmod -w hi3516ev200_aenc - rmmod -w hi3516ev200_ao - rmmod -w hi3516ev200_ai - rmmod -w hi3516ev200_aio +remove_audio() { + rmmod -w open_acodec + # rmmod -w hi_tlv320aic31 + rmmod -w open_adec + rmmod -w open_aenc + rmmod -w open_ao + rmmod -w open_ai + rmmod -w open_aio echo "remove audio" } -insert_isp() -{ - insmod hi3516ev200_isp.ko +insert_isp() { + modprobe hi3516ev200_isp } -insert_sil9024() -{ +insert_sil9024() { i2c_sel=2 - if [ "${chipid}" == "hi3516ev300" ];then + if [ "${chipid}" == "hi3516ev300" ]; then i2c_sel=1 fi - if [ "${board}" == "sck" ];then - insmod hi_sil9024.ko norm=12 i2c_num=$i2c_sel #1080P@30fps + if [ "${board}" == "sck" ]; then + insmod hi_sil9024.ko norm=12 i2c_num=$i2c_sel #1080P@30fps fi } -insert_adv7179() -{ +insert_adv7179() { i2c_sel=2 - if [ "${chipid}" == "hi3516ev300" ];then + if [ "${chipid}" == "hi3516ev300" ]; then i2c_sel=1 fi - if [ "${board}" == "sck" ];then + if [ "${board}" == "sck" ]; then insmod hi_adv7179.ko norm_mode=0 i2c_num=$i2c_sel # norm_mode = 0:PAL, 1:NTSC fi } -insert_piris() -{ - if [ "{chipid}" == "hi3516ev300" -a "${board}" == "demo" ];then - insmod hi_piris.ko - # insmod hi3516ev200_pm.ko # Maybe need for Hi3518Ev300 +insert_piris() { + if [ "{chipid}" == "hi3516ev300" -a "${board}" == "demo" ]; then + modprobe open_piris + # modprobe open_pm # Maybe need for Hi3518Ev300 fi } -insert_ko() -{ - insmod sys_config.ko chip=${chipid} sensors=$SENSOR g_cmos_yuv_flag=$YUV_TYPE0 board=${board} +insert_ko() { + modprobe open_sys_config chip=${chipid} sensors=$SENSOR g_cmos_yuv_flag=$YUV_TYPE0 board=${board} insert_osal - insmod hi3516ev200_base.ko - insmod hi3516ev200_sys.ko -# insmod hi3516ev200_tde.ko - insmod hi3516ev200_rgn.ko - insmod hi3516ev200_vgs.ko - insmod hi3516ev200_vi.ko - insert_isp; - insmod hi3516ev200_vpss.ko -# insmod hi3516ev200_vo.ko # disabled, info by @widgetii -# insmod hifb.ko video="hifb:vram0_size:1620" # default fb0:D1 # disabled, info by @widgetii - insmod hi3516ev200_chnl.ko - insmod hi3516ev200_vedu.ko - insmod hi3516ev200_rc.ko - insmod hi3516ev200_venc.ko - insmod hi3516ev200_h264e.ko - insmod hi3516ev200_h265e.ko - insmod hi3516ev200_jpege.ko - insmod hi3516ev200_ive.ko save_power=0 - insmod hi_pwm.ko - insmod hi_sensor_i2c.ko - insmod hi_sensor_spi.ko + modprobe open_base + modprobe open_sys + # modprobe open_tde + modprobe open_rgn + modprobe open_vgs + modprobe open_vi + insert_isp + modprobe open_vpss + # modprobe open_vo # disabled, info by @widgetii + # insmod hifb video="hifb:vram0_size:1620" # default fb0:D1 # disabled, info by @widgetii + modprobe open_chnl + modprobe open_vedu + modprobe open_rc + modprobe open_venc + modprobe open_h264e + modprobe open_h265e + modprobe open_jpege + modprobe open_ive save_power=0 + modprobe open_pwm + modprobe open_sensor_i2c + modprobe open_sensor_spi insert_piris - insert_sil9024; # BT1120 -# insert_adv7179; # BT656 + insert_sil9024 # BT1120 + # insert_adv7179; # BT656 insert_audio - insmod hi_mipi_rx.ko -# insmod hi_user.ko - insmod hi3516ev200_wdt.ko + modprobe open_mipi_rx + # modprobe open_user + modprobe open_wdt } -remove_ko() -{ - rmmod -w hi3516ev200_wdt -# rmmod -w hi_user +remove_ko() { + rmmod -w open_wdt + # rmmod -w hi_user remove_audio -# rmmod -w hi_piris + # rmmod -w hi_piris rmmod -w hi_pwm rmmod -w hi_mipi_rx - rmmod -w hi_sil9024 &> /dev/null -# rmmod -w hi_adv7179 &> /dev/null - rmmod -w hi3516ev200_ive - rmmod -w hi3516ev200_rc - rmmod -w hi3516ev200_jpege - rmmod -w hi3516ev200_h264e - rmmod -w hi3516ev200_h265e - rmmod -w hi3516ev200_venc - rmmod -w hi3516ev200_vedu - rmmod -w hi3516ev200_chnl -# rmmod -w hifb -# rmmod -w hi3516ev200_vo - rmmod -w hi3516ev200_vpss + rmmod -w hi_sil9024 &>/dev/null + # rmmod -w hi_adv7179 &> /dev/null + rmmod -w open_ive + rmmod -w open_rc + rmmod -w open_jpege + rmmod -w open_h264e + rmmod -w open_h265e + rmmod -w open_venc + rmmod -w open_vedu + rmmod -w open_chnl + # rmmod -w hifb + # rmmod -w open_vo + rmmod -w open_vpss rmmod -w hi3516ev200_isp - rmmod -w hi3516ev200_vi - rmmod -w hi3516ev200_vgs - rmmod -w hi3516ev200_rgn -# rmmod -w hi3516ev200_tde - rmmod -w hi_sensor_i2c &> /dev/null - rmmod -w hi_sensor_spi &> /dev/null - rmmod -w hi3516ev200_sys - rmmod -w hi3516ev200_base - rmmod -w hi_osal - rmmod -w sys_config + rmmod -w open_vi + rmmod -w open_vgs + rmmod -w open_rgn + # rmmod -w open_tde + rmmod -w open_sensor_i2c &>/dev/null + rmmod -w open_sensor_spi &>/dev/null + rmmod -w open_sys + rmmod -w open_base + rmmod -w open_osal + rmmod -w open_sys_config } - -load_usage() -{ +load_usage() { echo "Usage: ./load_hisilicon [-option] [sensor_name]" echo "options:" echo " -i insert modules" @@ -258,22 +244,21 @@ load_usage() echo -e "for example: ./load_hisilicon -i -sensor imx307 -osmem 32M -board demo -yuv0 0\n" } -calc_mmz_info() -{ - mmz_start=`echo "$mem_start $os_mem_size" | - awk 'BEGIN { temp = 0; } +calc_mmz_info() { + mmz_start=$(echo "$mem_start $os_mem_size" | + awk 'BEGIN { temp = 0; } { temp = $1/1024/1024 + $2; } - END { printf("0x%x00000\n", temp); }'` + END { printf("0x%x00000\n", temp); }') - mmz_size=`echo "$mem_total $os_mem_size" | - awk 'BEGIN { temp = 0; } + mmz_size=$(echo "$mem_total $os_mem_size" | + awk 'BEGIN { temp = 0; } { temp = $1 - $2; } - END { printf("%dM\n", temp); }'` - echo "mmz_start: $mmz_start, mmz_size: $mmz_size" + END { printf("%dM\n", temp); }') + echo "mmz_start: $mmz_start, mmz_size: $mmz_size" } ######################parse arg################################### @@ -285,78 +270,77 @@ b_arg_remove=0 b_arg_os_mem=0 b_arg_board=0 -for arg in $@ -do - if [ $b_arg_sensor0 -eq 1 ] ; then - b_arg_sensor0=0; - SENSOR_MANUAL=$arg; +for arg in $@; do + if [ $b_arg_sensor0 -eq 1 ]; then + b_arg_sensor0=0 + SENSOR_MANUAL=$arg export SENSOR=${SENSOR_MANUAL} fi - if [ $b_arg_os_mem -eq 1 ] ; then - b_arg_os_mem=0; - os_mem_size=$arg; + if [ $b_arg_os_mem -eq 1 ]; then + b_arg_os_mem=0 + os_mem_size=$arg if [ -z $os_mem_size ]; then echo "[error] os_mem_size is null" - exit; + exit fi fi - if [ $b_arg_yuv_type0 -eq 1 ] ; then - b_arg_yuv_type0=0; - YUV_TYPE0=$arg; + if [ $b_arg_yuv_type0 -eq 1 ]; then + b_arg_yuv_type0=0 + YUV_TYPE0=$arg fi - if [ $b_arg_board -eq 1 ] ; then - b_arg_board=0; - BOARD=$arg; + if [ $b_arg_board -eq 1 ]; then + b_arg_board=0 + BOARD=$arg fi case $arg in - "-i") - b_arg_insmod=1; - ;; - "-r") - b_arg_remove=1; - ;; - "-a") - b_arg_insmod=1; - b_arg_remove=1; - ;; - "-h") - load_usage; - ;; - "-sensor0") - b_arg_sensor0=1; - ;; - "-sensor") - b_arg_sensor0=1; - ;; - "-osmem") - b_arg_os_mem=1; - ;; - "-yuv0") - b_arg_yuv_type0=1; - ;; - "-board") - b_arg_board=1; - ;; + "-i") + b_arg_insmod=1 + ;; + "-r") + b_arg_remove=1 + ;; + "-a") + b_arg_insmod=1 + b_arg_remove=1 + ;; + "-h") + load_usage + ;; + "-sensor0") + b_arg_sensor0=1 + ;; + "-sensor") + b_arg_sensor0=1 + ;; + "-osmem") + b_arg_os_mem=1 + ;; + "-yuv0") + b_arg_yuv_type0=1 + ;; + "-board") + b_arg_board=1 + ;; esac done #######################parse arg end######################## -if [ $os_mem_size -ge $mem_total ] ; then +if [ $os_mem_size -ge $mem_total ]; then echo "[err] os_mem[$os_mem_size], over total_mem[$mem_total]" - exit; + exit fi -calc_mmz_info; +calc_mmz_info #######################Action############################### if [ $# -lt 1 ]; then - load_usage; - exit 0; + load_usage + exit 0 fi # Sensor config @@ -380,14 +364,14 @@ else fi if [ $b_arg_remove -eq 1 ]; then - remove_ko; + remove_ko fi if [ "$SENSOR" = "unknown" ]; then exit 1 else if [ $b_arg_insmod -eq 1 ]; then - cd /lib/modules/4.9.37/hisilicon - insert_ko; + cd /lib/modules/$(uname -r)/hisilicon + insert_ko fi fi diff --git a/general/package/hisilicon-osdrv-hi3516ev200/hisilicon-osdrv-hi3516ev200.mk b/general/package/hisilicon-osdrv-hi3516ev200/hisilicon-osdrv-hi3516ev200.mk index d7ece854..a35c6f67 100644 --- a/general/package/hisilicon-osdrv-hi3516ev200/hisilicon-osdrv-hi3516ev200.mk +++ b/general/package/hisilicon-osdrv-hi3516ev200/hisilicon-osdrv-hi3516ev200.mk @@ -24,37 +24,9 @@ define HISILICON_OSDRV_HI3516EV200_INSTALL_TARGET_CMDS $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors/iq $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/sensor/iq/imx335.ini ln -sf imx335.ini $(TARGET_DIR)/etc/sensors/iq/default.ini - $(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.37/hisilicon - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/camhi-motor.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_acodec.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_adec.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_aenc.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_ai.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_aio.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_ao.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_base.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_chnl.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_h264e.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_h265e.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_isp.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_ive.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_jpege.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_rc.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_rgn.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_sys.ko - # $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_tde.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_vedu.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_venc.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_vgs.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_vi.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_vpss.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_wdt.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi_mipi_rx.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi_osal.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi_pwm.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi_sensor_i2c.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi_sensor_spi.ko - $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/sys_config.ko + $(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/hisilicon + $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/camhi-motor.ko + $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/kmod/hi3516ev200_isp.ko $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516ev200/files/script/load_hisilicon