blob: 3f5cfe7aba0bc80bcb4e918924bb071a0b48f2f7 [file] [log] [blame]
developer7e2761e2023-10-12 08:11:13 +08001From 41ae938fe5d3df6b40e2b1cd5baaf8ea59bd2c46 Mon Sep 17 00:00:00 2001
2From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
3Date: Wed, 12 Jul 2023 23:00:29 +0800
4Subject: [PATCH 27/98] wifi: mt76: mt7996: add AFE pll enable before driver
5 own
6
7Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
8Signed-off-by: Benjamin Lin <benjamin-jw.lin@mediatek.com>
9---
10 mt7996/init.c | 4 ++++
11 mt7996/regs.h | 7 +++++++
12 2 files changed, 11 insertions(+)
13
14diff --git a/mt7996/init.c b/mt7996/init.c
15index 3656b89..273d1e7 100644
16--- a/mt7996/init.c
17+++ b/mt7996/init.c
18@@ -782,6 +782,10 @@ static int mt7996_init_hardware(struct mt7996_dev *dev)
19 int ret, idx;
20
21 mt76_wr(dev, MT_INT_SOURCE_CSR, ~0);
22+ if (is_mt7992(&dev->mt76)) {
23+ mt76_rmw(dev, MT_AFE_CTL_BAND_PLL_03(MT_BAND0), MT_AFE_CTL_BAND_PLL_03_MSB_EN, 0);
24+ mt76_rmw(dev, MT_AFE_CTL_BAND_PLL_03(MT_BAND1), MT_AFE_CTL_BAND_PLL_03_MSB_EN, 0);
25+ }
26
27 INIT_WORK(&dev->init_work, mt7996_init_work);
28
29diff --git a/mt7996/regs.h b/mt7996/regs.h
30index 865e005..e76dae6 100644
31--- a/mt7996/regs.h
32+++ b/mt7996/regs.h
33@@ -675,4 +675,11 @@ enum base_rev {
34 #define MT_MCU_WM_EXCP_LR_CTRL_IDX_STATUS GENMASK(20, 16)
35 #define MT_MCU_WM_EXCP_LR_LOG MT_MCU_WM_EXCP(0x204)
36
37+/* CONN AFE CTL CON */
38+#define MT_AFE_CTL_BASE 0x18043000
39+#define MT_AFE_CTL_BAND(_band, ofs) (MT_AFE_CTL_BASE + \
40+ ((_band) * 0x1000) + (ofs))
41+#define MT_AFE_CTL_BAND_PLL_03(_band) MT_AFE_CTL_BAND(_band, 0x2c)
42+#define MT_AFE_CTL_BAND_PLL_03_MSB_EN BIT(1)
43+
44 #endif
45--
462.18.0
47