xref: /rk3399_ARM-atf/drivers/marvell/comphy/comphy-cp110.h (revision a669983c78828e3f4a4f14b9e5a6ee79dcfde20f)
10ade8cd8SKonstantin Porotchkin /*
20ade8cd8SKonstantin Porotchkin  * Copyright (C) 2018 Marvell International Ltd.
30ade8cd8SKonstantin Porotchkin  *
40ade8cd8SKonstantin Porotchkin  * SPDX-License-Identifier:     BSD-3-Clause
50ade8cd8SKonstantin Porotchkin  * https://spdx.org/licenses
60ade8cd8SKonstantin Porotchkin  */
70ade8cd8SKonstantin Porotchkin 
80ade8cd8SKonstantin Porotchkin /* Marvell CP110 SoC COMPHY unit driver */
90ade8cd8SKonstantin Porotchkin 
10c3cf06f1SAntonio Nino Diaz #ifndef COMPHY_CP110_H
11c3cf06f1SAntonio Nino Diaz #define COMPHY_CP110_H
120ade8cd8SKonstantin Porotchkin 
130ade8cd8SKonstantin Porotchkin #define SD_ADDR(base, lane)			(base + 0x1000 * lane)
140ade8cd8SKonstantin Porotchkin #define HPIPE_ADDR(base, lane)			(SD_ADDR(base, lane) + 0x800)
150ade8cd8SKonstantin Porotchkin #define COMPHY_ADDR(base, lane)			(base + 0x28 * lane)
160ade8cd8SKonstantin Porotchkin 
170ade8cd8SKonstantin Porotchkin #define MAX_NUM_OF_FFE				8
180ade8cd8SKonstantin Porotchkin #define RX_TRAINING_TIMEOUT			500
190ade8cd8SKonstantin Porotchkin 
200ade8cd8SKonstantin Porotchkin /* Comphy registers */
210ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_REG			0x0
220ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_UP_OFFSET		1
230ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_UP_MASK		\
240ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_CFG1_PWR_UP_OFFSET)
250ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PIPE_SELECT_OFFSET	2
260ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PIPE_SELECT_MASK	\
270ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_CFG1_PIPE_SELECT_OFFSET)
280ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_CORE_RSTN_OFFSET	13
290ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_CORE_RSTN_MASK		\
300ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_CFG1_CORE_RSTN_OFFSET)
310ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET	14
320ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_ON_RESET_MASK	\
330ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET)
340ade8cd8SKonstantin Porotchkin #define COMMON_PHY_PHY_MODE_OFFSET		15
350ade8cd8SKonstantin Porotchkin #define COMMON_PHY_PHY_MODE_MASK		\
360ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_PHY_MODE_OFFSET)
370ade8cd8SKonstantin Porotchkin 
380ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_REG			0x14
390ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET	18
400ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_MASK		\
410ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET)
420ade8cd8SKonstantin Porotchkin 
430ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_REG			0x14
440ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET	18
450ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_MASK		\
460ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET)
470ade8cd8SKonstantin Porotchkin 
480ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PHY_REG_OFFSET		0x140
490ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_REG_OFFSET		0x144
500ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY_MASK		0xf
510ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHYN_FIELD_WIDTH	4
520ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHYN_SATA		0x4
530ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_COMPHY_PCIE	0x4
540ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_COMPHY_USBH	0x1
550ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_COMPHY_USBD	0x2
560ade8cd8SKonstantin Porotchkin 
57*a669983cSPali Rohár /* SGMII/Base-X/SFI/RXAUI */
580ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY0_1_2_NETWORK	0x1
590ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY3_RXAUI		0x1
600ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY3_SGMII		0x2
610ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY4_PORT1		0x1
620ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY4_ALL_OTHERS	0x2
630ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY5_RXAUI		0x2
640ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY5_SGMII		0x1
650ade8cd8SKonstantin Porotchkin 
660ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1			0x148
670ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_0_PORT_OFFSET	0
680ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_1_PORT_OFFSET	4
690ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_2_PORT_OFFSET	8
700ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_3_PORT_OFFSET	12
710ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_0_3_PORT_MASK	0xFFFF
720ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_0_1_PORT_MASK	0xFF
730ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET	24
740ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_MASK	\
750ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET)
760ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET	25
770ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_MASK	\
780ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET)
790ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET	26
800ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI1_MASK		\
810ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET)
820ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET	27
830ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI0_MASK		\
840ade8cd8SKonstantin Porotchkin 				(0x1 << COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET)
850ade8cd8SKonstantin Porotchkin 
860ade8cd8SKonstantin Porotchkin /* DFX register */
870ade8cd8SKonstantin Porotchkin #define DFX_BASE				(0x400000)
880ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_CTRL12_REG			(0x280)
890ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_PCIE_CLK_SRC_MUX		(0x3)
900ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET		7
910ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_PCIE_CLK_SRC_MASK		\
920ade8cd8SKonstantin Porotchkin 				(0x3 << DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET)
930ade8cd8SKonstantin Porotchkin 
940ade8cd8SKonstantin Porotchkin /* SerDes IP registers */
950ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_REG				0
960ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET		1
970ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_MASK		\
980ade8cd8SKonstantin Porotchkin 			(1 << SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET)
990ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET	3
1000ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_MASK		\
1010ade8cd8SKonstantin Porotchkin 			(0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET)
1020ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET	7
1030ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_MASK		\
1040ade8cd8SKonstantin Porotchkin 			(0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET)
1050ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET		11
1060ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_RX_MASK		\
1070ade8cd8SKonstantin Porotchkin 			(1 << SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET)
1080ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET		12
1090ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_TX_MASK		\
1100ade8cd8SKonstantin Porotchkin 			(1 << SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET)
1110ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET	14
1120ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_MASK		\
1130ade8cd8SKonstantin Porotchkin 			(1 << SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET)
1140ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET		15
1150ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_MASK		\
1160ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET)
1170ade8cd8SKonstantin Porotchkin 
1180ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_REG			0x4
1198fa13408SMarcin Wojtas #define SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET	2
1208fa13408SMarcin Wojtas #define SD_EXTERNAL_CONFIG1_TX_IDLE_MASK	\
1218fa13408SMarcin Wojtas 			(0x1 << SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET)
1220ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET	3
1230ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_IN_MASK	\
1240ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET)
1250ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET	4
1260ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RX_INIT_MASK	\
1270ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET)
1280ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET	5
1290ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_CORE_MASK	\
1300ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET)
1310ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET	6
1320ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_MASK	\
1330ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET)
1340ade8cd8SKonstantin Porotchkin 
1350ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_REG			0x8
1360ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET	4
1370ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_MASK	\
1380ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET)
1390ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET	7
1400ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_MASK	\
1410ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET)
1420ade8cd8SKonstantin Porotchkin 
1430ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS_REG				0xc
1440ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET	7
1450ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS_START_RX_TRAINING_MASK	\
1460ade8cd8SKonstantin Porotchkin 			(1 << SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET)
1470ade8cd8SKonstantin Porotchkin 
1480ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_REG			0x18
1490ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_TX_OFFSET	2
1500ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_TX_MASK		\
1510ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_STATUS0_PLL_TX_OFFSET)
1520ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_RX_OFFSET	3
1530ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_RX_MASK		\
1540ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_STATUS0_PLL_RX_OFFSET)
1550ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_RX_INIT_OFFSET	4
1560ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_RX_INIT_MASK	\
1570ade8cd8SKonstantin Porotchkin 			(0x1 << SD_EXTERNAL_STATUS0_RX_INIT_OFFSET)
1580ade8cd8SKonstantin Porotchkin 
1590ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG			0x1c
1600ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET	0
1610ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_MASK	\
1620ade8cd8SKonstantin Porotchkin 	(1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET)
1630ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET	1
1640ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_MASK	\
1650ade8cd8SKonstantin Porotchkin 	(1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET)
1660ade8cd8SKonstantin Porotchkin 
1670ade8cd8SKonstantin Porotchkin /* HPIPE registers */
1680ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_REG			0x4
1690ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_REF_FREQ_OFFSET		0
1700ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_REF_FREQ_MASK		\
1710ade8cd8SKonstantin Porotchkin 			(0x1f << HPIPE_PWR_PLL_REF_FREQ_OFFSET)
1720ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_PHY_MODE_OFFSET		5
1730ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_PHY_MODE_MASK		\
1740ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_PWR_PLL_PHY_MODE_OFFSET)
1750ade8cd8SKonstantin Porotchkin 
1760ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG1_REG			0xc
1770ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET	10
1780ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_MASK		\
1790ade8cd8SKonstantin Porotchkin 			(0x1f << HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET)
1800ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET	15
1810ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_MASK	\
1820ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET)
1830ade8cd8SKonstantin Porotchkin 
1840ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_FFE_SETTING_REG		0x18
1850ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_THRESH_IN_OFFSET		8
1860ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_THRESH_IN_MASK		\
1870ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_SQUELCH_THRESH_IN_OFFSET)
1880ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_DETECTED_OFFSET		14
1890ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_DETECTED_MASK		\
1900ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_SQUELCH_DETECTED_OFFSET)
1910ade8cd8SKonstantin Porotchkin 
1920ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_REG0				0x1c
1930ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_RES_FORCE_OFFSET		15
1940ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_RES_FORCE_MASK		\
1950ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_DFE_RES_FORCE_OFFSET)
1960ade8cd8SKonstantin Porotchkin 
1970ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_REG			0x28
1980ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_EN_OFFSET		14
1990ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_EN_MASK		\
2000ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_DFE_F3_F5_DFE_EN_OFFSET)
2010ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET		15
2020ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_CTRL_MASK		\
2030ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET)
2040ade8cd8SKonstantin Porotchkin 
20542a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_DFE_COEFFICIENT_1_REG	0x30
20642a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_DFE_RES_OFFSET		13
20742a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_DFE_RES_MASK		\
20842a29337SGrzegorz Jaszczyk 			(0x3 << HPIPE_ADAPTED_DFE_RES_OFFSET)
20942a29337SGrzegorz Jaszczyk 
2100ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_REG			0x34
2110ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_OFFSET		1
2120ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_MASK		\
2130ade8cd8SKonstantin Porotchkin 			(0x1f << HPIPE_G1_SET_0_G1_TX_AMP_OFFSET)
2140ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET	6
2150ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_MASK	\
2160ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET)
2170ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET	7
2180ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_MASK		\
2190ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET)
2200ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET	11
2210ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_MASK	\
2220ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET)
2230ade8cd8SKonstantin Porotchkin 
2240ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_REG			0x38
2250ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET	0
2260ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUPI_MASK	\
2270ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET)
2283c0024ccSGrzegorz Jaszczyk #define HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET	3
2293c0024ccSGrzegorz Jaszczyk #define HPIPE_G1_SET_1_G1_RX_SELMUPF_MASK	\
2303c0024ccSGrzegorz Jaszczyk 			(0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET)
2310ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET	6
2320ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFI_MASK	\
2330ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET)
2340ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET	8
2350ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFF_MASK	\
2360ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET)
2370ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET	10
2380ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DFE_EN_MASK	\
2390ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET)
2400ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET	11
2410ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_MASK	\
2420ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET)
2430ade8cd8SKonstantin Porotchkin 
2440ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_REG			0x3c
2450ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_OFFSET		1
2460ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_MASK		\
2470ade8cd8SKonstantin Porotchkin 			(0x1f << HPIPE_G2_SET_0_G2_TX_AMP_OFFSET)
2480ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET	6
2490ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_MASK	\
2500ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET)
2510ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET	7
2520ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_MASK		\
2530ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET)
2540ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET	11
2550ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_MASK	\
2560ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET)
2570ade8cd8SKonstantin Porotchkin 
2580ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_REG			0x40
2590ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET	0
2600ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUPI_MASK	\
2610ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET)
2623c0024ccSGrzegorz Jaszczyk #define HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET	3
2633c0024ccSGrzegorz Jaszczyk #define HPIPE_G2_SET_1_G2_RX_SELMUPF_MASK	\
2643c0024ccSGrzegorz Jaszczyk 			(0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET)
2650ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET	6
2660ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFI_MASK	\
2670ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET)
2680ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET	8
2690ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFF_MASK	\
2700ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET)
2710ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET	10
2720ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DFE_EN_MASK	\
2730ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET)
2740ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET	11
2750ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_MASK	\
2760ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET)
2770ade8cd8SKonstantin Porotchkin 
2780ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_REG			0x44
2790ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_OFFSET		1
2800ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_MASK		\
2810ade8cd8SKonstantin Porotchkin 			(0x1f << HPIPE_G3_SET_0_G3_TX_AMP_OFFSET)
2820ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET	6
2830ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_MASK	\
2840ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET)
2850ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET	7
2860ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_MASK		\
2870ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET)
2880ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET	11
2890ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_MASK	\
2900ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET)
2910ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET 12
2920ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_MASK	\
2930ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET)
2940ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET 15
2950ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_MASK	\
2960ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET)
2970ade8cd8SKonstantin Porotchkin 
2980ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_REG				0x48
2990ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET		0
3000ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPI_MASK		\
3010ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET)
3020ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET		3
3030ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPF_MASK		\
3040ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET)
3050ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET		6
3060ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFI_MASK		\
3070ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET)
3080ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET		8
3090ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFF_MASK		\
3100ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET)
3110ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET		10
3120ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DFE_EN_MASK		\
3130ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET)
3140ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET		11
3150ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_MASK		\
3160ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET)
3170ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET	13
3180ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_MASK	\
3190ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET)
3200ade8cd8SKonstantin Porotchkin 
3210ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_CONTROL_REG		0x54
3220ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_PATTERN_SEL_OFFSET	4
3230ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_PATTERN_SEL_MASK		\
3240ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_PHY_TEST_PATTERN_SEL_OFFSET)
3250ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_RESET_OFFSET		14
3260ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_RESET_MASK		\
3270ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PHY_TEST_RESET_OFFSET)
3280ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_EN_OFFSET		15
3290ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_EN_MASK			\
3300ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PHY_TEST_EN_OFFSET)
3310ade8cd8SKonstantin Porotchkin 
3320ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_DATA_REG			0x6c
3330ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_DATA_OFFSET		0
3340ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_DATA_MASK		\
3350ade8cd8SKonstantin Porotchkin 			(0xffff << HPIPE_PHY_TEST_DATA_OFFSET)
3360ade8cd8SKonstantin Porotchkin 
33742a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_PRBS_ERROR_COUNTER_1_REG	0x80
33842a29337SGrzegorz Jaszczyk 
33942a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_OOB_0_REGISTER		0x84
34042a29337SGrzegorz Jaszczyk #define HPIPE_PHY_PT_OOB_EN_OFFSET		14
34142a29337SGrzegorz Jaszczyk #define HPIPE_PHY_PT_OOB_EN_MASK		\
34242a29337SGrzegorz Jaszczyk 			(0x1 << HPIPE_PHY_PT_OOB_EN_OFFSET)
34342a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_PT_TESTMODE_OFFSET	12
34442a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_PT_TESTMODE_MASK		\
34542a29337SGrzegorz Jaszczyk 			(0x3 << HPIPE_PHY_TEST_PT_TESTMODE_OFFSET)
34642a29337SGrzegorz Jaszczyk 
3470ade8cd8SKonstantin Porotchkin #define HPIPE_LOOPBACK_REG			0x8c
3480ade8cd8SKonstantin Porotchkin #define HPIPE_LOOPBACK_SEL_OFFSET		1
3490ade8cd8SKonstantin Porotchkin #define HPIPE_LOOPBACK_SEL_MASK			\
3500ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_LOOPBACK_SEL_OFFSET)
3510ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_OFFSET			7
3520ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_MASK			\
3530ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CDR_LOCK_OFFSET)
3540ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_DET_EN_OFFSET		8
3550ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_DET_EN_MASK		\
3560ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CDR_LOCK_DET_EN_OFFSET)
3570ade8cd8SKonstantin Porotchkin 
35838f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_REG			0x090
35938f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_TXD_INV_OFFSET	10
36038f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_TXD_INV_MASK	\
36138f6dacaSGrzegorz Jaszczyk 	(0x1 << HPIPE_SYNC_PATTERN_TXD_INV_OFFSET)
36238f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_RXD_INV_OFFSET	11
36338f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_RXD_INV_MASK	\
36438f6dacaSGrzegorz Jaszczyk 	(0x1 << HPIPE_SYNC_PATTERN_RXD_INV_OFFSET)
36538f6dacaSGrzegorz Jaszczyk 
3660ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_REG			0x94
3670ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_GEN_MAX_OFFSET		10
3680ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_GEN_MAX_MASK		\
3690ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_INTERFACE_GEN_MAX_OFFSET)
3700ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_DET_BYPASS_OFFSET	12
3710ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_DET_BYPASS_MASK		\
3720ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_INTERFACE_DET_BYPASS_OFFSET)
3730ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_LINK_TRAIN_OFFSET	14
3740ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_LINK_TRAIN_MASK		\
3750ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_INTERFACE_LINK_TRAIN_OFFSET)
3760ade8cd8SKonstantin Porotchkin 
3770ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_REG			0xf4
3780ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET	0
3790ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_MASK		\
3800ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET)
3810ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET	4
3820ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_MASK	\
3830ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET)
3840ade8cd8SKonstantin Porotchkin 
3850ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_2_REG			0xf8
38642a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET	0
38742a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_MASK		\
38842a29337SGrzegorz Jaszczyk 			(0xf << HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET)
38942a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET	4
39042a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_MASK	\
39142a29337SGrzegorz Jaszczyk 			(0x1 << HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET)
3920ade8cd8SKonstantin Porotchkin #define HPIPE_G2_TX_SSC_AMP_OFFSET		9
3930ade8cd8SKonstantin Porotchkin #define HPIPE_G2_TX_SSC_AMP_MASK		\
3940ade8cd8SKonstantin Porotchkin 			(0x7f << HPIPE_G2_TX_SSC_AMP_OFFSET)
3950ade8cd8SKonstantin Porotchkin 
39642a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_REG			0xfc
39742a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET	0
39842a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_MASK		\
39942a29337SGrzegorz Jaszczyk 			(0xf << HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET)
40042a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET	4
40142a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_MASK	\
40242a29337SGrzegorz Jaszczyk 			(0x1 << HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET)
40342a29337SGrzegorz Jaszczyk #define HPIPE_G3_TX_SSC_AMP_OFFSET		9
40442a29337SGrzegorz Jaszczyk #define HPIPE_G3_TX_SSC_AMP_MASK		\
40542a29337SGrzegorz Jaszczyk 			(0x7f << HPIPE_G3_TX_SSC_AMP_OFFSET)
40642a29337SGrzegorz Jaszczyk 
4070ade8cd8SKonstantin Porotchkin #define HPIPE_VDD_CAL_0_REG			0x108
4080ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_VDD_CONT_MODE_OFFSET		15
4090ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_VDD_CONT_MODE_MASK		\
4100ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CAL_VDD_CONT_MODE_OFFSET)
4110ade8cd8SKonstantin Porotchkin 
4120ade8cd8SKonstantin Porotchkin #define HPIPE_VDD_CAL_CTRL_REG			0x114
4130ade8cd8SKonstantin Porotchkin #define HPIPE_EXT_SELLV_RXSAMPL_OFFSET		5
4140ade8cd8SKonstantin Porotchkin #define HPIPE_EXT_SELLV_RXSAMPL_MASK		\
4150ade8cd8SKonstantin Porotchkin 			(0x1f << HPIPE_EXT_SELLV_RXSAMPL_OFFSET)
4160ade8cd8SKonstantin Porotchkin 
4170ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_REG0				0x120
4180ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_IDLE_SYNC_OFFSET		12
4190ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_IDLE_SYNC_MASK		\
4200ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PCIE_IDLE_SYNC_OFFSET)
4210ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_SEL_BITS_OFFSET		13
4220ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_SEL_BITS_MASK		\
4230ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_PCIE_SEL_BITS_OFFSET)
4240ade8cd8SKonstantin Porotchkin 
4250ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_ALIGN_REG			0x124
4260ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_ALIGN_OFF_OFFSET		12
4270ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_ALIGN_OFF_MASK		\
4280ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_ALIGN_OFF_OFFSET)
4290ade8cd8SKonstantin Porotchkin 
4300ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_REG				0x13C
4310ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK100M_125M_OFFSET		4
4320ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK100M_125M_MASK		\
4330ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_MISC_CLK100M_125M_OFFSET)
4340ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_ICP_FORCE_OFFSET		5
4350ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_ICP_FORCE_MASK		\
4360ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_MISC_ICP_FORCE_OFFSET)
4370ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_TXDCLK_2X_OFFSET		6
4380ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_TXDCLK_2X_MASK		\
4390ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_MISC_TXDCLK_2X_OFFSET)
4400ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK500_EN_OFFSET		7
4410ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK500_EN_MASK		\
4420ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_MISC_CLK500_EN_OFFSET)
4430ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_REFCLK_SEL_OFFSET		10
4440ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_REFCLK_SEL_MASK		\
4450ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_MISC_REFCLK_SEL_OFFSET)
4460ade8cd8SKonstantin Porotchkin 
4470ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_REG			0x140
4480ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET	11
4490ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_MASK	\
4500ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET)
4510ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET	12
4520ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_CLK8T_EN_MASK	\
4530ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET)
4540ade8cd8SKonstantin Porotchkin 
4550ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_REG			0x148
4560ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_RST_DFE_OFFSET		0
4570ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_RST_DFE_MASK		\
4580ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PWR_CTR_RST_DFE_OFFSET)
4590ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_SFT_RST_OFFSET		10
4600ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_SFT_RST_MASK		\
4610ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PWR_CTR_SFT_RST_OFFSET)
4620ade8cd8SKonstantin Porotchkin 
4630ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_REG				0x154
4640ade8cd8SKonstantin Porotchkin #define HPIPE_TXDIGCK_DIV_FORCE_OFFSET			7
4650ade8cd8SKonstantin Porotchkin #define HPIPE_TXDIGCK_DIV_FORCE_MASK			\
4660ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TXDIGCK_DIV_FORCE_OFFSET)
4670ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET		8
4680ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_MASK		\
4690ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET)
4700ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET	10
4710ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_MASK	\
4720ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET)
4730ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET		13
4740ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_MASK		\
4750ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET)
4760ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET	15
4770ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_MASK	\
4780ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET)
4790ade8cd8SKonstantin Porotchkin 
48042a29337SGrzegorz Jaszczyk /* HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIBRATION_CTRL_REG */
48142a29337SGrzegorz Jaszczyk #define HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIB_CTRL_REG	0x168
48242a29337SGrzegorz Jaszczyk #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET		15
48342a29337SGrzegorz Jaszczyk #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_MASK		\
48442a29337SGrzegorz Jaszczyk 			(0x1 << HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET)
48542a29337SGrzegorz Jaszczyk #define HPIPE_CAL_OS_PH_EXT_OFFSET			8
48642a29337SGrzegorz Jaszczyk #define HPIPE_CAL_OS_PH_EXT_MASK			\
48742a29337SGrzegorz Jaszczyk 			(0x7f << HPIPE_CAL_OS_PH_EXT_OFFSET)
48842a29337SGrzegorz Jaszczyk 
4890ade8cd8SKonstantin Porotchkin #define HPIPE_SAMPLER_N_PROC_CALIB_CTRL_REG	0x16C
4900ade8cd8SKonstantin Porotchkin #define HPIPE_RX_SAMPLER_OS_GAIN_OFFSET		6
4910ade8cd8SKonstantin Porotchkin #define HPIPE_RX_SAMPLER_OS_GAIN_MASK		\
4920ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_RX_SAMPLER_OS_GAIN_OFFSET)
4930ade8cd8SKonstantin Porotchkin #define HPIPE_SMAPLER_OFFSET			12
4940ade8cd8SKonstantin Porotchkin #define HPIPE_SMAPLER_MASK			\
4950ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_SMAPLER_OFFSET)
4960ade8cd8SKonstantin Porotchkin 
4970ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_REG			0x174
4980ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_TX_EMPH_RES_OFFSET	5
4990ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_TX_EMPH_RES_MASK		\
5000ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_TX_REG1_TX_EMPH_RES_OFFSET)
5010ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_SLC_EN_OFFSET		10
5020ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_SLC_EN_MASK		\
5030ade8cd8SKonstantin Porotchkin 			(0x3f << HPIPE_TX_REG1_SLC_EN_OFFSET)
5040ade8cd8SKonstantin Porotchkin 
5050ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_REG				0x184
5060ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET		0
5070ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_MASK		\
5080ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET)
5090ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET		1
5100ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_MASK		\
5110ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET)
5120ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET		2
5130ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_FLOOP_EN_MASK			\
5140ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET)
5150ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET		4
5160ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_MASK		\
5170ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET)
5180ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET	10
5190ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_MASK	\
5200ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET)
5210ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET		12
5220ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_MASK			\
5230ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET)
5240ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET		14
5250ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_MASK		\
5260ade8cd8SKonstantin Porotchkin 			(1 << HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET)
5270ade8cd8SKonstantin Porotchkin 
5280ade8cd8SKonstantin Porotchkin #define HPIPE_PHASE_CONTROL_REG			0x188
5290ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_OFFSET		0
5300ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_MASK			\
5310ade8cd8SKonstantin Porotchkin 			(0x7f << HPIPE_OS_PH_OFFSET_OFFSET)
5320ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_FORCE_OFFSET		7
5330ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_FORCE_MASK		\
5340ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_OS_PH_OFFSET_FORCE_OFFSET)
5350ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_VALID_OFFSET		8
5360ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_VALID_MASK			\
5370ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_OS_PH_VALID_OFFSET)
5380ade8cd8SKonstantin Porotchkin 
53942a29337SGrzegorz Jaszczyk #define HPIPE_DATA_PHASE_OFF_CTRL_REG			0x1A0
54042a29337SGrzegorz Jaszczyk #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET		9
54142a29337SGrzegorz Jaszczyk #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_MASK		\
54242a29337SGrzegorz Jaszczyk 			(0x7f << HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET)
54342a29337SGrzegorz Jaszczyk 
54442a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_CAPACITOR_COUNTER_CTRL_REG	0x1A4
54542a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET	12
54642a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_MASK		\
54742a29337SGrzegorz Jaszczyk 			(0x3 << HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET)
54842a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET	8
54942a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_MASK		\
55042a29337SGrzegorz Jaszczyk 			(0xf << HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET)
55142a29337SGrzegorz Jaszczyk 
5520ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_GLITCH_FILTER_CTRL		0x1c8
5530ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET	0
5540ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_P_MASK		\
5550ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET)
5560ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET	4
5570ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_N_MASK		\
5580ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET)
5590ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_EN_OFFSET		8
5600ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_EN_MASK		\
5610ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_SQ_DEGLITCH_EN_OFFSET)
5620ade8cd8SKonstantin Porotchkin 
5630ade8cd8SKonstantin Porotchkin #define HPIPE_FRAME_DETECT_CTRL_0_REG		0x214
5640ade8cd8SKonstantin Porotchkin #define HPIPE_TRAIN_PAT_NUM_OFFSET		0x7
5650ade8cd8SKonstantin Porotchkin #define HPIPE_TRAIN_PAT_NUM_MASK		\
5660ade8cd8SKonstantin Porotchkin 			(0x1FF << HPIPE_TRAIN_PAT_NUM_OFFSET)
5670ade8cd8SKonstantin Porotchkin 
5680ade8cd8SKonstantin Porotchkin #define HPIPE_FRAME_DETECT_CTRL_3_REG			0x220
5690ade8cd8SKonstantin Porotchkin #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET	12
5700ade8cd8SKonstantin Porotchkin #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_MASK		\
5710ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET)
5720ade8cd8SKonstantin Porotchkin 
5730ade8cd8SKonstantin Porotchkin #define HPIPE_DME_REG				0x228
5740ade8cd8SKonstantin Porotchkin #define HPIPE_DME_ETHERNET_MODE_OFFSET		7
5750ade8cd8SKonstantin Porotchkin #define HPIPE_DME_ETHERNET_MODE_MASK		\
5760ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_DME_ETHERNET_MODE_OFFSET)
5770ade8cd8SKonstantin Porotchkin 
57842a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_CTRL_0_REG		0x22c
57942a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_F0T_EO_BASED_OFFSET	14
58042a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_F0T_EO_BASED_MASK		\
58142a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_TX_F0T_EO_BASED_OFFSET)
58242a29337SGrzegorz Jaszczyk #define HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET	6
58342a29337SGrzegorz Jaszczyk #define HPIPE_TRX_UPDATE_THEN_HOLD_MASK		\
58442a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET)
58542a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET		5
58642a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_CTRL_CLK_EN_MASK		\
58742a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET)
58842a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET	4
58942a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_MASK	\
59042a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET)
59142a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_TRAIN_EN_OFFSET		1
59242a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_TRAIN_EN_MASK		\
59342a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_TX_TRAIN_EN_OFFSET)
59442a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_TRAIN_EN_OFFSET		0
59542a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_TRAIN_EN_MASK		\
59642a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_RX_TRAIN_EN_OFFSET)
59742a29337SGrzegorz Jaszczyk 
5980ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_0_REG		0x268
5990ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_P2P_HOLD_OFFSET		15
6000ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_P2P_HOLD_MASK		\
6010ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_P2P_HOLD_OFFSET)
6020ade8cd8SKonstantin Porotchkin 
6030ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_REG			0x26C
6040ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G1_OFFSET		0
6050ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G1_MASK		\
6060ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_CTRL_G1_OFFSET)
6070ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_GN1_OFFSET		1
6080ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_GN1_MASK		\
6090ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_CTRL_GN1_OFFSET)
6100ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G0_OFFSET		2
6110ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G0_MASK		\
6120ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_CTRL_G0_OFFSET)
6130ade8cd8SKonstantin Porotchkin 
6140ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_4_REG		0x278
6150ade8cd8SKonstantin Porotchkin #define HPIPE_TRX_TRAIN_TIMER_OFFSET		0
6160ade8cd8SKonstantin Porotchkin #define HPIPE_TRX_TRAIN_TIMER_MASK		\
6170ade8cd8SKonstantin Porotchkin 			(0x3FF << HPIPE_TRX_TRAIN_TIMER_OFFSET)
6180ade8cd8SKonstantin Porotchkin 
6190ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_5_REG		0x2A4
6200ade8cd8SKonstantin Porotchkin #define HPIPE_RX_TRAIN_TIMER_OFFSET		0
6210ade8cd8SKonstantin Porotchkin #define HPIPE_RX_TRAIN_TIMER_MASK		\
6220ade8cd8SKonstantin Porotchkin 			(0x3ff << HPIPE_RX_TRAIN_TIMER_OFFSET)
6230ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_SQ_EN_OFFSET	11
6240ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_SQ_EN_MASK		\
6250ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_START_SQ_EN_OFFSET)
6260ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET	12
6270ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_DET_EN_MASK	\
6280ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET)
6290ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET	13
6300ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_MASK	\
6310ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET)
6320ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET	14
6330ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_WAIT_TIME_EN_MASK	\
6340ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET)
6350ade8cd8SKonstantin Porotchkin 
63642a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_1_REGISTER		0x2AC
63742a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_FAILED_OFFSET		6
63842a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_FAILED_MASK		\
63942a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_TRAIN_FAILED_OFFSET)
64042a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET	5
64142a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_TIME_OUT_INT_MASK	\
64242a29337SGrzegorz Jaszczyk 			(1 << HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET)
64342a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET	4
64442a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_MASK	\
64542a29337SGrzegorz Jaszczyk 			(1 << HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET)
64642a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET	3
64742a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_DFE_DONE_INT_MASK	\
64842a29337SGrzegorz Jaszczyk 			(1 << HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET)
64942a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET	1
65042a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_MASK	\
65142a29337SGrzegorz Jaszczyk 			(1 << HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET)
65242a29337SGrzegorz Jaszczyk 
6530ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_REG			0x31C
6540ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CHK_INIT_OFFSET		4
6550ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CHK_INIT_MASK		\
6560ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_CHK_INIT_OFFSET)
6570ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET	7
6580ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_MASK	\
6590ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET)
6600ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET	8
6610ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_MASK	\
6620ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET)
6630ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_PAT_SEL_OFFSET		9
6640ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_PAT_SEL_MASK		\
6650ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_TRAIN_PAT_SEL_OFFSET)
6660ade8cd8SKonstantin Porotchkin 
6670ade8cd8SKonstantin Porotchkin #define HPIPE_SAVED_DFE_VALUES_REG		0x328
6680ade8cd8SKonstantin Porotchkin #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET	10
6690ade8cd8SKonstantin Porotchkin #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_MASK	\
6700ade8cd8SKonstantin Porotchkin 			(0x3f << HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET)
6710ade8cd8SKonstantin Porotchkin 
6720ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_CONTROL_REG			0x418
6738e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET	0
6748e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD_MIDPOINT_PHASE_OS_MASK	\
6758e8ec8cfSGrzegorz Jaszczyk 			(0x3f << HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET)
6760ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET	6
6770ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_MAX_DFE_ADAPT_1_MASK		\
6780ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET)
6798e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET	9
6808e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_MAX_DFE_ADAPT_0_MASK		\
6818e8ec8cfSGrzegorz Jaszczyk 			(0x7 << HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET)
6828e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET	12
6838e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_MASK	\
6848e8ec8cfSGrzegorz Jaszczyk 			(0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET)
6858e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET	14
6868e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_MASK	\
6878e8ec8cfSGrzegorz Jaszczyk 			(0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET)
6888e8ec8cfSGrzegorz Jaszczyk 
6898e8ec8cfSGrzegorz Jaszczyk 
6908e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_CONTROL1_REG			0x41c
6918e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF	12
6928e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_MASK	\
6938e8ec8cfSGrzegorz Jaszczyk 			(0xf << HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF)
6948e8ec8cfSGrzegorz Jaszczyk 
6958e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_CONTROL2_REG			0x420
6968e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF	12
6978e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_MASK	\
6988e8ec8cfSGrzegorz Jaszczyk 			(0xf << HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF)
6990ade8cd8SKonstantin Porotchkin 
7000ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_11_REG		0x438
7010ade8cd8SKonstantin Porotchkin #define HPIPE_TX_STATUS_CHECK_MODE_OFFSET	6
7020ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TX_STATUS_CHECK_MODE_MASK	\
7030ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_STATUS_CHECK_MODE_OFFSET)
7040ade8cd8SKonstantin Porotchkin #define HPIPE_TX_NUM_OF_PRESET_OFFSET		10
7050ade8cd8SKonstantin Porotchkin #define HPIPE_TX_NUM_OF_PRESET_MASK		\
7060ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_TX_NUM_OF_PRESET_OFFSET)
7070ade8cd8SKonstantin Porotchkin #define HPIPE_TX_SWEEP_PRESET_EN_OFFSET		15
7080ade8cd8SKonstantin Porotchkin #define HPIPE_TX_SWEEP_PRESET_EN_MASK		\
7090ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TX_SWEEP_PRESET_EN_OFFSET)
7100ade8cd8SKonstantin Porotchkin 
7110ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_REG				0x440
7120ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET	0
7130ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_MASK		\
7140ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET)
7150ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET	4
7160ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_MASK		\
7170ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET)
7180ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET	7
7190ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_MASK	\
7200ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET)
7210ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET		9
7220ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_MASK		\
7230ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET)
7240ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET	12
7250ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_MASK	\
7260ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET)
7270ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET	14
7280ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_MASK	\
7290ade8cd8SKonstantin Porotchkin 		(0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET)
7300ade8cd8SKonstantin Porotchkin 
7310ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_4_REG			0x444
7320ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET	8
7330ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_MASK	\
7340ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET)
7350ade8cd8SKonstantin Porotchkin 
7360ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SETTINGS_4_REG			0x44c
7370ade8cd8SKonstantin Porotchkin #define HPIPE_G2_DFE_RES_OFFSET			8
7380ade8cd8SKonstantin Porotchkin #define HPIPE_G2_DFE_RES_MASK			\
7390ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G2_DFE_RES_OFFSET)
7400ade8cd8SKonstantin Porotchkin 
7410ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_3_REG			0x450
7420ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_CAP_SEL_OFFSET		0
7430ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_CAP_SEL_MASK		\
7440ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G3_FFE_CAP_SEL_OFFSET)
7450ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_RES_SEL_OFFSET		4
7460ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_RES_SEL_MASK		\
7470ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_G3_FFE_RES_SEL_OFFSET)
7480ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_SETTING_FORCE_OFFSET	7
7490ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_SETTING_FORCE_MASK		\
7500ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_G3_FFE_SETTING_FORCE_OFFSET)
7510ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET	12
7520ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_DEG_RES_LEVEL_MASK		\
7530ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET)
7540ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET	14
7550ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_LOAD_RES_LEVEL_MASK	\
7560ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET)
7570ade8cd8SKonstantin Porotchkin 
7580ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_4_REG			0x454
7590ade8cd8SKonstantin Porotchkin #define HPIPE_G3_DFE_RES_OFFSET			8
7600ade8cd8SKonstantin Porotchkin #define HPIPE_G3_DFE_RES_MASK			(0x3 << HPIPE_G3_DFE_RES_OFFSET)
7610ade8cd8SKonstantin Porotchkin 
7620ade8cd8SKonstantin Porotchkin #define HPIPE_TX_PRESET_INDEX_REG		0x468
7630ade8cd8SKonstantin Porotchkin #define HPIPE_TX_PRESET_INDEX_OFFSET		0
7640ade8cd8SKonstantin Porotchkin #define HPIPE_TX_PRESET_INDEX_MASK		\
7650ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_TX_PRESET_INDEX_OFFSET)
7660ade8cd8SKonstantin Porotchkin 
7670ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CONTROL_REG			0x470
7680ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET	14
7690ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_TX_MAX_DFE_ADAPT_MASK		\
7700ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET)
7710ade8cd8SKonstantin Porotchkin 
7720ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CTRL_28_REG			0x49C
7730ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CTRL_28_PIPE4_OFFSET		7
7740ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CTRL_28_PIPE4_MASK		\
7750ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_DFE_CTRL_28_PIPE4_OFFSET)
7760ade8cd8SKonstantin Porotchkin 
7778e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_REG				0x4cc /*in doc 0x133*4*/
7788e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF	2
7798e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_MASK \
7808e8ec8cfSGrzegorz Jaszczyk 			(0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF)
7818e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF	0
7828e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_MASK	\
7838e8ec8cfSGrzegorz Jaszczyk 			(0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF)
7848e8ec8cfSGrzegorz Jaszczyk 
7858e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1				0x4d0 /*in doc 0x134*4*/
7868e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF	3
7878e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_MIN_BOOST_MODE_MASK	\
7888e8ec8cfSGrzegorz Jaszczyk 			(0x1 << HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF)
7898e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_SUMFTAP_EN_OFF		10
7908e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_SUMFTAP_EN_MASK		\
7918e8ec8cfSGrzegorz Jaszczyk 			(0x3f << HPIPE_TRX_REG1_SUMFTAP_EN_OFF)
7928e8ec8cfSGrzegorz Jaszczyk 
7938e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2				0x4d8 /*in doc 0x136*4*/
7948e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF	11
7958e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_MASK	\
7968e8ec8cfSGrzegorz Jaszczyk 			(0x1f << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF)
7978e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF	7
7988e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_MASK	\
7998e8ec8cfSGrzegorz Jaszczyk 			(0xf << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF)
8008e8ec8cfSGrzegorz Jaszczyk 
8010ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTING_5_REG			0x538
8020ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTING_5_G1_ICP_OFFSET	0
8030ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTING_5_G1_ICP_MASK		\
8040ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G1_SETTING_5_G1_ICP_OFFSET)
8050ade8cd8SKonstantin Porotchkin 
8060ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_5_REG			0x548
8070ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_5_G3_ICP_OFFSET	0
8080ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_5_G3_ICP_MASK		\
8090ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_G3_SETTING_5_G3_ICP_OFFSET)
8100ade8cd8SKonstantin Porotchkin 
8110ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CONFIG0_REG			0x600
8120ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET	0
8130ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CONFIG0_TXDEEMPH0_MASK	\
8140ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET)
8150ade8cd8SKonstantin Porotchkin 
8160ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_STATUS1_REG			0x60C
8170ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_STATUS1_PCLK_EN_OFFSET	0
8180ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_STATUS1_PCLK_EN_MASK		\
8190ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_STATUS1_PCLK_EN_OFFSET)
8200ade8cd8SKonstantin Porotchkin 
8210ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_REG			0x620
8220ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_CTRL_OFFSET		0
8230ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_CTRL_MASK		\
8240ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_LANE_CFG4_DFE_CTRL_OFFSET)
8250ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET	3
8260ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_EN_SEL_MASK		\
8270ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET)
8280ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_OVER_OFFSET		6
8290ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_OVER_MASK		\
8300ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_CFG4_DFE_OVER_OFFSET)
8310ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_SSC_CTRL_OFFSET		7
8320ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_SSC_CTRL_MASK		\
8330ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_CFG4_SSC_CTRL_OFFSET)
8340ade8cd8SKonstantin Porotchkin 
8350ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQ_REMOTE_SETTING_REG	0x6f8
8360ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET	0
8370ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_MASK	\
8380ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET)
8390ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET	1
8400ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_ONLY_MODE_MASK	\
8410ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET)
8420ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET	2
8430ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_MASK	\
8440ade8cd8SKonstantin Porotchkin 			(0xf << HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET)
8450ade8cd8SKonstantin Porotchkin 
8460ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQU_CONFIG_0_REG		0x69C
8470ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_PHY_RC_EP_OFFSET		12
8480ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_PHY_RC_EP_MASK		\
8490ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CFG_PHY_RC_EP_OFFSET)
8500ade8cd8SKonstantin Porotchkin 
8510ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQ_CFG1_REG			0x6a0
8520ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_UPDATE_POLARITY_OFFSET	12
8530ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_UPDATE_POLARITY_MASK		\
8540ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CFG_UPDATE_POLARITY_OFFSET)
8550ade8cd8SKonstantin Porotchkin 
8560ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQ_CFG2_REG			0x6a4
8570ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET		14
8580ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_EQ_BUNDLE_DIS_MASK		\
8590ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET)
8600ade8cd8SKonstantin Porotchkin 
8610ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_REG			0x704
8620ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET	0
8630ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_RST_MASK	\
8640ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET)
8650ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET	2
8660ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_MASK	\
8670ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET)
8680ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET	3
8690ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_MASK	\
8700ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET)
8710ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET	9
8720ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_MASK	\
8730ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET)
8740ade8cd8SKonstantin Porotchkin 
8750ade8cd8SKonstantin Porotchkin #define HPIPE_TST_MODE_CTRL_REG			0x708
8760ade8cd8SKonstantin Porotchkin #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET	2
8770ade8cd8SKonstantin Porotchkin #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_MASK	\
8780ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET)
8790ade8cd8SKonstantin Porotchkin 
8800ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_REG				0x70c
8810ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET	1
8820ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_MASK		\
8830ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET)
8840ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET	2
8850ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_MASK	\
8860ade8cd8SKonstantin Porotchkin 			(0x3 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET)
8870ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET		5
8880ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_MASK		\
8890ade8cd8SKonstantin Porotchkin 			(0x7 << HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET)
8900ade8cd8SKonstantin Porotchkin 
8910ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_REG			0x710
8920ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET	0
8930ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_STRT_MASK		\
8940ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET)
8950ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET	1
8960ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_BREAK_MASK	\
8970ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET)
8980ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET	2
8990ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_MASTER_MASK	\
9000ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET)
9010ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET	7
9020ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_MODE_PIPE_MASK		\
9030ade8cd8SKonstantin Porotchkin 			(0x1 << HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET)
9040ade8cd8SKonstantin Porotchkin 
9050ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_MISC_CTRL			0x718
9060ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_PM_CTRL			0x740
9070ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET	0
9080ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_MASK	\
9090ade8cd8SKonstantin Porotchkin 			(0xFF << HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET)
9100ade8cd8SKonstantin Porotchkin 
9110ade8cd8SKonstantin Porotchkin /* General defines */
9120ade8cd8SKonstantin Porotchkin #define PLL_LOCK_TIMEOUT			15000
9130ade8cd8SKonstantin Porotchkin 
914c3cf06f1SAntonio Nino Diaz #endif /* COMPHY_CP110_H */
915