[PATCH] arm64: dts: airoha: en7581: Add npu node to to EN7581 SoC
Lorenzo Bianconi
lorenzo at kernel.org
Mon Mar 9 08:07:03 PDT 2026
Introduce npu controller node to EN7581 SoC and EN7581 evaluation board.
Adjust reserved memory parameters to the values used by the npu
controller.
Signed-off-by: Lorenzo Bianconi <lorenzo at kernel.org>
---
arch/arm64/boot/dts/airoha/en7581-evb.dts | 4 +++
arch/arm64/boot/dts/airoha/en7581.dtsi | 43 ++++++++++++++++++++++++-------
2 files changed, 38 insertions(+), 9 deletions(-)
diff --git a/arch/arm64/boot/dts/airoha/en7581-evb.dts b/arch/arm64/boot/dts/airoha/en7581-evb.dts
index 886e2e4b5f64ce1a2a5496d35b8379fb4ac27dc2..b1a41d1e7eb676beb0e42c949c70362125ec6f0b 100644
--- a/arch/arm64/boot/dts/airoha/en7581-evb.dts
+++ b/arch/arm64/boot/dts/airoha/en7581-evb.dts
@@ -99,6 +99,10 @@ &i2c0 {
status = "okay";
};
+&npu {
+ status = "okay";
+};
+
ð {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/airoha/en7581.dtsi b/arch/arm64/boot/dts/airoha/en7581.dtsi
index ff6908a76e8eb6cf91343495d1fe531a868e41fb..3ea00b3b0a35ce1f466cbe89fefd05abef20056d 100644
--- a/arch/arm64/boot/dts/airoha/en7581.dtsi
+++ b/arch/arm64/boot/dts/airoha/en7581.dtsi
@@ -15,29 +15,29 @@ reserved-memory {
#size-cells = <2>;
ranges;
- npu-binary at 84000000 {
+ npu_binary: npu-binary at 84000000 {
no-map;
reg = <0x0 0x84000000 0x0 0xa00000>;
};
- npu-flag at 84b0000 {
+ npu_pkt: npu-pkt at 8a000000 {
no-map;
- reg = <0x0 0x84b00000 0x0 0x100000>;
+ reg = <0x0 0x8a000000 0x0 0x2c00000>;
};
- npu-pkt at 85000000 {
+ npu_txpkt: npu-txpkt at 8cc00000 {
no-map;
- reg = <0x0 0x85000000 0x0 0x1a00000>;
+ reg = <0x0 0x8cc00000 0x0 0x4000000>;
};
- npu-phyaddr at 86b00000 {
+ npu_txbufid: npu-txbufid at 90c00000 {
no-map;
- reg = <0x0 0x86b00000 0x0 0x100000>;
+ reg = <0x0 0x90c00000 0x0 0x6800>;
};
- npu-rxdesc at 86d00000 {
+ npu_ba: npu-ba at 90c06800 {
no-map;
- reg = <0x0 0x86d00000 0x0 0x100000>;
+ reg = <0x0 0x90c06800 0x0 0x200000>;
};
};
@@ -347,6 +347,31 @@ i2c1: i2c at 1fbf8100 {
status = "disabled";
};
+ 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>, <&npu_ba>;
+ memory-region-names = "firmware", "pkt", "tx-pkt",
+ "tx-bufid", "ba";
+ status = "disabled";
+ };
+
eth: ethernet at 1fb50000 {
compatible = "airoha,en7581-eth";
reg = <0 0x1fb50000 0 0x2600>,
---
base-commit: 405c09548a695ca7be58b5b9d3ac8388630e907f
change-id: 20260309-airoha-7581-npu-c5a7a2926ca4
Best regards,
--
Lorenzo Bianconi <lorenzo at kernel.org>
More information about the Linux-mediatek
mailing list