Commit e12b2e99 authored by Felix Fietkau's avatar Felix Fietkau
Browse files

wifi: mt76: mt7615: increase eeprom size for mt7663



mt7663 efuse has 0x600 bytes instead of 0x400. Increase the size in order
to fix issues with incomplete calibration data

Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 27db47ab
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -47,6 +47,9 @@ static int mt7615_efuse_init(struct mt7615_dev *dev, u32 base)
	void *buf;
	u32 val;

	if (is_mt7663(&dev->mt76))
		len = MT7663_EEPROM_SIZE;

	val = mt76_rr(dev, base + MT_EFUSE_BASE_CTRL);
	if (val & MT_EFUSE_BASE_CTRL_EMPTY)
		return 0;
@@ -72,6 +75,8 @@ static int mt7615_eeprom_load(struct mt7615_dev *dev, u32 addr)
{
	int ret;

	BUILD_BUG_ON(MT7615_EEPROM_FULL_SIZE < MT7663_EEPROM_SIZE);

	ret = mt76_eeprom_init(&dev->mt76, MT7615_EEPROM_FULL_SIZE);
	if (ret < 0)
		return ret;
@@ -336,7 +341,7 @@ int mt7615_eeprom_init(struct mt7615_dev *dev, u32 addr)
	ret = mt7615_check_eeprom(&dev->mt76);
	if (ret && dev->mt76.otp.data) {
		memcpy(dev->mt76.eeprom.data, dev->mt76.otp.data,
		       MT7615_EEPROM_SIZE);
		       dev->mt76.otp.size);
	} else {
		dev->flash_eeprom = true;
		mt7615_cal_free_data(dev);
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ enum mt7615_eeprom_field {

	MT7615_EE_MAX =				0x3bf,
	MT7622_EE_MAX =				0x3db,
	MT7663_EE_MAX =				0x400,
	MT7663_EE_MAX =				0x600,
};

#define MT_EE_RATE_POWER_MASK			GENMASK(5, 0)
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@
#define MT7663_FIRMWARE_N9		"mediatek/mt7663_n9_rebb.bin"

#define MT7615_EEPROM_SIZE		1024
#define MT7663_EEPROM_SIZE		1536
#define MT7615_TOKEN_SIZE		4096

#define MT_FRAC_SCALE		12