1/* 2 * Copyright (c) 2021-2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7/* 8 * 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. 11 * https://github.com/ARM-software/ethos-n-driver-stack 12 */ 13 14/ { 15 #address-cells = <2>; 16 #size-cells = <2>; 17 18 smmu_ethosn0: iommu@6f400000 { 19 compatible = "arm,smmu-v3"; 20 reg = <0 0x6f400000 0 0x80000>; 21 status = "okay"; 22 /* msi-parent omitted */ 23 #iommu-cells = <0x1>; 24 }; 25 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 51 asset_allocator0 { 52 compatible = "ethosn-asset_allocator"; 53 status = "okay"; 54 55 command_stream { 56 compatible = "ethosn-memory"; 57 iommus = <&smmu_ethosn0 4>; 58 }; 59 60 weight_data { 61 compatible = "ethosn-memory"; 62 iommus = <&smmu_ethosn0 5>; 63 }; 64 65 buffer_data { 66 compatible = "ethosn-memory"; 67 iommus = <&smmu_ethosn0 6>; 68 }; 69 70 intermediate_data { 71 compatible = "ethosn-memory"; 72 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>; 298 }; 299 }; 300 }; 301}; 302