xref: /freebsd/sys/contrib/dev/broadcom/brcm80211/brcmsmac/phy/phyreg_n.h (revision b4c3e9b5b09c829b4135aff738bd2893ed052377)
1*b4c3e9b5SBjoern A. Zeeb // SPDX-License-Identifier: ISC
2*b4c3e9b5SBjoern A. Zeeb /*
3*b4c3e9b5SBjoern A. Zeeb  * Copyright (c) 2010 Broadcom Corporation
4*b4c3e9b5SBjoern A. Zeeb  */
5*b4c3e9b5SBjoern A. Zeeb 
6*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_GAIN1		0
7*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_GAIN2		1
8*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_GAINBITS1		2
9*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_GAINBITS2		3
10*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_GAINLIMIT		4
11*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_WRSSIGainLimit	5
12*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_RFSEQ		7
13*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_AFECTRL		8
14*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_ANTSWCTRLLUT	9
15*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_IQLOCAL		15
16*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_NOISEVAR		16
17*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_SAMPLEPLAY		17
18*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_CORE1TXPWRCTL	26
19*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_CORE2TXPWRCTL	27
20*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL	30
21*b4c3e9b5SBjoern A. Zeeb 
22*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_EPSILONTBL0   31
23*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_SCALARTBL0    32
24*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_EPSILONTBL1   33
25*b4c3e9b5SBjoern A. Zeeb #define NPHY_TBL_ID_SCALARTBL1    34
26*b4c3e9b5SBjoern A. Zeeb 
27*b4c3e9b5SBjoern A. Zeeb #define	NPHY_TO_BPHY_OFF	0xc00
28*b4c3e9b5SBjoern A. Zeeb 
29*b4c3e9b5SBjoern A. Zeeb #define NPHY_BandControl_currentBand			0x0001
30*b4c3e9b5SBjoern A. Zeeb #define RFCC_CHIP0_PU			0x0400
31*b4c3e9b5SBjoern A. Zeeb #define RFCC_POR_FORCE			0x0040
32*b4c3e9b5SBjoern A. Zeeb #define RFCC_OE_POR_FORCE		0x0080
33*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfctrlIntc_override_OFF			0
34*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfctrlIntc_override_TRSW			1
35*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfctrlIntc_override_PA				2
36*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfctrlIntc_override_EXT_LNA_PU		3
37*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfctrlIntc_override_EXT_LNA_GAIN	4
38*b4c3e9b5SBjoern A. Zeeb #define RIFS_ENABLE			0x80
39*b4c3e9b5SBjoern A. Zeeb #define BPHY_BAND_SEL_UP20		0x10
40*b4c3e9b5SBjoern A. Zeeb #define NPHY_MLenable			0x02
41*b4c3e9b5SBjoern A. Zeeb 
42*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqMode_CoreActv_override 0x0001
43*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqMode_Trigger_override	0x0002
44*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqCoreActv_TxRxChain0	(0x11)
45*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqCoreActv_TxRxChain1	(0x22)
46*b4c3e9b5SBjoern A. Zeeb 
47*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqTrigger_rx2tx		0x0001
48*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqTrigger_tx2rx		0x0002
49*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqTrigger_updategainh	0x0004
50*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqTrigger_updategainl	0x0008
51*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqTrigger_updategainu	0x0010
52*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqTrigger_reset2rx	0x0020
53*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqStatus_rx2tx		0x0001
54*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqStatus_tx2rx		0x0002
55*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqStatus_updategainh	0x0004
56*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqStatus_updategainl	0x0008
57*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqStatus_updategainu	0x0010
58*b4c3e9b5SBjoern A. Zeeb #define NPHY_RfseqStatus_reset2rx	0x0020
59*b4c3e9b5SBjoern A. Zeeb #define NPHY_ClassifierCtrl_cck_en	0x1
60*b4c3e9b5SBjoern A. Zeeb #define NPHY_ClassifierCtrl_ofdm_en	0x2
61*b4c3e9b5SBjoern A. Zeeb #define NPHY_ClassifierCtrl_waited_en	0x4
62*b4c3e9b5SBjoern A. Zeeb #define NPHY_IQFlip_ADC1		0x0001
63*b4c3e9b5SBjoern A. Zeeb #define NPHY_IQFlip_ADC2		0x0010
64*b4c3e9b5SBjoern A. Zeeb #define NPHY_sampleCmd_STOP		0x0002
65*b4c3e9b5SBjoern A. Zeeb 
66*b4c3e9b5SBjoern A. Zeeb #define RX_GF_OR_MM			0x0004
67*b4c3e9b5SBjoern A. Zeeb #define RX_GF_MM_AUTO			0x0100
68*b4c3e9b5SBjoern A. Zeeb 
69*b4c3e9b5SBjoern A. Zeeb #define NPHY_iqloCalCmdGctl_IQLO_CAL_EN	0x8000
70*b4c3e9b5SBjoern A. Zeeb 
71*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestCmd_iqstart		0x1
72*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestCmd_iqMode		0x2
73*b4c3e9b5SBjoern A. Zeeb 
74*b4c3e9b5SBjoern A. Zeeb #define NPHY_TxPwrCtrlCmd_pwrIndex_init		0x40
75*b4c3e9b5SBjoern A. Zeeb #define NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7	0x19
76*b4c3e9b5SBjoern A. Zeeb 
77*b4c3e9b5SBjoern A. Zeeb #define PRIM_SEL_UP20		0x8000
78*b4c3e9b5SBjoern A. Zeeb 
79*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_RX2TX		0x0
80*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_TX2RX		0x1
81*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_RESET2RX		0x2
82*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_UPDATEGAINH		0x3
83*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_UPDATEGAINL		0x4
84*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_UPDATEGAINU		0x5
85*b4c3e9b5SBjoern A. Zeeb 
86*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_NOP		0x0
87*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_RXG_FBW		0x1
88*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_TR_SWITCH	0x2
89*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_EXT_PA		0x3
90*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_RXPD_TXPD	0x4
91*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_TX_GAIN		0x5
92*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_RX_GAIN		0x6
93*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_SET_HPF_BW	0x7
94*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_CLR_HIQ_DIS	0x8
95*b4c3e9b5SBjoern A. Zeeb #define NPHY_RFSEQ_CMD_END		0xf
96*b4c3e9b5SBjoern A. Zeeb 
97*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_NOP		0x0
98*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_RXG_FBW	0x1
99*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_TR_SWITCH	0x2
100*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_INT_PA_PU	0x3
101*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_EXT_PA	0x4
102*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_RXPD_TXPD	0x5
103*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_TX_GAIN	0x6
104*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_RX_GAIN	0x7
105*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS	0x8
106*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_SET_HPF_H_HPC	0x9
107*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_SET_LPF_H_HPC	0xa
108*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_SET_HPF_M_HPC	0xb
109*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_SET_LPF_M_HPC	0xc
110*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_SET_HPF_L_HPC	0xd
111*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_SET_LPF_L_HPC	0xe
112*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS	0xf
113*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV3_RFSEQ_CMD_END		0x1f
114*b4c3e9b5SBjoern A. Zeeb 
115*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_W1		0x0
116*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_W2		0x1
117*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_NB		0x2
118*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_IQ		0x3
119*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_TSSI_2G		0x4
120*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_TSSI_5G		0x5
121*b4c3e9b5SBjoern A. Zeeb #define NPHY_RSSI_SEL_TBD		0x6
122*b4c3e9b5SBjoern A. Zeeb 
123*b4c3e9b5SBjoern A. Zeeb #define NPHY_RAIL_I			0x0
124*b4c3e9b5SBjoern A. Zeeb #define NPHY_RAIL_Q			0x1
125*b4c3e9b5SBjoern A. Zeeb 
126*b4c3e9b5SBjoern A. Zeeb #define NPHY_FORCESIG_DECODEGATEDCLKS	0x8
127*b4c3e9b5SBjoern A. Zeeb 
128*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RfctrlOverride_cmd_rxrf_pu 0x0
129*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RfctrlOverride_cmd_rx_pu   0x1
130*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RfctrlOverride_cmd_tx_pu   0x2
131*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RfctrlOverride_cmd_rxgain  0x3
132*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RfctrlOverride_cmd_txgain  0x4
133*b4c3e9b5SBjoern A. Zeeb 
134*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RXGAINCODE_RFMXGAIN_MASK 0x000ff
135*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RXGAINCODE_LPFGAIN_MASK  0x0ff00
136*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RXGAINCODE_DVGAGAIN_MASK 0xf0000
137*b4c3e9b5SBjoern A. Zeeb 
138*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_TXGAINCODE_TGAIN_MASK     0x7fff
139*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_TXGAINCODE_LPFGAIN_MASK   0x8000
140*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_TXGAINCODE_BIQ0GAIN_SHIFT 14
141*b4c3e9b5SBjoern A. Zeeb 
142*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RFCTRLOVERRIDE_ID0 0x0
143*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RFCTRLOVERRIDE_ID1 0x1
144*b4c3e9b5SBjoern A. Zeeb #define NPHY_REV7_RFCTRLOVERRIDE_ID2 0x2
145*b4c3e9b5SBjoern A. Zeeb 
146*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestIqAccLo(core)  ((core == 0) ? 0x12c : 0x134)
147*b4c3e9b5SBjoern A. Zeeb 
148*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestIqAccHi(core)  ((core == 0) ? 0x12d : 0x135)
149*b4c3e9b5SBjoern A. Zeeb 
150*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestipwrAccLo(core)  ((core == 0) ? 0x12e : 0x136)
151*b4c3e9b5SBjoern A. Zeeb 
152*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestipwrAccHi(core)  ((core == 0) ? 0x12f : 0x137)
153*b4c3e9b5SBjoern A. Zeeb 
154*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestqpwrAccLo(core)  ((core == 0) ? 0x130 : 0x138)
155*b4c3e9b5SBjoern A. Zeeb 
156*b4c3e9b5SBjoern A. Zeeb #define NPHY_IqestqpwrAccHi(core)  ((core == 0) ? 0x131 : 0x139)
157