mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			Merge branch 'master' of github.com:OpenIPC/firmware
						commit
						8bfe982719
					
				|  | @ -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 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 = <ðphy>; | ||||
| -	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 = <ðphy>; | ||||
| -	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 = <ðphy>; | ||||
| -	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 = <ðphy>; | ||||
| -	phy-mode = "rgmii";
 | ||||
| +	phy-mode = "rmii";
 | ||||
|  }; | ||||
|   | ||||
|  &gpio_chip0 { | ||||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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} | ||||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
											
												Binary file not shown.
											
										
									
								|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
| 
 | ||||
|  | @ -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 | ||||
| 
 | ||||
|  | @ -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 | ||||
| 
 | ||||
|  | @ -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 | ||||
|  | @ -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)) | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -1,5 +1,5 @@ | |||
| [sensor] | ||||
| Sensor_type=os05a | ||||
| Sensor_type=stSnsOs05aObj | ||||
| Mode=WDR_MODE_NONE | ||||
| DllFile=libsns_os05a10.so | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -1,5 +1,5 @@ | |||
| [sensor] | ||||
| Sensor_type=ov4689 | ||||
| Sensor_type=stSnsOv4689SlaveObj | ||||
| Mode=WDR_MODE_NONE | ||||
| DllFile=libsns_ov4689.so | ||||
| 
 | ||||
|  |  | |||
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue