xref: /rk3399_rockchip-uboot/drivers/phy/marvell/comphy_hpipe.h (revision 781ea0aba5f3f9c3fbf91876bc0deffcdb1b6ba9)
1 /*
2  * Copyright (C) 2015-2016 Marvell International Ltd.
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #ifndef _COMPHY_HPIPE_H_
8 #define _COMPHY_HPIPE_H_
9 
10 /* SerDes IP register */
11 #define SD_EXTERNAL_CONFIG0_REG			0
12 #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET	1
13 #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_MASK	\
14 	(1 << SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET)
15 #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET 3
16 #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_MASK	\
17 	(0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET)
18 #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET 7
19 #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_MASK	\
20 	(0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET)
21 #define SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET	11
22 #define SD_EXTERNAL_CONFIG0_SD_PU_RX_MASK	\
23 	(1 << SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET)
24 #define SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET	12
25 #define SD_EXTERNAL_CONFIG0_SD_PU_TX_MASK	\
26 	(1 << SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET)
27 #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET 14
28 #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_MASK	\
29 	(1 << SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET)
30 #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET	15
31 #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_MASK	\
32 	(0x1 << SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET)
33 
34 #define SD_EXTERNAL_CONFIG1_REG			0x4
35 #define SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET	3
36 #define SD_EXTERNAL_CONFIG1_RESET_IN_MASK	\
37 	(0x1 << SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET)
38 #define SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET	4
39 #define SD_EXTERNAL_CONFIG1_RX_INIT_MASK	\
40 	(0x1 << SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET)
41 #define SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET	5
42 #define SD_EXTERNAL_CONFIG1_RESET_CORE_MASK	\
43 	(0x1 << SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET)
44 #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET	6
45 #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_MASK	\
46 	(0x1 << SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET)
47 
48 #define SD_EXTERNAL_CONFIG2_REG			0x8
49 #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET	4
50 #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_MASK	\
51 	(0x1 << SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET)
52 #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET	7
53 #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_MASK	\
54 	(0x1 << SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET)
55 
56 #define SD_EXTERNAL_STATUS0_REG			0x18
57 #define SD_EXTERNAL_STATUS0_PLL_TX_OFFSET	2
58 #define SD_EXTERNAL_STATUS0_PLL_TX_MASK		\
59 	(0x1 << SD_EXTERNAL_STATUS0_PLL_TX_OFFSET)
60 #define SD_EXTERNAL_STATUS0_PLL_RX_OFFSET	3
61 #define SD_EXTERNAL_STATUS0_PLL_RX_MASK		\
62 	(0x1 << SD_EXTERNAL_STATUS0_PLL_RX_OFFSET)
63 #define SD_EXTERNAL_STATUS0_RX_INIT_OFFSET	4
64 #define SD_EXTERNAL_STATUS0_RX_INIT_MASK	\
65 	(0x1 << SD_EXTERNAL_STATUS0_RX_INIT_OFFSET)
66 #define SD_EXTERNAL_STATUS0_RF_RESET_IN_OFFSET	6
67 #define SD_EXTERNAL_STATUS0_RF_RESET_IN_MASK	\
68 	(0x1 << SD_EXTERNAL_STATUS0_RF_RESET_IN_OFFSET)
69 
70 /* HPIPE register */
71 #define HPIPE_PWR_PLL_REG			0x4
72 #define HPIPE_PWR_PLL_REF_FREQ_OFFSET		0
73 #define HPIPE_PWR_PLL_REF_FREQ_MASK		\
74 	(0x1f << HPIPE_PWR_PLL_REF_FREQ_OFFSET)
75 #define HPIPE_PWR_PLL_PHY_MODE_OFFSET		5
76 #define HPIPE_PWR_PLL_PHY_MODE_MASK		\
77 	(0x7 << HPIPE_PWR_PLL_PHY_MODE_OFFSET)
78 
79 #define HPIPE_KVCO_CALIB_CTRL_REG		0x8
80 #define HPIPE_KVCO_CALIB_CTRL_MAX_PLL_OFFSET	12
81 #define HPIPE_KVCO_CALIB_CTRL_MAX_PLL_MASK	\
82 	(0x1 << HPIPE_KVCO_CALIB_CTRL_MAX_PLL_OFFSET)
83 
84 #define HPIPE_CAL_REG1_REG			0xc
85 #define HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET	10
86 #define HPIPE_CAL_REG_1_EXT_TXIMP_MASK		\
87 	(0x1f << HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET)
88 #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET	15
89 #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_MASK	\
90 	(0x1 << HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET)
91 
92 #define HPIPE_SQUELCH_FFE_SETTING_REG           0x018
93 
94 #define HPIPE_DFE_REG0				0x01C
95 #define HPIPE_DFE_RES_FORCE_OFFSET		15
96 #define HPIPE_DFE_RES_FORCE_MASK		\
97 	(0x1 << HPIPE_DFE_RES_FORCE_OFFSET)
98 
99 #define HPIPE_DFE_F3_F5_REG			0x028
100 #define HPIPE_DFE_F3_F5_DFE_EN_OFFSET		14
101 #define HPIPE_DFE_F3_F5_DFE_EN_MASK		\
102 	(0x1 << HPIPE_DFE_F3_F5_DFE_EN_OFFSET)
103 #define HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET		15
104 #define HPIPE_DFE_F3_F5_DFE_CTRL_MASK		\
105 	(0x1 << HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET)
106 
107 #define HPIPE_G1_SET_0_REG			0x034
108 #define HPIPE_G1_SET_0_G1_TX_AMP_OFFSET		1
109 #define HPIPE_G1_SET_0_G1_TX_AMP_MASK		\
110 	(0x1f << HPIPE_G1_SET_0_G1_TX_AMP_OFFSET)
111 #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET	6
112 #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_MASK	\
113 	(0x1 << HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET)
114 #define HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET	7
115 #define HPIPE_G1_SET_0_G1_TX_EMPH1_MASK		\
116 	(0xf << HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET)
117 #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET	11
118 #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_MASK	\
119 	(0x1 << HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET)
120 
121 #define HPIPE_G1_SET_1_REG			0x038
122 #define HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET	0
123 #define HPIPE_G1_SET_1_G1_RX_SELMUPI_MASK	\
124 	(0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET)
125 #define HPIPE_G1_SET_1_G1_RX_SELMUPP_OFFSET	3
126 #define HPIPE_G1_SET_1_G1_RX_SELMUPP_MASK	\
127 	(0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPP_OFFSET)
128 #define HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET	6
129 #define HPIPE_G1_SET_1_G1_RX_SELMUFI_MASK	\
130 	(0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET)
131 #define HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET	8
132 #define HPIPE_G1_SET_1_G1_RX_SELMUFF_MASK	\
133 	(0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET)
134 #define HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET	10
135 #define HPIPE_G1_SET_1_G1_RX_DFE_EN_MASK	\
136 	(0x1 << HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET)
137 
138 #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET	11
139 #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_MASK	\
140 	(0x3 << HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET)
141 
142 #define HPIPE_G2_SET_0_REG			0x3c
143 #define HPIPE_G2_SET_0_G2_TX_AMP_OFFSET		1
144 #define HPIPE_G2_SET_0_G2_TX_AMP_MASK		\
145 	(0x1f << HPIPE_G2_SET_0_G2_TX_AMP_OFFSET)
146 #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET	6
147 #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_MASK	\
148 	(0x1 << HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET)
149 #define HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET	7
150 #define HPIPE_G2_SET_0_G2_TX_EMPH1_MASK		\
151 	(0xf << HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET)
152 #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET	11
153 #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_MASK	\
154 	(0x1 << HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET)
155 
156 #define HPIPE_G2_SET_1_REG			0x040
157 #define HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET	0
158 #define HPIPE_G2_SET_1_G2_RX_SELMUPI_MASK	\
159 	(0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET)
160 #define HPIPE_G2_SET_1_G2_RX_SELMUPP_OFFSET	3
161 #define HPIPE_G2_SET_1_G2_RX_SELMUPP_MASK	\
162 	(0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPP_OFFSET)
163 #define HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET	6
164 #define HPIPE_G2_SET_1_G2_RX_SELMUFI_MASK	\
165 	(0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET)
166 #define HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET	8
167 #define HPIPE_G2_SET_1_G2_RX_SELMUFF_MASK	\
168 	(0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET)
169 #define HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET	10
170 #define HPIPE_G2_SET_1_G2_RX_DFE_EN_MASK	\
171 	(0x1 << HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET)
172 #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET	11
173 #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_MASK	\
174 	(0x3 << HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET)
175 
176 #define HPIPE_G3_SET_0_REG			0x44
177 #define HPIPE_G3_SET_0_G3_TX_AMP_OFFSET		1
178 #define HPIPE_G3_SET_0_G3_TX_AMP_MASK		\
179 	(0x1f << HPIPE_G3_SET_0_G3_TX_AMP_OFFSET)
180 #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET	6
181 #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_MASK	\
182 	(0x1 << HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET)
183 #define HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET	7
184 #define HPIPE_G3_SET_0_G3_TX_EMPH1_MASK		\
185 	(0xf << HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET)
186 #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET	11
187 #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_MASK	\
188 	(0x1 << HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET)
189 #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET 12
190 #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_MASK	\
191 	(0x7 << HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET)
192 #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET 15
193 #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_MASK	\
194 	(0x1 << HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET)
195 
196 #define HPIPE_G3_SET_1_REG			0x048
197 #define HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET	0
198 #define HPIPE_G3_SET_1_G3_RX_SELMUPI_MASK	\
199 	(0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET)
200 #define HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET	3
201 #define HPIPE_G3_SET_1_G3_RX_SELMUPF_MASK	\
202 	(0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET)
203 #define HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET	6
204 #define HPIPE_G3_SET_1_G3_RX_SELMUFI_MASK	\
205 	(0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET)
206 #define HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET	8
207 #define HPIPE_G3_SET_1_G3_RX_SELMUFF_MASK	\
208 	(0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET)
209 #define HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET	10
210 #define HPIPE_G3_SET_1_G3_RX_DFE_EN_MASK	\
211 	(0x1 << HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET)
212 #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET	11
213 #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_MASK	 \
214 	(0x3 << HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET)
215 #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET	13
216 #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_MASK	\
217 	(0x1 << HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET)
218 
219 #define HPIPE_LOOPBACK_REG			0x08c
220 #define HPIPE_LOOPBACK_SEL_OFFSET		1
221 #define HPIPE_LOOPBACK_SEL_MASK			\
222 	(0x7 << HPIPE_LOOPBACK_SEL_OFFSET)
223 
224 #define HPIPE_SYNC_PATTERN_REG                  0x090
225 
226 #define HPIPE_INTERFACE_REG			0x94
227 #define HPIPE_INTERFACE_GEN_MAX_OFFSET		10
228 #define HPIPE_INTERFACE_GEN_MAX_MASK		\
229 	(0x3 << HPIPE_INTERFACE_GEN_MAX_OFFSET)
230 #define HPIPE_INTERFACE_LINK_TRAIN_OFFSET	14
231 #define HPIPE_INTERFACE_LINK_TRAIN_MASK		\
232 	(0x1 << HPIPE_INTERFACE_LINK_TRAIN_OFFSET)
233 
234 #define HPIPE_ISOLATE_MODE_REG			0x98
235 #define HPIPE_ISOLATE_MODE_GEN_RX_OFFSET	0
236 #define HPIPE_ISOLATE_MODE_GEN_RX_MASK		\
237 	(0xf << HPIPE_ISOLATE_MODE_GEN_RX_OFFSET)
238 #define HPIPE_ISOLATE_MODE_GEN_TX_OFFSET	4
239 #define HPIPE_ISOLATE_MODE_GEN_TX_MASK		\
240 	(0xf << HPIPE_ISOLATE_MODE_GEN_TX_OFFSET)
241 
242 #define HPIPE_G1_SET_2_REG			0xf4
243 #define HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET	0
244 #define HPIPE_G1_SET_2_G1_TX_EMPH0_MASK		\
245 	(0xf << HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET)
246 #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET	4
247 #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_MASK	\
248 	(0x1 << HPIPE_G1_SET_2_G1_TX_EMPH0_MASK)
249 
250 #define HPIPE_VTHIMPCAL_CTRL_REG                0x104
251 
252 #define HPIPE_VDD_CAL_CTRL_REG			0x114
253 #define HPIPE_EXT_SELLV_RXSAMPL_OFFSET		5
254 #define HPIPE_EXT_SELLV_RXSAMPL_MASK		\
255 	(0x1f << HPIPE_EXT_SELLV_RXSAMPL_OFFSET)
256 
257 #define HPIPE_VDD_CAL_0_REG			0x108
258 #define HPIPE_CAL_VDD_CONT_MODE_OFFSET		15
259 #define HPIPE_CAL_VDD_CONT_MODE_MASK		\
260 	(0x1 << HPIPE_CAL_VDD_CONT_MODE_OFFSET)
261 
262 #define HPIPE_PCIE_REG0                         0x120
263 #define HPIPE_PCIE_IDLE_SYNC_OFFSET		12
264 #define HPIPE_PCIE_IDLE_SYNC_MASK		\
265 	(0x1 << HPIPE_PCIE_IDLE_SYNC_OFFSET)
266 #define HPIPE_PCIE_SEL_BITS_OFFSET		13
267 #define HPIPE_PCIE_SEL_BITS_MASK		\
268 	(0x3 << HPIPE_PCIE_SEL_BITS_OFFSET)
269 
270 #define HPIPE_LANE_ALIGN_REG			0x124
271 #define HPIPE_LANE_ALIGN_OFF_OFFSET		12
272 #define HPIPE_LANE_ALIGN_OFF_MASK		\
273 	(0x1 << HPIPE_LANE_ALIGN_OFF_OFFSET)
274 
275 #define HPIPE_MISC_REG				0x13C
276 #define HPIPE_MISC_CLK100M_125M_OFFSET		4
277 #define HPIPE_MISC_CLK100M_125M_MASK		\
278 	(0x1 << HPIPE_MISC_CLK100M_125M_OFFSET)
279 #define HPIPE_MISC_ICP_FORCE_OFFSET		5
280 #define HPIPE_MISC_ICP_FORCE_MASK		\
281 	(0x1 << HPIPE_MISC_ICP_FORCE_OFFSET)
282 #define HPIPE_MISC_TXDCLK_2X_OFFSET		6
283 #define HPIPE_MISC_TXDCLK_2X_MASK		\
284 	(0x1 << HPIPE_MISC_TXDCLK_2X_OFFSET)
285 #define HPIPE_MISC_CLK500_EN_OFFSET		7
286 #define HPIPE_MISC_CLK500_EN_MASK		\
287 	(0x1 << HPIPE_MISC_CLK500_EN_OFFSET)
288 #define HPIPE_MISC_REFCLK_SEL_OFFSET		10
289 #define HPIPE_MISC_REFCLK_SEL_MASK		\
290 	(0x1 << HPIPE_MISC_REFCLK_SEL_OFFSET)
291 
292 #define HPIPE_RX_CONTROL_1_REG			0x140
293 #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET	11
294 #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_MASK	\
295 	(0x1 << HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET)
296 #define HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET	12
297 #define HPIPE_RX_CONTROL_1_CLK8T_EN_MASK	\
298 	(0x1 << HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET)
299 
300 #define HPIPE_PWR_CTR_REG			0x148
301 #define HPIPE_PWR_CTR_RST_DFE_OFFSET		0
302 #define HPIPE_PWR_CTR_RST_DFE_MASK		\
303 	(0x1 << HPIPE_PWR_CTR_RST_DFE_OFFSET)
304 #define HPIPE_PWR_CTR_SFT_RST_OFFSET		10
305 #define HPIPE_PWR_CTR_SFT_RST_MASK		\
306 	(0x1 << HPIPE_PWR_CTR_SFT_RST_OFFSET)
307 
308 #define HPIPE_SPD_DIV_FORCE_REG				0x154
309 #define HPIPE_TXDIGCK_DIV_FORCE_OFFSET			7
310 #define HPIPE_TXDIGCK_DIV_FORCE_MASK			\
311 	(0x1 << HPIPE_TXDIGCK_DIV_FORCE_OFFSET)
312 #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET		8
313 #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_MASK		\
314 	(0x3 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET)
315 #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET	10
316 #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_MASK	\
317 	(0x1 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET)
318 #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET		13
319 #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_MASK		\
320 	(0x3 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET)
321 #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET	15
322 #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_MASK	\
323 	(0x1 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET)
324 
325 #define HPIPE_PLLINTP_REG1			0x150
326 
327 #define HPIPE_SAMPLER_N_PROC_CALIB_CTRL_REG	0x16C
328 #define HPIPE_RX_SAMPLER_OS_GAIN_OFFSET		6
329 #define HPIPE_RX_SAMPLER_OS_GAIN_MASK		\
330 	(0x3 << HPIPE_RX_SAMPLER_OS_GAIN_OFFSET)
331 #define HPIPE_SMAPLER_OFFSET			12
332 #define HPIPE_SMAPLER_MASK			\
333 	(0x1 << HPIPE_SMAPLER_OFFSET)
334 
335 #define HPIPE_TX_REG1_REG			0x174
336 #define HPIPE_TX_REG1_TX_EMPH_RES_OFFSET	5
337 #define HPIPE_TX_REG1_TX_EMPH_RES_MASK		\
338 	(0x3 << HPIPE_TX_REG1_TX_EMPH_RES_OFFSET)
339 #define HPIPE_TX_REG1_SLC_EN_OFFSET		10
340 #define HPIPE_TX_REG1_SLC_EN_MASK		\
341 	(0x3f << HPIPE_TX_REG1_SLC_EN_OFFSET)
342 
343 #define HPIPE_PWR_CTR_DTL_REG				0x184
344 #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET		0
345 #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_MASK		\
346 	(0x1 << HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET)
347 #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET		1
348 #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_MASK		\
349 	(0x1 << HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET)
350 #define HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET		2
351 #define HPIPE_PWR_CTR_DTL_FLOOP_EN_MASK			\
352 	(0x1 << HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET)
353 #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET		4
354 #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_MASK		\
355 	(0x7 << HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET)
356 #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET	10
357 #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_MASK	\
358 	(0x1 << HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET)
359 #define HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET		12
360 #define HPIPE_PWR_CTR_DTL_CLK_MODE_MASK			\
361 	(0x3 << HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET)
362 #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET		14
363 #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_MASK		\
364 	(1 << HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET)
365 
366 #define HPIPE_PHASE_CONTROL_REG			0x188
367 #define HPIPE_OS_PH_OFFSET_OFFSET		0
368 #define HPIPE_OS_PH_OFFSET_MASK			\
369 	(0x7f << HPIPE_OS_PH_OFFSET_OFFSET)
370 #define HPIPE_OS_PH_OFFSET_FORCE_OFFSET		7
371 #define HPIPE_OS_PH_OFFSET_FORCE_MASK		\
372 	(0x1 << HPIPE_OS_PH_OFFSET_FORCE_OFFSET)
373 #define HPIPE_OS_PH_VALID_OFFSET		8
374 #define HPIPE_OS_PH_VALID_MASK			\
375 	(0x1 << HPIPE_OS_PH_VALID_OFFSET)
376 
377 #define HPIPE_FRAME_DETECT_CTRL_0_REG			0x214
378 #define HPIPE_TRAIN_PAT_NUM_OFFSET			0x7
379 #define HPIPE_TRAIN_PAT_NUM_MASK			\
380 	(0x1FF << HPIPE_TRAIN_PAT_NUM_OFFSET)
381 
382 #define HPIPE_FRAME_DETECT_CTRL_3_REG			0x220
383 #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET	12
384 #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_MASK		\
385 	(0x1 << HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET)
386 
387 #define HPIPE_DME_REG					0x228
388 #define HPIPE_DME_ETHERNET_MODE_OFFSET			7
389 #define HPIPE_DME_ETHERNET_MODE_MASK			\
390 	(0x1 << HPIPE_DME_ETHERNET_MODE_OFFSET)
391 
392 #define HPIPE_TX_TRAIN_CTRL_0_REG		0x268
393 #define HPIPE_TX_TRAIN_P2P_HOLD_OFFSET		15
394 #define HPIPE_TX_TRAIN_P2P_HOLD_MASK		\
395 	(0x1 << HPIPE_TX_TRAIN_P2P_HOLD_OFFSET)
396 
397 #define HPIPE_TX_TRAIN_CTRL_REG			0x26C
398 #define HPIPE_TX_TRAIN_CTRL_G1_OFFSET		0
399 #define HPIPE_TX_TRAIN_CTRL_G1_MASK		\
400 	(0x1 << HPIPE_TX_TRAIN_CTRL_G1_OFFSET)
401 #define HPIPE_TX_TRAIN_CTRL_GN1_OFFSET		1
402 #define HPIPE_TX_TRAIN_CTRL_GN1_MASK		\
403 	(0x1 << HPIPE_TX_TRAIN_CTRL_GN1_OFFSET)
404 #define HPIPE_TX_TRAIN_CTRL_G0_OFFSET		2
405 #define HPIPE_TX_TRAIN_CTRL_G0_MASK		\
406 	(0x1 << HPIPE_TX_TRAIN_CTRL_G0_OFFSET)
407 
408 #define HPIPE_TX_TRAIN_CTRL_4_REG		0x278
409 #define HPIPE_TRX_TRAIN_TIMER_OFFSET		0
410 #define HPIPE_TRX_TRAIN_TIMER_MASK		\
411 	(0x3FF << HPIPE_TRX_TRAIN_TIMER_OFFSET)
412 
413 #define HPIPE_PCIE_REG1				0x288
414 #define HPIPE_PCIE_REG3				0x290
415 
416 #define HPIPE_TX_TRAIN_CTRL_5_REG		0x2A4
417 #define HPIPE_RX_TRAIN_TIMER_OFFSET		0
418 #define HPIPE_RX_TRAIN_TIMER_MASK		\
419 	(0x3ff << HPIPE_RX_TRAIN_TIMER_OFFSET)
420 #define HPIPE_TX_TRAIN_START_SQ_EN_OFFSET	11
421 #define HPIPE_TX_TRAIN_START_SQ_EN_MASK		\
422 	(0x1 << HPIPE_TX_TRAIN_START_SQ_EN_OFFSET)
423 #define HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET	12
424 #define HPIPE_TX_TRAIN_START_FRM_DET_EN_MASK	\
425 	(0x1 << HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET)
426 #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET	13
427 #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_MASK	\
428 	(0x1 << HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET)
429 #define HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET	14
430 #define HPIPE_TX_TRAIN_WAIT_TIME_EN_MASK	\
431 	(0x1 << HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET)
432 
433 #define HPIPE_TX_TRAIN_REG			0x31C
434 #define HPIPE_TX_TRAIN_CHK_INIT_OFFSET		4
435 #define HPIPE_TX_TRAIN_CHK_INIT_MASK		\
436 	(0x1 << HPIPE_TX_TRAIN_CHK_INIT_OFFSET)
437 #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET	7
438 #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_MASK	\
439 	(0x1 << HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET)
440 #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET	8
441 #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_MASK	\
442 	(0x1 << HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET)
443 #define HPIPE_TX_TRAIN_PAT_SEL_OFFSET		9
444 #define HPIPE_TX_TRAIN_PAT_SEL_MASK		\
445 	(0x1 << HPIPE_TX_TRAIN_PAT_SEL_OFFSET)
446 
447 #define HPIPE_TX_TRAIN_CTRL_11_REG		0x438
448 #define HPIPE_TX_STATUS_CHECK_MODE_OFFSET	6
449 #define HPIPE_TX_TX_STATUS_CHECK_MODE_MASK	\
450 	(0x1 << HPIPE_TX_STATUS_CHECK_MODE_OFFSET)
451 #define HPIPE_TX_NUM_OF_PRESET_OFFSET		10
452 #define HPIPE_TX_NUM_OF_PRESET_MASK		\
453 	(0x7 << HPIPE_TX_NUM_OF_PRESET_OFFSET)
454 #define HPIPE_TX_SWEEP_PRESET_EN_OFFSET		15
455 #define HPIPE_TX_SWEEP_PRESET_EN_MASK		\
456 	(0x1 << HPIPE_TX_SWEEP_PRESET_EN_OFFSET)
457 
458 #define HPIPE_G1_SETTINGS_3_REG				0x440
459 #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET	0
460 #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_MASK		\
461 	(0xf << HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET)
462 #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET	4
463 #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_MASK		\
464 	(0x7 << HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET)
465 #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET	7
466 #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_MASK	\
467 	(0x1 << HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET)
468 #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET		9
469 #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_MASK		\
470 	(0x1 << HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET)
471 #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET	12
472 #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_MASK	\
473 	(0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET)
474 #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET	14
475 #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_MASK	\
476 	(0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET)
477 
478 #define HPIPE_G1_SETTINGS_4_REG			0x444
479 #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET	8
480 #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_MASK	\
481 	(0x3 << HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET)
482 
483 #define HPIPE_G2_SETTINGS_3_REG			0x448
484 #define HPIPE_G2_SETTINGS_4_REG			0x44C
485 
486 #define HPIPE_G3_SETTING_3_REG			0x450
487 #define HPIPE_G3_FFE_CAP_SEL_OFFSET		0
488 #define HPIPE_G3_FFE_CAP_SEL_MASK		\
489 	(0xf << HPIPE_G3_FFE_CAP_SEL_OFFSET)
490 #define HPIPE_G3_FFE_RES_SEL_OFFSET		4
491 #define HPIPE_G3_FFE_RES_SEL_MASK		\
492 	(0x7 << HPIPE_G3_FFE_RES_SEL_OFFSET)
493 #define HPIPE_G3_FFE_SETTING_FORCE_OFFSET	7
494 #define HPIPE_G3_FFE_SETTING_FORCE_MASK		\
495 	(0x1 << HPIPE_G3_FFE_SETTING_FORCE_OFFSET)
496 #define HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET	12
497 #define HPIPE_G3_FFE_DEG_RES_LEVEL_MASK		\
498 	(0x3 << HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET)
499 #define HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET	14
500 #define HPIPE_G3_FFE_LOAD_RES_LEVEL_MASK	\
501 	(0x3 << HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET)
502 
503 #define HPIPE_G3_SETTING_4_REG			0x454
504 #define HPIPE_G3_DFE_RES_OFFSET			8
505 #define HPIPE_G3_DFE_RES_MASK			\
506 	(0x3 << HPIPE_G3_DFE_RES_OFFSET)
507 
508 #define HPIPE_TX_PRESET_INDEX_REG		0x468
509 #define HPIPE_TX_PRESET_INDEX_OFFSET		0
510 #define HPIPE_TX_PRESET_INDEX_MASK		\
511 	(0xf << HPIPE_TX_PRESET_INDEX_OFFSET)
512 
513 #define HPIPE_DFE_CTRL_28_REG			0x49C
514 #define HPIPE_DFE_CTRL_28_PIPE4_OFFSET		7
515 #define HPIPE_DFE_CTRL_28_PIPE4_MASK		\
516 	(0x1 << HPIPE_DFE_CTRL_28_PIPE4_OFFSET)
517 
518 #define HPIPE_G1_SETTING_5_REG			0x538
519 #define HPIPE_G1_SETTING_5_G1_ICP_OFFSET	0
520 #define HPIPE_G1_SETTING_5_G1_ICP_MASK		\
521 	(0xf << HPIPE_G1_SETTING_5_G1_ICP_OFFSET)
522 
523 #define HPIPE_LANE_CONFIG0_REG			0x600
524 #define HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET	0
525 #define HPIPE_LANE_CONFIG0_TXDEEMPH0_MASK	\
526 	(0x1 << HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET)
527 
528 #define HPIPE_LANE_CONFIG1_REG			0x604
529 #define HPIPE_LANE_CONFIG1_MAX_PLL_OFFSET	9
530 #define HPIPE_LANE_CONFIG1_MAX_PLL_MASK		\
531 	(0x1 << HPIPE_LANE_CONFIG1_MAX_PLL_OFFSET)
532 #define HPIPE_LANE_CONFIG1_GEN2_PLL_OFFSET	10
533 #define HPIPE_LANE_CONFIG1_GEN2_PLL_MASK	\
534 	(0x1 << HPIPE_LANE_CONFIG1_GEN2_PLL_OFFSET)
535 
536 #define HPIPE_LANE_STATUS1_REG			0x60C
537 #define HPIPE_LANE_STATUS1_PCLK_EN_OFFSET	0
538 #define HPIPE_LANE_STATUS1_PCLK_EN_MASK		\
539 	(0x1 << HPIPE_LANE_STATUS1_PCLK_EN_OFFSET)
540 
541 #define HPIPE_LANE_CFG4_REG                     0x620
542 #define HPIPE_LANE_CFG4_DFE_CTRL_OFFSET		0
543 #define HPIPE_LANE_CFG4_DFE_CTRL_MASK		\
544 	(0x7 << HPIPE_LANE_CFG4_DFE_CTRL_OFFSET)
545 #define HPIPE_LANE_CFG4_DFE_OVER_OFFSET		6
546 #define HPIPE_LANE_CFG4_DFE_OVER_MASK		\
547 	(0x1 << HPIPE_LANE_CFG4_DFE_OVER_OFFSET)
548 #define HPIPE_LANE_CFG4_SSC_CTRL_OFFSET		7
549 #define HPIPE_LANE_CFG4_SSC_CTRL_MASK		\
550 	(0x1 << HPIPE_LANE_CFG4_SSC_CTRL_OFFSET)
551 
552 #define HPIPE_LANE_EQU_CONFIG_0_REG		0x69C
553 #define HPIPE_CFG_PHY_RC_EP_OFFSET		12
554 #define HPIPE_CFG_PHY_RC_EP_MASK		\
555 	(0x1 << HPIPE_CFG_PHY_RC_EP_OFFSET)
556 
557 #define HPIPE_LANE_EQ_CFG1_REG			0x6a0
558 #define HPIPE_CFG_UPDATE_POLARITY_OFFSET	12
559 #define HPIPE_CFG_UPDATE_POLARITY_MASK		\
560 	(0x1 << HPIPE_CFG_UPDATE_POLARITY_OFFSET)
561 
562 #define HPIPE_RST_CLK_CTRL_REG			0x704
563 #define HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET	0
564 #define HPIPE_RST_CLK_CTRL_PIPE_RST_MASK	\
565 	(0x1 << HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET)
566 #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET	2
567 #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_MASK	\
568 	(0x1 << HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET)
569 #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET	3
570 #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_MASK	\
571 	(0x1 << HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET)
572 #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET	9
573 #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_MASK	\
574 	(0x1 << HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET)
575 
576 #define HPIPE_TST_MODE_CTRL_REG			0x708
577 #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET	2
578 #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_MASK	\
579 	(0x1 << HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET)
580 
581 #define HPIPE_CLK_SRC_LO_REG			0x70c
582 #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET 1
583 #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_MASK	\
584 	(0x1 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET)
585 #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET 2
586 #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_MASK \
587 	(0x3 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET)
588 #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET	5
589 #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_MASK	\
590 	(0x7 << HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET)
591 
592 #define HPIPE_CLK_SRC_HI_REG			0x710
593 #define HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET	0
594 #define HPIPE_CLK_SRC_HI_LANE_STRT_MASK		\
595 	(0x1 << HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET)
596 #define HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET	1
597 #define HPIPE_CLK_SRC_HI_LANE_BREAK_MASK	\
598 	(0x1 << HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET)
599 #define HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET	2
600 #define HPIPE_CLK_SRC_HI_LANE_MASTER_MASK	\
601 	(0x1 << HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET)
602 #define HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET	7
603 #define HPIPE_CLK_SRC_HI_MODE_PIPE_MASK		\
604 	(0x1 << HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET)
605 
606 #define HPIPE_GLOBAL_MISC_CTRL                  0x718
607 #define HPIPE_GLOBAL_PM_CTRL                    0x740
608 #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET	0
609 #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_MASK	\
610 	(0xFF << HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET)
611 
612 #endif /* _COMPHY_HPIPE_H_ */
613 
614