linux/drivers
Rob Herring (Arm) 5a5e9c0228 accel: Add Arm Ethos-U NPU driver
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>
2025-10-24 15:07:39 -05:00
..
accel accel: Add Arm Ethos-U NPU driver 2025-10-24 15:07:39 -05:00
accessibility
acpi More ACPI support updates for 6.18-rc1 2025-10-07 09:45:07 -07:00
amba
android rust_binder: add Rust Binder driver 2025-09-19 09:40:46 +02:00
ata ata: libata-core: relax checks in ata_read_log_directory() 2025-10-13 09:12:36 +02:00
atm
auxdisplay
base More power management updates for 6.18-rc1 2025-10-07 09:39:51 -07:00
bcma
block block-6.18-20251009 2025-10-10 10:37:13 -07:00
bluetooth Bluetooth: bcsp: receive data only if registered 2025-09-27 11:37:02 -04:00
bus Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
cache
cdrom
cdx Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
char tpm_crb: Add idle support for the Arm FF-A start method 2025-10-18 14:33:22 +03:00
clk There's a bunch of patches here across drivers/clk/ to migrate drivers to use 2025-10-07 09:28:37 -07:00
clocksource hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
comedi
connector
counter
cpufreq CPUFreq fixes for 6.18 2025-10-01 13:59:28 +02:00
cpuidle cpuidle: Fail cpuidle device registration if there is one already 2025-09-20 13:08:54 +02:00
crypto This push contains the following changes: 2025-10-08 09:38:31 -07:00
cxl cxl/trace: Subtract to find an hpa_alias0 in cxl_poison events 2025-10-14 14:48:14 -07:00
dax fs: rename generic_delete_inode() and generic_drop_inode() 2025-09-15 16:09:42 +02:00
dca
devfreq PM / devfreq: rockchip-dfi: switch to FIELD_PREP_WM16 macro 2025-10-15 10:39:54 -04:00
dibs dibs: Check correct variable in dibs_init() 2025-09-26 15:10:59 -07:00
dio
dma dmaengine updates for v6.18 2025-10-06 10:37:06 -07:00
dma-buf dma-buf: heaps: cma: Create CMA heap for each CMA reserved region 2025-10-18 21:31:22 +05:30
dpll dpll: zl3073x: Handle missing or corrupted flash configuration 2025-10-13 17:24:36 -07:00
edac - Add support for new AMD family 0x1a models to amd64_edac 2025-09-30 11:41:03 -07:00
eisa
extcon
firewire firewire updates for v6.18 2025-10-01 12:52:43 -07:00
firmware EFI updates for v6.18 2025-10-05 12:08:14 -07:00
fpga
fsi
fwctl pds_fwctl: Replace kzalloc + copy_from_user with memdup_user in pdsfc_fw_rpc 2025-09-22 10:33:10 -03:00
gnss
gpio gpio: wcd934x: mark the GPIO controller as sleeping 2025-10-10 09:37:19 +02:00
gpu drm/gud: rearrange gud_probe() to prepare for function splitting 2025-10-24 19:36:45 +01:00
greybus
hid hid-for-linus-2025101701 2025-10-18 08:18:18 -10:00
hsi
hte
hv Drivers: hv: Make CONFIG_HYPERV bool 2025-10-01 00:00:45 +00:00
hwmon gpio updates for v6.18-rc1 2025-10-01 11:34:12 -07:00
hwspinlock
hwtracing Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
i2c i2c: usbio: Add ACPI device-id for MTL-CVF devices 2025-10-14 13:54:43 +02:00
i3c i3c: fix big-endian FIFO transfers 2025-09-29 00:17:22 +02:00
idle
iio IIO: New device support, features and cleanup for 6.18 2025-09-23 14:15:25 +02:00
infiniband RDMA v6.18 merge window pull request 2025-10-03 18:35:22 -07:00
input Input updates for v6.18-rc0 2025-10-08 09:44:38 -07:00
interconnect
iommu iommufd 6.18 merge window pull 2025-10-03 18:18:48 -07:00
ipack
irqchip irqchip/sifive-plic: Avoid interrupt ID 0 handling during suspend/resume 2025-10-07 10:23:22 +02:00
isdn
leds leds: led-class: Add Device Tree support to led_get() 2025-09-16 16:49:28 +01:00
macintosh
mailbox qcom: add Glymur CPUCP mailbox binding 2025-10-08 11:44:21 -07:00
mcb
md dm docs: fix typos 2025-10-03 18:48:02 -07:00
media USB/Thunderbolt changes for 6.18-rc1 2025-10-04 16:07:08 -07:00
memory
memstick Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
message
mfd mfd: ls2kbmc: check for devm_mfd_add_devices() failure 2025-10-03 10:38:23 -05:00
misc powerpc, ocxl: Fix extraction of struct xive_irq_data 2025-10-13 09:40:55 +05:30
mmc rpmb: move rpmb_frame struct and constants to common header 2025-10-13 13:18:03 +02:00
most
mtd MTD core: 2025-10-04 15:50:37 -07:00
mux
net net: usb: lan78xx: fix use of improperly initialized dev->chipid in lan78xx_reset 2025-10-15 18:27:48 -07:00
nfc
ntb NTB: epf: Add Renesas rcar support 2025-09-22 09:35:21 -04:00
nubus
nvdimm libnvdimm for 6.18 2025-10-06 11:17:18 -07:00
nvme nvme/tcp: handle tls partially sent records in write_space() 2025-10-16 11:32:04 -07:00
nvmem Char/Misc fixes for 6.18-rc1 2025-10-07 12:13:26 -07:00
of Devicetree fixes for v6.18: 2025-10-10 13:05:40 -07:00
opp
parisc
parport
pci PCI/VGA: Select SCREEN_INFO on X86 2025-10-17 08:31:14 -05:00
pcmcia
peci
perf arm64 fixes for -rc1 2025-10-07 08:59:25 -07:00
phy phy-for-6.18 2025-10-06 10:34:22 -07:00
pinctrl pci-v6.18-changes 2025-10-06 10:41:03 -07:00
platform platform-drivers-x86 for v6.18-1 2025-10-04 15:28:18 -07:00
pmdomain soc: driver updates for 6.18 2025-10-01 17:32:51 -07:00
pnp
power power supply and reset changes for the 6.18 series 2025-10-01 13:02:59 -07:00
powercap
pps
ps3
ptp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-10-01 10:14:49 +02:00
pwm gpio updates for v6.18-rc1 2025-10-01 11:34:12 -07:00
rapidio
ras RAS: Export log_non_standard_event() to drivers 2025-09-15 16:20:29 +02:00
regulator MFD for v6.18 2025-10-01 12:04:12 -07:00
remoteproc remoteproc updates for v6.18 2025-10-04 15:45:17 -07:00
reset soc: driver updates for 6.18 2025-10-01 17:32:51 -07:00
rpmsg rpmsg: qcom_smd: Fix fallback to qcom,ipc parse 2025-09-20 21:29:48 -05:00
rtc RTC for 6.18 2025-10-11 11:56:47 -07:00
s390 more s390 updates for 6.18 merge window 2025-10-09 10:51:43 -07:00
sbus
scsi SCSI misc on 20251011 2025-10-11 11:49:00 -07:00
sh
siox
slimbus
soc - switch longson32 platform to DT and use MIPS_GENERIC framework 2025-10-05 10:09:55 -07:00
soundwire soundwire updates for 6.18 2025-10-06 10:32:22 -07:00
spi soc: driver updates for 6.18 2025-10-01 17:32:51 -07:00
spmi
ssb
staging Staging driver fixes for 6.18-rc1 2025-10-07 11:41:06 -07:00
target SCSI misc on 20251011 2025-10-11 11:49:00 -07:00
tc
tee soc: driver updates for 6.18 2025-10-01 17:32:51 -07:00
thermal thermal: renesas: Fix RZ/G3E fall-out 2025-10-02 10:41:58 +02:00
thunderbolt thunderbolt: Fix use-after-free in tb_dp_dprx_work 2025-09-23 17:16:38 +02:00
tty TTY driver fix for 6.18-rc1 2025-10-07 11:36:01 -07:00
ufs SCSI misc on 20251011 2025-10-11 11:49:00 -07:00
uio hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
usb USB/Thunderbolt changes for 6.18-rc1 2025-10-04 16:07:08 -07:00
vdpa vduse: Use fixed 4KB bounce pages for non-4KB page size 2025-10-01 07:24:55 -04:00
vfio vfio: Dump migration features under debugfs 2025-10-06 11:22:48 -06:00
vhost vdpa: support virtio_map 2025-10-01 07:24:43 -04:00
video Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
virt arm64 updates for 6.18 2025-09-29 18:48:39 -07:00
virtio virtio,vhost: fixes, cleanups 2025-10-04 08:48:16 -07:00
w1
watchdog linux-watchdog 6.18-rc1 tag 2025-10-06 11:00:30 -07:00
xen dma-mapping updates for Linux 6.18: 2025-10-03 17:41:12 -07:00
zorro zorro: Remove extra whitespace in macro definitions 2025-09-15 14:30:17 +02:00
Kconfig
Makefile hyperv-next for v6.18 2025-10-07 08:40:15 -07:00