[PATCH net-next 2/2] net: airoha: npu: Add the capability to read firmware names from dts
Lorenzo Bianconi
lorenzo at kernel.org
Mon Jan 12 05:35:57 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?
yes, that is another possibility I was thinking of but then I found
"firwmare-name" property was quite a common approach.
Something like:
static const struct of_device_id of_airoha_npu_match[] = {
...
{ .compatible = "airoha,en7581-npu-7996", .data = &en7581_7996_npu_soc_data },
...
};
What do you think?
Regards,
Lorenzo
>
> Andrew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20260112/013da049/attachment.sig>
More information about the linux-arm-kernel
mailing list