xref: /linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phyreg_n.h (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
1*f843863dSArend van Spriel // SPDX-License-Identifier: ISC
25b435de0SArend van Spriel /*
35b435de0SArend van Spriel  * Copyright (c) 2010 Broadcom Corporation
45b435de0SArend van Spriel  */
55b435de0SArend van Spriel 
65b435de0SArend van Spriel #define NPHY_TBL_ID_GAIN1		0
75b435de0SArend van Spriel #define NPHY_TBL_ID_GAIN2		1
85b435de0SArend van Spriel #define NPHY_TBL_ID_GAINBITS1		2
95b435de0SArend van Spriel #define NPHY_TBL_ID_GAINBITS2		3
105b435de0SArend van Spriel #define NPHY_TBL_ID_GAINLIMIT		4
115b435de0SArend van Spriel #define NPHY_TBL_ID_WRSSIGainLimit	5
125b435de0SArend van Spriel #define NPHY_TBL_ID_RFSEQ		7
135b435de0SArend van Spriel #define NPHY_TBL_ID_AFECTRL		8
145b435de0SArend van Spriel #define NPHY_TBL_ID_ANTSWCTRLLUT	9
155b435de0SArend van Spriel #define NPHY_TBL_ID_IQLOCAL		15
165b435de0SArend van Spriel #define NPHY_TBL_ID_NOISEVAR		16
175b435de0SArend van Spriel #define NPHY_TBL_ID_SAMPLEPLAY		17
185b435de0SArend van Spriel #define NPHY_TBL_ID_CORE1TXPWRCTL	26
195b435de0SArend van Spriel #define NPHY_TBL_ID_CORE2TXPWRCTL	27
205b435de0SArend van Spriel #define NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL	30
215b435de0SArend van Spriel 
225b435de0SArend van Spriel #define NPHY_TBL_ID_EPSILONTBL0   31
235b435de0SArend van Spriel #define NPHY_TBL_ID_SCALARTBL0    32
245b435de0SArend van Spriel #define NPHY_TBL_ID_EPSILONTBL1   33
255b435de0SArend van Spriel #define NPHY_TBL_ID_SCALARTBL1    34
265b435de0SArend van Spriel 
275b435de0SArend van Spriel #define	NPHY_TO_BPHY_OFF	0xc00
285b435de0SArend van Spriel 
295b435de0SArend van Spriel #define NPHY_BandControl_currentBand			0x0001
305b435de0SArend van Spriel #define RFCC_CHIP0_PU			0x0400
315b435de0SArend van Spriel #define RFCC_POR_FORCE			0x0040
325b435de0SArend van Spriel #define RFCC_OE_POR_FORCE		0x0080
335b435de0SArend van Spriel #define NPHY_RfctrlIntc_override_OFF			0
345b435de0SArend van Spriel #define NPHY_RfctrlIntc_override_TRSW			1
355b435de0SArend van Spriel #define NPHY_RfctrlIntc_override_PA				2
365b435de0SArend van Spriel #define NPHY_RfctrlIntc_override_EXT_LNA_PU		3
375b435de0SArend van Spriel #define NPHY_RfctrlIntc_override_EXT_LNA_GAIN	4
385b435de0SArend van Spriel #define RIFS_ENABLE			0x80
395b435de0SArend van Spriel #define BPHY_BAND_SEL_UP20		0x10
405b435de0SArend van Spriel #define NPHY_MLenable			0x02
415b435de0SArend van Spriel 
425b435de0SArend van Spriel #define NPHY_RfseqMode_CoreActv_override 0x0001
435b435de0SArend van Spriel #define NPHY_RfseqMode_Trigger_override	0x0002
445b435de0SArend van Spriel #define NPHY_RfseqCoreActv_TxRxChain0	(0x11)
455b435de0SArend van Spriel #define NPHY_RfseqCoreActv_TxRxChain1	(0x22)
465b435de0SArend van Spriel 
475b435de0SArend van Spriel #define NPHY_RfseqTrigger_rx2tx		0x0001
485b435de0SArend van Spriel #define NPHY_RfseqTrigger_tx2rx		0x0002
495b435de0SArend van Spriel #define NPHY_RfseqTrigger_updategainh	0x0004
505b435de0SArend van Spriel #define NPHY_RfseqTrigger_updategainl	0x0008
515b435de0SArend van Spriel #define NPHY_RfseqTrigger_updategainu	0x0010
525b435de0SArend van Spriel #define NPHY_RfseqTrigger_reset2rx	0x0020
535b435de0SArend van Spriel #define NPHY_RfseqStatus_rx2tx		0x0001
545b435de0SArend van Spriel #define NPHY_RfseqStatus_tx2rx		0x0002
555b435de0SArend van Spriel #define NPHY_RfseqStatus_updategainh	0x0004
565b435de0SArend van Spriel #define NPHY_RfseqStatus_updategainl	0x0008
575b435de0SArend van Spriel #define NPHY_RfseqStatus_updategainu	0x0010
585b435de0SArend van Spriel #define NPHY_RfseqStatus_reset2rx	0x0020
595b435de0SArend van Spriel #define NPHY_ClassifierCtrl_cck_en	0x1
605b435de0SArend van Spriel #define NPHY_ClassifierCtrl_ofdm_en	0x2
615b435de0SArend van Spriel #define NPHY_ClassifierCtrl_waited_en	0x4
625b435de0SArend van Spriel #define NPHY_IQFlip_ADC1		0x0001
635b435de0SArend van Spriel #define NPHY_IQFlip_ADC2		0x0010
645b435de0SArend van Spriel #define NPHY_sampleCmd_STOP		0x0002
655b435de0SArend van Spriel 
665b435de0SArend van Spriel #define RX_GF_OR_MM			0x0004
675b435de0SArend van Spriel #define RX_GF_MM_AUTO			0x0100
685b435de0SArend van Spriel 
695b435de0SArend van Spriel #define NPHY_iqloCalCmdGctl_IQLO_CAL_EN	0x8000
705b435de0SArend van Spriel 
715b435de0SArend van Spriel #define NPHY_IqestCmd_iqstart		0x1
725b435de0SArend van Spriel #define NPHY_IqestCmd_iqMode		0x2
735b435de0SArend van Spriel 
745b435de0SArend van Spriel #define NPHY_TxPwrCtrlCmd_pwrIndex_init		0x40
755b435de0SArend van Spriel #define NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7	0x19
765b435de0SArend van Spriel 
775b435de0SArend van Spriel #define PRIM_SEL_UP20		0x8000
785b435de0SArend van Spriel 
795b435de0SArend van Spriel #define NPHY_RFSEQ_RX2TX		0x0
805b435de0SArend van Spriel #define NPHY_RFSEQ_TX2RX		0x1
815b435de0SArend van Spriel #define NPHY_RFSEQ_RESET2RX		0x2
825b435de0SArend van Spriel #define NPHY_RFSEQ_UPDATEGAINH		0x3
835b435de0SArend van Spriel #define NPHY_RFSEQ_UPDATEGAINL		0x4
845b435de0SArend van Spriel #define NPHY_RFSEQ_UPDATEGAINU		0x5
855b435de0SArend van Spriel 
865b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_NOP		0x0
875b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_RXG_FBW		0x1
885b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_TR_SWITCH	0x2
895b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_EXT_PA		0x3
905b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_RXPD_TXPD	0x4
915b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_TX_GAIN		0x5
925b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_RX_GAIN		0x6
935b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_SET_HPF_BW	0x7
945b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_CLR_HIQ_DIS	0x8
955b435de0SArend van Spriel #define NPHY_RFSEQ_CMD_END		0xf
965b435de0SArend van Spriel 
975b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_NOP		0x0
985b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_RXG_FBW	0x1
995b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_TR_SWITCH	0x2
1005b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_INT_PA_PU	0x3
1015b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_EXT_PA	0x4
1025b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_RXPD_TXPD	0x5
1035b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_TX_GAIN	0x6
1045b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_RX_GAIN	0x7
1055b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS	0x8
1065b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_SET_HPF_H_HPC	0x9
1075b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_SET_LPF_H_HPC	0xa
1085b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_SET_HPF_M_HPC	0xb
1095b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_SET_LPF_M_HPC	0xc
1105b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_SET_HPF_L_HPC	0xd
1115b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_SET_LPF_L_HPC	0xe
1125b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS	0xf
1135b435de0SArend van Spriel #define NPHY_REV3_RFSEQ_CMD_END		0x1f
1145b435de0SArend van Spriel 
1155b435de0SArend van Spriel #define NPHY_RSSI_SEL_W1		0x0
1165b435de0SArend van Spriel #define NPHY_RSSI_SEL_W2		0x1
1175b435de0SArend van Spriel #define NPHY_RSSI_SEL_NB		0x2
1185b435de0SArend van Spriel #define NPHY_RSSI_SEL_IQ		0x3
1195b435de0SArend van Spriel #define NPHY_RSSI_SEL_TSSI_2G		0x4
1205b435de0SArend van Spriel #define NPHY_RSSI_SEL_TSSI_5G		0x5
1215b435de0SArend van Spriel #define NPHY_RSSI_SEL_TBD		0x6
1225b435de0SArend van Spriel 
1235b435de0SArend van Spriel #define NPHY_RAIL_I			0x0
1245b435de0SArend van Spriel #define NPHY_RAIL_Q			0x1
1255b435de0SArend van Spriel 
1265b435de0SArend van Spriel #define NPHY_FORCESIG_DECODEGATEDCLKS	0x8
1275b435de0SArend van Spriel 
1285b435de0SArend van Spriel #define NPHY_REV7_RfctrlOverride_cmd_rxrf_pu 0x0
1295b435de0SArend van Spriel #define NPHY_REV7_RfctrlOverride_cmd_rx_pu   0x1
1305b435de0SArend van Spriel #define NPHY_REV7_RfctrlOverride_cmd_tx_pu   0x2
1315b435de0SArend van Spriel #define NPHY_REV7_RfctrlOverride_cmd_rxgain  0x3
1325b435de0SArend van Spriel #define NPHY_REV7_RfctrlOverride_cmd_txgain  0x4
1335b435de0SArend van Spriel 
1345b435de0SArend van Spriel #define NPHY_REV7_RXGAINCODE_RFMXGAIN_MASK 0x000ff
1355b435de0SArend van Spriel #define NPHY_REV7_RXGAINCODE_LPFGAIN_MASK  0x0ff00
1365b435de0SArend van Spriel #define NPHY_REV7_RXGAINCODE_DVGAGAIN_MASK 0xf0000
1375b435de0SArend van Spriel 
1385b435de0SArend van Spriel #define NPHY_REV7_TXGAINCODE_TGAIN_MASK     0x7fff
1395b435de0SArend van Spriel #define NPHY_REV7_TXGAINCODE_LPFGAIN_MASK   0x8000
1405b435de0SArend van Spriel #define NPHY_REV7_TXGAINCODE_BIQ0GAIN_SHIFT 14
1415b435de0SArend van Spriel 
1425b435de0SArend van Spriel #define NPHY_REV7_RFCTRLOVERRIDE_ID0 0x0
1435b435de0SArend van Spriel #define NPHY_REV7_RFCTRLOVERRIDE_ID1 0x1
1445b435de0SArend van Spriel #define NPHY_REV7_RFCTRLOVERRIDE_ID2 0x2
1455b435de0SArend van Spriel 
1465b435de0SArend van Spriel #define NPHY_IqestIqAccLo(core)  ((core == 0) ? 0x12c : 0x134)
1475b435de0SArend van Spriel 
1485b435de0SArend van Spriel #define NPHY_IqestIqAccHi(core)  ((core == 0) ? 0x12d : 0x135)
1495b435de0SArend van Spriel 
1505b435de0SArend van Spriel #define NPHY_IqestipwrAccLo(core)  ((core == 0) ? 0x12e : 0x136)
1515b435de0SArend van Spriel 
1525b435de0SArend van Spriel #define NPHY_IqestipwrAccHi(core)  ((core == 0) ? 0x12f : 0x137)
1535b435de0SArend van Spriel 
1545b435de0SArend van Spriel #define NPHY_IqestqpwrAccLo(core)  ((core == 0) ? 0x130 : 0x138)
1555b435de0SArend van Spriel 
1565b435de0SArend van Spriel #define NPHY_IqestqpwrAccHi(core)  ((core == 0) ? 0x131 : 0x139)
157