- Feb 27, 2025
-
-
Mikael authored
A delegate has been added to support running the Ethos-U operator in networks on the NPU. The delegate is built as a shared library and can be loaded as an external delegate for TFLite. Change-Id: I391f9bfb7fabe3ea871b2e4c862b17095e0e8e41 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
Using the PMU event counters and cycle counter is now supported when running inference with direct drive. Change-Id: Id68b7765c64b39f5d7fe1f1e5b47f09fc24c41e5 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
IFM and OFM buffers must be specified in order when creating an inference or the offset into memory for the buffers will be incorrect. Change-Id: Id9afcbec2eb5947380b0ea4daa186321e5db9362 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The direct drive NPU setup now supports running inference that have been compiled with the new COP2 format. This patch does not include support for setting up the PMU counters. Change-Id: Ic2c9a54bde1735f3757cf50b53dd85a3a80637b0 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To make it possible to know if the NPU is ready to be used, a running status has been added to the direct drive device instance. Change-Id: I34f0261c827615fc19a1bd1198fd4ef90951794d Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The base pointer registers are the same between the NPUs so the they have been moved to the common NPU interface. Change-Id: I05162718da154bbeec7ee3de1e850c666aaa2e04 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The NPU API is only meant to be called from within the direct device, so to make the reset functionality available for the rest of the driver a direct device reset function has been added. Change-Id: Ifef2f2fea92298d096ae71f8eecb5d34ac7e4963 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
Currently the NPU's memory regions are only setup during the device initialization and are lost when the NPU is reset. To resolve this, the memory regions are now setup after each reset of the NPU. Change-Id: I8ffa41c544f90b3756c02a9d708f0fff112f5e51 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The NPU driver now supports parsing and validating the custom operator payload 2 (COP2) in the network data for direct drive. Change-Id: Iafc99f4461b7cc9905c50ab44bf23ec88a4a1e3e Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
Currently, the direct NPU ops have different return types and must be called manually with different handling in each instance. To make the ops easier to use, they now have a common return type and can be called with the same API. Change-Id: Ibf8283eb0b83451b8ba352853bf53cdec9490cda Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The NPU driver now supports scheduling inferences for the direct drive setup. This only the scheduling and not the execution of the inference on the NPU. Change-Id: I9421ccbc2c6e10f863c4ece5b08f3f3565168baf Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The NPU driver and driver library now supports creating network and inferences instances for the direct drive setup. This is only the initial support and it is not possible to run inferences yet. Change-Id: Ib2888455ad081d0887013e351df2df87e44cd15a Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To allow the CPU to directly access the NPU's SRAM, the SRAM has been IO mapped. The size of the mapping and the SRAM has been limited to the maximum size the NPU can handle to not make more memory available than can be used. Change-Id: Ifc7bfdb8934a67ae53d30243ea4ee05fefbfd18a Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To ensure no uninitialized variables are used, the hw and id structs are now zero initialized and the result of the conversion to a direct drive device is checked. Change-Id: Ic1f0e4685bcd56d82d4eb8b0d2b0d0d7a18fc543 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To be able to validate if a network index is supported, the NPU driver now supports getting a mask of the supported network indexes from the subsystem. The network mask has also been made available for the user in the device capabilities. Change-Id: I09d8d055748dd584f4e8f7655499d7ab1c7563aa Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The direct drive and subsystem NPU setups, have different restrictions for buffer alignment and max size. To accommodate this, the device instance now have a buffer configuration that will be used when creating buffers. Change-Id: I0a258b70cf77eacd4d8dc7d9322dea393ed02dbd Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
NPU specific functions and structs should be kept in the NPU related files to keep the direct device decoupled from the NPUs as much as possible Change-Id: I440e46b6c0e46f43e1afe635464eff0bcfa28c18 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The U65 & U85 device files have been renamed to NPU to make it clearer what they are for and to separate them from the direct device implementation Change-Id: I997b1b3d970ac7b0af8ffab6fbfd61d014eb7528 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To keep the header files for the Ethos-U kernel driver organized the config and interface headers have been moved for their own folders Change-Id: I3d2792bc21635e33cc2bf9d6d257d587c0a722ff Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
Change-Id: I09a3dd78388d32ac14baa6ae3d6cc071b6eb5db6 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
In direct drive configuration, linux kernel driver needs to probe SRAM and provide base address to the NPU. This patch adds support to parse the base address and size of SRAM and store it in the device instance. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: If5a64a9b0e1e75dc5d168d761230f13b3f400d44
-
Mikael authored
The inference tests are now able to detect if they are being run on a system with a direct drive or subsystem NPU setup. The device type will affect what test scope that is executed because direct drive does not support all the tests yet. Change-Id: I5d3d91fcceb59992174abf2d6ff50d38153faf88 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The info level logs in the driver library have been changed to debug instead to reduce log output in release builds Change-Id: I5c1315241448951c83f03c3ff8d31b656a0f469f Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
For direct drive, buffers must be placed at the expected offsets when they are allocated. To be able to support this, buffers are now allocated in batches and they share the same backing memory. This has changed the UAPI in a way that is not backward compatible and thus the major version has been bumped. Due to the buffer offset requirement, buffers no longer support being memory mapped and instead the data needs to be accessed using the read/write calls. Driver library and tests have been updated accordingly to the new changes. Change-Id: I9ba8be5f95a2c231e32e9c2eb6dd690b95dd506e Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To make the Python code formatting consistent. All the Python code has been reformated using the tool called black using 120 character line length. Change-Id: Idd4868efab67c2377e1bf1de4d80c511ae557486 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
This patch adds support for runtime and system wide power management of NPU device via the Linux power management framework. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I6921272f62175218f57943170ae9d06cbe566260
-
This patch adds support to handle error interrupts raised by the NPU. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: If460309617008a8e3d94d08b53e47a237aef88dd
-
This patch adds support to query NPU capabilities. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I680e07740fac32a4e364951fcccdad259f50afbc
-
Ethos-U65/U85 interface headers have common declarations for some of the registers. This patch moves the common declarations to a separate interface header file. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I1118d02de9f5195fa333616c4894f8ce91327d3c
-
This patch adds support to probe platform drivers for Ethos-U direct device, parse the device tree entries, initialize and setup the Ethos-U65/U85 NPU devices with appropriate security and privilege levels for usage. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I9b295f1d896afe75d8ee6a60e05d3ec4904482ee
-
This patch adds NPU register interface header files. Change-Id: I9aa631912593373f333111215fc5682275873d31 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
- Feb 25, 2025
-
-
Mikael authored
To support more NPU device types in the driver, the driver has been refactored to use function pointers for all NPU device specific actions. Change-Id: I83dd9651f29526485576600aaaf35e9e22426d64 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
As a first step to support more NPU device types in the driver, the code has been refactored to separate generic and rpmsg device code into their own files. Change-Id: Ie2f4feb47cef3081d1f764a313b602e0e7aa71c4 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Jan 13, 2025
-
-
Jonny Svärd authored
Several repos have moved from ML Platform to GitLab, change all references to use the new location. Signed-off-by:
Jonny Svärd <jonny.svaerd@arm.com> Change-Id: I86f054d6902cb780f3dc9007af1ce9dc0231c59c
-
- Dec 16, 2024
-
-
Rajasekaran Kalidoss authored
Update the README document with details of various compiler flags used to make it easier for the user to find them. Change-Id: Ib90b63e95256e2464256287466c1b480c69bf020 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
- Dec 02, 2024
-
-
Mikael authored
There are warnings about unused return value variables and an exception being caught by value in the tests that have now been fixed. Change-Id: I28e03d04fde278d6eac45484cb6c7ec03840b0bd Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Aug 15, 2024
-
-
Mikael authored
A section has been added to the README to inform the user that there is no hardware provided to restrict what memory the NPU can access Change-Id: I834fc464e1ab3f5fcf8721a1b0b885c7d6d53742 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Apr 23, 2024
-
-
Rajasekaran Kalidoss authored
This patch adds -Werror flag to treat warnings as errors. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I46fa315b4b730d3cb8e0c2b351621fb188df875b
-
- Apr 18, 2024
-
-
To make it easier to verify the settings used for a build, additional prints of useful cmake variables has been added to the CmakeLists.txt file. Change-Id: I38c176ddda49076e7555a8c9a38ce13d8ab9cf87 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
- Apr 16, 2024
-
-
Mikael authored
The ROM is memory attached to the remote processor and should be mapped as device memory rather than normal memory to ensure memory transactions are handled correctly. To ensure this, the remoteproc driver will now map the ROM as device memory. Change-Id: I1b5f1dcd7af06bb9e1656f653d65813f7af424c3 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-