1 /*
2  * Copyright (c) 2010 Broadcom Corporation
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #define NPHY_TBL_ID_GAIN1		0
18 #define NPHY_TBL_ID_GAIN2		1
19 #define NPHY_TBL_ID_GAINBITS1		2
20 #define NPHY_TBL_ID_GAINBITS2		3
21 #define NPHY_TBL_ID_GAINLIMIT		4
22 #define NPHY_TBL_ID_WRSSIGainLimit	5
23 #define NPHY_TBL_ID_RFSEQ		7
24 #define NPHY_TBL_ID_AFECTRL		8
25 #define NPHY_TBL_ID_ANTSWCTRLLUT	9
26 #define NPHY_TBL_ID_IQLOCAL		15
27 #define NPHY_TBL_ID_NOISEVAR		16
28 #define NPHY_TBL_ID_SAMPLEPLAY		17
29 #define NPHY_TBL_ID_CORE1TXPWRCTL	26
30 #define NPHY_TBL_ID_CORE2TXPWRCTL	27
31 #define NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL	30
32 
33 #define NPHY_TBL_ID_EPSILONTBL0   31
34 #define NPHY_TBL_ID_SCALARTBL0    32
35 #define NPHY_TBL_ID_EPSILONTBL1   33
36 #define NPHY_TBL_ID_SCALARTBL1    34
37 
38 #define	NPHY_TO_BPHY_OFF	0xc00
39 
40 #define NPHY_BandControl_currentBand			0x0001
41 #define RFCC_CHIP0_PU			0x0400
42 #define RFCC_POR_FORCE			0x0040
43 #define RFCC_OE_POR_FORCE		0x0080
44 #define NPHY_RfctrlIntc_override_OFF			0
45 #define NPHY_RfctrlIntc_override_TRSW			1
46 #define NPHY_RfctrlIntc_override_PA				2
47 #define NPHY_RfctrlIntc_override_EXT_LNA_PU		3
48 #define NPHY_RfctrlIntc_override_EXT_LNA_GAIN	4
49 #define RIFS_ENABLE			0x80
50 #define BPHY_BAND_SEL_UP20		0x10
51 #define NPHY_MLenable			0x02
52 
53 #define NPHY_RfseqMode_CoreActv_override 0x0001
54 #define NPHY_RfseqMode_Trigger_override	0x0002
55 #define NPHY_RfseqCoreActv_TxRxChain0	(0x11)
56 #define NPHY_RfseqCoreActv_TxRxChain1	(0x22)
57 
58 #define NPHY_RfseqTrigger_rx2tx		0x0001
59 #define NPHY_RfseqTrigger_tx2rx		0x0002
60 #define NPHY_RfseqTrigger_updategainh	0x0004
61 #define NPHY_RfseqTrigger_updategainl	0x0008
62 #define NPHY_RfseqTrigger_updategainu	0x0010
63 #define NPHY_RfseqTrigger_reset2rx	0x0020
64 #define NPHY_RfseqStatus_rx2tx		0x0001
65 #define NPHY_RfseqStatus_tx2rx		0x0002
66 #define NPHY_RfseqStatus_updategainh	0x0004
67 #define NPHY_RfseqStatus_updategainl	0x0008
68 #define NPHY_RfseqStatus_updategainu	0x0010
69 #define NPHY_RfseqStatus_reset2rx	0x0020
70 #define NPHY_ClassifierCtrl_cck_en	0x1
71 #define NPHY_ClassifierCtrl_ofdm_en	0x2
72 #define NPHY_ClassifierCtrl_waited_en	0x4
73 #define NPHY_IQFlip_ADC1		0x0001
74 #define NPHY_IQFlip_ADC2		0x0010
75 #define NPHY_sampleCmd_STOP		0x0002
76 
77 #define RX_GF_OR_MM			0x0004
78 #define RX_GF_MM_AUTO			0x0100
79 
80 #define NPHY_iqloCalCmdGctl_IQLO_CAL_EN	0x8000
81 
82 #define NPHY_IqestCmd_iqstart		0x1
83 #define NPHY_IqestCmd_iqMode		0x2
84 
85 #define NPHY_TxPwrCtrlCmd_pwrIndex_init		0x40
86 #define NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7	0x19
87 
88 #define PRIM_SEL_UP20		0x8000
89 
90 #define NPHY_RFSEQ_RX2TX		0x0
91 #define NPHY_RFSEQ_TX2RX		0x1
92 #define NPHY_RFSEQ_RESET2RX		0x2
93 #define NPHY_RFSEQ_UPDATEGAINH		0x3
94 #define NPHY_RFSEQ_UPDATEGAINL		0x4
95 #define NPHY_RFSEQ_UPDATEGAINU		0x5
96 
97 #define NPHY_RFSEQ_CMD_NOP		0x0
98 #define NPHY_RFSEQ_CMD_RXG_FBW		0x1
99 #define NPHY_RFSEQ_CMD_TR_SWITCH	0x2
100 #define NPHY_RFSEQ_CMD_EXT_PA		0x3
101 #define NPHY_RFSEQ_CMD_RXPD_TXPD	0x4
102 #define NPHY_RFSEQ_CMD_TX_GAIN		0x5
103 #define NPHY_RFSEQ_CMD_RX_GAIN		0x6
104 #define NPHY_RFSEQ_CMD_SET_HPF_BW	0x7
105 #define NPHY_RFSEQ_CMD_CLR_HIQ_DIS	0x8
106 #define NPHY_RFSEQ_CMD_END		0xf
107 
108 #define NPHY_REV3_RFSEQ_CMD_NOP		0x0
109 #define NPHY_REV3_RFSEQ_CMD_RXG_FBW	0x1
110 #define NPHY_REV3_RFSEQ_CMD_TR_SWITCH	0x2
111 #define NPHY_REV3_RFSEQ_CMD_INT_PA_PU	0x3
112 #define NPHY_REV3_RFSEQ_CMD_EXT_PA	0x4
113 #define NPHY_REV3_RFSEQ_CMD_RXPD_TXPD	0x5
114 #define NPHY_REV3_RFSEQ_CMD_TX_GAIN	0x6
115 #define NPHY_REV3_RFSEQ_CMD_RX_GAIN	0x7
116 #define NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS	0x8
117 #define NPHY_REV3_RFSEQ_CMD_SET_HPF_H_HPC	0x9
118 #define NPHY_REV3_RFSEQ_CMD_SET_LPF_H_HPC	0xa
119 #define NPHY_REV3_RFSEQ_CMD_SET_HPF_M_HPC	0xb
120 #define NPHY_REV3_RFSEQ_CMD_SET_LPF_M_HPC	0xc
121 #define NPHY_REV3_RFSEQ_CMD_SET_HPF_L_HPC	0xd
122 #define NPHY_REV3_RFSEQ_CMD_SET_LPF_L_HPC	0xe
123 #define NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS	0xf
124 #define NPHY_REV3_RFSEQ_CMD_END		0x1f
125 
126 #define NPHY_RSSI_SEL_W1		0x0
127 #define NPHY_RSSI_SEL_W2		0x1
128 #define NPHY_RSSI_SEL_NB		0x2
129 #define NPHY_RSSI_SEL_IQ		0x3
130 #define NPHY_RSSI_SEL_TSSI_2G		0x4
131 #define NPHY_RSSI_SEL_TSSI_5G		0x5
132 #define NPHY_RSSI_SEL_TBD		0x6
133 
134 #define NPHY_RAIL_I			0x0
135 #define NPHY_RAIL_Q			0x1
136 
137 #define NPHY_FORCESIG_DECODEGATEDCLKS	0x8
138 
139 #define NPHY_REV7_RfctrlOverride_cmd_rxrf_pu 0x0
140 #define NPHY_REV7_RfctrlOverride_cmd_rx_pu   0x1
141 #define NPHY_REV7_RfctrlOverride_cmd_tx_pu   0x2
142 #define NPHY_REV7_RfctrlOverride_cmd_rxgain  0x3
143 #define NPHY_REV7_RfctrlOverride_cmd_txgain  0x4
144 
145 #define NPHY_REV7_RXGAINCODE_RFMXGAIN_MASK 0x000ff
146 #define NPHY_REV7_RXGAINCODE_LPFGAIN_MASK  0x0ff00
147 #define NPHY_REV7_RXGAINCODE_DVGAGAIN_MASK 0xf0000
148 
149 #define NPHY_REV7_TXGAINCODE_TGAIN_MASK     0x7fff
150 #define NPHY_REV7_TXGAINCODE_LPFGAIN_MASK   0x8000
151 #define NPHY_REV7_TXGAINCODE_BIQ0GAIN_SHIFT 14
152 
153 #define NPHY_REV7_RFCTRLOVERRIDE_ID0 0x0
154 #define NPHY_REV7_RFCTRLOVERRIDE_ID1 0x1
155 #define NPHY_REV7_RFCTRLOVERRIDE_ID2 0x2
156 
157 #define NPHY_IqestIqAccLo(core)  ((core == 0) ? 0x12c : 0x134)
158 
159 #define NPHY_IqestIqAccHi(core)  ((core == 0) ? 0x12d : 0x135)
160 
161 #define NPHY_IqestipwrAccLo(core)  ((core == 0) ? 0x12e : 0x136)
162 
163 #define NPHY_IqestipwrAccHi(core)  ((core == 0) ? 0x12f : 0x137)
164 
165 #define NPHY_IqestqpwrAccLo(core)  ((core == 0) ? 0x130 : 0x138)
166 
167 #define NPHY_IqestqpwrAccHi(core)  ((core == 0) ? 0x131 : 0x139)
168