From 6256e5a3577ddf726a30774b2366e7ccf098031a Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Thu, 30 Mar 2023 15:12:37 +0800
Subject: [PATCH 1127/1133] mt76: mt7915: add E3 re-bonding for low yield rate
 issue

---
 mt7915/eeprom.c | 28 ++++++++++++++++++++++++++++
 mt7915/mt7915.h |  1 +
 2 files changed, 29 insertions(+)

diff --git a/mt7915/eeprom.c b/mt7915/eeprom.c
index 612be3f..c6d8ca1 100644
--- a/mt7915/eeprom.c
+++ b/mt7915/eeprom.c
@@ -239,6 +239,32 @@ void mt7915_eeprom_parse_hw_cap(struct mt7915_dev *dev,
 	dev->chainshift = hweight8(dev->mphy.chainmask);
 }
 
+void mt7915_eeprom_rebonding(struct mt7915_dev *dev)
+{
+#define MT7976_ADIE_MASK			BIT(1)
+#define MT7986_ADIE1_EFFUSE_OFFSET		0x1000
+#define MT7986_ADIE1_MT7976C_OFFSET		0x270
+#define MT7986_ADIE1_E3_OFFSET			0x271
+	u32 adie_offset, offset, sku = mt7915_check_adie(dev, true);
+	u8 read_buf[MT7915_EEPROM_BLOCK_SIZE], *eeprom = dev->mt76.eeprom.data;
+
+
+	if (!(sku & MT7976_ADIE_MASK))
+		return;
+
+	adie_offset = (sku == MT7976_DUAL_ADIE) ? MT7986_ADIE1_EFFUSE_OFFSET : 0;
+
+	/* 7976 A-Die, To identify MT7976C */
+	offset = MT7986_ADIE1_MT7976C_OFFSET + adie_offset;
+	mt7915_mcu_get_eeprom(dev, offset, read_buf);
+	eeprom[MT7986_ADIE1_MT7976C_OFFSET] = read_buf[offset % MT7915_EEPROM_BLOCK_SIZE];
+
+	/* E3 re-binding */
+	offset = MT7986_ADIE1_E3_OFFSET + adie_offset;
+	mt7915_mcu_get_eeprom(dev, offset, read_buf);
+	eeprom[MT7986_ADIE1_E3_OFFSET] = read_buf[offset % MT7915_EEPROM_BLOCK_SIZE];
+}
+
 int mt7915_eeprom_init(struct mt7915_dev *dev)
 {
 	int ret;
@@ -275,6 +301,8 @@ int mt7915_eeprom_init(struct mt7915_dev *dev)
 			return ret;
 	}
 
+	mt7915_eeprom_rebonding(dev);
+
 	ret = mt7915_eeprom_load_precal(dev);
 	if (ret)
 		return ret;
diff --git a/mt7915/mt7915.h b/mt7915/mt7915.h
index 73bc030..5999134 100644
--- a/mt7915/mt7915.h
+++ b/mt7915/mt7915.h
@@ -558,6 +558,7 @@ u32 mt7915_wed_init_buf(void *ptr, dma_addr_t phys, int token_id);
 
 int mt7915_register_device(struct mt7915_dev *dev);
 void mt7915_unregister_device(struct mt7915_dev *dev);
+void mt7915_eeprom_rebonding(struct mt7915_dev *dev);
 int mt7915_eeprom_init(struct mt7915_dev *dev);
 void mt7915_eeprom_parse_hw_cap(struct mt7915_dev *dev,
 				struct mt7915_phy *phy);
-- 
2.18.0

