RE: [PATCH v2 0/9] accel: New driver for NXP's Neutron NPU

From: Ioana Ciocoi Radulescu

Date: Tue Mar 24 2026 - 08:19:36 EST


On Saturday, March 21, 2026 at 7:19 PM, Tomeu Vizoso wrote:
>
> Hi Ioana,
>
> Looks like the userspace portion of the driver is closed source
> (libNeutronDriver.so)?
>
> https://github.com/nxp-imx/tflite-neutron-delegate/blob/lf-6.12.49_2.2
> .0/CMakeLists.txt

Hi Tomeu,

Yes, it's closed for now. We do plan to publish the source code
on github, but I believe that's still a few months away.

Thanks,
Ioana

>
> Regards,
>
> Tomeu
>
> On Fri, Mar 6, 2026 at 2:27 PM Ioana Ciocoi-Radulescu
> <ruxandra.radulescu@xxxxxxx> wrote:
> >
> > Introduce a new accel driver for the Neutron Neural Processing Unit
> > (NPU), along with associated dt-bindings and DTS node.
> >
> > The first patch extends the GEM DMA helper APIs to allow bidirectional
> > mapping of non-coherent DMA buffers. While not part of the Neutron
> > driver, it's a prerequisite allowing us to use the GEM DMA helper.
> >
> > Neutron is a Neural Processing Unit from NXP, providing machine
> > learning (ML) acceleration for edge AI applications. Neutron is
> > integrated on NXP SoCs such as the i.MX95.
> >
> > The NPU consists of the following:
> > - RISC-V core running a proprietary firmware
> > - One or more Neutron cores, representing the main computation
> > engine performing ML operations
> > - Dedicated fast memory (TCM)
> > - DMA engine that handles data transfers between DDR and TCM
> >
> > The firmware is closed source and distributed as a binary here [1].
> >
> > The Neutron software stack also contains a userspace library [1] and a
> > LiteRT custom delegate [2] that allow integration with standard LiteRT
> > tools.
> >
> > [1] https://github.com/nxp-upstream/neutron/tree/upstream
> > [2] https://github.com/nxp-imx/tflite-neutron-delegate
> >
> > Signed-off-by: Ioana Ciocoi-Radulescu <ruxandra.radulescu@xxxxxxx>
> > ---
> > Changes in v2:
> > - rebase on newer drm-misc-next
> > - dt bindings: clock fixes and renames
> > - update DTS to match new names
> > - remove unnecessary fields from neutron_job structure
> > - fix use of uninitialized variable
> >
> > - Link to v1:
> > https://lore.kernel.org/r/20260226-neutron-v1-0-46eccb3bb50a@xxxxxxx
> >
> > ---
> > Ioana Ciocoi-Radulescu (9):
> > drm/gem-dma: Add flag for bidirectional mapping of non-coherent GEM
> DMA buffers
> > accel/neutron: Add documentation for NXP Neutron accelerator driver
> > dt-bindings: npu: Add NXP Neutron
> > accel/neutron: Add driver for NXP Neutron NPU
> > accel/neutron: Add GEM buffer object support
> > accel/neutron: Add mailbox support
> > accel/neutron: Add job submission IOCTL
> > accel/neutron: Add logging support
> > arm64: dts: imx95: Add Neutron node
> >
> > Documentation/accel/index.rst | 1 +
> > Documentation/accel/neutron/index.rst | 12 +
> > Documentation/accel/neutron/neutron.rst | 131 ++++++++
> > .../devicetree/bindings/npu/nxp,imx95-neutron.yaml | 96 ++++++
> > MAINTAINERS | 10 +
> > arch/arm64/boot/dts/freescale/imx95.dtsi | 28 ++
> > drivers/accel/Kconfig | 1 +
> > drivers/accel/Makefile | 3 +-
> > drivers/accel/neutron/Kconfig | 16 +
> > drivers/accel/neutron/Makefile | 12 +
> > drivers/accel/neutron/neutron_debugfs.c | 34 ++
> > drivers/accel/neutron/neutron_debugfs.h | 15 +
> > drivers/accel/neutron/neutron_device.c | 239 +++++++++++++
> > drivers/accel/neutron/neutron_device.h | 155 +++++++++
> > drivers/accel/neutron/neutron_driver.c | 262 +++++++++++++++
> > drivers/accel/neutron/neutron_driver.h | 16 +
> > drivers/accel/neutron/neutron_gem.c | 116 +++++++
> > drivers/accel/neutron/neutron_gem.h | 14 +
> > drivers/accel/neutron/neutron_job.c | 372
> +++++++++++++++++++++
> > drivers/accel/neutron/neutron_job.h | 43 +++
> > drivers/accel/neutron/neutron_mailbox.c | 47 +++
> > drivers/accel/neutron/neutron_mailbox.h | 42 +++
> > drivers/gpu/drm/drm_gem_dma_helper.c | 6 +-
> > include/drm/drm_gem_dma_helper.h | 3 +
> > include/uapi/drm/neutron_accel.h | 130 +++++++
> > 25 files changed, 1801 insertions(+), 3 deletions(-)
> > ---
> > base-commit: 6716101ae42949e98ad4b9e71eeba08c055be410
> > change-id: 20260226-neutron-c435e39d167f
> >
> > Best regards,
> > --
> > Ioana Ciocoi-Radulescu <ruxandra.radulescu@xxxxxxx>
> >