Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/net/wireless/mediatek/mt76/mt7615/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  eeprom.h   Sprache: C

 
/* SPDX-License-Identifier: ISC */
/* Copyright (C) 2019 MediaTek Inc. */

#ifndef __MT7615_EEPROM_H
#define __MT7615_EEPROM_H

#include "mt7615.h"


#define MT7615_EEPROM_DCOC_OFFSET  MT7615_EEPROM_SIZE
#define MT7615_EEPROM_DCOC_SIZE   256
#define MT7615_EEPROM_DCOC_COUNT  34

#define MT7615_EEPROM_TXDPD_OFFSET  (MT7615_EEPROM_SIZE + \
       MT7615_EEPROM_DCOC_COUNT * \
       MT7615_EEPROM_DCOC_SIZE)
#define MT7615_EEPROM_TXDPD_SIZE  216
#define MT7615_EEPROM_TXDPD_COUNT  (44 + 3)

#define MT7615_EEPROM_FULL_SIZE   (MT7615_EEPROM_TXDPD_OFFSET + \
       MT7615_EEPROM_TXDPD_COUNT * \
       MT7615_EEPROM_TXDPD_SIZE)

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_CALDATA_FLASH =   0x052,
 MT_EE_TX0_2G_TARGET_POWER =  0x058,
 MT_EE_TX0_5G_G0_TARGET_POWER =  0x070,
 MT7663_EE_5G_RATE_POWER =  0x089,
 MT_EE_TX1_5G_G0_TARGET_POWER =  0x098,
 MT_EE_2G_RATE_POWER =   0x0be,
 MT_EE_5G_RATE_POWER =   0x0d5,
 MT7663_EE_TX0_2G_TARGET_POWER =  0x0e3,
 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,
 MT7663_EE_HW_CONF1 =   0x1b0,
 MT7663_EE_TX0_5G_G0_TARGET_POWER = 0x245,
 MT7663_EE_TX1_5G_G0_TARGET_POWER = 0x2b5,

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

#define MT_EE_RATE_POWER_MASK   GENMASK(5, 0)
#define MT_EE_RATE_POWER_SIGN   BIT(6)
#define MT_EE_RATE_POWER_EN   BIT(7)

#define MT_EE_CALDATA_FLASH_TX_DPD  BIT(0)
#define MT_EE_CALDATA_FLASH_RX_CAL  BIT(1)

#define MT_EE_NIC_CONF_TX_MASK   GENMASK(7, 4)
#define MT_EE_NIC_CONF_RX_MASK   GENMASK(3, 0)

#define MT_EE_HW_CONF1_TX_MASK   GENMASK(2, 0)

#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

Messung V0.5
C=95 H=92 G=93

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.