Merge branch 'mtk_eth_soc-firmware'

Daniel Golle says:

====================
net: ethernet: mtk_eth_soc: use WO firmware for MT7981

In order to support wireless offloading on MT7981 we need to load the
appropriate firmware. Recognize MT7981 by introducing a new DT compatible
and load mt7981_wo.bin if it is set.

Changes since v1:
 * retain alphabetic order in dt-bindings
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2023-04-22 14:13:25 +01:00
commit 92ce288ccb
3 changed files with 8 additions and 1 deletions

View file

@ -20,6 +20,7 @@ properties:
items: items:
- enum: - enum:
- mediatek,mt7622-wed - mediatek,mt7622-wed
- mediatek,mt7981-wed
- mediatek,mt7986-wed - mediatek,mt7986-wed
- const: syscon - const: syscon

View file

@ -326,7 +326,11 @@ mtk_wed_mcu_load_firmware(struct mtk_wed_wo *wo)
wo->hw->index + 1); wo->hw->index + 1);
/* load firmware */ /* load firmware */
fw_name = wo->hw->index ? MT7986_FIRMWARE_WO1 : MT7986_FIRMWARE_WO0; if (of_device_is_compatible(wo->hw->node, "mediatek,mt7981-wed"))
fw_name = MT7981_FIRMWARE_WO;
else
fw_name = wo->hw->index ? MT7986_FIRMWARE_WO1 : MT7986_FIRMWARE_WO0;
ret = request_firmware(&fw, fw_name, wo->hw->dev); ret = request_firmware(&fw, fw_name, wo->hw->dev);
if (ret) if (ret)
return ret; return ret;
@ -386,5 +390,6 @@ int mtk_wed_mcu_init(struct mtk_wed_wo *wo)
100, MTK_FW_DL_TIMEOUT); 100, MTK_FW_DL_TIMEOUT);
} }
MODULE_FIRMWARE(MT7981_FIRMWARE_WO);
MODULE_FIRMWARE(MT7986_FIRMWARE_WO0); MODULE_FIRMWARE(MT7986_FIRMWARE_WO0);
MODULE_FIRMWARE(MT7986_FIRMWARE_WO1); MODULE_FIRMWARE(MT7986_FIRMWARE_WO1);

View file

@ -88,6 +88,7 @@ enum mtk_wed_dummy_cr_idx {
MTK_WED_DUMMY_CR_WO_STATUS, MTK_WED_DUMMY_CR_WO_STATUS,
}; };
#define MT7981_FIRMWARE_WO "mediatek/mt7981_wo.bin"
#define MT7986_FIRMWARE_WO0 "mediatek/mt7986_wo_0.bin" #define MT7986_FIRMWARE_WO0 "mediatek/mt7986_wo_0.bin"
#define MT7986_FIRMWARE_WO1 "mediatek/mt7986_wo_1.bin" #define MT7986_FIRMWARE_WO1 "mediatek/mt7986_wo_1.bin"