drivers/net/wireless/mediatek/mt76/mt76x0/initvals_phy.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/mediatek/mt76/mt76x0/initvals_phy.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/mediatek/mt76/mt76x0/initvals_phy.h
Extension
.h
Size
47646 bytes
Lines
634
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __MT76X0U_PHY_INITVALS_H
#define __MT76X0U_PHY_INITVALS_H

static const struct mt76_reg_pair mt76x0_rf_central_tab[] = {
	{ MT_RF(0,  1), 0x01 },
	{ MT_RF(0,  2), 0x11 },
	/* R3 ~ R7: VCO Cal */
	{ MT_RF(0,  3), 0x73 }, /* VCO Freq Cal */
	{ MT_RF(0,  4), 0x30 }, /* R4 b<7>=1, VCO cal */
	{ MT_RF(0,  5), 0x00 },
	{ MT_RF(0,  6), 0x41 },
	{ MT_RF(0,  7), 0x00 },
	{ MT_RF(0,  8), 0x00 },
	{ MT_RF(0,  9), 0x00 },
	{ MT_RF(0, 10), 0x0C },
	{ MT_RF(0, 11), 0x00 },
	{ MT_RF(0, 12), 0x00 },
	/* BG */
	{ MT_RF(0, 13), 0x00 },
	{ MT_RF(0, 14), 0x00 },
	{ MT_RF(0, 15), 0x00 },
	/* LDO */
	{ MT_RF(0, 19), 0x20 },
	{ MT_RF(0, 20), 0x22 },
	{ MT_RF(0, 21), 0x12 },
	{ MT_RF(0, 23), 0x00 },
	{ MT_RF(0, 24), 0x33 },
	{ MT_RF(0, 25), 0x00 },
	/* PLL */
	{ MT_RF(0, 26), 0x00 },
	{ MT_RF(0, 27), 0x00 },
	{ MT_RF(0, 28), 0x00 },
	{ MT_RF(0, 29), 0x00 },
	{ MT_RF(0, 30), 0x00 },
	{ MT_RF(0, 31), 0x00 },
	{ MT_RF(0, 32), 0x00 },
	{ MT_RF(0, 33), 0x00 },
	{ MT_RF(0, 34), 0x00 },
	{ MT_RF(0, 35), 0x00 },
	{ MT_RF(0, 36), 0x00 },
	{ MT_RF(0, 37), 0x00 },
	/* LO Buffer */
	{ MT_RF(0, 38), 0x2F },
	/* Test Ports */
	{ MT_RF(0, 64), 0x00 },
	{ MT_RF(0, 65), 0x80 },
	{ MT_RF(0, 66), 0x01 },
	{ MT_RF(0, 67), 0x04 },
	/* ADC-DAC */
	{ MT_RF(0, 68), 0x00 },
	{ MT_RF(0, 69), 0x08 },
	{ MT_RF(0, 70), 0x08 },
	{ MT_RF(0, 71), 0x40 },
	{ MT_RF(0, 72), 0xD0 },
	{ MT_RF(0, 73), 0x93 },
};

static const struct mt76_reg_pair mt76x0_rf_2g_channel_0_tab[] = {
	/* RX logic operation */
	{ MT_RF(5,  2), 0x0C }, /* 5G+2G */
	{ MT_RF(5,  3), 0x00 },
	/* TX logic operation */
	{ MT_RF(5,  4), 0x00 },
	{ MT_RF(5,  5), 0x84 },
	{ MT_RF(5,  6), 0x02 },
	/* LDO */
	{ MT_RF(5,  7), 0x00 },
	{ MT_RF(5,  8), 0x00 },
	{ MT_RF(5,  9), 0x00 },
	/* RX */
	{ MT_RF(5, 10), 0x51 },
	{ MT_RF(5, 11), 0x22 },
	{ MT_RF(5, 12), 0x22 },
	{ MT_RF(5, 13), 0x0F },
	{ MT_RF(5, 14), 0x47 },
	{ MT_RF(5, 15), 0x25 },
	{ MT_RF(5, 16), 0xC7 },
	{ MT_RF(5, 17), 0x00 },
	{ MT_RF(5, 18), 0x00 },
	{ MT_RF(5, 19), 0x30 },
	{ MT_RF(5, 20), 0x33 },
	{ MT_RF(5, 21), 0x02 },
	{ MT_RF(5, 22), 0x32 },
	{ MT_RF(5, 23), 0x00 },
	{ MT_RF(5, 24), 0x25 },
	{ MT_RF(5, 26), 0x00 },
	{ MT_RF(5, 27), 0x12 },
	{ MT_RF(5, 28), 0x0F },
	{ MT_RF(5, 29), 0x00 },
	/* LOGEN */

Annotation

Implementation Notes