mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
When TSSI calibration is disabled (which it means the device has been equipped with an external power amplifier) we need to refer to different eeprom fields in order to properly configure tx power Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
80 lines
1.7 KiB
C
80 lines
1.7 KiB
C
/* SPDX-License-Identifier: ISC */
|
|
/* Copyright (C) 2019 MediaTek Inc. */
|
|
|
|
#ifndef __MT7615_EEPROM_H
|
|
#define __MT7615_EEPROM_H
|
|
|
|
#include "mt7615.h"
|
|
|
|
enum mt7615_eeprom_field {
|
|
MT_EE_CHIP_ID = 0x000,
|
|
MT_EE_VERSION = 0x002,
|
|
MT_EE_MAC_ADDR = 0x004,
|
|
MT_EE_NIC_CONF_0 = 0x034,
|
|
MT_EE_NIC_CONF_1 = 0x036,
|
|
MT_EE_WIFI_CONF = 0x03e,
|
|
MT_EE_TX0_2G_TARGET_POWER = 0x058,
|
|
MT_EE_TX0_5G_G0_TARGET_POWER = 0x070,
|
|
MT_EE_TX1_5G_G0_TARGET_POWER = 0x098,
|
|
MT_EE_EXT_PA_2G_TARGET_POWER = 0x0f2,
|
|
MT_EE_EXT_PA_5G_TARGET_POWER = 0x0f3,
|
|
MT_EE_TX2_5G_G0_TARGET_POWER = 0x142,
|
|
MT_EE_TX3_5G_G0_TARGET_POWER = 0x16a,
|
|
|
|
__MT_EE_MAX = 0x3bf
|
|
};
|
|
|
|
#define MT_EE_NIC_CONF_TSSI_2G BIT(5)
|
|
#define MT_EE_NIC_CONF_TSSI_5G BIT(6)
|
|
|
|
#define MT_EE_NIC_WIFI_CONF_BAND_SEL GENMASK(5, 4)
|
|
enum mt7615_eeprom_band {
|
|
MT_EE_DUAL_BAND,
|
|
MT_EE_5GHZ,
|
|
MT_EE_2GHZ,
|
|
MT_EE_DBDC,
|
|
};
|
|
|
|
enum mt7615_channel_group {
|
|
MT_CH_5G_JAPAN,
|
|
MT_CH_5G_UNII_1,
|
|
MT_CH_5G_UNII_2A,
|
|
MT_CH_5G_UNII_2B,
|
|
MT_CH_5G_UNII_2E_1,
|
|
MT_CH_5G_UNII_2E_2,
|
|
MT_CH_5G_UNII_2E_3,
|
|
MT_CH_5G_UNII_3,
|
|
__MT_CH_MAX
|
|
};
|
|
|
|
static inline enum mt7615_channel_group
|
|
mt7615_get_channel_group(int channel)
|
|
{
|
|
if (channel >= 184 && channel <= 196)
|
|
return MT_CH_5G_JAPAN;
|
|
if (channel <= 48)
|
|
return MT_CH_5G_UNII_1;
|
|
if (channel <= 64)
|
|
return MT_CH_5G_UNII_2A;
|
|
if (channel <= 114)
|
|
return MT_CH_5G_UNII_2E_1;
|
|
if (channel <= 144)
|
|
return MT_CH_5G_UNII_2E_2;
|
|
if (channel <= 161)
|
|
return MT_CH_5G_UNII_2E_3;
|
|
return MT_CH_5G_UNII_3;
|
|
}
|
|
|
|
static inline bool
|
|
mt7615_ext_pa_enabled(struct mt7615_dev *dev, enum nl80211_band band)
|
|
{
|
|
u8 *eep = dev->mt76.eeprom.data;
|
|
|
|
if (band == NL80211_BAND_5GHZ)
|
|
return !(eep[MT_EE_NIC_CONF_1 + 1] & MT_EE_NIC_CONF_TSSI_5G);
|
|
else
|
|
return !(eep[MT_EE_NIC_CONF_1 + 1] & MT_EE_NIC_CONF_TSSI_2G);
|
|
}
|
|
|
|
#endif
|