[PATCH net-next 2/2] net: airoha: npu: Add the capability to read firmware names from dts

Andrew Lunn andrew at lunn.ch
Mon Jan 12 05:30:03 PST 2026


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



More information about the linux-arm-kernel mailing list