1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28fc8598eSJerry Chuang #ifndef _R819XU_PHYREG_H
38fc8598eSJerry Chuang #define _R819XU_PHYREG_H
48fc8598eSJerry Chuang 
58fc8598eSJerry Chuang 
62160e944SSanjeev Sharma #define   RF_DATA				0x1d4					/* FW will write RF data in the register.*/
78fc8598eSJerry Chuang 
82160e944SSanjeev Sharma /* page8 */
92160e944SSanjeev Sharma #define rFPGA0_RFMOD				0x800  /* RF mode & CCK TxSC */
108fc8598eSJerry Chuang #define rFPGA0_TxGainStage			0x80c
118fc8598eSJerry Chuang #define rFPGA0_XA_HSSIParameter1	0x820
128fc8598eSJerry Chuang #define rFPGA0_XA_HSSIParameter2	0x824
138fc8598eSJerry Chuang #define rFPGA0_XB_HSSIParameter1	0x828
148fc8598eSJerry Chuang #define rFPGA0_XB_HSSIParameter2	0x82c
158fc8598eSJerry Chuang #define rFPGA0_XC_HSSIParameter1	0x830
168fc8598eSJerry Chuang #define rFPGA0_XC_HSSIParameter2	0x834
178fc8598eSJerry Chuang #define rFPGA0_XD_HSSIParameter1	0x838
188fc8598eSJerry Chuang #define rFPGA0_XD_HSSIParameter2	0x83c
198fc8598eSJerry Chuang #define rFPGA0_XA_LSSIParameter		0x840
208fc8598eSJerry Chuang #define rFPGA0_XB_LSSIParameter		0x844
218fc8598eSJerry Chuang #define rFPGA0_XC_LSSIParameter		0x848
228fc8598eSJerry Chuang #define rFPGA0_XD_LSSIParameter		0x84c
238fc8598eSJerry Chuang #define rFPGA0_XAB_SwitchControl	0x858
248fc8598eSJerry Chuang #define rFPGA0_XCD_SwitchControl	0x85c
258fc8598eSJerry Chuang #define rFPGA0_XA_RFInterfaceOE		0x860
268fc8598eSJerry Chuang #define rFPGA0_XB_RFInterfaceOE		0x864
278fc8598eSJerry Chuang #define rFPGA0_XC_RFInterfaceOE		0x868
288fc8598eSJerry Chuang #define rFPGA0_XD_RFInterfaceOE		0x86c
298fc8598eSJerry Chuang #define rFPGA0_XAB_RFInterfaceSW	0x870
308fc8598eSJerry Chuang #define rFPGA0_XCD_RFInterfaceSW	0x874
318fc8598eSJerry Chuang #define rFPGA0_XAB_RFParameter		0x878
328fc8598eSJerry Chuang #define rFPGA0_XCD_RFParameter		0x87c
338fc8598eSJerry Chuang #define rFPGA0_AnalogParameter1		0x880
348fc8598eSJerry Chuang #define rFPGA0_AnalogParameter4		0x88c
358fc8598eSJerry Chuang #define rFPGA0_XA_LSSIReadBack		0x8a0
368fc8598eSJerry Chuang #define rFPGA0_XB_LSSIReadBack		0x8a4
378fc8598eSJerry Chuang #define rFPGA0_XC_LSSIReadBack		0x8a8
388fc8598eSJerry Chuang #define rFPGA0_XD_LSSIReadBack		0x8ac
398fc8598eSJerry Chuang #define rFPGA0_XAB_RFInterfaceRB	0x8e0
408fc8598eSJerry Chuang #define rFPGA0_XCD_RFInterfaceRB	0x8e4
418fc8598eSJerry Chuang 
422160e944SSanjeev Sharma /* page 9 */
432160e944SSanjeev Sharma #define rFPGA1_RFMOD				0x900  /* RF mode & OFDM TxSC */
448fc8598eSJerry Chuang 
452160e944SSanjeev Sharma /* page a */
468fc8598eSJerry Chuang #define rCCK0_System				0xa00
478fc8598eSJerry Chuang #define rCCK0_AFESetting			0xa04
488fc8598eSJerry Chuang #define rCCK0_CCA					0xa08
498fc8598eSJerry Chuang #define rCCK0_TxFilter1				0xa20
508fc8598eSJerry Chuang #define rCCK0_TxFilter2				0xa24
512160e944SSanjeev Sharma #define rCCK0_DebugPort				0xa28  /* debug port and Tx filter3 */
528fc8598eSJerry Chuang 
532160e944SSanjeev Sharma /* page c */
548fc8598eSJerry Chuang #define rOFDM0_TRxPathEnable		0xc04
552160e944SSanjeev Sharma #define rOFDM0_XARxAFE				0xc10  /* RxIQ DC offset, Rx digital filter, DC notch filter */
56086a76b9SKimberly Brown #define rOFDM0_XARxIQImbalance		0xc14  /* RxIQ imbalance matrix */
578fc8598eSJerry Chuang #define rOFDM0_XBRxAFE				0xc18
588fc8598eSJerry Chuang #define rOFDM0_XBRxIQImbalance		0xc1c
598fc8598eSJerry Chuang #define rOFDM0_XCRxAFE				0xc20
608fc8598eSJerry Chuang #define rOFDM0_XCRxIQImbalance		0xc24
618fc8598eSJerry Chuang #define rOFDM0_XDRxAFE				0xc28
628fc8598eSJerry Chuang #define rOFDM0_XDRxIQImbalance		0xc2c
632160e944SSanjeev Sharma #define rOFDM0_RxDetector1			0xc30  /* PD,BW & SBD */
642160e944SSanjeev Sharma #define rOFDM0_RxDetector2			0xc34  /* SBD & Fame Sync.*/
652160e944SSanjeev Sharma #define rOFDM0_RxDetector3			0xc38  /* Frame Sync.*/
662160e944SSanjeev Sharma #define rOFDM0_ECCAThreshold		0xc4c /* energy CCA */
678fc8598eSJerry Chuang #define rOFDM0_XAAGCCore1		0xc50
688fc8598eSJerry Chuang #define rOFDM0_XAAGCCore2		0xc54
698fc8598eSJerry Chuang #define rOFDM0_XBAGCCore1		0xc58
708fc8598eSJerry Chuang #define rOFDM0_XBAGCCore2		0xc5c
718fc8598eSJerry Chuang #define rOFDM0_XCAGCCore1		0xc60
728fc8598eSJerry Chuang #define rOFDM0_XCAGCCore2		0xc64
738fc8598eSJerry Chuang #define rOFDM0_XDAGCCore1		0xc68
748fc8598eSJerry Chuang #define rOFDM0_XDAGCCore2		0xc6c
758fc8598eSJerry Chuang #define rOFDM0_XATxIQImbalance		0xc80
768fc8598eSJerry Chuang #define rOFDM0_XATxAFE				0xc84
778fc8598eSJerry Chuang #define rOFDM0_XBTxIQImbalance		0xc88
788fc8598eSJerry Chuang #define rOFDM0_XBTxAFE				0xc8c
798fc8598eSJerry Chuang #define rOFDM0_XCTxIQImbalance		0xc90
808fc8598eSJerry Chuang #define rOFDM0_XCTxAFE				0xc94
818fc8598eSJerry Chuang #define rOFDM0_XDTxIQImbalance		0xc98
828fc8598eSJerry Chuang #define rOFDM0_XDTxAFE				0xc9c
838fc8598eSJerry Chuang 
848fc8598eSJerry Chuang 
852160e944SSanjeev Sharma /* page d */
868fc8598eSJerry Chuang #define rOFDM1_LSTF				0xd00
878fc8598eSJerry Chuang #define rOFDM1_TRxPathEnable		0xd04
888fc8598eSJerry Chuang 
892160e944SSanjeev Sharma /* page e */
908fc8598eSJerry Chuang #define rTxAGC_Rate18_06			0xe00
918fc8598eSJerry Chuang #define rTxAGC_Rate54_24			0xe04
928fc8598eSJerry Chuang #define rTxAGC_CCK_Mcs32			0xe08
938fc8598eSJerry Chuang #define rTxAGC_Mcs03_Mcs00			0xe10
948fc8598eSJerry Chuang #define rTxAGC_Mcs07_Mcs04			0xe14
958fc8598eSJerry Chuang #define rTxAGC_Mcs11_Mcs08			0xe18
968fc8598eSJerry Chuang #define rTxAGC_Mcs15_Mcs12			0xe1c
978fc8598eSJerry Chuang 
988fc8598eSJerry Chuang 
992160e944SSanjeev Sharma /* RF
1002160e944SSanjeev Sharma  * Zebra1
1012160e944SSanjeev Sharma  */
1028fc8598eSJerry Chuang #define rZebra1_Channel				0x7
1038fc8598eSJerry Chuang 
1042160e944SSanjeev Sharma /* Zebra4 */
1058fc8598eSJerry Chuang #define rGlobalCtrl				0
1068fc8598eSJerry Chuang 
1072160e944SSanjeev Sharma /* Bit Mask
108531db655SJohn Whitmore  * page-8
1092160e944SSanjeev Sharma  */
1108fc8598eSJerry Chuang #define bRFMOD						0x1
1118fc8598eSJerry Chuang #define bCCKEn						0x1000000
1128fc8598eSJerry Chuang #define bOFDMEn						0x2000000
1138fc8598eSJerry Chuang #define bXBTxAGC					0xf00
1148fc8598eSJerry Chuang #define bXCTxAGC					0xf000
1158fc8598eSJerry Chuang #define b3WireDataLength			0x800
1168fc8598eSJerry Chuang #define b3WireAddressLength			0x400
1178fc8598eSJerry Chuang #define bRFSI_RFENV				0x10
1182160e944SSanjeev Sharma #define bLSSIReadAddress			0x3f000000   /* LSSI "Read" Address */
1192160e944SSanjeev Sharma #define bLSSIReadEdge				0x80000000   /* LSSI "Read" edge signal */
1208fc8598eSJerry Chuang #define bLSSIReadBackData			0xfff
1218fc8598eSJerry Chuang #define bXtalCap					0x0f000000
1228fc8598eSJerry Chuang 
1232160e944SSanjeev Sharma /* page-a */
1248fc8598eSJerry Chuang #define bCCKSideBand				0x10
1258fc8598eSJerry Chuang 
1262160e944SSanjeev Sharma /* page e */
1278fc8598eSJerry Chuang #define bTxAGCRateCCK			0x7f00
1288fc8598eSJerry Chuang 
1292160e944SSanjeev Sharma /* RF
1302160e944SSanjeev Sharma  * Zebra1
1312160e944SSanjeev Sharma  */
1328fc8598eSJerry Chuang #define bZebra1_ChannelNum        0xf80
1338fc8598eSJerry Chuang 
1342160e944SSanjeev Sharma /* RTL8258 */
1352160e944SSanjeev Sharma /* for PutRegsetting & GetRegSetting BitMask */
1368fc8598eSJerry Chuang #define bMaskByte0                0xff
1378fc8598eSJerry Chuang #define bMaskByte1                0xff00
1388fc8598eSJerry Chuang #define bMaskByte2                0xff0000
1398fc8598eSJerry Chuang #define bMaskHWord                0xffff0000
1408fc8598eSJerry Chuang #define bMaskLWord                0x0000ffff
1418fc8598eSJerry Chuang #define bMaskDWord                0xffffffff
1428fc8598eSJerry Chuang 
1432160e944SSanjeev Sharma /* for PutRFRegsetting & GetRFRegSetting BitMask */
1448fc8598eSJerry Chuang #define bMask12Bits               0xfff
1458fc8598eSJerry Chuang 
1462160e944SSanjeev Sharma #endif	/* __INC_HAL8190PCIPHYREG_H */
147