mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-11-01 07:28:49 +00:00
Backport additional patch required for NPU support of Airoha AN7583. These are specific for the NPU module with some minor fixes and to adds upport for loading the specific Airoha AN7583 NPU firmware. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
From 4478596f71d92060c9093bdf1d2d940881f41bcc Mon Sep 17 00:00:00 2001
|
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Mon, 13 Oct 2025 15:58:51 +0200
|
|
Subject: [PATCH 3/3] net: airoha: npu: Add 7583 SoC support
|
|
|
|
Introduce support for Airoha 7583 SoC NPU selecting proper firmware images.
|
|
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Link: https://patch.msgid.link/20251013-airoha-npu-7583-v3-3-00f748b5a0c7@kernel.org
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/ethernet/airoha/airoha_npu.c | 16 ++++++++++++++++
|
|
1 file changed, 16 insertions(+)
|
|
|
|
--- a/drivers/net/ethernet/airoha/airoha_npu.c
|
|
+++ b/drivers/net/ethernet/airoha/airoha_npu.c
|
|
@@ -16,6 +16,8 @@
|
|
|
|
#define NPU_EN7581_FIRMWARE_DATA "airoha/en7581_npu_data.bin"
|
|
#define NPU_EN7581_FIRMWARE_RV32 "airoha/en7581_npu_rv32.bin"
|
|
+#define NPU_AN7583_FIRMWARE_DATA "airoha/an7583_npu_data.bin"
|
|
+#define NPU_AN7583_FIRMWARE_RV32 "airoha/an7583_npu_rv32.bin"
|
|
#define NPU_EN7581_FIRMWARE_RV32_MAX_SIZE 0x200000
|
|
#define NPU_EN7581_FIRMWARE_DATA_MAX_SIZE 0x10000
|
|
#define NPU_DUMP_SIZE 512
|
|
@@ -621,8 +623,20 @@ static const struct airoha_npu_soc_data
|
|
},
|
|
};
|
|
|
|
+static const struct airoha_npu_soc_data an7583_npu_soc_data = {
|
|
+ .fw_rv32 = {
|
|
+ .name = NPU_AN7583_FIRMWARE_RV32,
|
|
+ .max_size = NPU_EN7581_FIRMWARE_RV32_MAX_SIZE,
|
|
+ },
|
|
+ .fw_data = {
|
|
+ .name = NPU_AN7583_FIRMWARE_DATA,
|
|
+ .max_size = NPU_EN7581_FIRMWARE_DATA_MAX_SIZE,
|
|
+ },
|
|
+};
|
|
+
|
|
static const struct of_device_id of_airoha_npu_match[] = {
|
|
{ .compatible = "airoha,en7581-npu", .data = &en7581_npu_soc_data },
|
|
+ { .compatible = "airoha,an7583-npu", .data = &an7583_npu_soc_data },
|
|
{ /* sentinel */ }
|
|
};
|
|
MODULE_DEVICE_TABLE(of, of_airoha_npu_match);
|
|
@@ -768,6 +782,8 @@ module_platform_driver(airoha_npu_driver
|
|
|
|
MODULE_FIRMWARE(NPU_EN7581_FIRMWARE_DATA);
|
|
MODULE_FIRMWARE(NPU_EN7581_FIRMWARE_RV32);
|
|
+MODULE_FIRMWARE(NPU_AN7583_FIRMWARE_DATA);
|
|
+MODULE_FIRMWARE(NPU_AN7583_FIRMWARE_RV32);
|
|
MODULE_LICENSE("GPL");
|
|
MODULE_AUTHOR("Lorenzo Bianconi <lorenzo@kernel.org>");
|
|
MODULE_DESCRIPTION("Airoha Network Processor Unit driver");
|