]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
feat(ethos-n): add multiple asset allocators
authorJoshua Pimm <joshua.pimm@arm.com>
Wed, 9 Nov 2022 11:26:11 +0000 (11:26 +0000)
committerJoanna Farley <joanna.farley@arm.com>
Tue, 4 Apr 2023 09:35:36 +0000 (11:35 +0200)
Adds additional asset allocators to the device tree include
file as the non-secure world kernel module for the Arm(R)
Ethos(TM)-N NPU now fully supports having and using multiple
asset allocators.

Signed-off-by: Joshua Pimm <joshua.pimm@arm.com>
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
Change-Id: I82d53667ef64968ee814f611d0a90abd3b3cf3de

fdts/juno-ethosn.dtsi

index 4609524829f11065a09baa4ac7a594b0f7bcd6cd..6f8e8ae0ac68bfa066d205251357a5bd3ab852ce 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2021-2023, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
                         };
                 };
 
-                asset_allocator {
+                asset_allocator0 {
                         compatible = "ethosn-asset_allocator";
                         status = "okay";
 
                         command_stream {
                                 compatible = "ethosn-memory";
-                                iommus = <&smmu_ethosn0 2>;
+                                iommus = <&smmu_ethosn0 4>;
                         };
 
                         weight_data {
                                 compatible = "ethosn-memory";
-                                iommus = <&smmu_ethosn0 3>;
+                                iommus = <&smmu_ethosn0 5>;
                         };
 
                         buffer_data {
                                 compatible = "ethosn-memory";
-                                iommus = <&smmu_ethosn0 4>;
+                                iommus = <&smmu_ethosn0 6>;
                         };
 
                         intermediate_data {
                                 compatible = "ethosn-memory";
-                                iommus = <&smmu_ethosn0 5>;
+                                iommus = <&smmu_ethosn0 7>;
+                        };
+                };
+
+                asset_allocator1 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 8>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 9>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 10>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 11>;
+                        };
+                };
+
+                asset_allocator2 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 12>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 13>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 14>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 15>;
+                        };
+                };
+
+                asset_allocator3 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 16>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 17>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 18>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 19>;
+                        };
+                };
+
+                asset_allocator4 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 20>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 21>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 22>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 23>;
+                        };
+                };
+
+                asset_allocator5 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 24>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 25>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 26>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 27>;
+                        };
+                };
+
+                asset_allocator6 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 28>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 29>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 30>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 31>;
+                        };
+                };
+
+                asset_allocator7 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 32>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 33>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 34>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 35>;
+                        };
+                };
+
+                asset_allocator8 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 36>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 37>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 38>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 39>;
+                        };
+                };
+
+                asset_allocator9 {
+                        compatible = "ethosn-asset_allocator";
+                        status = "okay";
+
+                        command_stream {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 40>;
+                        };
+
+                        weight_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 41>;
+                        };
+
+                        buffer_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 42>;
+                        };
+
+                        intermediate_data {
+                                compatible = "ethosn-memory";
+                                iommus = <&smmu_ethosn0 43>;
                         };
                 };
         };