File Index
Files and directories
Sign in
FILE

eeprom.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/mediatek/mt76/mt7996/eeprom.h C
 1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
 2/*
 3 * Copyright (C) 2022 MediaTek Inc.
 4 */
 5
 6#ifndef __MT7996_EEPROM_H
 7#define __MT7996_EEPROM_H
 8
 9#include "mt7996.h"
10
11enum mt7996_eeprom_field {
12	MT_EE_CHIP_ID =		0x000,
13	MT_EE_VERSION =		0x002,
14	MT_EE_MAC_ADDR =	0x004,
15	MT_EE_MAC_ADDR2 =	0x00a,
16	MT_EE_WIFI_CONF =	0x190,
17	MT_EE_MAC_ADDR3 =	0x2c0,
18	MT_EE_RATE_DELTA_2G =	0x1400,
19	MT_EE_RATE_DELTA_5G =	0x147d,
20	MT_EE_RATE_DELTA_6G =	0x154a,
21	MT_EE_TX0_POWER_2G =	0x1300,
22	MT_EE_TX0_POWER_5G =	0x1301,
23	MT_EE_TX0_POWER_6G =	0x1310,
24
25	__MT_EE_MAX =	0x1dff,
26};
27
28#define MT_EE_WIFI_CONF0_TX_PATH		GENMASK(2, 0)
29#define MT_EE_WIFI_CONF0_BAND_SEL		GENMASK(2, 0)
30#define MT_EE_WIFI_CONF1_BAND_SEL		GENMASK(5, 3)
31#define MT_EE_WIFI_CONF2_BAND_SEL		GENMASK(2, 0)
32
33#define MT_EE_WIFI_CONF1_TX_PATH_BAND0		GENMASK(5, 3)
34#define MT_EE_WIFI_CONF2_TX_PATH_BAND1		GENMASK(2, 0)
35#define MT_EE_WIFI_CONF2_TX_PATH_BAND2		GENMASK(5, 3)
36#define MT_EE_WIFI_CONF3_RX_PATH_BAND0		GENMASK(2, 0)
37#define MT_EE_WIFI_CONF3_RX_PATH_BAND1		GENMASK(5, 3)
38#define MT_EE_WIFI_CONF4_RX_PATH_BAND2		GENMASK(2, 0)
39#define MT_EE_WIFI_CONF4_STREAM_NUM_BAND0	GENMASK(5, 3)
40#define MT_EE_WIFI_CONF5_STREAM_NUM_BAND1	GENMASK(2, 0)
41#define MT_EE_WIFI_CONF5_STREAM_NUM_BAND2	GENMASK(5, 3)
42
43#define MT_EE_WIFI_PA_LNA_CONFIG		GENMASK(1, 0)
44
45#define MT_EE_RATE_DELTA_MASK			GENMASK(5, 0)
46#define MT_EE_RATE_DELTA_SIGN			BIT(6)
47#define MT_EE_RATE_DELTA_EN			BIT(7)
48
49enum mt7996_eeprom_band {
50	MT_EE_BAND_SEL_DEFAULT,
51	MT_EE_BAND_SEL_2GHZ,
52	MT_EE_BAND_SEL_5GHZ,
53	MT_EE_BAND_SEL_6GHZ,
54};
55
56static inline int
57mt7996_get_channel_group_5g(int channel)
58{
59	if (channel <= 64)
60		return 0;
61	if (channel <= 96)
62		return 1;
63	if (channel <= 128)
64		return 2;
65	if (channel <= 144)
66		return 3;
67	return 4;
68}
69
70static inline int
71mt7996_get_channel_group_6g(int channel)
72{
73	if (channel <= 29)
74		return 0;
75
76	return DIV_ROUND_UP(channel - 29, 32);
77}
78
79#endif
~/ Read-only file preview.