mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 11:06:41 -05:00
Add a driver for Arm Ethos-U65/U85 NPUs. The Ethos-U NPU has a relatively simple interface with single command stream to describe buffers, operation settings, and network operations. It supports up to 8 memory regions (though no h/w bounds on a region). The Ethos NPUs are designed to use an SRAM for scratch memory. Region 2 is reserved for SRAM (like the downstream driver stack and compiler). Userspace doesn't need access to the SRAM. The h/w has no MMU nor external IOMMU and is a DMA engine which can read and write anywhere in memory without h/w bounds checks. The user submitted command streams must be validated against the bounds of the GEM BOs. This is similar to the VC4 design which validates shaders. The job submit is based on the rocket driver for the Rockchip NPU utilizing the GPU scheduler. It is simpler as there's only 1 core rather than 3. Tested on i.MX93 platform (U65) and FVP (U85) with Mesa Teflon support. Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Tomeu Vizoso <tomeu@tomeuvizoso.net> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20251020-ethos-v6-2-ecebc383c4b7@kernel.org Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Compute Acceleration device configuration
|
|
#
|
|
# This framework provides support for compute acceleration devices, such
|
|
# as, but not limited to, Machine-Learning and Deep-Learning acceleration
|
|
# devices
|
|
#
|
|
if DRM
|
|
|
|
menuconfig DRM_ACCEL
|
|
bool "Compute Acceleration Framework"
|
|
help
|
|
Framework for device drivers of compute acceleration devices, such
|
|
as, but not limited to, Machine-Learning and Deep-Learning
|
|
acceleration devices.
|
|
If you say Y here, you need to select the module that's right for
|
|
your acceleration device from the list below.
|
|
This framework is integrated with the DRM subsystem as compute
|
|
accelerators and GPUs share a lot in common and can use almost the
|
|
same infrastructure code.
|
|
Having said that, acceleration devices will have a different
|
|
major number than GPUs, and will be exposed to user-space using
|
|
different device files, called accel/accel* (in /dev, sysfs
|
|
and debugfs).
|
|
|
|
source "drivers/accel/amdxdna/Kconfig"
|
|
source "drivers/accel/ethosu/Kconfig"
|
|
source "drivers/accel/habanalabs/Kconfig"
|
|
source "drivers/accel/ivpu/Kconfig"
|
|
source "drivers/accel/qaic/Kconfig"
|
|
source "drivers/accel/rocket/Kconfig"
|
|
|
|
endif
|