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