• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 2018 Marvell International Ltd.
3   *
4   * SPDX-License-Identifier:     BSD-3-Clause
5   * https://spdx.org/licenses
6   */
7  
8  /* Marvell CP110 SoC COMPHY unit driver */
9  
10  #ifndef COMPHY_CP110_H
11  #define COMPHY_CP110_H
12  
13  #define SD_ADDR(base, lane)			(base + 0x1000 * lane)
14  #define HPIPE_ADDR(base, lane)			(SD_ADDR(base, lane) + 0x800)
15  #define COMPHY_ADDR(base, lane)			(base + 0x28 * lane)
16  
17  #define MAX_NUM_OF_FFE				8
18  #define RX_TRAINING_TIMEOUT			500
19  
20  /* Comphy registers */
21  #define COMMON_PHY_CFG1_REG			0x0
22  #define COMMON_PHY_CFG1_PWR_UP_OFFSET		1
23  #define COMMON_PHY_CFG1_PWR_UP_MASK		\
24  				(0x1 << COMMON_PHY_CFG1_PWR_UP_OFFSET)
25  #define COMMON_PHY_CFG1_PIPE_SELECT_OFFSET	2
26  #define COMMON_PHY_CFG1_PIPE_SELECT_MASK	\
27  				(0x1 << COMMON_PHY_CFG1_PIPE_SELECT_OFFSET)
28  #define COMMON_PHY_CFG1_CORE_RSTN_OFFSET	13
29  #define COMMON_PHY_CFG1_CORE_RSTN_MASK		\
30  				(0x1 << COMMON_PHY_CFG1_CORE_RSTN_OFFSET)
31  #define COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET	14
32  #define COMMON_PHY_CFG1_PWR_ON_RESET_MASK	\
33  				(0x1 << COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET)
34  #define COMMON_PHY_PHY_MODE_OFFSET		15
35  #define COMMON_PHY_PHY_MODE_MASK		\
36  				(0x1 << COMMON_PHY_PHY_MODE_OFFSET)
37  
38  #define COMMON_PHY_CFG6_REG			0x14
39  #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET	18
40  #define COMMON_PHY_CFG6_IF_40_SEL_MASK		\
41  				(0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET)
42  
43  #define COMMON_PHY_CFG6_REG			0x14
44  #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET	18
45  #define COMMON_PHY_CFG6_IF_40_SEL_MASK		\
46  				(0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET)
47  
48  #define COMMON_SELECTOR_PHY_REG_OFFSET		0x140
49  #define COMMON_SELECTOR_PIPE_REG_OFFSET		0x144
50  #define COMMON_SELECTOR_COMPHY_MASK		0xf
51  #define COMMON_SELECTOR_COMPHYN_FIELD_WIDTH	4
52  #define COMMON_SELECTOR_COMPHYN_SATA		0x4
53  #define COMMON_SELECTOR_PIPE_COMPHY_PCIE	0x4
54  #define COMMON_SELECTOR_PIPE_COMPHY_USBH	0x1
55  #define COMMON_SELECTOR_PIPE_COMPHY_USBD	0x2
56  
57  /* SGMII/HS-SGMII/SFI/RXAUI */
58  #define COMMON_SELECTOR_COMPHY0_1_2_NETWORK	0x1
59  #define COMMON_SELECTOR_COMPHY3_RXAUI		0x1
60  #define COMMON_SELECTOR_COMPHY3_SGMII		0x2
61  #define COMMON_SELECTOR_COMPHY4_PORT1		0x1
62  #define COMMON_SELECTOR_COMPHY4_ALL_OTHERS	0x2
63  #define COMMON_SELECTOR_COMPHY5_RXAUI		0x2
64  #define COMMON_SELECTOR_COMPHY5_SGMII		0x1
65  
66  #define COMMON_PHY_SD_CTRL1			0x148
67  #define COMMON_PHY_SD_CTRL1_COMPHY_0_PORT_OFFSET	0
68  #define COMMON_PHY_SD_CTRL1_COMPHY_1_PORT_OFFSET	4
69  #define COMMON_PHY_SD_CTRL1_COMPHY_2_PORT_OFFSET	8
70  #define COMMON_PHY_SD_CTRL1_COMPHY_3_PORT_OFFSET	12
71  #define COMMON_PHY_SD_CTRL1_COMPHY_0_3_PORT_MASK	0xFFFF
72  #define COMMON_PHY_SD_CTRL1_COMPHY_0_1_PORT_MASK	0xFF
73  #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET	24
74  #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_MASK	\
75  				(0x1 << COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET)
76  #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET	25
77  #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_MASK	\
78  				(0x1 << COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET)
79  #define COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET	26
80  #define COMMON_PHY_SD_CTRL1_RXAUI1_MASK		\
81  				(0x1 << COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET)
82  #define COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET	27
83  #define COMMON_PHY_SD_CTRL1_RXAUI0_MASK		\
84  				(0x1 << COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET)
85  
86  /* DFX register */
87  #define DFX_BASE				(0x400000)
88  #define DFX_DEV_GEN_CTRL12_REG			(0x280)
89  #define DFX_DEV_GEN_PCIE_CLK_SRC_MUX		(0x3)
90  #define DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET		7
91  #define DFX_DEV_GEN_PCIE_CLK_SRC_MASK		\
92  				(0x3 << DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET)
93  
94  /* SerDes IP registers */
95  #define SD_EXTERNAL_CONFIG0_REG				0
96  #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET		1
97  #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_MASK		\
98  			(1 << SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET)
99  #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET	3
100  #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_MASK		\
101  			(0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET)
102  #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET	7
103  #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_MASK		\
104  			(0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET)
105  #define SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET		11
106  #define SD_EXTERNAL_CONFIG0_SD_PU_RX_MASK		\
107  			(1 << SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET)
108  #define SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET		12
109  #define SD_EXTERNAL_CONFIG0_SD_PU_TX_MASK		\
110  			(1 << SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET)
111  #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET	14
112  #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_MASK		\
113  			(1 << SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET)
114  #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET		15
115  #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_MASK		\
116  			(0x1 << SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET)
117  
118  #define SD_EXTERNAL_CONFIG1_REG			0x4
119  #define SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET	2
120  #define SD_EXTERNAL_CONFIG1_TX_IDLE_MASK	\
121  			(0x1 << SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET)
122  #define SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET	3
123  #define SD_EXTERNAL_CONFIG1_RESET_IN_MASK	\
124  			(0x1 << SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET)
125  #define SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET	4
126  #define SD_EXTERNAL_CONFIG1_RX_INIT_MASK	\
127  			(0x1 << SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET)
128  #define SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET	5
129  #define SD_EXTERNAL_CONFIG1_RESET_CORE_MASK	\
130  			(0x1 << SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET)
131  #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET	6
132  #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_MASK	\
133  			(0x1 << SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET)
134  
135  #define SD_EXTERNAL_CONFIG2_REG			0x8
136  #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET	4
137  #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_MASK	\
138  			(0x1 << SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET)
139  #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET	7
140  #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_MASK	\
141  			(0x1 << SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET)
142  
143  #define SD_EXTERNAL_STATUS_REG				0xc
144  #define SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET	7
145  #define SD_EXTERNAL_STATUS_START_RX_TRAINING_MASK	\
146  			(1 << SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET)
147  
148  #define SD_EXTERNAL_STATUS0_REG			0x18
149  #define SD_EXTERNAL_STATUS0_PLL_TX_OFFSET	2
150  #define SD_EXTERNAL_STATUS0_PLL_TX_MASK		\
151  			(0x1 << SD_EXTERNAL_STATUS0_PLL_TX_OFFSET)
152  #define SD_EXTERNAL_STATUS0_PLL_RX_OFFSET	3
153  #define SD_EXTERNAL_STATUS0_PLL_RX_MASK		\
154  			(0x1 << SD_EXTERNAL_STATUS0_PLL_RX_OFFSET)
155  #define SD_EXTERNAL_STATUS0_RX_INIT_OFFSET	4
156  #define SD_EXTERNAL_STATUS0_RX_INIT_MASK	\
157  			(0x1 << SD_EXTERNAL_STATUS0_RX_INIT_OFFSET)
158  
159  #define SD_EXTERNAL_STATAUS1_REG			0x1c
160  #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET	0
161  #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_MASK	\
162  	(1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET)
163  #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET	1
164  #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_MASK	\
165  	(1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET)
166  
167  /* HPIPE registers */
168  #define HPIPE_PWR_PLL_REG			0x4
169  #define HPIPE_PWR_PLL_REF_FREQ_OFFSET		0
170  #define HPIPE_PWR_PLL_REF_FREQ_MASK		\
171  			(0x1f << HPIPE_PWR_PLL_REF_FREQ_OFFSET)
172  #define HPIPE_PWR_PLL_PHY_MODE_OFFSET		5
173  #define HPIPE_PWR_PLL_PHY_MODE_MASK		\
174  			(0x7 << HPIPE_PWR_PLL_PHY_MODE_OFFSET)
175  
176  #define HPIPE_CAL_REG1_REG			0xc
177  #define HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET	10
178  #define HPIPE_CAL_REG_1_EXT_TXIMP_MASK		\
179  			(0x1f << HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET)
180  #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET	15
181  #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_MASK	\
182  			(0x1 << HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET)
183  
184  #define HPIPE_SQUELCH_FFE_SETTING_REG		0x18
185  #define HPIPE_SQUELCH_THRESH_IN_OFFSET		8
186  #define HPIPE_SQUELCH_THRESH_IN_MASK		\
187  			(0xf << HPIPE_SQUELCH_THRESH_IN_OFFSET)
188  #define HPIPE_SQUELCH_DETECTED_OFFSET		14
189  #define HPIPE_SQUELCH_DETECTED_MASK		\
190  			(0x1 << HPIPE_SQUELCH_DETECTED_OFFSET)
191  
192  #define HPIPE_DFE_REG0				0x1c
193  #define HPIPE_DFE_RES_FORCE_OFFSET		15
194  #define HPIPE_DFE_RES_FORCE_MASK		\
195  			(0x1 << HPIPE_DFE_RES_FORCE_OFFSET)
196  
197  #define HPIPE_DFE_F3_F5_REG			0x28
198  #define HPIPE_DFE_F3_F5_DFE_EN_OFFSET		14
199  #define HPIPE_DFE_F3_F5_DFE_EN_MASK		\
200  			(0x1 << HPIPE_DFE_F3_F5_DFE_EN_OFFSET)
201  #define HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET		15
202  #define HPIPE_DFE_F3_F5_DFE_CTRL_MASK		\
203  			(0x1 << HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET)
204  
205  #define HPIPE_ADAPTED_DFE_COEFFICIENT_1_REG	0x30
206  #define HPIPE_ADAPTED_DFE_RES_OFFSET		13
207  #define HPIPE_ADAPTED_DFE_RES_MASK		\
208  			(0x3 << HPIPE_ADAPTED_DFE_RES_OFFSET)
209  
210  #define HPIPE_G1_SET_0_REG			0x34
211  #define HPIPE_G1_SET_0_G1_TX_AMP_OFFSET		1
212  #define HPIPE_G1_SET_0_G1_TX_AMP_MASK		\
213  			(0x1f << HPIPE_G1_SET_0_G1_TX_AMP_OFFSET)
214  #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET	6
215  #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_MASK	\
216  			(0x1 << HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET)
217  #define HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET	7
218  #define HPIPE_G1_SET_0_G1_TX_EMPH1_MASK		\
219  			(0xf << HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET)
220  #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET	11
221  #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_MASK	\
222  			(0x1 << HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET)
223  
224  #define HPIPE_G1_SET_1_REG			0x38
225  #define HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET	0
226  #define HPIPE_G1_SET_1_G1_RX_SELMUPI_MASK	\
227  			(0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET)
228  #define HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET	3
229  #define HPIPE_G1_SET_1_G1_RX_SELMUPF_MASK	\
230  			(0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET)
231  #define HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET	6
232  #define HPIPE_G1_SET_1_G1_RX_SELMUFI_MASK	\
233  			(0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET)
234  #define HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET	8
235  #define HPIPE_G1_SET_1_G1_RX_SELMUFF_MASK	\
236  			(0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET)
237  #define HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET	10
238  #define HPIPE_G1_SET_1_G1_RX_DFE_EN_MASK	\
239  			(0x1 << HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET)
240  #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET	11
241  #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_MASK	\
242  			(0x3 << HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET)
243  
244  #define HPIPE_G2_SET_0_REG			0x3c
245  #define HPIPE_G2_SET_0_G2_TX_AMP_OFFSET		1
246  #define HPIPE_G2_SET_0_G2_TX_AMP_MASK		\
247  			(0x1f << HPIPE_G2_SET_0_G2_TX_AMP_OFFSET)
248  #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET	6
249  #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_MASK	\
250  			(0x1 << HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET)
251  #define HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET	7
252  #define HPIPE_G2_SET_0_G2_TX_EMPH1_MASK		\
253  			(0xf << HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET)
254  #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET	11
255  #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_MASK	\
256  			(0x1 << HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET)
257  
258  #define HPIPE_G2_SET_1_REG			0x40
259  #define HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET	0
260  #define HPIPE_G2_SET_1_G2_RX_SELMUPI_MASK	\
261  			(0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET)
262  #define HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET	3
263  #define HPIPE_G2_SET_1_G2_RX_SELMUPF_MASK	\
264  			(0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET)
265  #define HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET	6
266  #define HPIPE_G2_SET_1_G2_RX_SELMUFI_MASK	\
267  			(0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET)
268  #define HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET	8
269  #define HPIPE_G2_SET_1_G2_RX_SELMUFF_MASK	\
270  			(0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET)
271  #define HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET	10
272  #define HPIPE_G2_SET_1_G2_RX_DFE_EN_MASK	\
273  			(0x1 << HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET)
274  #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET	11
275  #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_MASK	\
276  			(0x3 << HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET)
277  
278  #define HPIPE_G3_SET_0_REG			0x44
279  #define HPIPE_G3_SET_0_G3_TX_AMP_OFFSET		1
280  #define HPIPE_G3_SET_0_G3_TX_AMP_MASK		\
281  			(0x1f << HPIPE_G3_SET_0_G3_TX_AMP_OFFSET)
282  #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET	6
283  #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_MASK	\
284  			(0x1 << HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET)
285  #define HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET	7
286  #define HPIPE_G3_SET_0_G3_TX_EMPH1_MASK		\
287  			(0xf << HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET)
288  #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET	11
289  #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_MASK	\
290  			(0x1 << HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET)
291  #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET 12
292  #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_MASK	\
293  			(0x7 << HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET)
294  #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET 15
295  #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_MASK	\
296  			(0x1 << HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET)
297  
298  #define HPIPE_G3_SET_1_REG				0x48
299  #define HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET		0
300  #define HPIPE_G3_SET_1_G3_RX_SELMUPI_MASK		\
301  			(0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET)
302  #define HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET		3
303  #define HPIPE_G3_SET_1_G3_RX_SELMUPF_MASK		\
304  			(0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET)
305  #define HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET		6
306  #define HPIPE_G3_SET_1_G3_RX_SELMUFI_MASK		\
307  			(0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET)
308  #define HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET		8
309  #define HPIPE_G3_SET_1_G3_RX_SELMUFF_MASK		\
310  			(0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET)
311  #define HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET		10
312  #define HPIPE_G3_SET_1_G3_RX_DFE_EN_MASK		\
313  			(0x1 << HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET)
314  #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET		11
315  #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_MASK		\
316  			(0x3 << HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET)
317  #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET	13
318  #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_MASK	\
319  			(0x1 << HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET)
320  
321  #define HPIPE_PHY_TEST_CONTROL_REG		0x54
322  #define HPIPE_PHY_TEST_PATTERN_SEL_OFFSET	4
323  #define HPIPE_PHY_TEST_PATTERN_SEL_MASK		\
324  			(0xf << HPIPE_PHY_TEST_PATTERN_SEL_OFFSET)
325  #define HPIPE_PHY_TEST_RESET_OFFSET		14
326  #define HPIPE_PHY_TEST_RESET_MASK		\
327  			(0x1 << HPIPE_PHY_TEST_RESET_OFFSET)
328  #define HPIPE_PHY_TEST_EN_OFFSET		15
329  #define HPIPE_PHY_TEST_EN_MASK			\
330  			(0x1 << HPIPE_PHY_TEST_EN_OFFSET)
331  
332  #define HPIPE_PHY_TEST_DATA_REG			0x6c
333  #define HPIPE_PHY_TEST_DATA_OFFSET		0
334  #define HPIPE_PHY_TEST_DATA_MASK		\
335  			(0xffff << HPIPE_PHY_TEST_DATA_OFFSET)
336  
337  #define HPIPE_PHY_TEST_PRBS_ERROR_COUNTER_1_REG	0x80
338  
339  #define HPIPE_PHY_TEST_OOB_0_REGISTER		0x84
340  #define HPIPE_PHY_PT_OOB_EN_OFFSET		14
341  #define HPIPE_PHY_PT_OOB_EN_MASK		\
342  			(0x1 << HPIPE_PHY_PT_OOB_EN_OFFSET)
343  #define HPIPE_PHY_TEST_PT_TESTMODE_OFFSET	12
344  #define HPIPE_PHY_TEST_PT_TESTMODE_MASK		\
345  			(0x3 << HPIPE_PHY_TEST_PT_TESTMODE_OFFSET)
346  
347  #define HPIPE_LOOPBACK_REG			0x8c
348  #define HPIPE_LOOPBACK_SEL_OFFSET		1
349  #define HPIPE_LOOPBACK_SEL_MASK			\
350  			(0x7 << HPIPE_LOOPBACK_SEL_OFFSET)
351  #define HPIPE_CDR_LOCK_OFFSET			7
352  #define HPIPE_CDR_LOCK_MASK			\
353  			(0x1 << HPIPE_CDR_LOCK_OFFSET)
354  #define HPIPE_CDR_LOCK_DET_EN_OFFSET		8
355  #define HPIPE_CDR_LOCK_DET_EN_MASK		\
356  			(0x1 << HPIPE_CDR_LOCK_DET_EN_OFFSET)
357  
358  #define HPIPE_SYNC_PATTERN_REG			0x090
359  #define HPIPE_SYNC_PATTERN_TXD_INV_OFFSET	10
360  #define HPIPE_SYNC_PATTERN_TXD_INV_MASK	\
361  	(0x1 << HPIPE_SYNC_PATTERN_TXD_INV_OFFSET)
362  #define HPIPE_SYNC_PATTERN_RXD_INV_OFFSET	11
363  #define HPIPE_SYNC_PATTERN_RXD_INV_MASK	\
364  	(0x1 << HPIPE_SYNC_PATTERN_RXD_INV_OFFSET)
365  
366  #define HPIPE_INTERFACE_REG			0x94
367  #define HPIPE_INTERFACE_GEN_MAX_OFFSET		10
368  #define HPIPE_INTERFACE_GEN_MAX_MASK		\
369  			(0x3 << HPIPE_INTERFACE_GEN_MAX_OFFSET)
370  #define HPIPE_INTERFACE_DET_BYPASS_OFFSET	12
371  #define HPIPE_INTERFACE_DET_BYPASS_MASK		\
372  			(0x1 << HPIPE_INTERFACE_DET_BYPASS_OFFSET)
373  #define HPIPE_INTERFACE_LINK_TRAIN_OFFSET	14
374  #define HPIPE_INTERFACE_LINK_TRAIN_MASK		\
375  			(0x1 << HPIPE_INTERFACE_LINK_TRAIN_OFFSET)
376  
377  #define HPIPE_G1_SET_2_REG			0xf4
378  #define HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET	0
379  #define HPIPE_G1_SET_2_G1_TX_EMPH0_MASK		\
380  			(0xf << HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET)
381  #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET	4
382  #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_MASK	\
383  			(0x1 << HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET)
384  
385  #define HPIPE_G2_SET_2_REG			0xf8
386  #define HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET	0
387  #define HPIPE_G2_SET_2_G2_TX_EMPH0_MASK		\
388  			(0xf << HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET)
389  #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET	4
390  #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_MASK	\
391  			(0x1 << HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET)
392  #define HPIPE_G2_TX_SSC_AMP_OFFSET		9
393  #define HPIPE_G2_TX_SSC_AMP_MASK		\
394  			(0x7f << HPIPE_G2_TX_SSC_AMP_OFFSET)
395  
396  #define HPIPE_G3_SET_2_REG			0xfc
397  #define HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET	0
398  #define HPIPE_G3_SET_2_G3_TX_EMPH0_MASK		\
399  			(0xf << HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET)
400  #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET	4
401  #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_MASK	\
402  			(0x1 << HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET)
403  #define HPIPE_G3_TX_SSC_AMP_OFFSET		9
404  #define HPIPE_G3_TX_SSC_AMP_MASK		\
405  			(0x7f << HPIPE_G3_TX_SSC_AMP_OFFSET)
406  
407  #define HPIPE_VDD_CAL_0_REG			0x108
408  #define HPIPE_CAL_VDD_CONT_MODE_OFFSET		15
409  #define HPIPE_CAL_VDD_CONT_MODE_MASK		\
410  			(0x1 << HPIPE_CAL_VDD_CONT_MODE_OFFSET)
411  
412  #define HPIPE_VDD_CAL_CTRL_REG			0x114
413  #define HPIPE_EXT_SELLV_RXSAMPL_OFFSET		5
414  #define HPIPE_EXT_SELLV_RXSAMPL_MASK		\
415  			(0x1f << HPIPE_EXT_SELLV_RXSAMPL_OFFSET)
416  
417  #define HPIPE_PCIE_REG0				0x120
418  #define HPIPE_PCIE_IDLE_SYNC_OFFSET		12
419  #define HPIPE_PCIE_IDLE_SYNC_MASK		\
420  			(0x1 << HPIPE_PCIE_IDLE_SYNC_OFFSET)
421  #define HPIPE_PCIE_SEL_BITS_OFFSET		13
422  #define HPIPE_PCIE_SEL_BITS_MASK		\
423  			(0x3 << HPIPE_PCIE_SEL_BITS_OFFSET)
424  
425  #define HPIPE_LANE_ALIGN_REG			0x124
426  #define HPIPE_LANE_ALIGN_OFF_OFFSET		12
427  #define HPIPE_LANE_ALIGN_OFF_MASK		\
428  			(0x1 << HPIPE_LANE_ALIGN_OFF_OFFSET)
429  
430  #define HPIPE_MISC_REG				0x13C
431  #define HPIPE_MISC_CLK100M_125M_OFFSET		4
432  #define HPIPE_MISC_CLK100M_125M_MASK		\
433  			(0x1 << HPIPE_MISC_CLK100M_125M_OFFSET)
434  #define HPIPE_MISC_ICP_FORCE_OFFSET		5
435  #define HPIPE_MISC_ICP_FORCE_MASK		\
436  			(0x1 << HPIPE_MISC_ICP_FORCE_OFFSET)
437  #define HPIPE_MISC_TXDCLK_2X_OFFSET		6
438  #define HPIPE_MISC_TXDCLK_2X_MASK		\
439  			(0x1 << HPIPE_MISC_TXDCLK_2X_OFFSET)
440  #define HPIPE_MISC_CLK500_EN_OFFSET		7
441  #define HPIPE_MISC_CLK500_EN_MASK		\
442  			(0x1 << HPIPE_MISC_CLK500_EN_OFFSET)
443  #define HPIPE_MISC_REFCLK_SEL_OFFSET		10
444  #define HPIPE_MISC_REFCLK_SEL_MASK		\
445  			(0x1 << HPIPE_MISC_REFCLK_SEL_OFFSET)
446  
447  #define HPIPE_RX_CONTROL_1_REG			0x140
448  #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET	11
449  #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_MASK	\
450  			(0x1 << HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET)
451  #define HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET	12
452  #define HPIPE_RX_CONTROL_1_CLK8T_EN_MASK	\
453  			(0x1 << HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET)
454  
455  #define HPIPE_PWR_CTR_REG			0x148
456  #define HPIPE_PWR_CTR_RST_DFE_OFFSET		0
457  #define HPIPE_PWR_CTR_RST_DFE_MASK		\
458  			(0x1 << HPIPE_PWR_CTR_RST_DFE_OFFSET)
459  #define HPIPE_PWR_CTR_SFT_RST_OFFSET		10
460  #define HPIPE_PWR_CTR_SFT_RST_MASK		\
461  			(0x1 << HPIPE_PWR_CTR_SFT_RST_OFFSET)
462  
463  #define HPIPE_SPD_DIV_FORCE_REG				0x154
464  #define HPIPE_TXDIGCK_DIV_FORCE_OFFSET			7
465  #define HPIPE_TXDIGCK_DIV_FORCE_MASK			\
466  			(0x1 << HPIPE_TXDIGCK_DIV_FORCE_OFFSET)
467  #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET		8
468  #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_MASK		\
469  			(0x3 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET)
470  #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET	10
471  #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_MASK	\
472  			(0x1 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET)
473  #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET		13
474  #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_MASK		\
475  			(0x3 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET)
476  #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET	15
477  #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_MASK	\
478  			(0x1 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET)
479  
480  /* HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIBRATION_CTRL_REG */
481  #define HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIB_CTRL_REG	0x168
482  #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET		15
483  #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_MASK		\
484  			(0x1 << HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET)
485  #define HPIPE_CAL_OS_PH_EXT_OFFSET			8
486  #define HPIPE_CAL_OS_PH_EXT_MASK			\
487  			(0x7f << HPIPE_CAL_OS_PH_EXT_OFFSET)
488  
489  #define HPIPE_SAMPLER_N_PROC_CALIB_CTRL_REG	0x16C
490  #define HPIPE_RX_SAMPLER_OS_GAIN_OFFSET		6
491  #define HPIPE_RX_SAMPLER_OS_GAIN_MASK		\
492  			(0x3 << HPIPE_RX_SAMPLER_OS_GAIN_OFFSET)
493  #define HPIPE_SMAPLER_OFFSET			12
494  #define HPIPE_SMAPLER_MASK			\
495  			(0x1 << HPIPE_SMAPLER_OFFSET)
496  
497  #define HPIPE_TX_REG1_REG			0x174
498  #define HPIPE_TX_REG1_TX_EMPH_RES_OFFSET	5
499  #define HPIPE_TX_REG1_TX_EMPH_RES_MASK		\
500  			(0x3 << HPIPE_TX_REG1_TX_EMPH_RES_OFFSET)
501  #define HPIPE_TX_REG1_SLC_EN_OFFSET		10
502  #define HPIPE_TX_REG1_SLC_EN_MASK		\
503  			(0x3f << HPIPE_TX_REG1_SLC_EN_OFFSET)
504  
505  #define HPIPE_PWR_CTR_DTL_REG				0x184
506  #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET		0
507  #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_MASK		\
508  			(0x1 << HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET)
509  #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET		1
510  #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_MASK		\
511  			(0x1 << HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET)
512  #define HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET		2
513  #define HPIPE_PWR_CTR_DTL_FLOOP_EN_MASK			\
514  			(0x1 << HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET)
515  #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET		4
516  #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_MASK		\
517  			(0x7 << HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET)
518  #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET	10
519  #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_MASK	\
520  			(0x1 << HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET)
521  #define HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET		12
522  #define HPIPE_PWR_CTR_DTL_CLK_MODE_MASK			\
523  			(0x3 << HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET)
524  #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET		14
525  #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_MASK		\
526  			(1 << HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET)
527  
528  #define HPIPE_PHASE_CONTROL_REG			0x188
529  #define HPIPE_OS_PH_OFFSET_OFFSET		0
530  #define HPIPE_OS_PH_OFFSET_MASK			\
531  			(0x7f << HPIPE_OS_PH_OFFSET_OFFSET)
532  #define HPIPE_OS_PH_OFFSET_FORCE_OFFSET		7
533  #define HPIPE_OS_PH_OFFSET_FORCE_MASK		\
534  			(0x1 << HPIPE_OS_PH_OFFSET_FORCE_OFFSET)
535  #define HPIPE_OS_PH_VALID_OFFSET		8
536  #define HPIPE_OS_PH_VALID_MASK			\
537  			(0x1 << HPIPE_OS_PH_VALID_OFFSET)
538  
539  #define HPIPE_DATA_PHASE_OFF_CTRL_REG			0x1A0
540  #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET		9
541  #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_MASK		\
542  			(0x7f << HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET)
543  
544  #define HPIPE_ADAPTED_FFE_CAPACITOR_COUNTER_CTRL_REG	0x1A4
545  #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET	12
546  #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_MASK		\
547  			(0x3 << HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET)
548  #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET	8
549  #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_MASK		\
550  			(0xf << HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET)
551  
552  #define HPIPE_SQ_GLITCH_FILTER_CTRL		0x1c8
553  #define HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET	0
554  #define HPIPE_SQ_DEGLITCH_WIDTH_P_MASK		\
555  			(0xf << HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET)
556  #define HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET	4
557  #define HPIPE_SQ_DEGLITCH_WIDTH_N_MASK		\
558  			(0xf << HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET)
559  #define HPIPE_SQ_DEGLITCH_EN_OFFSET		8
560  #define HPIPE_SQ_DEGLITCH_EN_MASK		\
561  			(0x1 << HPIPE_SQ_DEGLITCH_EN_OFFSET)
562  
563  #define HPIPE_FRAME_DETECT_CTRL_0_REG		0x214
564  #define HPIPE_TRAIN_PAT_NUM_OFFSET		0x7
565  #define HPIPE_TRAIN_PAT_NUM_MASK		\
566  			(0x1FF << HPIPE_TRAIN_PAT_NUM_OFFSET)
567  
568  #define HPIPE_FRAME_DETECT_CTRL_3_REG			0x220
569  #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET	12
570  #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_MASK		\
571  			(0x1 << HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET)
572  
573  #define HPIPE_DME_REG				0x228
574  #define HPIPE_DME_ETHERNET_MODE_OFFSET		7
575  #define HPIPE_DME_ETHERNET_MODE_MASK		\
576  			(0x1 << HPIPE_DME_ETHERNET_MODE_OFFSET)
577  
578  #define HPIPE_TRX_TRAIN_CTRL_0_REG		0x22c
579  #define HPIPE_TRX_TX_F0T_EO_BASED_OFFSET	14
580  #define HPIPE_TRX_TX_F0T_EO_BASED_MASK		\
581  			(1 << HPIPE_TRX_TX_F0T_EO_BASED_OFFSET)
582  #define HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET	6
583  #define HPIPE_TRX_UPDATE_THEN_HOLD_MASK		\
584  			(1 << HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET)
585  #define HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET		5
586  #define HPIPE_TRX_TX_CTRL_CLK_EN_MASK		\
587  			(1 << HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET)
588  #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET	4
589  #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_MASK	\
590  			(1 << HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET)
591  #define HPIPE_TRX_TX_TRAIN_EN_OFFSET		1
592  #define HPIPE_TRX_TX_TRAIN_EN_MASK		\
593  			(1 << HPIPE_TRX_TX_TRAIN_EN_OFFSET)
594  #define HPIPE_TRX_RX_TRAIN_EN_OFFSET		0
595  #define HPIPE_TRX_RX_TRAIN_EN_MASK		\
596  			(1 << HPIPE_TRX_RX_TRAIN_EN_OFFSET)
597  
598  #define HPIPE_TX_TRAIN_CTRL_0_REG		0x268
599  #define HPIPE_TX_TRAIN_P2P_HOLD_OFFSET		15
600  #define HPIPE_TX_TRAIN_P2P_HOLD_MASK		\
601  			(0x1 << HPIPE_TX_TRAIN_P2P_HOLD_OFFSET)
602  
603  #define HPIPE_TX_TRAIN_CTRL_REG			0x26C
604  #define HPIPE_TX_TRAIN_CTRL_G1_OFFSET		0
605  #define HPIPE_TX_TRAIN_CTRL_G1_MASK		\
606  			(0x1 << HPIPE_TX_TRAIN_CTRL_G1_OFFSET)
607  #define HPIPE_TX_TRAIN_CTRL_GN1_OFFSET		1
608  #define HPIPE_TX_TRAIN_CTRL_GN1_MASK		\
609  			(0x1 << HPIPE_TX_TRAIN_CTRL_GN1_OFFSET)
610  #define HPIPE_TX_TRAIN_CTRL_G0_OFFSET		2
611  #define HPIPE_TX_TRAIN_CTRL_G0_MASK		\
612  			(0x1 << HPIPE_TX_TRAIN_CTRL_G0_OFFSET)
613  
614  #define HPIPE_TX_TRAIN_CTRL_4_REG		0x278
615  #define HPIPE_TRX_TRAIN_TIMER_OFFSET		0
616  #define HPIPE_TRX_TRAIN_TIMER_MASK		\
617  			(0x3FF << HPIPE_TRX_TRAIN_TIMER_OFFSET)
618  
619  #define HPIPE_TX_TRAIN_CTRL_5_REG		0x2A4
620  #define HPIPE_RX_TRAIN_TIMER_OFFSET		0
621  #define HPIPE_RX_TRAIN_TIMER_MASK		\
622  			(0x3ff << HPIPE_RX_TRAIN_TIMER_OFFSET)
623  #define HPIPE_TX_TRAIN_START_SQ_EN_OFFSET	11
624  #define HPIPE_TX_TRAIN_START_SQ_EN_MASK		\
625  			(0x1 << HPIPE_TX_TRAIN_START_SQ_EN_OFFSET)
626  #define HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET	12
627  #define HPIPE_TX_TRAIN_START_FRM_DET_EN_MASK	\
628  			(0x1 << HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET)
629  #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET	13
630  #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_MASK	\
631  			(0x1 << HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET)
632  #define HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET	14
633  #define HPIPE_TX_TRAIN_WAIT_TIME_EN_MASK	\
634  			(0x1 << HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET)
635  
636  #define HPIPE_INTERRUPT_1_REGISTER		0x2AC
637  #define HPIPE_TRX_TRAIN_FAILED_OFFSET		6
638  #define HPIPE_TRX_TRAIN_FAILED_MASK		\
639  			(1 << HPIPE_TRX_TRAIN_FAILED_OFFSET)
640  #define HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET	5
641  #define HPIPE_TRX_TRAIN_TIME_OUT_INT_MASK	\
642  			(1 << HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET)
643  #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET	4
644  #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_MASK	\
645  			(1 << HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET)
646  #define HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET	3
647  #define HPIPE_INTERRUPT_DFE_DONE_INT_MASK	\
648  			(1 << HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET)
649  #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET	1
650  #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_MASK	\
651  			(1 << HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET)
652  
653  #define HPIPE_TX_TRAIN_REG			0x31C
654  #define HPIPE_TX_TRAIN_CHK_INIT_OFFSET		4
655  #define HPIPE_TX_TRAIN_CHK_INIT_MASK		\
656  			(0x1 << HPIPE_TX_TRAIN_CHK_INIT_OFFSET)
657  #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET	7
658  #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_MASK	\
659  			(0x1 << HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET)
660  #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET	8
661  #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_MASK	\
662  			(0x1 << HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET)
663  #define HPIPE_TX_TRAIN_PAT_SEL_OFFSET		9
664  #define HPIPE_TX_TRAIN_PAT_SEL_MASK		\
665  			(0x1 << HPIPE_TX_TRAIN_PAT_SEL_OFFSET)
666  
667  #define HPIPE_SAVED_DFE_VALUES_REG		0x328
668  #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET	10
669  #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_MASK	\
670  			(0x3f << HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET)
671  
672  #define HPIPE_CDR_CONTROL_REG			0x418
673  #define HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET	0
674  #define HPIPE_CRD_MIDPOINT_PHASE_OS_MASK	\
675  			(0x3f << HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET)
676  #define HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET	6
677  #define HPIPE_CDR_MAX_DFE_ADAPT_1_MASK		\
678  			(0x7 << HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET)
679  #define HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET	9
680  #define HPIPE_CDR_MAX_DFE_ADAPT_0_MASK		\
681  			(0x7 << HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET)
682  #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET	12
683  #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_MASK	\
684  			(0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET)
685  #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET	14
686  #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_MASK	\
687  			(0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET)
688  
689  
690  #define HPIPE_CDR_CONTROL1_REG			0x41c
691  #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF	12
692  #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_MASK	\
693  			(0xf << HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF)
694  
695  #define HPIPE_CDR_CONTROL2_REG			0x420
696  #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF	12
697  #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_MASK	\
698  			(0xf << HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF)
699  
700  #define HPIPE_TX_TRAIN_CTRL_11_REG		0x438
701  #define HPIPE_TX_STATUS_CHECK_MODE_OFFSET	6
702  #define HPIPE_TX_TX_STATUS_CHECK_MODE_MASK	\
703  			(0x1 << HPIPE_TX_STATUS_CHECK_MODE_OFFSET)
704  #define HPIPE_TX_NUM_OF_PRESET_OFFSET		10
705  #define HPIPE_TX_NUM_OF_PRESET_MASK		\
706  			(0x7 << HPIPE_TX_NUM_OF_PRESET_OFFSET)
707  #define HPIPE_TX_SWEEP_PRESET_EN_OFFSET		15
708  #define HPIPE_TX_SWEEP_PRESET_EN_MASK		\
709  			(0x1 << HPIPE_TX_SWEEP_PRESET_EN_OFFSET)
710  
711  #define HPIPE_G1_SETTINGS_3_REG				0x440
712  #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET	0
713  #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_MASK		\
714  			(0xf << HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET)
715  #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET	4
716  #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_MASK		\
717  			(0x7 << HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET)
718  #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET	7
719  #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_MASK	\
720  			(0x1 << HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET)
721  #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET		9
722  #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_MASK		\
723  			(0x1 << HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET)
724  #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET	12
725  #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_MASK	\
726  			(0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET)
727  #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET	14
728  #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_MASK	\
729  		(0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET)
730  
731  #define HPIPE_G1_SETTINGS_4_REG			0x444
732  #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET	8
733  #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_MASK	\
734  			(0x3 << HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET)
735  
736  #define HPIPE_G2_SETTINGS_4_REG			0x44c
737  #define HPIPE_G2_DFE_RES_OFFSET			8
738  #define HPIPE_G2_DFE_RES_MASK			\
739  			(0x3 << HPIPE_G2_DFE_RES_OFFSET)
740  
741  #define HPIPE_G3_SETTING_3_REG			0x450
742  #define HPIPE_G3_FFE_CAP_SEL_OFFSET		0
743  #define HPIPE_G3_FFE_CAP_SEL_MASK		\
744  			(0xf << HPIPE_G3_FFE_CAP_SEL_OFFSET)
745  #define HPIPE_G3_FFE_RES_SEL_OFFSET		4
746  #define HPIPE_G3_FFE_RES_SEL_MASK		\
747  			(0x7 << HPIPE_G3_FFE_RES_SEL_OFFSET)
748  #define HPIPE_G3_FFE_SETTING_FORCE_OFFSET	7
749  #define HPIPE_G3_FFE_SETTING_FORCE_MASK		\
750  			(0x1 << HPIPE_G3_FFE_SETTING_FORCE_OFFSET)
751  #define HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET	12
752  #define HPIPE_G3_FFE_DEG_RES_LEVEL_MASK		\
753  			(0x3 << HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET)
754  #define HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET	14
755  #define HPIPE_G3_FFE_LOAD_RES_LEVEL_MASK	\
756  			(0x3 << HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET)
757  
758  #define HPIPE_G3_SETTING_4_REG			0x454
759  #define HPIPE_G3_DFE_RES_OFFSET			8
760  #define HPIPE_G3_DFE_RES_MASK			(0x3 << HPIPE_G3_DFE_RES_OFFSET)
761  
762  #define HPIPE_TX_PRESET_INDEX_REG		0x468
763  #define HPIPE_TX_PRESET_INDEX_OFFSET		0
764  #define HPIPE_TX_PRESET_INDEX_MASK		\
765  			(0xf << HPIPE_TX_PRESET_INDEX_OFFSET)
766  
767  #define HPIPE_DFE_CONTROL_REG			0x470
768  #define HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET	14
769  #define HPIPE_DFE_TX_MAX_DFE_ADAPT_MASK		\
770  			(0x3 << HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET)
771  
772  #define HPIPE_DFE_CTRL_28_REG			0x49C
773  #define HPIPE_DFE_CTRL_28_PIPE4_OFFSET		7
774  #define HPIPE_DFE_CTRL_28_PIPE4_MASK		\
775  			(0x1 << HPIPE_DFE_CTRL_28_PIPE4_OFFSET)
776  
777  #define HPIPE_TRX0_REG				0x4cc /*in doc 0x133*4*/
778  #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF	2
779  #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_MASK \
780  			(0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF)
781  #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF	0
782  #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_MASK	\
783  			(0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF)
784  
785  #define HPIPE_TRX_REG1				0x4d0 /*in doc 0x134*4*/
786  #define HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF	3
787  #define HPIPE_TRX_REG1_MIN_BOOST_MODE_MASK	\
788  			(0x1 << HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF)
789  #define HPIPE_TRX_REG1_SUMFTAP_EN_OFF		10
790  #define HPIPE_TRX_REG1_SUMFTAP_EN_MASK		\
791  			(0x3f << HPIPE_TRX_REG1_SUMFTAP_EN_OFF)
792  
793  #define HPIPE_TRX_REG2				0x4d8 /*in doc 0x136*4*/
794  #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF	11
795  #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_MASK	\
796  			(0x1f << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF)
797  #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF	7
798  #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_MASK	\
799  			(0xf << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF)
800  
801  #define HPIPE_G1_SETTING_5_REG			0x538
802  #define HPIPE_G1_SETTING_5_G1_ICP_OFFSET	0
803  #define HPIPE_G1_SETTING_5_G1_ICP_MASK		\
804  			(0xf << HPIPE_G1_SETTING_5_G1_ICP_OFFSET)
805  
806  #define HPIPE_G3_SETTING_5_REG			0x548
807  #define HPIPE_G3_SETTING_5_G3_ICP_OFFSET	0
808  #define HPIPE_G3_SETTING_5_G3_ICP_MASK		\
809  			(0xf << HPIPE_G3_SETTING_5_G3_ICP_OFFSET)
810  
811  #define HPIPE_LANE_CONFIG0_REG			0x600
812  #define HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET	0
813  #define HPIPE_LANE_CONFIG0_TXDEEMPH0_MASK	\
814  			(0x1 << HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET)
815  
816  #define HPIPE_LANE_STATUS1_REG			0x60C
817  #define HPIPE_LANE_STATUS1_PCLK_EN_OFFSET	0
818  #define HPIPE_LANE_STATUS1_PCLK_EN_MASK		\
819  			(0x1 << HPIPE_LANE_STATUS1_PCLK_EN_OFFSET)
820  
821  #define HPIPE_LANE_CFG4_REG			0x620
822  #define HPIPE_LANE_CFG4_DFE_CTRL_OFFSET		0
823  #define HPIPE_LANE_CFG4_DFE_CTRL_MASK		\
824  			(0x7 << HPIPE_LANE_CFG4_DFE_CTRL_OFFSET)
825  #define HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET	3
826  #define HPIPE_LANE_CFG4_DFE_EN_SEL_MASK		\
827  			(0x1 << HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET)
828  #define HPIPE_LANE_CFG4_DFE_OVER_OFFSET		6
829  #define HPIPE_LANE_CFG4_DFE_OVER_MASK		\
830  			(0x1 << HPIPE_LANE_CFG4_DFE_OVER_OFFSET)
831  #define HPIPE_LANE_CFG4_SSC_CTRL_OFFSET		7
832  #define HPIPE_LANE_CFG4_SSC_CTRL_MASK		\
833  			(0x1 << HPIPE_LANE_CFG4_SSC_CTRL_OFFSET)
834  
835  #define HPIPE_LANE_EQ_REMOTE_SETTING_REG	0x6f8
836  #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET	0
837  #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_MASK	\
838  			(0x1 << HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET)
839  #define HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET	1
840  #define HPIPE_LANE_CFG_FOM_ONLY_MODE_MASK	\
841  			(0x1 << HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET)
842  #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET	2
843  #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_MASK	\
844  			(0xf << HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET)
845  
846  #define HPIPE_LANE_EQU_CONFIG_0_REG		0x69C
847  #define HPIPE_CFG_PHY_RC_EP_OFFSET		12
848  #define HPIPE_CFG_PHY_RC_EP_MASK		\
849  			(0x1 << HPIPE_CFG_PHY_RC_EP_OFFSET)
850  
851  #define HPIPE_LANE_EQ_CFG1_REG			0x6a0
852  #define HPIPE_CFG_UPDATE_POLARITY_OFFSET	12
853  #define HPIPE_CFG_UPDATE_POLARITY_MASK		\
854  			(0x1 << HPIPE_CFG_UPDATE_POLARITY_OFFSET)
855  
856  #define HPIPE_LANE_EQ_CFG2_REG			0x6a4
857  #define HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET		14
858  #define HPIPE_CFG_EQ_BUNDLE_DIS_MASK		\
859  			(0x1 << HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET)
860  
861  #define HPIPE_RST_CLK_CTRL_REG			0x704
862  #define HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET	0
863  #define HPIPE_RST_CLK_CTRL_PIPE_RST_MASK	\
864  			(0x1 << HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET)
865  #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET	2
866  #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_MASK	\
867  			(0x1 << HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET)
868  #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET	3
869  #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_MASK	\
870  			(0x1 << HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET)
871  #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET	9
872  #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_MASK	\
873  			(0x1 << HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET)
874  
875  #define HPIPE_TST_MODE_CTRL_REG			0x708
876  #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET	2
877  #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_MASK	\
878  			(0x1 << HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET)
879  
880  #define HPIPE_CLK_SRC_LO_REG				0x70c
881  #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET	1
882  #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_MASK		\
883  			(0x1 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET)
884  #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET	2
885  #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_MASK	\
886  			(0x3 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET)
887  #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET		5
888  #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_MASK		\
889  			(0x7 << HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET)
890  
891  #define HPIPE_CLK_SRC_HI_REG			0x710
892  #define HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET	0
893  #define HPIPE_CLK_SRC_HI_LANE_STRT_MASK		\
894  			(0x1 << HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET)
895  #define HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET	1
896  #define HPIPE_CLK_SRC_HI_LANE_BREAK_MASK	\
897  			(0x1 << HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET)
898  #define HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET	2
899  #define HPIPE_CLK_SRC_HI_LANE_MASTER_MASK	\
900  			(0x1 << HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET)
901  #define HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET	7
902  #define HPIPE_CLK_SRC_HI_MODE_PIPE_MASK		\
903  			(0x1 << HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET)
904  
905  #define HPIPE_GLOBAL_MISC_CTRL			0x718
906  #define HPIPE_GLOBAL_PM_CTRL			0x740
907  #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET	0
908  #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_MASK	\
909  			(0xFF << HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET)
910  
911  /* General defines */
912  #define PLL_LOCK_TIMEOUT			15000
913  
914  #endif /* COMPHY_CP110_H */
915