Introduce en7581-npu-7996 compatible string in order to enable MT76 NPU offloading for MT7996 (Eagle) chipset since it requires different binaries with respect to the ones used for MT7992 on the EN7581 SoC. Signed-off-by: Lorenzo Bianconi --- Documentation/devicetree/bindings/net/airoha,en7581-npu.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/net/airoha,en7581-npu.yaml b/Documentation/devicetree/bindings/net/airoha,en7581-npu.yaml index 59c57f58116b568092446e6cfb7b6bd3f4f47b82..96b2525527c14f60754885c1362b9603349a6353 100644 --- a/Documentation/devicetree/bindings/net/airoha,en7581-npu.yaml +++ b/Documentation/devicetree/bindings/net/airoha,en7581-npu.yaml @@ -18,6 +18,7 @@ properties: compatible: enum: - airoha,en7581-npu + - airoha,en7581-npu-7996 - airoha,an7583-npu reg: -- 2.52.0 Introduce "airoha,en7581-npu-7996" compatible string in order to specify different firmware binaries if the EN7581 SoC is running MT7996 (Eagle) chipset. This is a preliminary patch to enable MT76 NPU offloading for MT7996 (Eagle) chipset since it requires different binaries with respect to the ones used for MT7992 on the EN7581 SoC. Signed-off-by: Lorenzo Bianconi --- drivers/net/ethernet/airoha/airoha_npu.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/ethernet/airoha/airoha_npu.c b/drivers/net/ethernet/airoha/airoha_npu.c index 22f72c146065998d5450477f664ed308b1569aa3..0032a4801bca066f75f60154e6df0b41d11b899f 100644 --- 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_EN7581_7996_FIRMWARE_DATA "airoha/en7581_MT7996_npu_data.bin" +#define NPU_EN7581_7996_FIRMWARE_RV32 "airoha/en7581_MT7996_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 @@ -624,6 +626,17 @@ static const struct airoha_npu_soc_data en7581_npu_soc_data = { }, }; +static const struct airoha_npu_soc_data en7581_7996_npu_soc_data = { + .fw_rv32 = { + .name = NPU_EN7581_7996_FIRMWARE_RV32, + .max_size = NPU_EN7581_FIRMWARE_RV32_MAX_SIZE, + }, + .fw_data = { + .name = NPU_EN7581_7996_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, @@ -637,6 +650,7 @@ static const struct airoha_npu_soc_data an7583_npu_soc_data = { static const struct of_device_id of_airoha_npu_match[] = { { .compatible = "airoha,en7581-npu", .data = &en7581_npu_soc_data }, + { .compatible = "airoha,en7581-npu-7996", .data = &en7581_7996_npu_soc_data }, { .compatible = "airoha,an7583-npu", .data = &an7583_npu_soc_data }, { /* sentinel */ } }; @@ -782,6 +796,8 @@ module_platform_driver(airoha_npu_driver); MODULE_FIRMWARE(NPU_EN7581_FIRMWARE_DATA); MODULE_FIRMWARE(NPU_EN7581_FIRMWARE_RV32); +MODULE_FIRMWARE(NPU_EN7581_7996_FIRMWARE_DATA); +MODULE_FIRMWARE(NPU_EN7581_7996_FIRMWARE_RV32); MODULE_FIRMWARE(NPU_AN7583_FIRMWARE_DATA); MODULE_FIRMWARE(NPU_AN7583_FIRMWARE_RV32); MODULE_LICENSE("GPL"); -- 2.52.0