Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions br-ext-chip-hisilicon/configs/hi3516cv200_lite_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ BR2_OPENIPC_FLASH_SIZE="8"

# Packages
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_HISILICON_OPENSDK=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSONFILTER=y
Expand Down
1 change: 1 addition & 0 deletions br-ext-chip-hisilicon/configs/hi3518ev200_lite_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ BR2_OPENIPC_FLASH_SIZE="8"

# Packages
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_HISILICON_OPENSDK=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSONFILTER=y
Expand Down
42 changes: 37 additions & 5 deletions general/package/hisilicon-opensdk/hisilicon-opensdk.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
################################################################################

HISILICON_OPENSDK_SITE = $(call github,openipc,openhisilicon,$(HISILICON_OPENSDK_VERSION))
HISILICON_OPENSDK_VERSION = 2001d3b
HISILICON_OPENSDK_VERSION = 1e2e1b4

HISILICON_OPENSDK_LICENSE = GPL-3.0
HISILICON_OPENSDK_LICENSE_FILES = LICENSE
Expand All @@ -21,9 +21,12 @@ HISILICON_OPENSDK_MODULE_MAKE_OPTS = \
DISABLE_PM=1 \
CHIPARCH=$(OPENIPC_SOC_FAMILY)

# CV500 has TDE/VO blobs; other platforms don't support them yet
# CV500 and CV200 have TDE blobs; other platforms don't support TDE yet
ifneq ($(OPENIPC_SOC_FAMILY),hi3516cv500)
HISILICON_OPENSDK_MODULE_MAKE_OPTS += DISABLE_TDE=1 DISABLE_VO=1
ifneq ($(OPENIPC_SOC_FAMILY),hi3516cv200)
HISILICON_OPENSDK_MODULE_MAKE_OPTS += DISABLE_TDE=1
endif
HISILICON_OPENSDK_MODULE_MAKE_OPTS += DISABLE_VO=1
endif

ifeq ($(OPENIPC_SOC_FAMILY),hi3516ev200)
Expand All @@ -46,9 +49,38 @@ HISILICON_OPENSDK_SENSORS_hi3516cv500 = sony_imx335/libsns_imx335 sony_imx307/li

HISILICON_OPENSDK_SENSORS = $(HISILICON_OPENSDK_SENSORS_$(OPENIPC_SOC_FAMILY))

# For hi3516cv200: install opensdk .ko to hisilicon/ with vendor names,
# replacing the osdrv vendor modules.
ifeq ($(OPENIPC_SOC_FAMILY),hi3516cv200)
HISILICON_OPENSDK_KMOD_DST = $(TARGET_DIR)/lib/modules/4.9.37/hisilicon
define HISILICON_OPENSDK_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(HISILICON_OPENSDK_KMOD_DST)
$(INSTALL) -m 644 $(@D)/kernel/open_mmz.ko $(HISILICON_OPENSDK_KMOD_DST)/mmz.ko
$(INSTALL) -m 644 $(@D)/kernel/open_himedia.ko $(HISILICON_OPENSDK_KMOD_DST)/hi_media.ko
$(INSTALL) -m 644 $(@D)/kernel/open_sys_config.ko $(HISILICON_OPENSDK_KMOD_DST)/sys_config.ko
$(INSTALL) -m 644 $(@D)/kernel/open_mipi_rx.ko $(HISILICON_OPENSDK_KMOD_DST)/hi_mipi.ko
$(INSTALL) -m 644 $(@D)/kernel/open_pwm.ko $(HISILICON_OPENSDK_KMOD_DST)/pwm.ko
$(INSTALL) -m 644 $(@D)/kernel/open_piris.ko $(HISILICON_OPENSDK_KMOD_DST)/piris.ko
$(INSTALL) -m 644 $(@D)/kernel/open_sensor_i2c.ko $(HISILICON_OPENSDK_KMOD_DST)/sensor_i2c.ko
$(INSTALL) -m 644 $(@D)/kernel/open_sensor_spi.ko $(HISILICON_OPENSDK_KMOD_DST)/sensor_spi.ko
$(INSTALL) -m 644 $(@D)/kernel/open_hi_user.ko $(HISILICON_OPENSDK_KMOD_DST)/hiuser.ko
$(INSTALL) -m 644 $(@D)/kernel/open_ir.ko $(HISILICON_OPENSDK_KMOD_DST)/ir.ko
$(INSTALL) -m 644 $(@D)/kernel/open_rtc.ko $(HISILICON_OPENSDK_KMOD_DST)/hi_rtc.ko
$(INSTALL) -m 644 $(@D)/kernel/open_wdt.ko $(HISILICON_OPENSDK_KMOD_DST)/wdt.ko
for mod in base sys isp vpss venc h264e jpege rc chnl vgs ive \
tde aio ai ao aenc adec; do \
[ -f $(@D)/kernel/open_$${mod}.ko ] && \
$(INSTALL) -m 644 $(@D)/kernel/open_$${mod}.ko \
$(HISILICON_OPENSDK_KMOD_DST)/hi3518e_$${mod}.ko || true; \
done
$(INSTALL) -m 644 $(@D)/kernel/open_vi.ko $(HISILICON_OPENSDK_KMOD_DST)/hi3518e_viu.ko
$(INSTALL) -m 644 $(@D)/kernel/open_rgn.ko $(HISILICON_OPENSDK_KMOD_DST)/hi3518e_region.ko
$(INSTALL) -m 644 $(@D)/kernel/open_acodec.ko $(HISILICON_OPENSDK_KMOD_DST)/acodec.ko
endef

# For hi3516cv500: install opensdk .ko directly to hisilicon/ with vendor names,
# replacing the osdrv vendor modules. This avoids doubling disk usage.
ifeq ($(OPENIPC_SOC_FAMILY),hi3516cv500)
else ifeq ($(OPENIPC_SOC_FAMILY),hi3516cv500)
HISILICON_OPENSDK_CHIP = hi3516cv500
HISILICON_OPENSDK_KMOD_DST = $(TARGET_DIR)/lib/modules/4.9.37/hisilicon
define HISILICON_OPENSDK_INSTALL_TARGET_CMDS
Expand Down Expand Up @@ -89,7 +121,7 @@ $(eval $(generic-package))

# Must be registered AFTER $(eval $(kernel-module)) so our cleanup runs
# after the kernel-module hook that populates extra/.
ifeq ($(OPENIPC_SOC_FAMILY),hi3516cv500)
ifneq ($(filter hi3516cv500 hi3516cv200,$(OPENIPC_SOC_FAMILY)),)
define HISILICON_OPENSDK_CLEANUP_EXTRA
rm -rf $(TARGET_DIR)/lib/modules/*/extra/open_*.ko
endef
Expand Down
Loading