[openwrt/openwrt] airoha: add NPU and reserved memory node for AN7581

LEDE Commits lede-commits at lists.infradead.org
Tue Sep 2 15:59:19 PDT 2025


ansuel pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/3dca527e6d1e19aa97ece32c27af5a59ecbe646d

commit 3dca527e6d1e19aa97ece32c27af5a59ecbe646d
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Mon Sep 1 18:30:27 2025 +0200

    airoha: add NPU and reserved memory node for AN7581
    
    Add the NPU and reserved memory node for AN7581 dtsi since it's not
    supported.
    
    Link: https://github.com/openwrt/openwrt/pull/19816
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
 target/linux/airoha/dts/an7581.dtsi | 58 +++++++++++++++++++++++++++++++------
 1 file changed, 49 insertions(+), 9 deletions(-)

diff --git a/target/linux/airoha/dts/an7581.dtsi b/target/linux/airoha/dts/an7581.dtsi
index 086cae977f..6d18d19926 100644
--- a/target/linux/airoha/dts/an7581.dtsi
+++ b/target/linux/airoha/dts/an7581.dtsi
@@ -17,29 +17,39 @@
 		#size-cells = <2>;
 		ranges;
 
-		npu-binary at 84000000 {
+		atf at 80000000 {
+			no-map;
+			reg = <0x0 0x80000000 0x0 0x200000>;
+		};
+
+		npu_binary: npu-binary at 84000000 {
 			no-map;
 			reg = <0x0 0x84000000 0x0 0xa00000>;
 		};
 
-		npu-flag at 84b0000 {
+		qdma0_buf: qdma0-buf at 87000000 {
+			no-map;
+			reg = <0x0 0x87000000 0x0 0x2000000>;
+		};
+
+		qdma1_buf: qdma1-buf at 89000000 {
 			no-map;
-			reg = <0x0 0x84b00000 0x0 0x100000>;
+			reg = <0x0 0x89000000 0x0 0x1000000>;
 		};
 
-		npu-pkt at 85000000 {
+		npu_pkt: npu-pkt at 8a000000 {
 			no-map;
-			reg = <0x0 0x85000000 0x0 0x1a00000>;
+			reg = <0x0 0x8a000000 0x0 0x2c00000>;
 		};
 
-		npu-phyaddr at 86b00000 {
+		npu_txpkt: npu-txpkt at 8cc00000 {
 			no-map;
-			reg = <0x0 0x86b00000 0x0 0x100000>;
+			reg = <0x0 0x8cc00000 0x0 0x4000000>;
 		};
 
-		npu-rxdesc at 86d00000 {
+		npu_txbufid: npu-txbufid at 90c00000 {
 			no-map;
-			reg = <0x0 0x86d00000 0x0 0x100000>;
+			reg = <0x0 0x90c00000 0x0 0x6800>;
 		};
 	};
 
@@ -666,6 +676,31 @@
 			};
 		};
 
+		npu: npu at 1e900000 {
+			compatible = "airoha,en7581-npu";
+			reg = <0x0 0x1e900000 0x0 0x313000>;
+			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
+			memory-region = <&npu_binary>, <&npu_pkt>, <&npu_txpkt>,
+					<&npu_txbufid>;
+			memory-region-names = "binary", "pkt", "tx-pkt",
+					      "tx-bufid";
+			status = "disabled";
+		};
+
 		eth: ethernet at 1fb50000 {
 			compatible = "airoha,en7581-eth";
 			reg = <0 0x1fb50000 0 0x2600>,
@@ -696,6 +731,11 @@
 				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
 
+			memory-region = <&qdma0_buf>, <&qdma1_buf>;
+			memory-region-names = "qdma0-buf", "qdma1-buf";
+
+			airoha,npu = <&npu>;
+
 			status = "disabled";
 
 			#address-cells = <1>;




More information about the lede-commits mailing list