|
|
|
/*
|
|
|
|
* Copyright (c) 2021-2023, Arm Limited. All rights reserved.
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This device tree is only an example and some properties have been omitted.
|
|
|
|
*
|
|
|
|
* Refer to the Arm(R) Ethos(TM)-N driver stack for complete device tree examples.
|
|
|
|
* https://github.com/ARM-software/ethos-n-driver-stack
|
|
|
|
*/
|
|
|
|
|
|
|
|
/ {
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
|
|
|
|
smmu_ethosn0: iommu@6f400000 {
|
|
|
|
compatible = "arm,smmu-v3";
|
|
|
|
reg = <0 0x6f400000 0 0x80000>;
|
|
|
|
status = "okay";
|
|
|
|
/* msi-parent omitted */
|
|
|
|
#iommu-cells = <0x1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ethosn0: ethosn@6f300000 {
|
|
|
|
compatible = "ethosn";
|
|
|
|
reg = <0 0x6f300000 0 0x00100000>;
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
core0 {
|
|
|
|
compatible = "ethosn-core";
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
main_allocator {
|
|
|
|
compatible = "ethosn-main_allocator";
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
firmware {
|
|
|
|
compatible = "ethosn-memory";
|
|
|
|
iommus = <&smmu_ethosn0 0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
working_data {
|
|
|
|
compatible = "ethosn-memory";
|
|
|
|
iommus = <&smmu_ethosn0 1>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
asset_allocator0 {
|
|
|
|
compatible = "ethosn-asset_allocator";
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
command_stream {
|
|
|
|
compatible = "ethosn-memory";
|
|
|
|
iommus = <&smmu_ethosn0 4>;
|
|
|
|
};
|
|
|
|
|
|
|
|
weight_data {
|
|
|
|
compatible = "ethosn-memory";
|
|
|
|
iommus = <&smmu_ethosn0 5>;
|
|
|
|
};
|
|
|
|
|
|
|
|
buffer_data {
|
|
|
|
compatible = "ethosn-memory";
|
|
|
|
iommus = <&smmu_ethosn0 6>;
|
|
|
|
};
|
|
|
|
|
|
|
|
intermediate_data {
|
|
|
|
compatible = "ethosn-memory";
|
|
|
|
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>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|