1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2023 Intel Corporation
*/
#ifndef __VLV_DPIO_PHY_REGS_H__
#define __VLV_DPIO_PHY_REGS_H__
#include "intel_display_reg_defs.h"
#define _VLV_CMN(dw) (0x8100 + (dw) * 4)
#define _CHV_CMN(cl, dw) (0x8100 - (cl) * 0x80 + (dw) * 4)
#define _VLV_PLL(ch, dw) (0x8000 + (ch) * 0x20 + (dw) * 4) /* dw 0-7,16-23 */
#define _CHV_PLL(ch, dw) (0x8000 + (ch) * 0x180 + (dw) * 4)
#define _VLV_REF(dw) (0x80a0 + ((dw) - 8) * 4) /* dw 8-15 */
#define _VLV_PCS(ch, spline, dw) (0x200 + (ch) * 0x2400 + (spline) * 0x200 + (dw) * 4)
#define _VLV_PCS_GRP(ch, dw) (0x8200 + (ch) * 0x200 + (dw) * 4)
#define _VLV_PCS_BCAST(dw) (0xc000 + (dw) * 4)
#define _VLV_TX(ch, lane, dw) (0x80 + (ch) * 0x2400 + (lane) * 0x200 + (dw) * 4)
#define _VLV_TX_GRP(ch, dw) (0x8280 + (ch) * 0x200 + (dw) * 4)
#define _VLV_TX_BCAST(dw) (0xc080 + (dw) * 4)
/*
* Per pipe/PLL DPIO regs
*/
#define VLV_PLL_DW3(ch) _VLV_PLL((ch), 3)
#define DPIO_S1_DIV_MASK REG_GENMASK(30, 28)
#define DPIO_S1_DIV(s1) REG_FIELD_PREP(DPIO_S1_DIV_MASK, (s1))
#define DPIO_S1_DIV_DAC 0 /* 10, DAC 25-225M rate */
#define DPIO_S1_DIV_HDMIDP 1 /* 5, DAC 225-400M rate */
#define DPIO_S1_DIV_LVDS1 2 /* 14 */
#define DPIO_S1_DIV_LVDS2 3 /* 7 */
#define DPIO_K_DIV_MASK REG_GENMASK(27, 24)
#define DPIO_K_DIV(k) REG_FIELD_PREP(DPIO_K_DIV_MASK, (k))
#define DPIO_P1_DIV_MASK REG_GENMASK(23, 21)
#define DPIO_P1_DIV(p1) REG_FIELD_PREP(DPIO_P1_DIV_MASK, (p1))
#define DPIO_P2_DIV_MASK REG_GENMASK(20, 16)
#define DPIO_P2_DIV(p2) REG_FIELD_PREP(DPIO_P2_DIV_MASK, (p2))
#define DPIO_N_DIV_MASK REG_GENMASK(15, 12)
#define DPIO_N_DIV(n) REG_FIELD_PREP(DPIO_N_DIV_MASK, (n))
#define DPIO_ENABLE_CALIBRATION REG_BIT(11)
#define DPIO_M1_DIV_MASK REG_GENMASK(10, 8)
#define DPIO_M1_DIV(m1) REG_FIELD_PREP(DPIO_M1_DIV_MASK, (m1))
#define DPIO_M2_DIV_MASK REG_GENMASK(7, 0)
#define DPIO_M2_DIV(m2) REG_FIELD_PREP(DPIO_M2_DIV_MASK, (m2))
#define VLV_PLL_DW5(ch) _VLV_PLL((ch), 5)
#define DPIO_REFSEL_OVERRIDE REG_BIT(27)
#define DPIO_PLL_MODESEL_MASK REG_GENMASK(26, 24)
#define DPIO_BIAS_CURRENT_CTL_MASK REG_GENMASK(22, 20) /* always 0x7 */
#define DPIO_PLL_REFCLK_SEL_MASK REG_GENMASK(17, 16)
#define DPIO_DRIVER_CTL_MASK REG_GENMASK(15, 12) /* always set to 0x8 */
#define DPIO_CLK_BIAS_CTL_MASK REG_GENMASK(11, 8) /* always set to 0x5 */
#define VLV_PLL_DW7(ch) _VLV_PLL((ch), 7)
#define VLV_PLL_DW16(ch) _VLV_PLL((ch), 16)
#define VLV_PLL_DW17(ch) _VLV_PLL((ch), 17)
#define VLV_PLL_DW18(ch) _VLV_PLL((ch), 18)
#define VLV_PLL_DW19(ch) _VLV_PLL((ch), 19)
#define VLV_REF_DW11 _VLV_REF(11)
#define VLV_CMN_DW0 _VLV_CMN(0)
/*
* Per DDI channel DPIO regs
*/
#define VLV_PCS_DW0_GRP(ch) _VLV_PCS_GRP((ch), 0)
#define VLV_PCS01_DW0(ch) _VLV_PCS((ch), 0, 0)
#define VLV_PCS23_DW0(ch) _VLV_PCS((ch), 1, 0)
#define DPIO_PCS_TX_LANE2_RESET REG_BIT(16)
#define DPIO_PCS_TX_LANE1_RESET REG_BIT(7)
#define DPIO_LEFT_TXFIFO_RST_MASTER2 REG_BIT(4)
#define DPIO_RIGHT_TXFIFO_RST_MASTER2 REG_BIT(3)
#define VLV_PCS_DW1_GRP(ch) _VLV_PCS_GRP((ch), 1)
#define VLV_PCS01_DW1(ch) _VLV_PCS((ch), 0, 1)
#define VLV_PCS23_DW1(ch) _VLV_PCS((ch), 1, 1)
#define CHV_PCS_REQ_SOFTRESET_EN REG_BIT(23)
#define DPIO_PCS_CLK_CRI_RXEB_EIOS_EN REG_BIT(22)
#define DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN REG_BIT(21)
#define DPIO_PCS_CLK_DATAWIDTH_MASK REG_GENMASK(7, 6)
#define DPIO_PCS_CLK_DATAWIDTH_8_10 REG_FIELD_PREP(DPIO_PCS_CLK_DATAWIDTH_MASK, 1)
#define DPIO_PCS_CLK_DATAWIDTH_16_20 REG_FIELD_PREP(DPIO_PCS_CLK_DATAWIDTH_MASK, 2)
#define DPIO_PCS_CLK_DATAWIDTH_32_40 REG_FIELD_PREP(DPIO_PCS_CLK_DATAWIDTH_MASK, 3)
#define DPIO_PCS_CLK_SOFT_RESET REG_BIT(5)
#define VLV_PCS_DW8_GRP(ch) _VLV_PCS_GRP((ch), 8)
#define VLV_PCS01_DW8(ch) _VLV_PCS((ch), 0, 8)
#define VLV_PCS23_DW8(ch) _VLV_PCS((ch), 1, 8)
#define DPIO_PCS_USEDCLKCHANNEL REG_BIT(21)
#define DPIO_PCS_USEDCLKCHANNEL_OVRRIDE REG_BIT(20)
#define VLV_PCS_DW9_GRP(ch) _VLV_PCS_GRP((ch), 9)
#define VLV_PCS01_DW9(ch) _VLV_PCS((ch), 0, 9)
#define VLV_PCS23_DW9(ch) _VLV_PCS((ch), 1, 9)
#define DPIO_PCS_TX2MARGIN_MASK REG_GENMASK(15, 13)
#define DPIO_PCS_TX2MARGIN_000 REG_FIELD_PREP(DPIO_PCS_TX2MARGIN_MASK, 0)
#define DPIO_PCS_TX2MARGIN_101 REG_FIELD_PREP(DPIO_PCS_TX2MARGIN_MASK, 1)
#define DPIO_PCS_TX1MARGIN_MASK REG_GENMASK(12, 10)
#define DPIO_PCS_TX1MARGIN_000 REG_FIELD_PREP(DPIO_PCS_TX1MARGIN_MASK, 0)
#define DPIO_PCS_TX1MARGIN_101 REG_FIELD_PREP(DPIO_PCS_TX1MARGIN_MASK, 1)
#define VLV_PCS_DW10_GRP(ch) _VLV_PCS_GRP((ch), 10)
#define VLV_PCS01_DW10(ch) _VLV_PCS((ch), 0, 10)
#define VLV_PCS23_DW10(ch) _VLV_PCS((ch), 1, 10)
#define DPIO_PCS_SWING_CALC_TX1_TX3 REG_BIT(31)
#define DPIO_PCS_SWING_CALC_TX0_TX2 REG_BIT(30)
#define DPIO_PCS_TX2DEEMP_MASK REG_GENMASK(27, 24)
#define DPIO_PCS_TX2DEEMP_9P5 REG_FIELD_PREP(DPIO_PCS_TX2DEEMP_MASK, 0)
#define DPIO_PCS_TX2DEEMP_6P0 REG_FIELD_PREP(DPIO_PCS_TX2DEEMP_MASK, 2)
#define DPIO_PCS_TX1DEEMP_MASK REG_GENMASK(19, 16)
#define DPIO_PCS_TX1DEEMP_9P5 REG_FIELD_PREP(DPIO_PCS_TX1DEEMP_MASK, 0)
#define DPIO_PCS_TX1DEEMP_6P0 REG_FIELD_PREP(DPIO_PCS_TX1DEEMP_MASK, 2)
#define VLV_PCS_DW11_GRP(ch) _VLV_PCS_GRP((ch), 11)
#define VLV_PCS01_DW11(ch) _VLV_PCS((ch), 0, 11)
#define VLV_PCS23_DW11(ch) _VLV_PCS((ch), 1, 11)
#define DPIO_TX2_STAGGER_MASK_MASK REG_GENMASK(28, 24)
#define DPIO_TX2_STAGGER_MASK(x) REG_FIELD_PREP(DPIO_TX2_STAGGER_MASK_MASK, (x))
#define DPIO_LANEDESKEW_STRAP_OVRD REG_BIT(3)
#define DPIO_LEFT_TXFIFO_RST_MASTER REG_BIT(1)
#define DPIO_RIGHT_TXFIFO_RST_MASTER REG_BIT(0)
#define VLV_PCS_DW12_GRP(ch) _VLV_PCS_GRP((ch), 12)
#define VLV_PCS01_DW12(ch) _VLV_PCS((ch), 0, 12)
#define VLV_PCS23_DW12(ch) _VLV_PCS((ch), 1, 12)
#define DPIO_TX2_STAGGER_MULT_MASK REG_GENMASK(22, 20)
#define DPIO_TX2_STAGGER_MULT(x) REG_FIELD_PREP(DPIO_TX2_STAGGER_MULT_MASK, (x))
#define DPIO_TX1_STAGGER_MULT_MASK REG_GENMASK(20, 16)
#define DPIO_TX1_STAGGER_MULT(x) REG_FIELD_PREP(DPIO_TX1_STAGGER_MULT_MASK, (x))
#define DPIO_TX1_STAGGER_MASK_MASK REG_GENMASK(12, 8)
#define DPIO_TX1_STAGGER_MASK(x) REG_FIELD_PREP(DPIO_TX1_STAGGER_MASK_MASK, (x))
#define DPIO_LANESTAGGER_STRAP_OVRD REG_BIT(6)
#define DPIO_LANESTAGGER_STRAP_MASK REG_GENMASK(4, 0)
#define DPIO_LANESTAGGER_STRAP(x) REG_FIELD_PREP(DPIO_LANESTAGGER_STRAP_MASK, (x))
#define VLV_PCS_DW14_GRP(ch) _VLV_PCS_GRP((ch), 14)
#define VLV_PCS01_DW14(ch) _VLV_PCS((ch), 0, 14)
#define VLV_PCS23_DW14(ch) _VLV_PCS((ch), 1, 14)
#define VLV_PCS_DW17_BCAST _VLV_PCS_BCAST(17)
#define VLV_PCS_DW17_GRP(ch) _VLV_PCS_GRP((ch), 17)
#define VLV_PCS01_DW17(ch) _VLV_PCS((ch), 0, 17)
#define VLV_PCS23_DW17(ch) _VLV_PCS((ch), 1, 17)
#define VLV_PCS_DW23_GRP(ch) _VLV_PCS_GRP((ch), 23)
#define VLV_PCS01_DW23(ch) _VLV_PCS((ch), 0, 23)
#define VLV_PCS23_DW23(ch) _VLV_PCS((ch), 1, 23)
#define VLV_TX_DW2_GRP(ch) _VLV_TX_GRP((ch), 2)
#define VLV_TX_DW2(ch, lane) _VLV_TX((ch), (lane), 2)
#define DPIO_SWING_MARGIN000_MASK REG_GENMASK(23, 16)
#define DPIO_SWING_MARGIN000(x) REG_FIELD_PREP(DPIO_SWING_MARGIN000_MASK, (x))
#define DPIO_UNIQ_TRANS_SCALE_MASK REG_GENMASK(15, 8)
#define DPIO_UNIQ_TRANS_SCALE(x) REG_FIELD_PREP(DPIO_UNIQ_TRANS_SCALE_MASK, (x))
#define VLV_TX_DW3_GRP(ch) _VLV_TX_GRP((ch), 3)
#define VLV_TX_DW3(ch, lane) _VLV_TX((ch), (lane), 3)
/* The following bit for CHV phy */
#define DPIO_TX_UNIQ_TRANS_SCALE_EN REG_BIT(27)
#define DPIO_SWING_MARGIN101_MASK REG_GENMASK(23, 16)
#define DPIO_SWING_MARGIN101(x) REG_FIELD_PREP(DPIO_SWING_MARGIN101_MASK, (x))
#define VLV_TX_DW4_GRP(ch) _VLV_TX_GRP((ch), 4)
#define VLV_TX_DW4(ch, lane) _VLV_TX((ch), (lane), 4)
#define DPIO_SWING_DEEMPH9P5_MASK REG_GENMASK(31, 24)
#define DPIO_SWING_DEEMPH9P5(x) REG_FIELD_PREP(DPIO_SWING_DEEMPH9P5_MASK, (x))
#define DPIO_SWING_DEEMPH6P0_MASK REG_GENMASK(23, 16)
#define DPIO_SWING_DEEMPH6P0_SHIFT REG_FIELD_PREP(DPIO_SWING_DEEMPH6P0_MASK, (x))
#define VLV_TX_DW5_GRP(ch) _VLV_TX_GRP((ch), 5)
#define VLV_TX_DW5(ch, lane) _VLV_TX((ch), (lane), 5)
#define DPIO_TX_OCALINIT_EN REG_BIT(31)
#define VLV_TX_DW11_GRP(ch) _VLV_TX_GRP((ch), 11)
#define VLV_TX_DW11(ch, lane) _VLV_TX((ch), (lane), 11)
#define VLV_TX_DW14_GRP(ch) _VLV_TX_GRP((ch), 14)
#define VLV_TX_DW14(ch, lane) _VLV_TX((ch), (lane), 14)
/* CHV dpPhy registers */
#define CHV_PLL_DW0(ch) _CHV_PLL((ch), 0)
#define DPIO_CHV_M2_DIV_MASK REG_GENMASK(7, 0)
#define DPIO_CHV_M2_DIV(m2) REG_FIELD_PREP(DPIO_CHV_M2_DIV_MASK, (m2))
#define CHV_PLL_DW1(ch) _CHV_PLL((ch), 1)
#define DPIO_CHV_N_DIV_MASK REG_GENMASK(11, 8)
#define DPIO_CHV_N_DIV(n) REG_FIELD_PREP(DPIO_CHV_N_DIV_MASK, (n))
#define DPIO_CHV_M1_DIV_MASK REG_GENMASK(2, 0)
#define DPIO_CHV_M1_DIV(m1) REG_FIELD_PREP(DPIO_CHV_M1_DIV_MASK, (m1))
#define DPIO_CHV_M1_DIV_BY_2 0
#define CHV_PLL_DW2(ch) _CHV_PLL((ch), 2)
#define DPIO_CHV_M2_FRAC_DIV_MASK REG_GENMASK(21, 0)
#define DPIO_CHV_M2_FRAC_DIV(m2_frac) REG_FIELD_PREP(DPIO_CHV_M2_FRAC_DIV_MASK, (m2_frac))
#define CHV_PLL_DW3(ch) _CHV_PLL((ch), 3)
#define DPIO_CHV_FRAC_DIV_EN REG_BIT(16)
#define DPIO_CHV_SECOND_MOD REG_BIT(8)
#define DPIO_CHV_FEEDFWD_GAIN_MASK REG_GENMASK(3, 0)
#define DPIO_CHV_FEEDFWD_GAIN(x) REG_FIELD_PREP(DPIO_CHV_FEEDFWD_GAIN_MASK, (x))
#define CHV_PLL_DW6(ch) _CHV_PLL((ch), 6)
#define DPIO_CHV_GAIN_CTRL_MASK REG_GENMASK(18, 16)
#define DPIO_CHV_GAIN_CTRL(x) REG_FIELD_PREP(DPIO_CHV_GAIN_CTRL_MASK, (x))
#define DPIO_CHV_INT_COEFF_MASK REG_GENMASK(12, 8)
#define DPIO_CHV_INT_COEFF(x) REG_FIELD_PREP(DPIO_CHV_INT_COEFF_MASK, (x))
#define DPIO_CHV_PROP_COEFF_MASK REG_GENMASK(3, 0)
#define DPIO_CHV_PROP_COEFF(x) REG_FIELD_PREP(DPIO_CHV_PROP_COEFF_MASK, (x))
#define CHV_PLL_DW8(ch) _CHV_PLL((ch), 8)
#define DPIO_CHV_TDC_TARGET_CNT_MASK REG_GENMASK(9, 0)
#define DPIO_CHV_TDC_TARGET_CNT(x) REG_FIELD_PREP(DPIO_CHV_TDC_TARGET_CNT_MASK, (x))
#define CHV_PLL_DW9(ch) _CHV_PLL((ch), 9)
#define DPIO_CHV_INT_LOCK_THRESHOLD_MASK REG_GENMASK(3, 1)
#define DPIO_CHV_INT_LOCK_THRESHOLD(x) REG_FIELD_PREP(DPIO_CHV_INT_LOCK_THRESHOLD_MASK, (x))
#define DPIO_CHV_INT_LOCK_THRESHOLD_SEL_COARSE REG_BIT(0) /* 1: coarse & 0 : fine */
#define CHV_CMN_DW0_CH0 _CHV_CMN(0, 0)
#define DPIO_ALLDL_POWERDOWN_CH0 REG_BIT(19)
#define DPIO_ANYDL_POWERDOWN_CH0 REG_BIT(18)
#define DPIO_ALLDL_POWERDOWN BIT(1)
#define DPIO_ANYDL_POWERDOWN BIT(0)
#define CHV_CMN_DW5_CH0 _CHV_CMN(0, 5)
#define CHV_BUFRIGHTENA1_MASK REG_GENMASK(21, 20)
#define CHV_BUFRIGHTENA1_DISABLE REG_FIELD_PREP(CHV_BUFRIGHTENA1_MASK, 0)
#define CHV_BUFRIGHTENA1_NORMAL REG_FIELD_PREP(CHV_BUFRIGHTENA1_MASK, 1)
#define CHV_BUFRIGHTENA1_FORCE REG_FIELD_PREP(CHV_BUFRIGHTENA1_MASK, 3)
#define CHV_BUFLEFTENA1_MASK REG_GENMASK(23, 22)
#define CHV_BUFLEFTENA1_DISABLE REG_FIELD_PREP(CHV_BUFLEFTENA1_MASK, 0)
#define CHV_BUFLEFTENA1_NORMAL REG_FIELD_PREP(CHV_BUFLEFTENA1_MASK, 1)
#define CHV_BUFLEFTENA1_FORCE REG_FIELD_PREP(CHV_BUFLEFTENA1_MASK, 3)
#define CHV_CMN_DW13_CH0 _CHV_CMN(0, 13)
#define CHV_CMN_DW0_CH1 _CHV_CMN(1, 0)
#define DPIO_CHV_S1_DIV_MASK REG_GENMASK(23, 21)
#define DPIO_CHV_S1_DIV(s1) REG_FIELD_PREP(DPIO_CHV_S1_DIV_MASK, (s1))
#define DPIO_CHV_P1_DIV_MASK REG_GENMASK(15, 13)
#define DPIO_CHV_P1_DIV(p1) REG_FIELD_PREP(DPIO_CHV_P1_DIV_MASK, (p1))
#define DPIO_CHV_P2_DIV_MASK REG_GENMASK(12, 8)
#define DPIO_CHV_P2_DIV(p2) REG_FIELD_PREP(DPIO_CHV_P2_DIV_MASK, (p2))
#define DPIO_CHV_K_DIV_MASK REG_GENMASK(7, 4)
#define DPIO_CHV_K_DIV(k) REG_FIELD_PREP(DPIO_CHV_K_DIV_MASK, (k))
#define DPIO_PLL_FREQLOCK REG_BIT(1)
#define DPIO_PLL_LOCK REG_BIT(0)
#define CHV_CMN_DW13(ch) _PIPE(ch, CHV_CMN_DW13_CH0, CHV_CMN_DW0_CH1)
#define CHV_CMN_DW14_CH0 _CHV_CMN(0, 14)
#define CHV_CMN_DW1_CH1 _CHV_CMN(1, 1)
#define DPIO_AFC_RECAL REG_BIT(14)
#define DPIO_DCLKP_EN REG_BIT(13)
#define CHV_BUFLEFTENA2_MASK REG_GENMASK(18, 17) /* CL2 DW1 only */
#define CHV_BUFLEFTENA2_DISABLE REG_FIELD_PREP(CHV_BUFLEFTENA2_MASK, 0)
#define CHV_BUFLEFTENA2_NORMAL REG_FIELD_PREP(CHV_BUFLEFTENA2_MASK, 1)
#define CHV_BUFLEFTENA2_FORCE REG_FIELD_PREP(CHV_BUFLEFTENA2_MASK, 3)
#define CHV_BUFRIGHTENA2_MASK REG_GENMASK(20, 19) /* CL2 DW1 only */
#define CHV_BUFRIGHTENA2_DISABLE REG_FIELD_PREP(CHV_BUFRIGHTENA2_MASK, 0)
#define CHV_BUFRIGHTENA2_NORMAL REG_FIELD_PREP(CHV_BUFRIGHTENA2_MASK, 1)
#define CHV_BUFRIGHTENA2_FORCE REG_FIELD_PREP(CHV_BUFRIGHTENA2_MASK, 3)
#define CHV_CMN_DW14(ch) _PIPE(ch, CHV_CMN_DW14_CH0, CHV_CMN_DW1_CH1)
#define CHV_CMN_DW19_CH0 _CHV_CMN(0, 19)
#define CHV_CMN_DW6_CH1 _CHV_CMN(1, 6)
#define DPIO_ALLDL_POWERDOWN_CH1 REG_BIT(30) /* CL2 DW6 only */
#define DPIO_ANYDL_POWERDOWN_CH1 REG_BIT(29) /* CL2 DW6 only */
#define DPIO_DYNPWRDOWNEN_CH1 REG_BIT(28) /* CL2 DW6 only */
#define CHV_CMN_USEDCLKCHANNEL REG_BIT(13)
#define CHV_CMN_DW19(ch) _PIPE(ch, CHV_CMN_DW19_CH0, CHV_CMN_DW6_CH1)
#define CHV_CMN_DW28 _CHV_CMN(0, 28)
#define DPIO_CL1POWERDOWNEN REG_BIT(23)
#define DPIO_DYNPWRDOWNEN_CH0 REG_BIT(22)
#define DPIO_SUS_CLK_CONFIG_MASK REG_GENMASK(1, 0)
#define DPIO_SUS_CLK_CONFIG_ON REG_FIELD_PREP(DPIO_SUS_CLK_CONFIG_MASK, 0)
#define DPIO_SUS_CLK_CONFIG_CLKREQ REG_FIELD_PREP(DPIO_SUS_CLK_CONFIG_MASK, 1)
#define DPIO_SUS_CLK_CONFIG_GATE REG_FIELD_PREP(DPIO_SUS_CLK_CONFIG_MASK, 2)
#define DPIO_SUS_CLK_CONFIG_GATE_CLKREQ REG_FIELD_PREP(DPIO_SUS_CLK_CONFIG_MASK, 3)
#define CHV_CMN_DW30 _CHV_CMN(0, 30)
#define DPIO_CL2_LDOFUSE_PWRENB REG_BIT(6)
#define DPIO_LRC_BYPASS REG_BIT(3)
#define CHV_TX_DW0(ch, lane) _VLV_TX((ch), (lane), 0)
#define CHV_TX_DW1(ch, lane) _VLV_TX((ch), (lane), 1)
#define CHV_TX_DW2(ch, lane) _VLV_TX((ch), (lane), 2)
#define CHV_TX_DW3(ch, lane) _VLV_TX((ch), (lane), 3)
#define CHV_TX_DW4(ch, lane) _VLV_TX((ch), (lane), 4)
#define CHV_TX_DW5(ch, lane) _VLV_TX((ch), (lane), 5)
#define CHV_TX_DW6(ch, lane) _VLV_TX((ch), (lane), 6)
#define CHV_TX_DW7(ch, lane) _VLV_TX((ch), (lane), 7)
#define CHV_TX_DW8(ch, lane) _VLV_TX((ch), (lane), 8)
#define CHV_TX_DW9(ch, lane) _VLV_TX((ch), (lane), 9)
#define CHV_TX_DW10(ch, lane) _VLV_TX((ch), (lane), 10)
#define CHV_TX_DW11(ch, lane) _VLV_TX((ch), (lane), 11)
#define DPIO_FRC_LATENCY_MASK REG_GENMASK(10, 8)
#define DPIO_FRC_LATENCY(x) REG_FIELD_PREP(DPIO_FRC_LATENCY_MASK, (x))
#define CHV_TX_DW14(ch, lane) _VLV_TX((ch), (lane), 14)
#define DPIO_UPAR REG_BIT(30)
#endif /* __VLV_DPIO_PHY_REGS_H__ */
|