Compile hailo_pci module from original sources on RPi 5 (#3732)

Instead of using in-tree module on RPi 5, build it as a module from the
original sources. This will give us better control over the version used and
will also allow us for easier way to add the module to other platforms.

This also makes 017d172 unnecessary anymore.
This commit is contained in:
Jan Čermák 2024-12-11 15:13:20 +01:00 committed by GitHub
parent 2b30e2bf53
commit e30cf80066
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 31 additions and 4 deletions

View File

@ -3,6 +3,7 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/eq3_char_loop/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/gasket/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/generic_raw_uart/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hailo8-firmware/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hailo-pci/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/hassio/Config.in"
source "$BR2_EXTERNAL_HASSOS_PATH/package/khadas-boot/Config.in"

View File

@ -7,3 +7,6 @@ CONFIG_LOCALVERSION="-haos-raspi"
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_ACTIVITY=y
# do not use RPi in-tree driver, use one from BR package instead
# CONFIG_MEDIA_PCI_HAILO is not set

View File

@ -144,6 +144,7 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_GASKET=y
BR2_PACKAGE_HAILO8_FIRMWARE=y
BR2_PACKAGE_HAILO_PCI=y
BR2_PACKAGE_HASSIO=y
BR2_PACKAGE_HASSIO_ARCH="aarch64"
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi5-64"

View File

@ -0,0 +1,7 @@
config BR2_PACKAGE_HAILO_PCI
bool "Hailo PCIe Driver"
depends on BR2_LINUX_KERNEL
help
Kernel driver for interacting with Hailo devices over PCIe.
Used e.g. for Hailo-8(L) PCIe device found e.g. on Raspberry
Pi AI Kit and Raspberry Pi AI HAT+.

View File

@ -0,0 +1,3 @@
# Locally computed
sha256 f9c375a1be4a41f7b70301dd83c91cb89e41567478859b77eef375a52d782505 LICENSE
sha256 0c687d229968ba3092ee214ed45be8ccaedf005f8a2c4fb8f26c439608c960e9 hailo-pci-v4.19.0.tar.gz

View File

@ -0,0 +1,8 @@
HAILO_PCI_VERSION = v4.19.0
HAILO_PCI_SITE = $(call github,hailo-ai,hailort-drivers,$(HAILO_PCI_VERSION))
HAILO_PCI_LICENSE = GPL-2.0
HAILO_PCI_LICENSE_FILES = LICENSE
HAILO_PCI_MODULE_SUBDIRS = linux/pcie
$(eval $(kernel-module))
$(eval $(generic-package))

View File

@ -1,6 +1,6 @@
config BR2_PACKAGE_HAILO8_FIRMWARE
bool "Hailo-8 Firmware"
help
Firmware for Hailo-8 PCIe device found e.g. on Raspberry Pi AI
Kit and Raspberry Pi AI HAT+. Requires the hailo kernel driver
(included in Raspberry Pi's downstream kernel).
Firmware for Hailo-8 PCIe device found e.g. on Raspberry Pi
AI Kit and Raspberry Pi AI HAT+. Required for hailo_pci kernel
module.

View File

@ -13,9 +13,13 @@ define HAILO8_FIRMWARE_EXTRACT_CMDS
cp $(HAILO8_FIRMWARE_DL_DIR)/$(HAILO8_FIRMWARE_SOURCE) $(@D)
endef
define HAILO8_FIRMWARE_BUILD_CMDS
cp $(@D)/$(HAILO8_FIRMWARE_SOURCE) $(@D)/hailo8_fw.bin
endef
define HAILO8_FIRMWARE_INSTALL_TARGET_CMDS
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/hailo
$(INSTALL) -m 0644 $(@D)/$(HAILO8_FIRMWARE_SOURCE) $(TARGET_DIR)/lib/firmware/hailo/
$(INSTALL) -m 0644 $(@D)/hailo8_fw.bin $(TARGET_DIR)/lib/firmware/hailo/
endef
$(eval $(generic-package))