On Thu, Feb 26, 2026 at 03:40:42PM +0200, Ioana Ciocoi-Radulescu wrote: > Add the bindings for Neutron, a Neural Processing Unit from NXP. > > Signed-off-by: Jiwei Fu You are the author and submitter. What did Jiwei do? > Signed-off-by: Ioana Ciocoi-Radulescu > --- > .../devicetree/bindings/npu/nxp,imx95-neutron.yaml | 95 ++++++++++++++++++++++ > 1 file changed, 95 insertions(+) > > diff --git a/Documentation/devicetree/bindings/npu/nxp,imx95-neutron.yaml b/Documentation/devicetree/bindings/npu/nxp,imx95-neutron.yaml > new file mode 100644 > index 000000000000..ba1f6851866b > --- /dev/null > +++ b/Documentation/devicetree/bindings/npu/nxp,imx95-neutron.yaml > @@ -0,0 +1,95 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/npu/nxp,imx95-neutron.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP Neutron NPU > + > +maintainers: > + - Ioana Ciocoi-Radulescu > + - Jiwei Fu > + > +description: > + Neutron is an NPU from NXP targeting edge AI inference applications. > + Initially supported on i.MX95 SoCs. > + > +properties: > + compatible: > + enum: > + - nxp,imx95-neutron > + > + reg: > + items: > + - description: Register space > + - description: Instruction area of the TCM space > + - description: Data area of the TCM space > + > + reg-names: > + items: > + - const: regs > + - const: itcm > + - const: dtcm > + > + memory-region: > + description: > + Phandle referencing a "shared-dma-pool" to be used for Neutron > + inference buffers, which need to be 1MB aligned. > + > + The memory region must be defined with alignment of 1MB and size > + should be large enough to accommodate the targeted ML models. It > + should be marked as reusable. > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 2 > + maxItems: 3 > + > + clock-names: > + minItems: 2 > + items: > + - const: npu > + - const: npu_apb > + - const: npu_cgc clocks should be done as reg is, with the descriptions in the !-names property. Not really keen on the names either, these are all npu clocks so the npu prefix is odd. Additionally, why is the number of clocks variable when you only have one platform? > + > + iommus: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - reg-names > + - memory-region > + - interrupts Odd that clocks are not mandatory! > + > +additionalProperties: false > + > +examples: > + - | > + #include > + #include > + > + bus { > + #address-cells = <2>; > + #size-cells = <2>; > + > + neutron@4ab00000 { "neutron" is not a generic node name. This should be something like "accelerator" or similar. pw-bot: changes-requested Cheers, Conor. > + compatible = "nxp,imx95-neutron"; > + reg = <0x0 0x4ab00000 0x0 0x00000400>, > + <0x0 0x4AB10000 0x0 0x00010000>, > + <0x0 0x4AB08000 0x0 0x00008000>; > + reg-names = "regs", "itcm", "dtcm"; > + memory-region = <&neutron_pool>; > + interrupts = ; > + clocks = <&scmi_clk 68>, <&scmi_clk 67>; > + clock-names = "npu", "npu_apb"; > + power-domains = <&scmi_devpd 20>; > + }; > + }; > +... > > -- > 2.34.1 >