Re: [PATCH net-next 2/2] net: airoha: npu: Add the capability to read firmware names from dts
From: Andrew Lunn <andrew@lunn.ch>
Date: 2026-01-12 13:30:11
Also in:
linux-arm-kernel, linux-devicetree, linux-mediatek
On Mon, Jan 12, 2026 at 11:00:08AM +0100, Lorenzo Bianconi wrote:
Introduce the capability to read the firmware binary names from device-tree using the firmware-name property if available. This is a preliminary patch to enable NPU offloading for MT7996 (Eagle) chipset since it requires a different binary with respect to the one used for MT7992 on the EN7581 SoC.
When i look at
airoha_npu.c
i see:
#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"
static const struct airoha_npu_soc_data en7581_npu_soc_data = {
.fw_rv32 = {
.name = NPU_EN7581_FIRMWARE_RV32,
.max_size = NPU_EN7581_FIRMWARE_RV32_MAX_SIZE,
},
.fw_data = {
.name = NPU_EN7581_FIRMWARE_DATA,
.max_size = NPU_EN7581_FIRMWARE_DATA_MAX_SIZE,
},
};
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 */ }
};
Why cannot this scheme be extended with another compatible?
Andrew