blob: 1cebf18b038b6a4e85e0a881e0721864f7376299 [file] [log] [blame]
developerd0c89452024-10-11 16:53:27 +08001From 9c8447672f6bb36113eccf7064f91b11ea980825 Mon Sep 17 00:00:00 2001
2From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
3Date: Tue, 5 Dec 2023 16:48:33 +0800
4Subject: [PATCH 045/223] mtk: mt76: mt7996: add Eagle 2adie TBTC (BE14000)
5 support
6
7Add fwdl/default eeprom load support for Eagle 2 adie TBTC
8
9Add Eagle 2adie TBTC efuse merge
10Add Eagle 2adie TBTC group prek size
11
12Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
13Change-Id: I53479ad22aec81ba3f3028aa0aada86b175379f8
14---
15 mt7996/eeprom.c | 6 ++++--
16 mt7996/eeprom.h | 12 ++++++++++++
17 mt7996/mt7996.h | 1 +
18 3 files changed, 17 insertions(+), 2 deletions(-)
19
20diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
21index be87afe8..f1c29e8d 100644
22--- a/mt7996/eeprom.c
23+++ b/mt7996/eeprom.c
24@@ -500,6 +500,8 @@ static void mt7996_eeprom_init_precal(struct mt7996_dev *dev)
25 switch (mt76_chip(&dev->mt76)) {
26 case 0x7990:
27 dev->prek.rev = mt7996_prek_rev;
28+ if (dev->chip_sku == MT7996_VAR_TYPE_233)
29+ dev->prek.rev = mt7996_prek_rev_233;
30 /* 5g & 6g bw 80 dpd channel list is not used */
31 dev->prek.dpd_ch_num[DPD_CH_NUM_BW320_6G] = ARRAY_SIZE(dpd_6g_ch_list_bw320);
32 break;
33@@ -603,7 +605,7 @@ static int mt7996_apply_cal_free_data(struct mt7996_dev *dev)
34 case 0x7990:
35 adie_base = adie_base_7996;
36 /* adie 0 */
37- if (dev->fem_type == MT7996_FEM_INT)
38+ if (dev->fem_type == MT7996_FEM_INT && dev->chip_sku != MT7996_VAR_TYPE_233)
39 adie_id = ADIE_7975;
40 else
41 adie_id = ADIE_7976;
42@@ -611,7 +613,7 @@ static int mt7996_apply_cal_free_data(struct mt7996_dev *dev)
43 eep_offs[0] = eep_offs_list[adie_id];
44
45 /* adie 1 */
46- if (dev->chip_sku != MT7996_VAR_TYPE_404) {
47+ if (dev->chip_sku == MT7996_VAR_TYPE_444) {
48 adie_offs[1] = adie_offs_list[ADIE_7977];
49 eep_offs[1] = eep_offs_list[ADIE_7977];
50 }
51diff --git a/mt7996/eeprom.h b/mt7996/eeprom.h
52index c3c248ca..788c33c8 100644
53--- a/mt7996/eeprom.h
54+++ b/mt7996/eeprom.h
55@@ -70,6 +70,18 @@ static const u32 mt7996_prek_rev[] = {
56 [DPD_OTFG0_SIZE] = 2 * MT_EE_CAL_UNIT,
57 };
58
59+static const u32 mt7996_prek_rev_233[] = {
60+ [GROUP_SIZE_2G] = 4 * MT_EE_CAL_UNIT,
61+ [GROUP_SIZE_5G] = 44 * MT_EE_CAL_UNIT,
62+ [GROUP_SIZE_6G] = 100 * MT_EE_CAL_UNIT,
63+ [ADCDCOC_SIZE_2G] = 4 * 4,
64+ [ADCDCOC_SIZE_5G] = 4 * 4,
65+ [ADCDCOC_SIZE_6G] = 4 * 5,
66+ [DPD_LEGACY_SIZE] = 4 * MT_EE_CAL_UNIT,
67+ [DPD_MEM_SIZE] = 13 * MT_EE_CAL_UNIT,
68+ [DPD_OTFG0_SIZE] = 2 * MT_EE_CAL_UNIT,
69+};
70+
71 /* kite 2/5g config */
72 static const u32 mt7992_prek_rev[] = {
73 [GROUP_SIZE_2G] = 4 * MT_EE_CAL_UNIT,
74diff --git a/mt7996/mt7996.h b/mt7996/mt7996.h
75index f6e7fbdd..81639a45 100644
76--- a/mt7996/mt7996.h
77+++ b/mt7996/mt7996.h
78@@ -38,6 +38,7 @@
79 #define MT7996_FIRMWARE_WA_233 "mediatek/mt7996/mt7996_wa_233.bin"
80 #define MT7996_FIRMWARE_WM_233 "mediatek/mt7996/mt7996_wm_233.bin"
81 #define MT7996_FIRMWARE_DSP_233 MT7996_FIRMWARE_DSP
82+#define MT7996_FIRMWARE_WM_TM_233 "mediatek/mt7996/mt7996_wm_tm_233.bin"
83 #define MT7996_ROM_PATCH_233 "mediatek/mt7996/mt7996_rom_patch_233.bin"
84
85 #define MT7992_FIRMWARE_WA "mediatek/mt7996/mt7992_wa.bin"
86--
872.45.2
88