Merge branch 'master' of github.com:OpenIPC/firmware

pull/168/head
Dmitry Ermakov 2022-01-26 09:55:04 +03:00
commit 8bfe982719
37 changed files with 1246 additions and 1232 deletions

View File

@ -124,7 +124,7 @@ jobs:
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3516av200-linux-musleabi_sdk-buildroot_universal.tar.gz"
asset_name: "arm-openipc-hi3516av200-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true

View File

@ -124,7 +124,7 @@ jobs:
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3516cv300-linux-musleabi_sdk-buildroot_universal.tar.gz"
asset_name: "arm-openipc-hi3516cv300-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true

View File

@ -124,7 +124,7 @@ jobs:
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3519v101-linux-musleabi_sdk-buildroot_universal.tar.gz"
asset_name: "arm-openipc-hi3519v101-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true

View File

@ -1070,7 +1070,7 @@ CONFIG_NET_CORE=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_TUN is not set
CONFIG_TUN=m
# CONFIG_VETH is not set
# CONFIG_NLMON is not set
@ -2180,7 +2180,9 @@ CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
@ -2219,7 +2221,7 @@ CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_SWAP is not set

View File

@ -1070,7 +1070,7 @@ CONFIG_NET_CORE=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_TUN is not set
CONFIG_TUN=m
# CONFIG_VETH is not set
# CONFIG_NLMON is not set
@ -2180,7 +2180,9 @@ CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
@ -2219,7 +2221,7 @@ CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_SWAP is not set

View File

@ -0,0 +1,44 @@
--- a/arch/arm/boot/dts/hisi-hi3516av200-demb.dts
+++ b/arch/arm/boot/dts/hisi-hi3516av200-demb.dts
@@ -179,7 +179,7 @@
&higmac {
phy-handle = <&ethphy>;
- phy-mode = "rgmii";
+ phy-mode = "rmii";
};
&gpio_chip0 {
--- a/arch/arm/boot/dts/hisi-hi3516av200-hmp-demb.dts
+++ b/arch/arm/boot/dts/hisi-hi3516av200-hmp-demb.dts
@@ -242,7 +242,7 @@
&higmac {
compatible = "hisilicon,higmac-v3", "hisilicon,higmac";
phy-handle = <&ethphy>;
- phy-mode = "rgmii";
+ phy-mode = "rmii";
};
&gpio_chip0 {
--- a/arch/arm/boot/dts/hisi-hi3519v101-demb.dts
+++ b/arch/arm/boot/dts/hisi-hi3519v101-demb.dts
@@ -179,7 +179,7 @@
&higmac {
phy-handle = <&ethphy>;
- phy-mode = "rgmii";
+ phy-mode = "rmii";
};
&gpio_chip0 {
--- a/arch/arm/boot/dts/hisi-hi3519v101-hmp-demb.dts
+++ b/arch/arm/boot/dts/hisi-hi3519v101-hmp-demb.dts
@@ -242,7 +242,7 @@
&higmac {
compatible = "hisilicon,higmac-v3", "hisilicon,higmac";
phy-handle = <&ethphy>;
- phy-mode = "rgmii";
+ phy-mode = "rmii";
};
&gpio_chip0 {

View File

@ -71,7 +71,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC_FONTS=y
# BR2_PACKAGE_MAJESTIC_HI3519V101 is not set
BR2_PACKAGE_MAJESTIC_HI3519V101=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set

View File

@ -51,7 +51,6 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y
BR2_PACKAGE_HASERL=y
BR2_PACKAGE_HISI_GPIO=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV500=y
# BR2_PACKAGE_HISILICON_OSDRV_HI3516EV300 is not set
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LAME_OPENIPC=y
@ -69,7 +68,6 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_HI3516CV500=y
# BR2_PACKAGE_MAJESTIC_HI3516EV300 is not set
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set

View File

@ -51,7 +51,6 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y
BR2_PACKAGE_HASERL=y
BR2_PACKAGE_HISI_GPIO=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV500=y
# BR2_PACKAGE_HISILICON_OSDRV_HI3516EV300 is not set
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LAME_OPENIPC=y
@ -69,7 +68,6 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_HI3516CV500=y
# BR2_PACKAGE_MAJESTIC_HI3516EV300 is not set
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set

View File

@ -51,7 +51,6 @@ BR2_PACKAGE_FWPRINTENV_OPENIPC=y
BR2_PACKAGE_HASERL=y
BR2_PACKAGE_HISI_GPIO=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV500=y
# BR2_PACKAGE_HISILICON_OSDRV_HI3516EV300 is not set
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_LAME_OPENIPC=y
@ -69,7 +68,6 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_HI3516CV500=y
# BR2_PACKAGE_MAJESTIC_HI3516EV300 is not set
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set

View File

@ -71,7 +71,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC_FONTS=y
# BR2_PACKAGE_MAJESTIC_HI3519V101 is not set
BR2_PACKAGE_MAJESTIC_HI3519V101=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set

View File

@ -9,7 +9,7 @@ Historically, OpenIPC firmware supports SoC manufactured by HiSilicon, but as th
the list of supported processors expands. Today, it also includes chips from Goke, SigmaStar, Xiongmai,
and is expected to grow further.
More information about the project is available [in our wiki](https://github.com/OpenIPC/firmware/wiki)
More information about the project is available [in our wiki](https://github.com/OpenIPC/wiki)
and [on the website](https://openipc.org/).
### Current development status <a href="#commercial">*</a>

View File

@ -0,0 +1,107 @@
#!/bin/sh
soc=$(fw_printenv -n soc) || (>&2 echo "SOC not defined in U-Boot ENV"; exit 1)
vendor=$(fw_printenv -n vendor) || (>&2 echo "Vendor not defined in U-Boot ENV"; exit 1)
# devid=$(fw_printenv -n devid) || (>&2 echo "Device ID not defined in U-Boot ENV"; exit 1)
case ${vendor} in
anjoy)
case ${soc} in
ssc335|ssc337|ssc337de)
gpio="ircut1=78 ircut2=79 light=61"
;;
esac
;;
camhi|hichip|xin)
case ${soc} in
hi3516ev200|gk7205v200)
gpio="usb_ena=-9"
;;
hi3516ev300|gk7205v300)
gpio="ircut1=10 ircut2=11 usb_ena=-7"
;;
hi3518ev200)
gpio="ircut1=1 ircut2=2 light=48"
;;
esac
;;
herospeed|longsee|cantonk)
case ${soc} in
hi3516ev200|gk7205v200)
gpio="ircut1=12 ircut2=13 irctl=4 alm_in=15 alm_out=14"
;;
hi3518ev200)
gpio="ircut1=64 ircut2=65"
;;
hi3516av300)
gpio="ircut1=5 ircut2=6"
;;
esac
;;
jabsco)
case ${soc} in
hi3516ev200|gk7205v200)
gpio="ircut1=52 ircut2=53 irstatus=9"
;;
esac
;;
jvt)
case ${soc} in
hi3516cv200)
gpio="ircut1=64 ircut2=65 light=62"
;;
hi3518ev200)
gpio="ircut1=64 ircut2=65 light=47"
;;
esac
;;
juan|sannce)
case ${soc} in
hi3518ev200)
gpio="ircut1=65 ircut2=64 irstatus=-62"
;;
esac
;;
tiandy)
case ${soc} in
hi3518ev200)
gpio="ircut1=78 ircut2=79 irctl=37"
;;
esac
;;
uniview)
case ${soc} in
hi3516ev300|gk7205v300)
gpio="ircut1=63 ircut2=67 reset="
;;
esac
;;
xm)
case ${soc} in
hi3516ev200|gk7205v200)
gpio="ircut1=8 ircut=29 irstatus=15 irctl=16 alm_in=4,53 alm_out=55 eth_act=14 eth_sta=12 reset=0"
;;
hi3516ev300|gk7205v300)
gpio="ircut1=10 ircut2=11 irstatus=66 irctl=52 alm_in=4,67 alm_out=65 eth_act=30 eth_sta=31 reset=0"
;;
hi3516dv100)
gpio="ircut1=14 ircut2=15"
;;
hi3516cv300)
gpio="ircut1=53 ircut2=54 irstatus=64 irctl=66 alm_in=55 alm_out=1 reset=2 usb_ena=63"
;;
hi3518ev200)
gpio="ircut1=33 ircut2=34 alm_in=61 alm_out=35"
;;
esac
;;
zenotech|videopark)
case ${soc} in
hi3516ev300|gk7205v300)
gpio="ircut1=40 ircut2=41 irctl=65"
;;
esac
;;
esac
echo ${gpio}

View File

@ -6,20 +6,12 @@
set -e
mpp=$(awk '/Version:/ {print $3,$4"]"}' /proc/umap/sys) || true
soc=$(ipctool --chip_id)
soc=$(ipcinfo --chip-id)
prepare()
{
prepare() {
case ${soc} in
hi3516av300|hi3516cv500|hi3516dv300)
echo -e "\n\e[1;31mSorry but the ${soc} is not supported at the moment...\e[0m\n"
exit 1
;;
hi3516ev200|hi3516ev300|hi3516dv200|hi3518ev300)
hi3516ev200 | hi3516ev300 | hi3516dv200 | hi3518ev300)
echo -e "\n\e[1;31mA supported processor with ${mpp} was found...\e[0m\n"
ittb_url="https://raw.githubusercontent.com/widgetii/pqtools/master/hi3516ev300/ittb_ev300_V1.0.1.2.tgz"
ittb_folder="ittb_ev300_V1.0.1.2"
@ -33,19 +25,17 @@ prepare()
esac
}
download()
if [[ -d /tmp/${ittb_folder} ]]; then
echo -e "\n\e[1;31mA directory with utilities was found and the download is not needed...\e[0m\n"
echo -e "\n\e[1;31mWe run the utilities for sensor calibration...\e[0m\n"
cd /tmp/${ittb_folder} ; ./start.sh
else
echo -e "\n\e[1;31mDownloading the latest tools, please wait...\e[0m\n"
curl -s ${ittb_url} | gzip -d - | tar xvf - -C /tmp
echo -e "\n\e[1;31mWe run the utilities for sensor calibration...\e[0m\n"
cd /tmp/${ittb_folder} ; ./start.sh
fi
download() if [[ -d /tmp/${ittb_folder} ]]; then
echo -e "\n\e[1;31mA directory with utilities was found and the download is not needed...\e[0m\n"
echo -e "\n\e[1;31mWe run the utilities for sensor calibration...\e[0m\n"
cd /tmp/${ittb_folder}
./start.sh
else
echo -e "\n\e[1;31mDownloading the latest tools, please wait...\e[0m\n"
curl -s ${ittb_url} | gzip -d - | tar xvf - -C /tmp
echo -e "\n\e[1;31mWe run the utilities for sensor calibration...\e[0m\n"
cd /tmp/${ittb_folder}
./start.sh
fi
prepare && download

