blob: 6f8e8ae0ac68bfa066d205251357a5bd3ab852ce [file] [log] [blame]
Mikael Olsson7da66192021-02-12 17:30:22 +01001/*
Joshua Pimm88264382022-11-09 11:26:11 +00002 * Copyright (c) 2021-2023, Arm Limited. All rights reserved.
Mikael Olsson7da66192021-02-12 17:30:22 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Laurent Carlier5205df22021-09-16 15:10:35 +01007/*
Mikael Olsson3288b462022-08-15 17:12:58 +02008 * This device tree is only an example and some properties have been omitted.
9 *
10 * Refer to the Arm(R) Ethos(TM)-N driver stack for complete device tree examples.
Laurent Carlier5205df22021-09-16 15:10:35 +010011 * https://github.com/ARM-software/ethos-n-driver-stack
12 */
13
Mikael Olsson7da66192021-02-12 17:30:22 +010014/ {
15 #address-cells = <2>;
16 #size-cells = <2>;
17
Mikael Olsson3288b462022-08-15 17:12:58 +020018 smmu_ethosn0: iommu@6f400000 {
19 compatible = "arm,smmu-v3";
20 reg = <0 0x6f400000 0 0x80000>;
Mikael Olsson7da66192021-02-12 17:30:22 +010021 status = "okay";
Mikael Olsson3288b462022-08-15 17:12:58 +020022 /* msi-parent omitted */
23 #iommu-cells = <0x1>;
Mikael Olsson7da66192021-02-12 17:30:22 +010024 };
Mikael Olsson3288b462022-08-15 17:12:58 +020025
26 ethosn0: ethosn@6f300000 {
27 compatible = "ethosn";
28 reg = <0 0x6f300000 0 0x00100000>;
29 status = "okay";
30
31 core0 {
32 compatible = "ethosn-core";
33 status = "okay";
34
35 main_allocator {
36 compatible = "ethosn-main_allocator";
37 status = "okay";
38
39 firmware {
40 compatible = "ethosn-memory";
41 iommus = <&smmu_ethosn0 0>;
42 };
43
44 working_data {
45 compatible = "ethosn-memory";
46 iommus = <&smmu_ethosn0 1>;
47 };
48 };
49 };
50
Joshua Pimm88264382022-11-09 11:26:11 +000051 asset_allocator0 {
Mikael Olsson3288b462022-08-15 17:12:58 +020052 compatible = "ethosn-asset_allocator";
53 status = "okay";
54
55 command_stream {
56 compatible = "ethosn-memory";
Joshua Pimm88264382022-11-09 11:26:11 +000057 iommus = <&smmu_ethosn0 4>;
Mikael Olsson3288b462022-08-15 17:12:58 +020058 };
59
60 weight_data {
61 compatible = "ethosn-memory";
Joshua Pimm88264382022-11-09 11:26:11 +000062 iommus = <&smmu_ethosn0 5>;
Mikael Olsson3288b462022-08-15 17:12:58 +020063 };
64
65 buffer_data {
66 compatible = "ethosn-memory";
Joshua Pimm88264382022-11-09 11:26:11 +000067 iommus = <&smmu_ethosn0 6>;
Mikael Olsson3288b462022-08-15 17:12:58 +020068 };
69
70 intermediate_data {
71 compatible = "ethosn-memory";
Joshua Pimm88264382022-11-09 11:26:11 +000072 iommus = <&smmu_ethosn0 7>;
73 };
74 };
75
76 asset_allocator1 {
77 compatible = "ethosn-asset_allocator";
78 status = "okay";
79
80 command_stream {
81 compatible = "ethosn-memory";
82 iommus = <&smmu_ethosn0 8>;
83 };
84
85 weight_data {
86 compatible = "ethosn-memory";
87 iommus = <&smmu_ethosn0 9>;
88 };
89
90 buffer_data {
91 compatible = "ethosn-memory";
92 iommus = <&smmu_ethosn0 10>;
93 };
94
95 intermediate_data {
96 compatible = "ethosn-memory";
97 iommus = <&smmu_ethosn0 11>;
98 };
99 };
100
101 asset_allocator2 {
102 compatible = "ethosn-asset_allocator";
103 status = "okay";
104
105 command_stream {
106 compatible = "ethosn-memory";
107 iommus = <&smmu_ethosn0 12>;
108 };
109
110 weight_data {
111 compatible = "ethosn-memory";
112 iommus = <&smmu_ethosn0 13>;
113 };
114
115 buffer_data {
116 compatible = "ethosn-memory";
117 iommus = <&smmu_ethosn0 14>;
118 };
119
120 intermediate_data {
121 compatible = "ethosn-memory";
122 iommus = <&smmu_ethosn0 15>;
123 };
124 };
125
126 asset_allocator3 {
127 compatible = "ethosn-asset_allocator";
128 status = "okay";
129
130 command_stream {
131 compatible = "ethosn-memory";
132 iommus = <&smmu_ethosn0 16>;
133 };
134
135 weight_data {
136 compatible = "ethosn-memory";
137 iommus = <&smmu_ethosn0 17>;
138 };
139
140 buffer_data {
141 compatible = "ethosn-memory";
142 iommus = <&smmu_ethosn0 18>;
143 };
144
145 intermediate_data {
146 compatible = "ethosn-memory";
147 iommus = <&smmu_ethosn0 19>;
148 };
149 };
150
151 asset_allocator4 {
152 compatible = "ethosn-asset_allocator";
153 status = "okay";
154
155 command_stream {
156 compatible = "ethosn-memory";
157 iommus = <&smmu_ethosn0 20>;
158 };
159
160 weight_data {
161 compatible = "ethosn-memory";
162 iommus = <&smmu_ethosn0 21>;
163 };
164
165 buffer_data {
166 compatible = "ethosn-memory";
167 iommus = <&smmu_ethosn0 22>;
168 };
169
170 intermediate_data {
171 compatible = "ethosn-memory";
172 iommus = <&smmu_ethosn0 23>;
173 };
174 };
175
176 asset_allocator5 {
177 compatible = "ethosn-asset_allocator";
178 status = "okay";
179
180 command_stream {
181 compatible = "ethosn-memory";
182 iommus = <&smmu_ethosn0 24>;
183 };
184
185 weight_data {
186 compatible = "ethosn-memory";
187 iommus = <&smmu_ethosn0 25>;
188 };
189
190 buffer_data {
191 compatible = "ethosn-memory";
192 iommus = <&smmu_ethosn0 26>;
193 };
194
195 intermediate_data {
196 compatible = "ethosn-memory";
197 iommus = <&smmu_ethosn0 27>;
198 };
199 };
200
201 asset_allocator6 {
202 compatible = "ethosn-asset_allocator";
203 status = "okay";
204
205 command_stream {
206 compatible = "ethosn-memory";
207 iommus = <&smmu_ethosn0 28>;
208 };
209
210 weight_data {
211 compatible = "ethosn-memory";
212 iommus = <&smmu_ethosn0 29>;
213 };
214
215 buffer_data {
216 compatible = "ethosn-memory";
217 iommus = <&smmu_ethosn0 30>;
218 };
219
220 intermediate_data {
221 compatible = "ethosn-memory";
222 iommus = <&smmu_ethosn0 31>;
223 };
224 };
225
226 asset_allocator7 {
227 compatible = "ethosn-asset_allocator";
228 status = "okay";
229
230 command_stream {
231 compatible = "ethosn-memory";
232 iommus = <&smmu_ethosn0 32>;
233 };
234
235 weight_data {
236 compatible = "ethosn-memory";
237 iommus = <&smmu_ethosn0 33>;
238 };
239
240 buffer_data {
241 compatible = "ethosn-memory";
242 iommus = <&smmu_ethosn0 34>;
243 };
244
245 intermediate_data {
246 compatible = "ethosn-memory";
247 iommus = <&smmu_ethosn0 35>;
248 };
249 };
250
251 asset_allocator8 {
252 compatible = "ethosn-asset_allocator";
253 status = "okay";
254
255 command_stream {
256 compatible = "ethosn-memory";
257 iommus = <&smmu_ethosn0 36>;
258 };
259
260 weight_data {
261 compatible = "ethosn-memory";
262 iommus = <&smmu_ethosn0 37>;
263 };
264
265 buffer_data {
266 compatible = "ethosn-memory";
267 iommus = <&smmu_ethosn0 38>;
268 };
269
270 intermediate_data {
271 compatible = "ethosn-memory";
272 iommus = <&smmu_ethosn0 39>;
273 };
274 };
275
276 asset_allocator9 {
277 compatible = "ethosn-asset_allocator";
278 status = "okay";
279
280 command_stream {
281 compatible = "ethosn-memory";
282 iommus = <&smmu_ethosn0 40>;
283 };
284
285 weight_data {
286 compatible = "ethosn-memory";
287 iommus = <&smmu_ethosn0 41>;
288 };
289
290 buffer_data {
291 compatible = "ethosn-memory";
292 iommus = <&smmu_ethosn0 42>;
293 };
294
295 intermediate_data {
296 compatible = "ethosn-memory";
297 iommus = <&smmu_ethosn0 43>;
Mikael Olsson3288b462022-08-15 17:12:58 +0200298 };
299 };
300 };
Mikael Olsson7da66192021-02-12 17:30:22 +0100301};