162306a36Sopenharmony_ci/* SPDX-License-Identifier: ISC */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2022 MediaTek Inc. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __MT7996_EEPROM_H 762306a36Sopenharmony_ci#define __MT7996_EEPROM_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "mt7996.h" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cienum mt7996_eeprom_field { 1262306a36Sopenharmony_ci MT_EE_CHIP_ID = 0x000, 1362306a36Sopenharmony_ci MT_EE_VERSION = 0x002, 1462306a36Sopenharmony_ci MT_EE_MAC_ADDR = 0x004, 1562306a36Sopenharmony_ci MT_EE_MAC_ADDR2 = 0x00a, 1662306a36Sopenharmony_ci MT_EE_WIFI_CONF = 0x190, 1762306a36Sopenharmony_ci MT_EE_MAC_ADDR3 = 0x2c0, 1862306a36Sopenharmony_ci MT_EE_RATE_DELTA_2G = 0x1400, 1962306a36Sopenharmony_ci MT_EE_RATE_DELTA_5G = 0x147d, 2062306a36Sopenharmony_ci MT_EE_RATE_DELTA_6G = 0x154a, 2162306a36Sopenharmony_ci MT_EE_TX0_POWER_2G = 0x1300, 2262306a36Sopenharmony_ci MT_EE_TX0_POWER_5G = 0x1301, 2362306a36Sopenharmony_ci MT_EE_TX0_POWER_6G = 0x1310, 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci __MT_EE_MAX = 0x1dff, 2662306a36Sopenharmony_ci}; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#define MT_EE_WIFI_CONF0_TX_PATH GENMASK(2, 0) 2962306a36Sopenharmony_ci#define MT_EE_WIFI_CONF0_BAND_SEL GENMASK(2, 0) 3062306a36Sopenharmony_ci#define MT_EE_WIFI_CONF1_BAND_SEL GENMASK(5, 3) 3162306a36Sopenharmony_ci#define MT_EE_WIFI_CONF2_BAND_SEL GENMASK(2, 0) 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#define MT_EE_WIFI_CONF1_TX_PATH_BAND0 GENMASK(5, 3) 3462306a36Sopenharmony_ci#define MT_EE_WIFI_CONF2_TX_PATH_BAND1 GENMASK(2, 0) 3562306a36Sopenharmony_ci#define MT_EE_WIFI_CONF2_TX_PATH_BAND2 GENMASK(5, 3) 3662306a36Sopenharmony_ci#define MT_EE_WIFI_CONF4_STREAM_NUM_BAND0 GENMASK(5, 3) 3762306a36Sopenharmony_ci#define MT_EE_WIFI_CONF5_STREAM_NUM_BAND1 GENMASK(2, 0) 3862306a36Sopenharmony_ci#define MT_EE_WIFI_CONF5_STREAM_NUM_BAND2 GENMASK(5, 3) 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define MT_EE_RATE_DELTA_MASK GENMASK(5, 0) 4162306a36Sopenharmony_ci#define MT_EE_RATE_DELTA_SIGN BIT(6) 4262306a36Sopenharmony_ci#define MT_EE_RATE_DELTA_EN BIT(7) 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cienum mt7996_eeprom_band { 4562306a36Sopenharmony_ci MT_EE_BAND_SEL_DEFAULT, 4662306a36Sopenharmony_ci MT_EE_BAND_SEL_2GHZ, 4762306a36Sopenharmony_ci MT_EE_BAND_SEL_5GHZ, 4862306a36Sopenharmony_ci MT_EE_BAND_SEL_6GHZ, 4962306a36Sopenharmony_ci}; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_cistatic inline int 5262306a36Sopenharmony_cimt7996_get_channel_group_5g(int channel) 5362306a36Sopenharmony_ci{ 5462306a36Sopenharmony_ci if (channel <= 64) 5562306a36Sopenharmony_ci return 0; 5662306a36Sopenharmony_ci if (channel <= 96) 5762306a36Sopenharmony_ci return 1; 5862306a36Sopenharmony_ci if (channel <= 128) 5962306a36Sopenharmony_ci return 2; 6062306a36Sopenharmony_ci if (channel <= 144) 6162306a36Sopenharmony_ci return 3; 6262306a36Sopenharmony_ci return 4; 6362306a36Sopenharmony_ci} 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_cistatic inline int 6662306a36Sopenharmony_cimt7996_get_channel_group_6g(int channel) 6762306a36Sopenharmony_ci{ 6862306a36Sopenharmony_ci if (channel <= 29) 6962306a36Sopenharmony_ci return 0; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci return DIV_ROUND_UP(channel - 29, 32); 7262306a36Sopenharmony_ci} 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci#endif 75