View File

@ -191,6 +191,7 @@ void get_chip_gpio_adress(unsigned long *Chip_Id, unsigned long *GPIO_Groups,
case 0x3516C300:
*GPIO_Groups = 9;
*GPIO_Base = 0x12140000;
*GPIO_Offset = 0x1000;
break;
case 0x3516A300:
*GPIO_Groups = 12;

View File

@ -176,11 +176,13 @@ insert_ko()
insert_audio
insmod hi_mipi.ko
#insmod wdt.ko
echo "==== Your input Sensor type is $SENSOR ===="
}
remove_ko()
{
rmmod wdt
rmmod sys_config.ko
remove_audio
remove_sns

View File

@ -54,6 +54,7 @@ define HISILICON_OSDRV_HI3516CV200_INSTALL_TARGET_CMDS
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv200/files/kmod/sensor_i2c.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv200/files/kmod/sensor_spi.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv200/files/kmod/sys_config.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv200/files/kmod/wdt.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv200/files/kmod/xxx.ko

View File

@ -17,15 +17,6 @@ dev_attr = 1 ;mipi_dev_attr_t = 0
;lvds_dev_attr_t = 1
;NULL =2
[mipi]
;----------only for mipi_dev---------
data_type =-1 ;raw data type: 8/10/12/14 bit
;RAW_DATA_8BIT = 1
;RAW_DATA_10BIT = 2
;RAW_DATA_12BIT = 3
;RAW_DATA_14BIT = 4
lane_id = -1|-1|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable
[lvds]
;----------only for lvds_dev---------
img_size_w = 1920 ;oringnal sensor input image size W
@ -34,28 +25,15 @@ wdr_mode = 0 ;HI_WDR_MODE_NONE =0
;HI_WDR_MODE_2F = 1
;HI_WDR_MODE_3F = 2
;HI_WDR_MODE_4F =3
sync_mode = 1 ;LVDS_SYNC_MODE_SOL = 0
;LVDS_SYNC_MODE_SAV = 1
raw_data_type = 2 ;RAW_DATA_8BIT = 0
;RAW_DATA_10BIT = 1
;RAW_DATA_12BIT = 2
;RAW_DATA_14BIT = 3
data_endian = 1 ;LVDS_ENDIAN_LITTLE = 0
;LVDS_ENDIAN_BIG = 1
sync_code_endian = 1 ;LVDS_ENDIAN_LITTLE = 0
;LVDS_ENDIAN_BIG = 1
lane_id = 0|1|2|3|-1|-1|-1|-1| ;lane_id: -1 - disable
lvds_lane_num = -1 ;LVDS_LANE_NUM
wdr_vc_num = -1 ;WDR_VC_NUM
sync_code_num = -1 ;SYNC_CODE_NUM
lane_id = 0|1|2|3
sync_code_0 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_1 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_2 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_3 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_4 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
sync_code_5 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
sync_code_6 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
sync_code_7 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
[isp_image]
Isp_x =0

View File

@ -1,335 +0,0 @@
#!/bin/sh
# Useage: ./load3516av300 [ -r|-i|-a ] [ sensor0~1 ]
# -r : rmmod all modules
# -i : insmod all modules
# -a : rmmod all moules and then insmod them
# e.g: RAW: ./load3516av300 -i -sensor0 imx335 -sensor1 imx335
# e.g: BT1120/DC : ./load3516av300 -i -sensor0 imx327 -sensor1 imx327 -osmem 128 -yuv0 1
# e.g: BT656 : ./load3516av300 -i -sensor0 imx327 -sensor1 imx327 -osmem 128 -yuv0 2
####################Variables Definition##########################
SNS_TYPE0=imx335; # sensor type
SNS_TYPE1=NULL; # sensor type
YUV_TYPE0=0; # 0 -- raw, 1 -- bt1120/DC, 2 --bt656
CHIP_TYPE=hi3516av300; # chip type
#DDR start:0x80000000, kernel start:0x80000000, OS(128M); MMZ start:0x88000000
mem_total=512 # 512M, total mem
mem_start=0x80000000 # phy mem start
os_mem_size=128 # 128M, os mem
mmz_start=0x88000000; # mmz start addr
mmz_size=384M; # 384M, mmz size
##################################################################
report_error()
{
echo "******* Error: There's something wrong, please check! *****"
exit 1
}
insert_audio()
{
insmod hi3516cv500_aio.ko
insmod hi3516cv500_ai.ko
insmod hi3516cv500_ao.ko
insmod hi3516cv500_aenc.ko
insmod hi3516cv500_adec.ko
insmod hi3516cv500_acodec.ko
# insmod extdrv/hi_tlv320aic31.ko
echo "insert audio"
}
remove_audio()
{
rmmod hi3516cv500_acodec
# rmmod hi_tlv320aic31.ko
rmmod hi3516cv500_adec
rmmod hi3516cv500_aenc
rmmod hi3516cv500_ao
rmmod hi3516cv500_ai
rmmod hi3516cv500_aio
echo "remove audio"
}
insert_isp()
{
insmod hi3516cv500_isp.ko
}
insert_gyro()
{
insmod extdrv/hi_spi.ko
insmod hi3516cv500_gyrodis.ko
insmod hi3516cv500_motionfusion.ko
insmod extdrv/motionsensor_mng.ko
insmod extdrv/motionsensor_chip.ko
}
remove_gyro()
{
rmmod motionsensor_chip
rmmod motionsensor_mng
rmmod hi3516cv500_motionfusion
rmmod hi3516cv500_gyrodis
rmmod hi_spi
}
insert_ko()
{
# driver load
insmod hi_osal.ko anony=1 mmz_allocator=hisi mmz=anonymous,0,$mmz_start,$mmz_size || report_error
# sys config
insmod sys_config.ko chip=$CHIP_TYPE sensors=sns0=$SNS_TYPE0,sns1=$SNS_TYPE1, g_cmos_yuv_flag=$YUV_TYPE0
# insmod hi_tzasc.ko
insmod hi3516cv500_base.ko
insmod hi3516cv500_sys.ko
insmod hi3516cv500_tde.ko
insmod hi3516cv500_rgn.ko
insmod hi3516cv500_gdc.ko
insmod hi3516cv500_vgs.ko
insmod hi3516cv500_dis.ko
insmod hi3516cv500_vi.ko
insert_isp;
insmod hi3516cv500_vpss.ko
insmod hi3516cv500_vo.ko
insmod hifb.ko video="hifb:vram0_size:16200" # default fb0:1080p
insmod hi3516cv500_chnl.ko
insmod hi3516cv500_vedu.ko
insmod hi3516cv500_rc.ko
insmod hi3516cv500_venc.ko
insmod hi3516cv500_h264e.ko
insmod hi3516cv500_h265e.ko
insmod hi3516cv500_jpege.ko
insmod hi3516cv500_jpegd.ko
insmod hi3516cv500_vfmw.ko
insmod hi3516cv500_vdec.ko
insmod hi3516cv500_ive.ko save_power=1
# insmod hi_ipcm.ko
# nnie_max_tskbuf_num=64
insmod hi3516cv500_nnie.ko nnie_save_power=1 nnie_max_tskbuf_num=32
insmod extdrv/hi_pwm.ko
insmod extdrv/hi_piris.ko
insmod extdrv/hi_sensor_i2c.ko
insmod extdrv/hi_sensor_spi.ko
# insmod extdrv/hi_sil9136.ko norm=12 #1080P@30fps for umap7p
# insmod extdrv/mpu_bosch.ko
# insmod extdrv/hi_ssp_st7789.ko
# insmod extdrv/hi_ssp_ota5182.ko
# insmod extdrv/hi_serdes.ko
insmod hi3516cv500_hdmi.ko
insert_audio
insmod hi_mipi_rx.ko
# insmod hi_mipi_tx.ko
# insmod hi_user.ko
# insert_gyro
}
remove_ko()
{
# rmmod_gyro
# rmmod hi_user
remove_audio
# rmmod hi_mipi_tx
rmmod hi_mipi_rx
# rmmod hi_serdes
# rmmod hi_sil9136 &> /dev/null
# rmmod hi_ssp_ota5182
# rmmod hi_ssp_st7789
rmmod hi_piris
rmmod hi_pwm
rmmod hi3516cv500_nnie
# rmmod hi_ipcm
rmmod hi3516cv500_ive
rmmod hi3516cv500_jpegd
rmmod hi3516cv500_vfmw
rmmod hi3516cv500_vdec
rmmod hi3516cv500_rc
rmmod hi3516cv500_jpege
rmmod hi3516cv500_h264e
rmmod hi3516cv500_h265e
rmmod hi3516cv500_venc
rmmod hi3516cv500_vedu
rmmod hi3516cv500_chnl
rmmod hifb
rmmod hi3516cv500_vo
rmmod hi3516cv500_vpss
rmmod hi3516cv500_isp
rmmod hi3516cv500_vi
rmmod hi3516cv500_gdc
rmmod hi3516cv500_dis
rmmod hi3516cv500_vgs
rmmod hi3516cv500_rgn
rmmod hi3516cv500_tde
rmmod hi3516cv500_hdmi
rmmod hi_sensor_i2c &> /dev/null
rmmod hi_sensor_spi &> /dev/null
# rmmod mpu_bosch
rmmod hi3516cv500_sys
rmmod hi3516cv500_base
# rmmod hi_tzasc
rmmod sys_config
rmmod hi_osal
}
sys_restore()
{
####################################################
clkcfg_hi3516cv500.sh > /dev/null
# system configuration
sysctl_hi3516cv500.sh # > /dev/null
sns_config;
}
load_usage()
{
echo "Usage: ./load3516av300 [-option] [sensor0~1]"
echo "options:"
echo " -i insert modules"
echo " -r remove modules"
echo " -a remove modules first, then insert modules"
echo " -sensor sensor_name config sensor type [default: imx335]"
echo " -total mem_size config total mem size [unit: M, default: 512]"
echo " -osmem os_mem_size config os mem size [unit: M, default: 128]"
echo " -h help information"
echo -e "Available sensors: imx327 imx335 imx458"
echo -e "for example: ./load3516av300 -i -sensor0 imx335 -sensor1 imx335\n"
}
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); }'`
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"
}
######################parse arg###################################
b_arg_sensor0=0
b_arg_sensor1=0
b_arg_yuv_type0=0
b_arg_insmod=0
b_arg_remove=0
b_arg_restore=0
b_arg_total_mem=0
b_arg_os_mem=0
for arg in $@
do
if [ $b_arg_sensor0 -eq 1 ] ; then
b_arg_sensor0=0;
SNS_TYPE0=$arg;
fi
if [ $b_arg_sensor1 -eq 1 ] ; then
b_arg_sensor1=0;
SNS_TYPE1=$arg;
fi
if [ $b_arg_total_mem -eq 1 ]; then
b_arg_total_mem=0;
mem_total=$arg;
if [ -z $mem_total ]; then
echo "[error] mem_total is null"
exit;
fi
fi
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;
fi
fi
if [ $b_arg_yuv_type0 -eq 1 ] ; then
b_arg_yuv_type0=0;
YUV_TYPE0=$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;
;;
"-sensor1")
b_arg_sensor1=1;
;;
"-osmem")
b_arg_os_mem=1;
;;
"-yuv0")
b_arg_yuv_type0=1;
;;
"-total")
b_arg_total_mem=1;
;;
"-restore")
b_arg_restore=1;
;;
esac
done
#######################parse arg end########################
if [ $os_mem_size -ge $mem_total ] ; then
echo "[err] os_mem[$os_mem_size], over total_mem[$mem_total]"
exit;
fi
calc_mmz_info;
#######################Action###############################
if [ $# -lt 1 ]; then
load_usage;
exit 0;
fi
if [ $b_arg_remove -eq 1 ]; then
remove_ko;
fi
if [ $b_arg_insmod -eq 1 ]; then
insert_ko;
fi
if [ $b_arg_restore -eq 1 ]; then
sys_restore;
fi

View File

@ -1,325 +0,0 @@
#!/bin/sh
# Useage: ./load3516cv500 [ -r|-i|-a ] [ sensor ]
# -r : rmmod all modules
# -i : insmod all modules
# -a : rmmod all moules and then insmod them
# e.g: RAW: ./load3516cv500 -i -sensor0 imx327 -sensor1 imx327
# e.g: BT1120/DC : ./load3516cv500 -i -sensor0 imx327 -sensor1 imx327 -osmem 64 -yuv0 1
# e.g: BT656 : ./load3516cv500 -i -sensor0 imx327 -sensor1 imx327 -osmem 64 -yuv0 2
####################Variables Definition##########################
SNS_TYPE0=imx327; # sensor type
SNS_TYPE1=NULL; # sensor type
YUV_TYPE0=0; # 0 -- raw, 1 -- bt1120/DC, 2 --bt656
CHIP_TYPE=hi3516cv500; # chip type
#DDR start:0x80000000, kernel start:0x80000000, OS(64M); MMZ start:0x84000000
mem_total=256 # 256M, total mem
mem_start=0x80000000 # phy mem start
os_mem_size=64 # 64M, os mem
mmz_start=0x84000000; # mmz start addr
mmz_size=192M; # 192M, mmz size
##################################################################
report_error()
{
echo "******* Error: There's something wrong, please check! *****"
exit 1
}
insert_audio()
{
insmod hi3516cv500_aio.ko
insmod hi3516cv500_ai.ko
insmod hi3516cv500_ao.ko
insmod hi3516cv500_aenc.ko
insmod hi3516cv500_adec.ko
insmod hi3516cv500_acodec.ko
# insmod extdrv/hi_tlv320aic31.ko
echo "insert audio"
}
remove_audio()
{
rmmod hi3516cv500_acodec
# rmmod hi_tlv320aic31.ko
rmmod hi3516cv500_adec
rmmod hi3516cv500_aenc
rmmod hi3516cv500_ao
rmmod hi3516cv500_ai
rmmod hi3516cv500_aio
echo "remove audio"
}
insert_isp()
{
insmod hi3516cv500_isp.ko
}
insert_gyro()
{
insmod extdrv/hi_spi.ko
insmod hi3516cv500_gyrodis.ko
insmod hi3516cv500_motionfusion.ko
insmod extdrv/motionsensor_mng.ko
insmod extdrv/motionsensor_chip.ko
}
remove_gyro()
{
rmmod motionsensor_chip
rmmod motionsensor_mng
rmmod hi3516cv500_motionfusion
rmmod hi3516cv500_gyrodis
rmmod hi_spi
}
insert_ko()
{
# driver load
insmod hi_osal.ko anony=1 mmz_allocator=hisi mmz=anonymous,0,$mmz_start,$mmz_size || report_error
# sys config
insmod sys_config.ko chip=$CHIP_TYPE sensors=sns0=$SNS_TYPE0,sns1=$SNS_TYPE1, g_cmos_yuv_flag=$YUV_TYPE0
# insmod hi_tzasc.ko
insmod hi3516cv500_base.ko
insmod hi3516cv500_sys.ko
insmod hi3516cv500_tde.ko
insmod hi3516cv500_rgn.ko
insmod hi3516cv500_gdc.ko
insmod hi3516cv500_vgs.ko
insmod hi3516cv500_dis.ko
insmod hi3516cv500_vi.ko
insert_isp;
insmod hi3516cv500_vpss.ko
insmod hi3516cv500_vo.ko
insmod hifb.ko video="hifb:vram0_size:16200" # default fb0:1080p
insmod hi3516cv500_chnl.ko
insmod hi3516cv500_vedu.ko
insmod hi3516cv500_rc.ko
insmod hi3516cv500_venc.ko
insmod hi3516cv500_h264e.ko
insmod hi3516cv500_h265e.ko
insmod hi3516cv500_jpege.ko
insmod hi3516cv500_ive.ko save_power=1
# insmod hi_ipcm.ko
insmod hi3516cv500_nnie.ko nnie_save_power=1 nnie_max_tskbuf_num=32
insmod extdrv/hi_pwm.ko
insmod extdrv/hi_piris.ko
insmod extdrv/hi_sensor_i2c.ko
insmod extdrv/hi_sensor_spi.ko
# insmod extdrv/hi_sil9136.ko norm=12 #1080P@30fps for umap7p
# insmod extdrv/mpu_bosch.ko
insert_audio
insmod hi_mipi_rx.ko
# insmod hi_mipi_tx.ko
# insmod hi_user.ko
# insert_gyro
}
remove_ko()
{
# rmmod_gyro
# rmmod hi_user
remove_audio
# rmmod hi_mipi_tx
rmmod hi_mipi_rx
#rmmod hi_sil9136 &> /dev/null
rmmod hi_piris
rmmod hi_pwm
rmmod hi3516cv500_nnie nnie_save_power=1 nnie_max_tskbuf_num=32
# rmmod hi_ipcm
rmmod hi3516cv500_ive
rmmod hi3516cv500_rc
rmmod hi3516cv500_jpege
rmmod hi3516cv500_h264e
rmmod hi3516cv500_h265e
rmmod hi3516cv500_venc
rmmod hi3516cv500_vedu
rmmod hi3516cv500_chnl
rmmod hifb
rmmod hi3516cv500_vo
rmmod hi3516cv500_vpss
rmmod hi3516cv500_isp
rmmod hi3516cv500_vi
rmmod hi3516cv500_gdc
rmmod hi3516cv500_dis
rmmod hi3516cv500_vgs
rmmod hi3516cv500_rgn
rmmod hi3516cv500_tde
rmmod hi_sensor_i2c &> /dev/null
rmmod hi_sensor_spi &> /dev/null
# rmmod mpu_bosch
rmmod hi3516cv500_sys
rmmod hi3516cv500_base
# rmmod hi_tzasc
rmmod sys_config
rmmod hi_osal
}
sys_restore()
{
####################################################
clkcfg_hi3516cv500.sh > /dev/null
# system configuration
sysctl_hi3516cv500.sh # > /dev/null
sns_config;
}
load_usage()
{
echo "Usage: ./load3516cv500 [-option] [sensor0]"
echo "options:"
echo " -i insert modules"
echo " -r remove modules"
echo " -a remove modules first, then insert modules"
echo " -sensor sensor_name config sensor type [default: imx327]"
echo " -total mem_size config total mem size [unit: M, default: 512]"
echo " -osmem os_mem_size config os mem size [unit: M, default: 128]"
echo " -h help information"
echo -e "Available sensors: imx327"
echo -e "for example: ./load3516cv500 -i -sensor0 imx327 -sensor1 imx327\n"
}
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); }'`
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"
}
######################parse arg###################################
b_arg_sensor0=0
b_arg_sensor1=0
b_arg_yuv_type0=0
b_arg_insmod=0
b_arg_remove=0
b_arg_restore=0
b_arg_total_mem=0
b_arg_os_mem=0
for arg in $@
do
if [ $b_arg_sensor0 -eq 1 ] ; then
b_arg_sensor0=0;
SNS_TYPE0=$arg;
fi
if [ $b_arg_sensor1 -eq 1 ] ; then
b_arg_sensor1=0;
SNS_TYPE1=$arg;
fi
if [ $b_arg_total_mem -eq 1 ]; then
b_arg_total_mem=0;
mem_total=$arg;
if [ -z $mem_total ]; then
echo "[error] mem_total is null"
exit;
fi
fi
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;
fi
fi
if [ $b_arg_yuv_type0 -eq 1 ] ; then
b_arg_yuv_type0=0;
YUV_TYPE0=$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;
;;
"-sensor1")
b_arg_sensor1=1;
;;
"-osmem")
b_arg_os_mem=1;
;;
"-yuv0")
b_arg_yuv_type0=1;
;;
"-total")
b_arg_total_mem=1;
;;
"-restore")
b_arg_restore=1;
;;
esac
done
#######################parse arg end########################
if [ $os_mem_size -ge $mem_total ] ; then
echo "[err] os_mem[$os_mem_size], over total_mem[$mem_total]"
exit;
fi
calc_mmz_info;
#######################Action###############################
if [ $# -lt 1 ]; then
load_usage;
exit 0;
fi
if [ $b_arg_remove -eq 1 ]; then
remove_ko;
fi
if [ $b_arg_insmod -eq 1 ]; then
insert_ko;
fi
if [ $b_arg_restore -eq 1 ]; then
sys_restore;
fi

View File

@ -1,335 +0,0 @@
#!/bin/sh
# Useage: ./load3516dv300 [ -r|-i|-a ] [ sensor0~1 ]
# -r : rmmod all modules
# -i : insmod all modules
# -a : rmmod all moules and then insmod them
# e.g: RAW: ./load3516dv300 -i -sensor0 imx335 -sensor1 imx335
# e.g: BT1120/DC : ./load3516dv300 -i -sensor0 imx327 -sensor1 imx327 -osmem 128 -yuv0 1
# e.g: BT656 : ./load3516dv300 -i -sensor0 imx327 -sensor1 imx327 -osmem 128 -yuv0 2
####################Variables Definition##########################
SNS_TYPE0=imx335; # sensor type
SNS_TYPE1=NULL; # sensor type
YUV_TYPE0=0; # 0 -- raw, 1 -- bt1120/DC, 2 --bt656
CHIP_TYPE=hi3516dv300; # chip type
#DDR start:0x80000000, kernel start:0x80000000, OS(128M); MMZ start:0x88000000
mem_total=512 # 512M, total mem
mem_start=0x80000000 # phy mem start
os_mem_size=128 # 128M, os mem
mmz_start=0x88000000; # mmz start addr
mmz_size=384M; # 384M, mmz size
##################################################################
report_error()
{
echo "******* Error: There's something wrong, please check! *****"
exit 1
}
insert_audio()
{
insmod hi3516cv500_aio.ko
insmod hi3516cv500_ai.ko
insmod hi3516cv500_ao.ko
insmod hi3516cv500_aenc.ko
insmod hi3516cv500_adec.ko
insmod hi3516cv500_acodec.ko
# insmod extdrv/hi_tlv320aic31.ko
echo "insert audio"
}
remove_audio()
{
rmmod hi3516cv500_acodec
# rmmod hi_tlv320aic31.ko
rmmod hi3516cv500_adec
rmmod hi3516cv500_aenc
rmmod hi3516cv500_ao
rmmod hi3516cv500_ai
rmmod hi3516cv500_aio
echo "remove audio"
}
insert_isp()
{
insmod hi3516cv500_isp.ko
}
insert_gyro()
{
insmod extdrv/hi_spi.ko
insmod hi3516cv500_gyrodis.ko
insmod hi3516cv500_motionfusion.ko
insmod extdrv/motionsensor_mng.ko
insmod extdrv/motionsensor_chip.ko
}
remove_gyro()
{
rmmod motionsensor_chip
rmmod motionsensor_mng
rmmod hi3516cv500_motionfusion
rmmod hi3516cv500_gyrodis
rmmod hi_spi
}
insert_ko()
{
# driver load
insmod hi_osal.ko anony=1 mmz_allocator=hisi mmz=anonymous,0,$mmz_start,$mmz_size || report_error
# sys config
insmod sys_config.ko chip=$CHIP_TYPE sensors=sns0=$SNS_TYPE0,sns1=$SNS_TYPE1, g_cmos_yuv_flag=$YUV_TYPE0
# insmod hi_tzasc.ko
insmod hi3516cv500_base.ko
insmod hi3516cv500_sys.ko
insmod hi3516cv500_tde.ko
insmod hi3516cv500_rgn.ko
insmod hi3516cv500_gdc.ko
insmod hi3516cv500_vgs.ko
insmod hi3516cv500_dis.ko
insmod hi3516cv500_vi.ko
insert_isp;
insmod hi3516cv500_vpss.ko
insmod hi3516cv500_vo.ko
insmod hifb.ko video="hifb:vram0_size:16200" # default fb0:1080p
insmod hi3516cv500_chnl.ko
insmod hi3516cv500_vedu.ko
insmod hi3516cv500_rc.ko
insmod hi3516cv500_venc.ko
insmod hi3516cv500_h264e.ko
insmod hi3516cv500_h265e.ko
insmod hi3516cv500_jpege.ko
insmod hi3516cv500_jpegd.ko
insmod hi3516cv500_vfmw.ko
insmod hi3516cv500_vdec.ko
insmod hi3516cv500_ive.ko save_power=1
# insmod hi_ipcm.ko
# nnie_max_tskbuf_num=64
insmod hi3516cv500_nnie.ko nnie_save_power=1 nnie_max_tskbuf_num=32
insmod extdrv/hi_pwm.ko
insmod extdrv/hi_piris.ko
insmod extdrv/hi_sensor_i2c.ko
insmod extdrv/hi_sensor_spi.ko
# insmod extdrv/hi_sil9136.ko norm=12 #1080P@30fps for umap7p
# insmod extdrv/mpu_bosch.ko
# insmod extdrv/hi_ssp_st7789.ko
# insmod extdrv/hi_ssp_ota5182.ko
# insmod extdrv/hi_serdes.ko
insmod hi3516cv500_hdmi.ko
insert_audio
insmod hi_mipi_rx.ko
# insmod hi_mipi_tx.ko
# insmod hi_user.ko
# insert_gyro
}
remove_ko()
{
# rmmod_gyro
# rmmod hi_user
remove_audio
# rmmod hi_mipi_tx
rmmod hi_mipi_rx
# rmmod hi_serdes
# rmmod hi_sil9136 &> /dev/null
# rmmod hi_ssp_ota5182
# rmmod hi_ssp_st7789
rmmod hi_piris
rmmod hi_pwm
rmmod hi3516cv500_nnie
# rmmod hi_ipcm
rmmod hi3516cv500_ive
rmmod hi3516cv500_jpegd
rmmod hi3516cv500_vfmw
rmmod hi3516cv500_vdec
rmmod hi3516cv500_rc
rmmod hi3516cv500_jpege
rmmod hi3516cv500_h264e
rmmod hi3516cv500_h265e
rmmod hi3516cv500_venc
rmmod hi3516cv500_vedu
rmmod hi3516cv500_chnl
rmmod hifb
rmmod hi3516cv500_vo
rmmod hi3516cv500_vpss
rmmod hi3516cv500_isp
rmmod hi3516cv500_vi
rmmod hi3516cv500_gdc
rmmod hi3516cv500_dis
rmmod hi3516cv500_vgs
rmmod hi3516cv500_rgn
rmmod hi3516cv500_tde
rmmod hi3516cv500_hdmi
rmmod hi_sensor_i2c &> /dev/null
rmmod hi_sensor_spi &> /dev/null
# rmmod mpu_bosch
rmmod hi3516cv500_sys
rmmod hi3516cv500_base
# rmmod hi_tzasc
rmmod sys_config
rmmod hi_osal
}
sys_restore()
{
####################################################
clkcfg_hi3516cv500.sh > /dev/null
# system configuration
sysctl_hi3516cv500.sh # > /dev/null
sns_config;
}
load_usage()
{
echo "Usage: ./load3516dv300 [-option] [sensor0~1]"
echo "options:"
echo " -i insert modules"
echo " -r remove modules"
echo " -a remove modules first, then insert modules"
echo " -sensor sensor_name config sensor type [default: imx335]"
echo " -total mem_size config total mem size [unit: M, default: 512]"
echo " -osmem os_mem_size config os mem size [unit: M, default: 128]"
echo " -h help information"
echo -e "Available sensors: imx327 imx335 os05a imx307"
echo -e "for example: ./load3516dv300 -i -sensor0 imx335 -sensor1 imx335\n"
}
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); }'`
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"
}
######################parse arg###################################
b_arg_sensor0=0
b_arg_sensor1=0
b_arg_yuv_type0=0
b_arg_insmod=0
b_arg_remove=0
b_arg_restore=0
b_arg_total_mem=0
b_arg_os_mem=0
for arg in $@
do
if [ $b_arg_sensor0 -eq 1 ] ; then
b_arg_sensor0=0;
SNS_TYPE0=$arg;
fi
if [ $b_arg_sensor1 -eq 1 ] ; then
b_arg_sensor1=0;
SNS_TYPE1=$arg;
fi
if [ $b_arg_total_mem -eq 1 ]; then
b_arg_total_mem=0;
mem_total=$arg;
if [ -z $mem_total ]; then
echo "[error] mem_total is null"
exit;
fi
fi
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;
fi
fi
if [ $b_arg_yuv_type0 -eq 1 ] ; then
b_arg_yuv_type0=0;
YUV_TYPE0=$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;
;;
"-sensor1")
b_arg_sensor1=1;
;;
"-osmem")
b_arg_os_mem=1;
;;
"-yuv0")
b_arg_yuv_type0=1;
;;
"-total")
b_arg_total_mem=1;
;;
"-restore")
b_arg_restore=1;
;;
esac
done
#######################parse arg end########################
if [ $os_mem_size -ge $mem_total ] ; then
echo "[err] os_mem[$os_mem_size], over total_mem[$mem_total]"
exit;
fi
calc_mmz_info;
#######################Action###############################
if [ $# -lt 1 ]; then
load_usage;
exit 0;
fi
if [ $b_arg_remove -eq 1 ]; then
remove_ko;
fi
if [ $b_arg_insmod -eq 1 ]; then
insert_ko;
fi
if [ $b_arg_restore -eq 1 ]; then
sys_restore;
fi

View File

@ -0,0 +1,356 @@
#!/bin/sh
#
# This is part of OpenIPC.org project | 2022.01.19
#
# Board
board=demo
# SoC detect
chipid=$(ipcinfo --chip_id)
# Memory config
mem_start=0x80000000 # phy mem start
mem_total=$(fw_printenv -n totalmem | tr -d 'M')
mem_total=${mem_total:=64}
os_mem_size=$(fw_printenv -n osmem | tr -d 'M')
os_mem_size=${os_mem_size:=32}
SNS_TYPE0=imx327 # sensor type
SNS_TYPE1=NULL # sensor type
YUV_TYPE0=0 # 0 -- raw, 1 -- bt1120/DC, 2 --bt656
report_error() {
echo "******* Error: There's something wrong, please check! *****"
exit 1
}
insert_osal() {
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
else
insmod cma_osal.ko 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_osal
insmod hi3516ev200_base.ko
insmod hi3516ev200_isp.ko
insmod hi_sensor_i2c.ko
insmod hi_sensor_spi.ko
}
remove_detect() {
rmmod hi_sensor_spi
rmmod hi_sensor_i2c
rmmod hi3516ev200_isp
rmmod hi3516ev200_base
rmmod hi_osal &> /dev/null
rmmod cma_osal &> /dev/null
rmmod sys_config
}
insert_audio() {
insmod hi3516cv500_aio.ko
insmod hi3516cv500_ai.ko
insmod hi3516cv500_ao.ko
insmod hi3516cv500_aenc.ko
insmod hi3516cv500_adec.ko
insmod hi3516cv500_acodec.ko
# insmod extdrv/hi_tlv320aic31.ko
echo "insert audio"
}
remove_audio() {
rmmod hi3516cv500_acodec
# rmmod hi_tlv320aic31.ko
rmmod hi3516cv500_adec
rmmod hi3516cv500_aenc
rmmod hi3516cv500_ao
rmmod hi3516cv500_ai
rmmod hi3516cv500_aio
echo "remove audio"
}
insert_isp() {
insmod hi3516cv500_isp.ko
}
insert_gyro() {
insmod extdrv/hi_spi.ko
insmod hi3516cv500_gyrodis.ko
insmod hi3516cv500_motionfusion.ko
insmod extdrv/motionsensor_mng.ko
insmod extdrv/motionsensor_chip.ko
}
remove_gyro() {
rmmod motionsensor_chip
rmmod motionsensor_mng
rmmod hi3516cv500_motionfusion
rmmod hi3516cv500_gyrodis
rmmod hi_spi
}
insert_ko() {
# driver load
insert_osal
# sys config
insmod sys_config.ko chip=${chipid} sensors=sns0=$SNS_TYPE0,sns1=$SNS_TYPE1, g_cmos_yuv_flag=$YUV_TYPE0
# insmod hi_tzasc.ko
insmod hi3516cv500_base.ko
insmod hi3516cv500_sys.ko
insmod hi3516cv500_tde.ko
insmod hi3516cv500_rgn.ko
insmod hi3516cv500_gdc.ko
# insmod hi3516cv500_vgs.ko
insmod hi3516cv500_dis.ko
insmod hi3516cv500_vi.ko
insert_isp
insmod hi3516cv500_vpss.ko
# insmod hi3516cv500_vo.ko
# insmod hifb.ko video="hifb:vram0_size:16200" # default fb0:1080p
insmod hi3516cv500_chnl.ko
insmod hi3516cv500_vedu.ko
insmod hi3516cv500_rc.ko
insmod hi3516cv500_venc.ko
insmod hi3516cv500_h264e.ko
insmod hi3516cv500_h265e.ko
insmod hi3516cv500_jpege.ko
# insmod hi3516cv500_ive.ko save_power=1
# insmod hi_ipcm.ko
# insmod hi3516cv500_nnie.ko nnie_save_power=1 nnie_max_tskbuf_num=32
insmod hi_pwm.ko
insmod hi_piris.ko
insmod hi_sensor_i2c.ko
insmod hi_sensor_spi.ko
# insmod extdrv/hi_sil9136.ko norm=12 #1080P@30fps for umap7p
# insmod extdrv/mpu_bosch.ko
insert_audio
insmod hi_mipi_rx.ko
# insmod hi_mipi_tx.ko
# insmod hi_user.ko
# insert_gyro
}
remove_ko() {
# rmmod_gyro
# rmmod hi_user
remove_audio
# rmmod hi_mipi_tx
rmmod hi_mipi_rx
#rmmod hi_sil9136 &> /dev/null
rmmod hi_piris
rmmod hi_pwm
# rmmod hi3516cv500_nnie nnie_save_power=1 nnie_max_tskbuf_num=32
# rmmod hi_ipcm
# rmmod hi3516cv500_ive
rmmod hi3516cv500_rc
rmmod hi3516cv500_jpege
rmmod hi3516cv500_h264e
rmmod hi3516cv500_h265e
rmmod hi3516cv500_venc
rmmod hi3516cv500_vedu
rmmod hi3516cv500_chnl
# rmmod hifb
# rmmod hi3516cv500_vo
rmmod hi3516cv500_vpss
rmmod hi3516cv500_isp
rmmod hi3516cv500_vi
rmmod hi3516cv500_gdc
rmmod hi3516cv500_dis
rmmod hi3516cv500_vgs
rmmod hi3516cv500_rgn
rmmod hi3516cv500_tde
rmmod hi_sensor_i2c &>/dev/null
rmmod hi_sensor_spi &>/dev/null
# rmmod mpu_bosch
rmmod hi3516cv500_sys
rmmod hi3516cv500_base
# rmmod hi_tzasc
rmmod sys_config
rmmod hi_osal
}
sys_restore() {
sns_config
}
load_usage()
{
echo "Usage: ./load_hisilicon [-option] [sensor_name]"
echo "options:"
echo " -i insert modules"
echo " -r remove modules"
echo " -a remove modules first, then insert modules"
echo " -sensor sensor_name config sensor type [default: imx307]"
echo " -h help information"
echo -e "Available sensors: gc2053 imx307 imx327 imx335 os05a sc2231 sc2235 sc4236 sc3235 sc4236 etc."
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; }
{
temp = $1/1024/1024 + $2;
}
END { printf("0x%x00000\n", temp); }')
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"
}
######################parse arg###################################
b_arg_sensor0=0
b_arg_sensor1=0
b_arg_yuv_type0=0
b_arg_insmod=0
b_arg_remove=0
b_arg_restore=0
b_arg_total_mem=0
b_arg_os_mem=0
for arg in $@; do
if [ $b_arg_sensor0 -eq 1 ]; then
b_arg_sensor0=0
SNS_TYPE0=$arg
fi
if [ $b_arg_sensor1 -eq 1 ]; then
b_arg_sensor1=0
SNS_TYPE1=$arg
fi
if [ $b_arg_total_mem -eq 1 ]; then
b_arg_total_mem=0
mem_total=$arg
if [ -z $mem_total ]; then
echo "[error] mem_total is null"
exit
fi
fi
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
fi
fi
if [ $b_arg_yuv_type0 -eq 1 ]; then
b_arg_yuv_type0=0
YUV_TYPE0=$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
;;
"-sensor1")
b_arg_sensor1=1
;;
"-osmem")
b_arg_os_mem=1
;;
"-yuv0")
b_arg_yuv_type0=1
;;
"-total")
b_arg_total_mem=1
;;
"-restore")
b_arg_restore=1
;;
esac
done
#######################parse arg end########################
if [ $os_mem_size -ge $mem_total ]; then
echo "[err] os_mem[$os_mem_size], over total_mem[$mem_total]"
exit
fi
calc_mmz_info
#######################Action###############################
if [ $# -lt 1 ]; then
load_usage
exit 0
fi
# Sensor config
# SENSOR=${SENSOR:=imx307}
#
if [ -n "$SENSOR" ]; then
logger -s -p daemon.info -t hisilicon "Manualy set SENSOR as ${SENSOR}"
else
if fw_printenv -n sensor >/dev/null; then
SENSOR_ENV=$(fw_printenv -n sensor)
export SENSOR=${SENSOR_ENV}
logger -s -p daemon.info -t hisilicon "Get data from environment and set SENSOR as ${SENSOR}"
else
insert_detect
SENSOR_DETECT=$(ipcinfo -s)
export SENSOR=${SENSOR_DETECT:=unknown}
remove_detect
logger -s -p daemon.info -t hisilicon "Get data from ipcinfo and set SENSOR as ${SENSOR}"
fw_setenv sensor $SENSOR && logger -s -p daemon.info -t hisilicon "Write detected ${SENSOR} to U-Boot ENV"
fi
fi
if [ $b_arg_remove -eq 1 ]; then
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
fi
fi
if [ $b_arg_restore -eq 1 ]; then
sys_restore
fi

View File

@ -21,38 +21,55 @@ define HISILICON_OSDRV_HI3516CV500_INSTALL_TARGET_CMDS
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors/60fps $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/sensor/config/60fps/*.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-hi3516cv500/files/kmod/*.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/cma_osal.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_acodec.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_adec.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_aenc.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_ai.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_aio.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_ao.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_base.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_chnl.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_h264e.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_h265e.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_isp.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_ive.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_jpege.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_rc.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_rgn.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_sys.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_tde.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_vedu.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_venc.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_vgs.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_vi.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_vpss.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516ev200_wdt.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/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-hi3516cv500/files/kmod/hi_osal.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_pwm.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/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-hi3516cv500/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-hi3516cv500/files/kmod/sys_config.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_acodec.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_adec.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_aenc.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_ai.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_aio.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_ao.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_base.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_chnl.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_dis.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_gdc.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_h264e.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_h265e.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_hdmi.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_ir.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_isp.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_ive.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_jpegd.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_jpege.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_nnie.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_rc.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_rgn.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_svprt.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_sys.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_tde.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vdec.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vedu.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_venc.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vfmw.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vgs.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vi.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vo.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_vpss.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi3516cv500_wdt.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_cipher.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hifb.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/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-hi3516cv500/files/kmod/hi_mipi_tx.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_osal.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_piris.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_pwm.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_sample_ist.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/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-hi3516cv500/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-hi3516cv500/files/kmod/hi_ssp_ota5182.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_ssp_sony.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_ssp_st7789.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_tlv320aic31.ko
# $(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/hi_user.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.37/hisilicon $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/kmod/sys_config.ko
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/script/load*
@ -63,40 +80,44 @@ define HISILICON_OSDRV_HI3516CV500_INSTALL_TARGET_CMDS
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/sensor/*.so
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/*.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaaccomm.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacdec.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacenc.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacsbrdec.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacsbrenc.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libdnvqe.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhdmi.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiacs.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiae.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiawb_natura.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiawb.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hicalcflicker.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhi_cipher.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hidehaze.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hidrc.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhifisheyecalibrate.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiir_auto.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hildci.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_AEC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_AGC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_ANR.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_common.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_EQ.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_HPF.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_record.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_RES_ext.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_RES.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libisp.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libive.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libmd.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libmpi.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libnnie.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libsecurec.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libsvpruntime.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libtde.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libupvqe.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libVoiceEngine.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaaccomm.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacdec.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacenc.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacsbrdec.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libaacsbrenc.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libbcd.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libdnvqe.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiae.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiawb_natura.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiawb.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhi_cipher.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hidehaze.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hidrc.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hiir_auto.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/lib_hildci.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_AEC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_AGC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_ANR.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_common.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_EQ.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_HPF.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_record.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libhive_RES.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libisp.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libive.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libivp.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libmd.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libmpi.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libsecurec.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libtde.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libupvqe.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516cv500/files/lib/libVoiceEngine.so
endef
$(eval $(generic-package))

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# This is part of OpenIPC.org project | 2021.04.04
# This is part of OpenIPC.org project | 2022.01.19
#
# Board

View File

@ -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_TYPE:=ov4689}
SNS_TYPE0=${SNS_TYPE0:=imx385}
SNS_TYPE1="NULL"
WORK_MODE="single_pipe"
report_error() {
echo "******* Error: There's something wrong, please check! *****"
@ -31,16 +33,18 @@ insert_osal() {
insert_detect() {
cd /lib/modules/3.18.20/hisilicon
sysconfig
insert_osal
insmod hi3519v101_base.ko
insmod hi3519v101_sys.ko vi_vpss_online=$b_arg_online sensor=$SNS_TYPE0,$SNS_TYPE1 mem_total=$mem_total
insert_isp
insmod hi_sensor_i2c.ko
insmod hi_sensor_spi.ko
insmod hi_ssp_sony.ko
insert_sns
}
remove_detect() {
rmmod hi_sensor_spi
rmmod hi_ssp_sony
rmmod hi_sensor_i2c
rmmod hi3519v101_isp
rmmod hi3519v101_sys
@ -55,7 +59,7 @@ insert_audio() {
insmod hi3519v101_aenc.ko
insmod hi3519v101_adec.ko
insmod hi_acodec.ko
#insmod extdrv/hi_tlv320aic31.ko
#insmod hi_tlv320aic31.ko
}
remove_audio() {
@ -68,60 +72,280 @@ remove_audio() {
rmmod hi3519v101_aio
}
spi0_4wire_pin_mux() {
#pinmux
devmem 0x1204018c 32 0x1 #SPI0_SCLK
devmem 0x12040190 32 0x1 #SPI0_SD0
devmem 0x12040194 32 0x1 #SPI0_SDI
devmem 0x12040198 32 0x1 #SPI0_CSN
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
devmem 0x12040180 32 0x0 #SENSOR0_RSTN
devmem 0x12040184 32 0x1 #SENSOR0_HS,from vi0
devmem 0x12040188 32 0x1 #SENSOR0_VS,from vi0
#sensor0 drive capability
devmem 0x12040988 32 0x150 #SENSOR0_CLK
devmem 0x1204098c 32 0x170 #SENSOR0_RSTN
devmem 0x12040990 32 0x170 #SENSOR0_HS
devmem 0x12040994 32 0x170 #SENSOR0_VS
#drive capability
devmem 0x12040998 32 0x150 #SPI0_SCLK
devmem 0x1204099c 32 0x160 #SPI0_SD0
devmem 0x120409a0 32 0x160 #SPI0_SDI
devmem 0x120409a4 32 0x160 #SPI0_CSN
}
spi1_4wire_pin_mux() {
#pinmux
devmem 0x12040018 32 0x1 #SPI1_SCLK
devmem 0x1204001c 32 0x1 #SPI1_SD0
devmem 0x12040020 32 0x1 #SPI1_SDI
devmem 0x12040024 32 0x1 #SPI1_CSN
#sensor1 pinmux
devmem 0x12040008 32 0x1 #SENSOR1_CLK
devmem 0x1204000c 32 0x0 #SENSOR1_RSTN
devmem 0x12040010 32 0x2 #SENSOR1_HS,from vi1
devmem 0x12040014 32 0x2 #SENSOR1_VS,from vi1
#sensor1 drive capability
devmem 0x12040808 32 0x150 #SENSOR1_CLK
devmem 0x1204080c 32 0x170 #SENSOR1_RSTN
devmem 0x12040810 32 0x170 #SENSOR1_HS
devmem 0x12040814 32 0x170 #SENSOR1_VS
#drive capability
devmem 0x12040818 32 0x150 #SPI1_SCLK
devmem 0x1204081C 32 0x160 #SPI1_SD0
devmem 0x12040820 32 0x160 #SPI1_SDI
devmem 0x12040824 32 0x160 #SPI1_CSN
}
spi0_3wire_pin_mux() {
#pinmux
devmem 0x1204018c 32 0x3 #SPI0_3WIRE_CLK
devmem 0x12040190 32 0x3 #SPI0_3WIRE_DATA
devmem 0x12040198 32 0x3 #SPI0_3WIRE_CSN
#vi1 pinmux
devmem 0x12040030 32 0x1 #VI1_CLK
devmem 0x12040028 32 0x1 #VI1_HS
devmem 0x1204002c 32 0x1 #VI1_VS
devmem 0x12040034 32 0x1 #VI1_DATA0
devmem 0x12040038 32 0x1 #VI1_DATA1
devmem 0x1204003c 32 0x1 #VI1_DATA2
devmem 0x12040040 32 0x1 #VI1_DATA3
devmem 0x12040044 32 0x1 #VI1_DATA4
devmem 0x12040048 32 0x1 #VI1_DATA5
#vi1 drive capability
devmem 0x12040830 32 0x170 #VI1_CLK
devmem 0x12040828 32 0x170 #VI1_HS
devmem 0x1204082c 32 0x170 #VI1_VS
devmem 0x12040834 32 0x170 #VI1_DATA0
devmem 0x12040838 32 0x170 #VI1_DATA1
devmem 0x1204083c 32 0x170 #VI1_DATA2
devmem 0x12040840 32 0x170 #VI1_DATA3
devmem 0x12040844 32 0x170 #VI1_DATA4
devmem 0x12040848 32 0x170 #VI1_DATA5
#drive capability
devmem 0x12040998 32 0x150 #SPI0_3WIRE_CLK
devmem 0x1204099c 32 0x160 #SPI0_3WIRE_DATA
devmem 0x120409a4 32 0x160 #SPI0_3WIRE_CSN
}
i2c0_pin_mux() {
#pinmux
devmem 0x12040190 32 0x2 #I2C0_SDA
devmem 0x1204018c 32 0x2 #I2C0_SCL
}
i2c0_pin_mux() {
#pinmux
devmem 0x12040190 32 0x2 #I2C0_SDA
devmem 0x1204018c 32 0x2 #I2C0_SCL
#drive capability
devmem 0x1204099c 32 0x120 #I2C0_SDA
devmem 0x12040998 32 0x120 #I2C0_SCL
}
i2c1_pin_mux() {
#pinmux
devmem 0x1204001c 32 0x2 #I2C1_SDA
devmem 0x12040018 32 0x2 #I2C1_SCL
#drive capability
devmem 0x1204099c 32 0x120 #I2C0_SDA
devmem 0x12040998 32 0x120 #I2C0_SCL
}
i2c1_pin_mux() {
#pinmux
devmem 0x1204001c 32 0x2 #I2C1_SDA
devmem 0x12040018 32 0x2 #I2C1_SCL
#drive capability
devmem 0x1204081c 32 0x120 #I2C1_SDA
devmem 0x12040818 32 0x120 #I2C1_SCL
#drive capability
devmem 0x1204081c 32 0x120 #I2C1_SDA
devmem 0x12040818 32 0x120 #I2C1_SCL
}
#i2c2 -> sil9136 aic31
i2c2_pin_mux() {
#pinmux
devmem 0x1204005c 32 0x1 #I2C2_SDA
devmem 0x12040060 32 0x1 #I2C2_SCL
#drive capability
devmem 0x1204085C 32 0x120 #I2C2_SDA
devmem 0x12040860 32 0x120 #I2C2_SCL
}
#i2c3 -> adv7179
i2c3_pin_mux() {
#pinmux
devmem 0x12040178 32 0x3 #I2C3_SDA
devmem 0x12040160 32 0x3 #I2C3_SCL
#drive capability
devmem 0x12040984 32 0x120 #I2C3_SDA
devmem 0x1204096C 32 0x120 #I2C3_SCL
}
#spi1 -> vi
spi1_pin_mux() {
#pinmux
devmem 0x12040018 32 0x1 #SPI1_SCLK
devmem 0x1204001c 32 0x1 #SPI1_SD0
devmem 0x12040020 32 0x1 #SPI1_SDI
devmem 0x12040024 32 0x1 #SPI1_CSN
#drive capability
devmem 0x12040818 32 0x150 #SPI1_SCLK
devmem 0x1204081C 32 0x160 #SPI1_SD0
devmem 0x12040820 32 0x160 #SPI1_SDI
devmem 0x12040824 32 0x160 #SPI1_CSN
}
#spi3 -> LCD
spi3_pin_mux() {
#pinmux
devmem 0x12040160 32 0x1 #SPI3_SCLK
devmem 0x12040178 32 0x1 #SPI3_SD0
devmem 0x12040170 32 0x1 #SPI3_SDI
devmem 0x12040174 32 0x1 #SPI3_CSN
#drive capability
devmem 0x1204096C 32 0x150 #SPI3_SCLK
devmem 0x12040984 32 0x160 #SPI3_SD0
devmem 0x1204097C 32 0x160 #SPI3_SDI
devmem 0x12040980 32 0x160 #SPI3_CSN
}
#rgmii
net_rgmii_pinmux() {
#pinmux
devmem 0x1204013C 32 0x2
devmem 0x12040140 32 0x2
devmem 0x12040144 32 0x2
devmem 0x12040148 32 0x2
devmem 0x1204014C 32 0x2
devmem 0x12040150 32 0x2
devmem 0x12040154 32 0x2
devmem 0x12040158 32 0x2
devmem 0x1204015C 32 0x2
devmem 0x1204015C 32 0x2
devmem 0x12040164 32 0x2
devmem 0x12040168 32 0x2
devmem 0x1204016C 32 0x2
devmem 0x12040170 32 0x2
devmem 0x12040174 32 0x2
devmem 0x12040178 32 0x2
#drive capability
devmem 0x12040948 32 0x0d0
devmem 0x1204094C 32 0x0c0
devmem 0x12040950 32 0x0d0
devmem 0x12040954 32 0x0d0
devmem 0x12040958 32 0x0d0
devmem 0x1204095C 32 0x0d0
devmem 0x12040960 32 0x130
devmem 0x12040964 32 0x130
devmem 0x12040968 32 0x130
devmem 0x1204096C 32 0x130
devmem 0x12040970 32 0x130
devmem 0x12040974 32 0x130
devmem 0x12040978 32 0x130
devmem 0x1204097C 32 0x050
devmem 0x12040980 32 0x120
devmem 0x12040984 32 0x120
}
if [ ${SNS_TYPE1} != "NULL" ]; then
vicap1_pwrdn >/dev/null
fi
if [ ${WORK_MODE} == "double_pipe" ]; then
vicap1_pwrdn >/dev/null
fi
clkcfg() {
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
devmem 0x12010058 32 0x3 # VPSS0 unreset
devmem 0x12010058 32 0x2 # VPSS0 unreset
devmem 0x1201005c 32 0x2 # VGS unreset
devmem 0x12010060 32 0x2 # JPGE unreset
devmem 0x12010064 32 0x2 # TDE unreset
devmem 0x1201006c 32 0x2 # IVE unreset
devmem 0x12010070 32 0x2 # FD unreset
devmem 0x12010074 32 0x2 # GDC unreset
devmem 0x1201007C 32 0x2a # HASH&SAR ADC&CIPHER unreset
devmem 0x12010080 32 0x2 # AIAO unreset,clock 1188M
devmem 0x12010084 32 0x2 # GZIP unreset
devmem 0x120100d8 32 0xa # ddrt efuse enable clock, unreset
devmem 0x120100e0 32 0xa8 # rsa trng klad enable clock, unreset
#devmem 0x120100e0 32 0xaa # rsa trng klad DMA enable clock, unreset
devmem 0x12010040 32 0x60
devmem 0x12010040 32 0x0 # sensor unreset,unreset the control module with slave-mode
#VDP_OUT
#devmem 0x12010044 32 0x00015ff4 # D1@30fps,BT656 CVBS
#devmem 0x12010044 32 0x00004ff0 # 1080p30 BT1120
# IVE[21:19] GDC[18:16] VGS[15:13] VEDU [12:10] VPSS0[7:5] VI0[2:0]
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M VI0:300M---0x00494841
#devmem 0x1201004c 32 0x00094c21;
# ISP0 [18:14] ISP1[10:6] VI1[2:0]
# SDK config: ISP0:300M, ISP1:300M, VI1:300M
#devmem 0x12010054 32 0x00004041;
# configure with different sensor type
#devmem 0x12010040 32 0x11; #226 8 lane sensor clock 72M
# pcie clk enable
devmem 0x120100b0 32 0x000001f0
}
vi_vpss_online_config() {
# -------------vi vpss online open
if [ $b_vpss_online -eq 1 ]; then
echo "==============vi_vpss_online=============="
devmem 0x12030000 32 0x00000204
# write priority select
devmem 0x12030054 32 0x55552356 # each module 4bit cci --- ddrt --- --- gzip --- ---
devmem 0x12030058 32 0x16554411 # each module 4bit vicap1 hash ive aio jpge tde vicap0 vdp
devmem 0x1203005c 32 0x33466314 # each module 4bit mmc2 A17 fmc sdio1 sdio0 A7 vpss0 vgs
devmem 0x12030060 32 0x46266666 # each module 4bit gdc usb3/pcie vedu usb2 cipher dma2 dma1 gsf
# read priority select
devmem 0x12030064 32 0x55552356 # each module 4bit cci --- ddrt --- --- gzip --- ---
devmem 0x12030068 32 0x06554401 # each module 4bit vicap1 hash ive aio jpge tde vicap0 vdp
devmem 0x1203006c 32 0x33466304 # each module 4bit mmc2 A17 fmc sdio1 sdio0 A7 vpss0 vgs
devmem 0x12030070 32 0x46266666 # each module 4bit gdc usb3/pcie vedu usb2 cipher dma2 dma1 gsf
devmem 0x120641f0 32 0x1 # use pri_map
# write timeout select
devmem 0x1206409c 32 0x00000040 #
devmem 0x120640a0 32 0x00000000 #
#read timeout select
devmem 0x120640ac 32 0x00000040 #
devmem 0x120640b0 32 0x00000000 #
else
echo "==============vi_vpss_offline=============="
devmem 0x12030000 32 0x00000004
# write priority select
devmem 0x12030054 32 0x55552366 # each module 4bit cci --- ddrt --- --- gzip --- ---
devmem 0x12030058 32 0x16556611 # each module 4bit vicap1 hash ive aio jpge tde vicap0 vdp
devmem 0x1203005c 32 0x43466445 # each module 4bit mmc2 A17 fmc sdio1 sdio0 A7 vpss0 vgs
devmem 0x12030060 32 0x56466666 # each module 4bit gdc usb3/pcie vedu usb2 cipher dma2 dma1 gsf
# read priority select
devmem 0x12030064 32 0x55552366 # each module 4bit cci --- ddrt --- --- gzip --- ---
devmem 0x12030068 32 0x06556600 # each module 4bit vicap1 hash ive aio jpge tde vicap0 vdp
devmem 0x1203006c 32 0x43466435 # each module 4bit mmc2 A17 fmc sdio1 sdio0 A7 vpss0 vgs
devmem 0x12030070 32 0x56266666 # each module 4bit gdc usb3/pcie vedu usb2 cipher dma2 dma1 gsf
devmem 0x120641f0 32 0x1 # use pri_map
# write timeout select
devmem 0x1206409c 32 0x00000040 #
devmem 0x120640a0 32 0x00000000 #
# read timeout select
devmem 0x120640ac 32 0x00000040 # each module 8bit
devmem 0x120640b0 32 0x00000000 #
fi
}
#########################################################################################
ai_config() {
devmem 0x120300e0 32 0xd # internal codec: AIO MCLK out, CODEC AIO TX MCLK
#devmem 0x120300e0 32 0xe # external codec: AIC31 AIO MCLK out, CODEC AIO TX MCLK
}
echo "++++++++++++++++++++++++++++++++++++++++++++++"
b_vpss_online=1
if [ $# -ge 1 ]; then
b_vpss_online=$1
fi
vicap_pin_mux
vi_vpss_online_config
ai_config
clkcfg
}
insert_sns() {
@ -138,7 +362,7 @@ insert_sns() {
devmem 0x1201004c 32 0x00094c23
devmem 0x12010054 32 0x00024041
spi0_4wire_pin_mux
insmod extdrv/hi_ssp_sony.ko
insmod hi_ssp_sony.ko
;;
imx274)
tmp=0x11
@ -148,9 +372,9 @@ insert_sns() {
devmem 0x1201004c 32 0x00094c23
devmem 0x12010054 32 0x0004041
spi0_4wire_pin_mux
insmod extdrv/hi_ssp_sony.ko
insmod hi_ssp_sony.ko
;;
imx274_mipi)
imx274_mipi | imx334 | imx335)
tmp=0x14
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:300M,isp0:300M, viu1:300M,isp1:300M
@ -159,6 +383,54 @@ insert_sns() {
devmem 0x12010040 32 0x14 # sensor0 clk_en, 24MHz
i2c0_pin_mux
;;
imx294)
tmp=0x14
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:600M,isp0:600M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c23
devmem 0x12010054 32 0x00024041
devmem 0x12010040 32 0x14 # sensor0 clk_en, 24MHz
i2c0_pin_mux
;;
imx117)
tmp=0x11
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c21
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x11 # sensor0 clk_en, 72MHz
spi0_4wire_pin_mux
insmod extdrv/hi_ssp_sony.ko
;;
imx265)
tmp=0x18
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
#imx265: viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c21
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x18 # sensor0 clk_en, 37.125MHz
spi0_4wire_pin_mux
insmod extdrv/hi_ssp_sony.ko
;;
imx377)
tmp=0x14
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
#viu0:600M,isp0:600M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c23
devmem 0x12010054 32 0x00024041
devmem 0x12010040 32 0x14 # sensor0 clk_en, 24MHz
i2c0_pin_mux
;;
imx317)
tmp=0x11
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c21
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x11 # sensor0 clk_en, 72MHz
spi0_4wire_pin_mux
insmod extdrv/hi_ssp_sony.ko
;;
imx290)
tmp=0x18
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
@ -168,6 +440,47 @@ insert_sns() {
devmem 0x12010040 32 0x18 # sensor0 clk_en, 37.125MHz
i2c0_pin_mux
;;
imx327)
tmp=0x18
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
#imx290:viu0:340M,isp0:214M, viu1:340M,isp1:214M
devmem 0x1201004c 32 0x00094c24
devmem 0x12010054 32 0x0004
devmem 0x12010040 32 0x18 # sensor0 clk_en, 37.125MHz
i2c0_pin_mux
;;
mn34220)
tmp=0x18
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c21
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x18 # sensor0 clk_en, 37.125MHz
i2c0_pin_mux
;;
mn34120)
tmp=0x12
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c21
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x12 # sensor0 clk_en, 54MHz
spi0_3wire_pin_mux
insmod extdrv/hi_ssp_3wire.ko
;;
imx385_lvds)
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
@ -177,7 +490,27 @@ insert_sns() {
devmem 0x12010040 32 0x14 # sensor0 clk_en, 24MHz
i2c0_pin_mux
;;
os08a10)
sc4210)
tmp=0x14
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
#ov4689: viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094c21
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x1a # sensor0 clk_en, 27MHz
i2c0_pin_mux
;;
imx185 | imx385 | imx178)
tmp=0x18
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
# viu0:300M,isp0:300M, viu1:300M,isp1:300M
devmem 0x1201004c 32 0x00094421
devmem 0x12010054 32 0x0004041
devmem 0x12010040 32 0x18 # sensor0 clk_en, 37.125MHz
i2c0_pin_mux
#spi0_4wire_pin_mux;
#insmod extdrv/hi_ssp_sony.ko;
;;
os08a | os08a10)
tmp=0x14
# SDK config: IVE:396M, GDC:475M, VGS:500M, VEDU:600M, VPSS:300M
#os08a10: viu0: 600M, isp0:300M, viu1:300M,isp1:300M
@ -291,28 +624,10 @@ vicap1_pwrdn() {
devmem 0x120a012c 32 0x2
devmem 0x1201003c 32 0x120003ff
}
sys_config() {
# pinmux configuration
sh ./pinmux.sh -net -vi >/dev/null
if [ ${SNS_TYPE1} != "NULL" ]; then
vicap1_pwrdn >/dev/null
fi
if [ ${WORK_MODE} == "double_pipe" ]; then
vicap1_pwrdn >/dev/null
fi
#vicap1_pwrdn;
#vicap1_pwrdn > /dev/null
# clock configuration
sh clkcfg.sh >/dev/null
# system configuration
sh sysctl.sh $b_arg_online >/dev/null
}
insert_ko() {
# sys config
sys_config
sysconfig
# driver load
insert_osal
@ -322,7 +637,7 @@ insert_ko() {
#insmod hi3519v101_tde.ko
insmod hi3519v101_region.ko
insmod hi3519v101_fisheye.ko
#insmod hi3519v101_fisheye.ko
#insmod hi3519v101_vgs.ko
insert_isp
@ -343,20 +658,24 @@ insert_ko() {
#insmod hi3519v101_ive.ko save_power=1
insmod hi3519v101_photo.ko
#
insmod extdrv/hi_sensor_i2c.ko
insmod extdrv/hi_pwm.ko
insmod extdrv/hi_piris.ko
insmod hi_sensor_i2c.ko
insmod hi_pwm.ko
insmod hi_piris.ko
insert_audio
insmod hi_mipi.ko
insmod hi_user.ko
#insmod hi_user.ko
insert_sns
# sh ./pinmux.sh -vo BT1120 > /dev/null
devmem 0x12010044 32 0x4ff0
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 ===="
}
@ -364,12 +683,12 @@ insert_ko() {
remove_ko() {
remove_audio
remove_sns
rmmod hi_user
#rmmod hi_user
rmmod hi_pwm
rmmod hi_piris
#rmmod hi3519v101_photo
rmmod hi3519v101_ive
rmmod hi3519v101_photo
#rmmod hi3519v101_ive
rmmod hi3519v101_rc
rmmod hi3519v101_jpege
@ -385,7 +704,7 @@ remove_ko() {
rmmod hi3519v101_isp
rmmod hi3519v101_viu
rmmod hi_mipi
rmmod hi3519v101_fisheye
#rmmod hi3519v101_fisheye
#rmmod hi3519v101_vgs
rmmod hi3519v101_region
@ -550,6 +869,7 @@ fi
# Sensor config
# SENSOR=${SENSOR:=imx307}
#
if [ -n "$SENSOR" ]; then
logger -s -p daemon.info -t hisilicon "Manualy set SENSOR as ${SENSOR}"
else
@ -571,8 +891,13 @@ if [ $b_arg_remove -eq 1 ]; then
remove_ko
fi
if [ $b_arg_insmod -eq 1 ]; then
insert_ko
if [ "$SENSOR" = "unknown" ]; then
exit 1
else
if [ $b_arg_insmod -eq 1 ]; then
cd /lib/modules/3.18.20/hisilicon
insert_ko;
fi
fi
if [ $b_arg_restore -eq 1 ]; then

View File

@ -0,0 +1,106 @@
[sensor]
Sensor_type=stSnsObj
Mode=WDR_MODE_NONE
DllFile=libsns_imx385.so
[mode]
input_mode=INPUT_MODE_MIPI
dev_attr=0
[mipi]
data_type=RAW_DATA_10BIT
lane_id = 0|1|2|3|-1|-1|-1|-1| ;lane_id: -1 - disable
[isp_image]
Isp_x =0
Isp_y =0
Isp_W =1920
Isp_H =1080
Isp_FrameRate=25
Isp_Bayer=BAYER_RGGB
[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 =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)
FixCode=0
FieldPolar=0
DataPath=1
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,
DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1
DevRect_x=4
DevRect_y=4
DevRect_w=1920
DevRect_h=1080
[vi_chn]
CapRect_X =0
CapRect_Y =0
CapRect_Width=1920
CapRect_Height=1080
DestSize_Width=1920
DestSize_Height=1080
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 =23;PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 22
;PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 23 ...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

View File

@ -1,5 +1,5 @@
[sensor]
Sensor_type=os05a
Sensor_type=stSnsOs05aObj
Mode=WDR_MODE_NONE
DllFile=libsns_os05a10.so

View File

@ -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

View File

@ -1,5 +1,5 @@
[sensor]
Sensor_type=ov4689
Sensor_type=stSnsOv4689SlaveObj
Mode=WDR_MODE_NONE
DllFile=libsns_ov4689.so

View File

@ -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
@ -75,17 +75,17 @@ define HISILICON_OSDRV_HI3519V101_INSTALL_TARGET_CMDS
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhi_cipher.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/lib_hidefog.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/lib_hiirauto.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_AEC.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_AGC.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_ANR.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_common.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_EQ.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_GAIN.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_HDR.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_HPF.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_MBC.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_RES.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_RNR.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_AEC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_AGC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_ANR.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_common.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_EQ.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_GAIN.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_HDR.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_HPF.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_MBC.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_RES.so
# $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libhive_RNR.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libisp.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libive.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3519v101/files/lib/libmd.so

View File

@ -5,7 +5,7 @@
################################################################################
MAJESTIC_HI3519V101_VERSION = current
MAJESTIC_HI3519V101_SOURCE = majestic.hi3516cv300.lite.master.tar.bz2
MAJESTIC_HI3519V101_SOURCE = majestic.hi3519v101.lite.master.tar.bz2
MAJESTIC_HI3519V101_SITE = https://openipc.s3-eu-west-1.amazonaws.com
MAJESTIC_HI3519V101_LICENSE = MIT
MAJESTIC_HI3519V101_LICENSE_FILES = LICENSE