xref: /linux/Documentation/devicetree/bindings/npu/arm,ethos.yaml (revision 84318277d6334c6981ab326d4acc87c6a6ddc9b8)
1*b3e29b6eSRob Herring (Arm)# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*b3e29b6eSRob Herring (Arm)%YAML 1.2
3*b3e29b6eSRob Herring (Arm)---
4*b3e29b6eSRob Herring (Arm)$id: http://devicetree.org/schemas/npu/arm,ethos.yaml#
5*b3e29b6eSRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b3e29b6eSRob Herring (Arm)
7*b3e29b6eSRob Herring (Arm)title: Arm Ethos U65/U85
8*b3e29b6eSRob Herring (Arm)
9*b3e29b6eSRob Herring (Arm)maintainers:
10*b3e29b6eSRob Herring (Arm)  - Rob Herring <robh@kernel.org>
11*b3e29b6eSRob Herring (Arm)
12*b3e29b6eSRob Herring (Arm)description: >
13*b3e29b6eSRob Herring (Arm)  The Arm Ethos-U NPUs are designed for IoT inference applications. The NPUs
14*b3e29b6eSRob Herring (Arm)  can accelerate 8-bit and 16-bit integer quantized networks:
15*b3e29b6eSRob Herring (Arm)
16*b3e29b6eSRob Herring (Arm)    Transformer networks (U85 only)
17*b3e29b6eSRob Herring (Arm)    Convolutional Neural Networks (CNN)
18*b3e29b6eSRob Herring (Arm)    Recurrent Neural Networks (RNN)
19*b3e29b6eSRob Herring (Arm)
20*b3e29b6eSRob Herring (Arm)  Further documentation is available here:
21*b3e29b6eSRob Herring (Arm)
22*b3e29b6eSRob Herring (Arm)    U65 TRM: https://developer.arm.com/documentation/102023/
23*b3e29b6eSRob Herring (Arm)    U85 TRM: https://developer.arm.com/documentation/102685/
24*b3e29b6eSRob Herring (Arm)
25*b3e29b6eSRob Herring (Arm)properties:
26*b3e29b6eSRob Herring (Arm)  compatible:
27*b3e29b6eSRob Herring (Arm)    oneOf:
28*b3e29b6eSRob Herring (Arm)      - items:
29*b3e29b6eSRob Herring (Arm)          - enum:
30*b3e29b6eSRob Herring (Arm)              - fsl,imx93-npu
31*b3e29b6eSRob Herring (Arm)          - const: arm,ethos-u65
32*b3e29b6eSRob Herring (Arm)      - items:
33*b3e29b6eSRob Herring (Arm)          - {}
34*b3e29b6eSRob Herring (Arm)          - const: arm,ethos-u85
35*b3e29b6eSRob Herring (Arm)
36*b3e29b6eSRob Herring (Arm)  reg:
37*b3e29b6eSRob Herring (Arm)    maxItems: 1
38*b3e29b6eSRob Herring (Arm)
39*b3e29b6eSRob Herring (Arm)  interrupts:
40*b3e29b6eSRob Herring (Arm)    maxItems: 1
41*b3e29b6eSRob Herring (Arm)
42*b3e29b6eSRob Herring (Arm)  clocks:
43*b3e29b6eSRob Herring (Arm)    maxItems: 2
44*b3e29b6eSRob Herring (Arm)
45*b3e29b6eSRob Herring (Arm)  clock-names:
46*b3e29b6eSRob Herring (Arm)    items:
47*b3e29b6eSRob Herring (Arm)      - const: core
48*b3e29b6eSRob Herring (Arm)      - const: apb
49*b3e29b6eSRob Herring (Arm)
50*b3e29b6eSRob Herring (Arm)  power-domains:
51*b3e29b6eSRob Herring (Arm)    maxItems: 1
52*b3e29b6eSRob Herring (Arm)
53*b3e29b6eSRob Herring (Arm)  sram:
54*b3e29b6eSRob Herring (Arm)    maxItems: 1
55*b3e29b6eSRob Herring (Arm)
56*b3e29b6eSRob Herring (Arm)required:
57*b3e29b6eSRob Herring (Arm)  - compatible
58*b3e29b6eSRob Herring (Arm)  - reg
59*b3e29b6eSRob Herring (Arm)  - interrupts
60*b3e29b6eSRob Herring (Arm)  - clocks
61*b3e29b6eSRob Herring (Arm)
62*b3e29b6eSRob Herring (Arm)additionalProperties: false
63*b3e29b6eSRob Herring (Arm)
64*b3e29b6eSRob Herring (Arm)examples:
65*b3e29b6eSRob Herring (Arm)  - |
66*b3e29b6eSRob Herring (Arm)    #include <dt-bindings/interrupt-controller/irq.h>
67*b3e29b6eSRob Herring (Arm)    #include <dt-bindings/interrupt-controller/arm-gic.h>
68*b3e29b6eSRob Herring (Arm)    #include <dt-bindings/clock/imx93-clock.h>
69*b3e29b6eSRob Herring (Arm)
70*b3e29b6eSRob Herring (Arm)    npu@4a900000 {
71*b3e29b6eSRob Herring (Arm)        compatible = "fsl,imx93-npu", "arm,ethos-u65";
72*b3e29b6eSRob Herring (Arm)        reg = <0x4a900000 0x1000>;
73*b3e29b6eSRob Herring (Arm)        interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
74*b3e29b6eSRob Herring (Arm)        power-domains = <&mlmix>;
75*b3e29b6eSRob Herring (Arm)        clocks = <&clk IMX93_CLK_ML>, <&clk IMX93_CLK_ML_APB>;
76*b3e29b6eSRob Herring (Arm)        clock-names = "core", "apb";
77*b3e29b6eSRob Herring (Arm)        sram = <&sram>;
78*b3e29b6eSRob Herring (Arm)    };
79*b3e29b6eSRob Herring (Arm)...
80