From 812109cfd5f83ab21e02a37ef58dda4e44c98368 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Sat, 8 Feb 2025 22:53:02 +0800 Subject: [PATCH] x86: add support for Intel NPU device AI accelerator (Meteor Lake/Lunar Lake/Arrow Lake) --- package/firmware/ivpu-firmware/Makefile | 41 +++++++++++++++++++++++++ package/kernel/linux/modules/video.mk | 17 ++++++++++ 2 files changed, 58 insertions(+) create mode 100644 package/firmware/ivpu-firmware/Makefile diff --git a/package/firmware/ivpu-firmware/Makefile b/package/firmware/ivpu-firmware/Makefile new file mode 100644 index 00000000000000..1e0e6a406428ca --- /dev/null +++ b/package/firmware/ivpu-firmware/Makefile @@ -0,0 +1,41 @@ +# +# Copyright (C) 2022 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ivpu-firmware +PKG_VERSION:=1.10.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL_FILE:=v$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://github.com/intel/linux-npu-driver/archive/refs/tags +PKG_HASH:=a756de38cde7bd5a0402854d08429d271a33784835b80db3be672ade80570900 +PKG_BUILD_DIR:=$(BUILD_DIR)/linux-npu-driver-$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk + +define Package/ivpu-firmware + SECTION:=firmware + CATEGORY:=Firmware + TITLE:=Intel VPU firmware + URL:=$(PKG_SOURCE_URL) + DEPENDS:= +endef + +define Build/Compile + true +endef + +define Package/ivpu-firmware/install + $(INSTALL_DIR) $(1)/lib/firmware/intel/vpu + $(INSTALL_DATA) \ + $(PKG_BUILD_DIR)/firmware/bin/*.bin \ + $(1)/lib/firmware/intel/vpu +endef + +$(eval $(call BuildPackage,ivpu-firmware)) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index eedaa1b2c4410d..b964a6fc48b55a 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -494,6 +494,23 @@ endef $(eval $(call KernelPackage,drm-i915)) +define KernelPackage/drm-ivpu + SUBMENU:=$(VIDEO_MENU) + TITLE:=Intel VPU DRM support + DEPENDS:=@TARGET_x86 +ivpu-firmware + KCONFIG:=CONFIG_DRM_ACCEL_IVPU \ + CONFIG_DRM_ACCEL_HABANALABS=n \ + CONFIG_DRM_ACCEL_QAIC=n \ + CONFIG_DRM_ACCEL=y + FILES:=$(LINUX_DIR)/drivers/accel/ivpu/intel_vpu.ko + AUTOLOAD:=$(call AutoProbe,intel_vpu) +endef + +define KernelPackage/drm-ivpu/description + Direct Rendering Manager (DRM) support for Intel VPU +endef + +$(eval $(call KernelPackage,drm-ivpu)) define KernelPackage/drm-imx SUBMENU:=$(VIDEO_MENU)