Lines Matching +full:0 +full:x1c00
31 #define TREF_REG 0x00
32 #define TREF_TREF BIT(0)
35 #define SRST_REG 0x04
36 #define SRST_SRST BIT(0)
39 #define PHYCNT_REG 0x08
46 #define PHYCNT_ENABLE_0 BIT(0)
49 #define CHKSUM_REG 0x0c
51 #define CHKSUM_CRC_EN BIT(0)
55 * VCDT[0-15]: Channel 0 VCDT[16-31]: Channel 1
56 * VCDT2[0-15]: Channel 2 VCDT2[16-31]: Channel 3
58 #define VCDT_REG 0x10
59 #define VCDT2_REG 0x14
61 #define VCDT_SEL_VC(n) (((n) & 0x3) << 8)
63 #define VCDT_SEL_DT(n) (((n) & 0x3f) << 0)
66 #define FRDT_REG 0x18
69 #define FLD_REG 0x1c
70 #define FLD_FLD_NUM(n) (((n) & 0xff) << 16)
71 #define FLD_DET_SEL(n) (((n) & 0x3) << 4)
75 #define FLD_FLD_EN BIT(0)
78 #define ASTBY_REG 0x20
80 /* Long Data Type Setting 0 */
81 #define LNGDT0_REG 0x28
84 #define LNGDT1_REG 0x2c
87 #define INTEN_REG 0x30
93 #define INTCLOSE_REG 0x34
96 #define INTSTATE_REG 0x38
101 #define INTERRSTATE_REG 0x3c
104 #define SHPDAT_REG 0x40
107 #define SHPCNT_REG 0x44
110 #define LINKCNT_REG 0x48
116 #define LSWAP_REG 0x4c
117 #define LSWAP_L3SEL(n) (((n) & 0x3) << 6)
118 #define LSWAP_L2SEL(n) (((n) & 0x3) << 4)
119 #define LSWAP_L1SEL(n) (((n) & 0x3) << 2)
120 #define LSWAP_L0SEL(n) (((n) & 0x3) << 0)
123 #define PHTW_REG 0x50
125 #define PHTW_TESTDIN_DATA(n) (((n & 0xff)) << 16)
127 #define PHTW_TESTDIN_CODE(n) ((n & 0xff))
129 #define PHYFRX_REG 0x64
133 #define PHYFRX_FORCERX_MODE_0 BIT(0)
136 #define V4H_N_LANES_REG 0x0004
137 #define V4H_CSI2_RESETN_REG 0x0008
139 #define V4H_PHY_MODE_REG 0x001c
140 #define V4H_PHY_MODE_DPHY 0
143 #define V4H_PHY_SHUTDOWNZ_REG 0x0040
144 #define V4H_DPHY_RSTZ_REG 0x0044
145 #define V4H_FLDC_REG 0x0804
146 #define V4H_FLDD_REG 0x0808
147 #define V4H_IDIC_REG 0x0810
149 #define V4H_PHY_EN_REG 0x2000
154 #define V4H_PHY_EN_ENABLE_CLK BIT(0)
156 #define V4H_ST_PHYST_REG 0x2814
161 #define V4H_ST_PHYST_ST_STOPSTATE_0 BIT(0)
164 #define V4H_PPI_STARTUP_RW_COMMON_DPHY_REG(n) (0x21800 + ((n) * 2)) /* n = 0 - 9 */
165 #define V4H_PPI_STARTUP_RW_COMMON_STARTUP_1_1_REG 0x21822
166 #define V4H_PPI_CALIBCTRL_RW_COMMON_BG_0_REG 0x2184c
167 #define V4H_PPI_RW_LPDCOCAL_TIMEBASE_REG 0x21c02
168 #define V4H_PPI_RW_LPDCOCAL_NREF_REG 0x21c04
169 #define V4H_PPI_RW_LPDCOCAL_NREF_RANGE_REG 0x21c06
170 #define V4H_PPI_RW_LPDCOCAL_TWAIT_CONFIG_REG 0x21c0a
171 #define V4H_PPI_RW_LPDCOCAL_VT_CONFIG_REG 0x21c0c
172 #define V4H_PPI_RW_LPDCOCAL_COARSE_CFG_REG 0x21c10
173 #define V4H_PPI_RW_COMMON_CFG_REG 0x21c6c
174 #define V4H_PPI_RW_TERMCAL_CFG_0_REG 0x21c80
175 #define V4H_PPI_RW_OFFSETCAL_CFG_0_REG 0x21ca0
178 #define V4H_CORE_DIG_IOCTRL_RW_AFE_LANE0_CTRL_2_REG(n) (0x22040 + ((n) * 2)) /* n = 0 - 15 */
179 #define V4H_CORE_DIG_IOCTRL_RW_AFE_LANE1_CTRL_2_REG(n) (0x22440 + ((n) * 2)) /* n = 0 - 15 */
180 #define V4H_CORE_DIG_IOCTRL_RW_AFE_LANE2_CTRL_2_REG(n) (0x22840 + ((n) * 2)) /* n = 0 - 15 */
181 #define V4H_CORE_DIG_IOCTRL_RW_AFE_LANE3_CTRL_2_REG(n) (0x22c40 + ((n) * 2)) /* n = 0 - 15 */
182 #define V4H_CORE_DIG_IOCTRL_RW_AFE_LANE4_CTRL_2_REG(n) (0x23040 + ((n) * 2)) /* n = 0 - 15 */
183 #define V4H_CORE_DIG_IOCTRL_RW_AFE_CB_CTRL_2_REG(n) (0x23840 + ((n) * 2)) /* n = 0 - 11 */
184 #define V4H_CORE_DIG_RW_COMMON_REG(n) (0x23880 + ((n) * 2)) /* n = 0 - 15 */
185 #define V4H_CORE_DIG_ANACTRL_RW_COMMON_ANACTRL_REG(n) (0x239e0 + ((n) * 2)) /* n = 0 - 3 */
186 #define V4H_CORE_DIG_CLANE_1_RW_HS_TX_6_REG 0x2a60c
189 #define V4H_CORE_DIG_RW_TRIO0_REG(n) (0x22100 + ((n) * 2)) /* n = 0 - 3 */
190 #define V4H_CORE_DIG_RW_TRIO1_REG(n) (0x22500 + ((n) * 2)) /* n = 0 - 3 */
191 #define V4H_CORE_DIG_RW_TRIO2_REG(n) (0x22900 + ((n) * 2)) /* n = 0 - 3 */
192 #define V4H_CORE_DIG_CLANE_0_RW_CFG_0_REG 0x2a000
193 #define V4H_CORE_DIG_CLANE_0_RW_LP_0_REG 0x2a080
194 #define V4H_CORE_DIG_CLANE_0_RW_HS_RX_REG(n) (0x2a100 + ((n) * 2)) /* n = 0 - 6 */
195 #define V4H_CORE_DIG_CLANE_1_RW_CFG_0_REG 0x2a400
196 #define V4H_CORE_DIG_CLANE_1_RW_LP_0_REG 0x2a480
197 #define V4H_CORE_DIG_CLANE_1_RW_HS_RX_REG(n) (0x2a500 + ((n) * 2)) /* n = 0 - 6 */
198 #define V4H_CORE_DIG_CLANE_2_RW_CFG_0_REG 0x2a800
199 #define V4H_CORE_DIG_CLANE_2_RW_LP_0_REG 0x2a880
200 #define V4H_CORE_DIG_CLANE_2_RW_HS_RX_REG(n) (0x2a900 + ((n) * 2)) /* n = 0 - 6 */
213 …{ .msps = 80, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x0134, .trio2 = 0x6a, .lane27 = 0x0000, .l…
214 …{ .msps = 100, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x00f5, .trio2 = 0x55, .lane27 = 0x0000, .l…
215 …{ .msps = 200, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x0077, .trio2 = 0x2b, .lane27 = 0x0000, .l…
216 …{ .msps = 300, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x004d, .trio2 = 0x1d, .lane27 = 0x0000, .l…
217 …{ .msps = 400, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x0038, .trio2 = 0x16, .lane27 = 0x0000, .l…
218 …{ .msps = 500, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x002b, .trio2 = 0x12, .lane27 = 0x0000, .l…
219 …{ .msps = 600, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x0023, .trio2 = 0x0f, .lane27 = 0x0000, .l…
220 …{ .msps = 700, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x001d, .trio2 = 0x0d, .lane27 = 0x0000, .l…
221 …{ .msps = 800, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x0018, .trio2 = 0x0c, .lane27 = 0x0000, .l…
222 …{ .msps = 900, .rx2 = 0x38, .trio0 = 0x024a, .trio1 = 0x0015, .trio2 = 0x0b, .lane27 = 0x0000, .l…
223 …{ .msps = 1000, .rx2 = 0x3e, .trio0 = 0x024a, .trio1 = 0x0012, .trio2 = 0x0a, .lane27 = 0x0400, .l…
224 …{ .msps = 1100, .rx2 = 0x44, .trio0 = 0x024a, .trio1 = 0x000f, .trio2 = 0x09, .lane27 = 0x0800, .l…
225 …{ .msps = 1200, .rx2 = 0x4a, .trio0 = 0x024a, .trio1 = 0x000e, .trio2 = 0x08, .lane27 = 0x0c00, .l…
226 …{ .msps = 1300, .rx2 = 0x51, .trio0 = 0x024a, .trio1 = 0x000c, .trio2 = 0x08, .lane27 = 0x0c00, .l…
227 …{ .msps = 1400, .rx2 = 0x57, .trio0 = 0x024a, .trio1 = 0x000b, .trio2 = 0x07, .lane27 = 0x1000, .l…
228 …{ .msps = 1500, .rx2 = 0x5d, .trio0 = 0x044a, .trio1 = 0x0009, .trio2 = 0x07, .lane27 = 0x1000, .l…
229 …{ .msps = 1600, .rx2 = 0x63, .trio0 = 0x044a, .trio1 = 0x0008, .trio2 = 0x07, .lane27 = 0x1400, .l…
230 …{ .msps = 1700, .rx2 = 0x6a, .trio0 = 0x044a, .trio1 = 0x0007, .trio2 = 0x06, .lane27 = 0x1400, .l…
231 …{ .msps = 1800, .rx2 = 0x70, .trio0 = 0x044a, .trio1 = 0x0007, .trio2 = 0x06, .lane27 = 0x1400, .l…
232 …{ .msps = 1900, .rx2 = 0x76, .trio0 = 0x044a, .trio1 = 0x0006, .trio2 = 0x06, .lane27 = 0x1400, .l…
233 …{ .msps = 2000, .rx2 = 0x7c, .trio0 = 0x044a, .trio1 = 0x0005, .trio2 = 0x06, .lane27 = 0x1800, .l…
234 …{ .msps = 2100, .rx2 = 0x83, .trio0 = 0x044a, .trio1 = 0x0005, .trio2 = 0x05, .lane27 = 0x1800, .l…
235 …{ .msps = 2200, .rx2 = 0x89, .trio0 = 0x064a, .trio1 = 0x0004, .trio2 = 0x05, .lane27 = 0x1800, .l…
236 …{ .msps = 2300, .rx2 = 0x8f, .trio0 = 0x064a, .trio1 = 0x0003, .trio2 = 0x05, .lane27 = 0x1800, .l…
237 …{ .msps = 2400, .rx2 = 0x95, .trio0 = 0x064a, .trio1 = 0x0003, .trio2 = 0x05, .lane27 = 0x1800, .l…
238 …{ .msps = 2500, .rx2 = 0x9c, .trio0 = 0x064a, .trio1 = 0x0003, .trio2 = 0x05, .lane27 = 0x1c00, .l…
239 …{ .msps = 2600, .rx2 = 0xa2, .trio0 = 0x064a, .trio1 = 0x0002, .trio2 = 0x05, .lane27 = 0x1c00, .l…
240 …{ .msps = 2700, .rx2 = 0xa8, .trio0 = 0x064a, .trio1 = 0x0002, .trio2 = 0x05, .lane27 = 0x1c00, .l…
241 …{ .msps = 2800, .rx2 = 0xae, .trio0 = 0x064a, .trio1 = 0x0002, .trio2 = 0x04, .lane27 = 0x1c00, .l…
242 …{ .msps = 2900, .rx2 = 0xb5, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
243 …{ .msps = 3000, .rx2 = 0xbb, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
244 …{ .msps = 3100, .rx2 = 0xc1, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
245 …{ .msps = 3200, .rx2 = 0xc7, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
246 …{ .msps = 3300, .rx2 = 0xce, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
247 …{ .msps = 3400, .rx2 = 0xd4, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
248 …{ .msps = 3500, .rx2 = 0xda, .trio0 = 0x084a, .trio1 = 0x0001, .trio2 = 0x04, .lane27 = 0x1c00, .l…
253 #define V4M_OVR1_REG 0x0848
259 #define V4M_FRXM_REG 0x2004
263 #define V4M_FRXM_FORCERXMODE_0 BIT(0)
265 #define V4M_PHYPLL_REG 0x02050
266 #define V4M_CSI0CLKFCPR_REG 0x02054
267 #define V4M_PHTW_REG 0x02060
268 #define V4M_PHTR_REG 0x02064
269 #define V4M_PHTC_REG 0x02068
283 { .mbps = 1500, .reg = 0xcc },
284 { .mbps = 1550, .reg = 0x1d },
285 { .mbps = 1600, .reg = 0x27 },
286 { .mbps = 1650, .reg = 0x30 },
287 { .mbps = 1700, .reg = 0x39 },
288 { .mbps = 1750, .reg = 0x42 },
289 { .mbps = 1800, .reg = 0x4b },
290 { .mbps = 1850, .reg = 0x55 },
291 { .mbps = 1900, .reg = 0x5e },
292 { .mbps = 1950, .reg = 0x67 },
293 { .mbps = 2000, .reg = 0x71 },
294 { .mbps = 2050, .reg = 0x79 },
295 { .mbps = 2100, .reg = 0x83 },
296 { .mbps = 2150, .reg = 0x8c },
297 { .mbps = 2200, .reg = 0x95 },
298 { .mbps = 2250, .reg = 0x9e },
299 { .mbps = 2300, .reg = 0xa7 },
300 { .mbps = 2350, .reg = 0xb0 },
301 { .mbps = 2400, .reg = 0xba },
302 { .mbps = 2450, .reg = 0xc3 },
303 { .mbps = 2500, .reg = 0xcc },
308 { .mbps = 80, .reg = 0x86 },
309 { .mbps = 90, .reg = 0x86 },
310 { .mbps = 100, .reg = 0x87 },
311 { .mbps = 110, .reg = 0x87 },
312 { .mbps = 120, .reg = 0x88 },
313 { .mbps = 130, .reg = 0x88 },
314 { .mbps = 140, .reg = 0x89 },
315 { .mbps = 150, .reg = 0x89 },
316 { .mbps = 160, .reg = 0x8a },
317 { .mbps = 170, .reg = 0x8a },
318 { .mbps = 180, .reg = 0x8b },
319 { .mbps = 190, .reg = 0x8b },
320 { .mbps = 205, .reg = 0x8c },
321 { .mbps = 220, .reg = 0x8d },
322 { .mbps = 235, .reg = 0x8e },
323 { .mbps = 250, .reg = 0x8e },
328 { .mbps = 80, .reg = 0x00 },
329 { .mbps = 90, .reg = 0x20 },
330 { .mbps = 100, .reg = 0x40 },
331 { .mbps = 110, .reg = 0x02 },
332 { .mbps = 130, .reg = 0x22 },
333 { .mbps = 140, .reg = 0x42 },
334 { .mbps = 150, .reg = 0x04 },
335 { .mbps = 170, .reg = 0x24 },
336 { .mbps = 180, .reg = 0x44 },
337 { .mbps = 200, .reg = 0x06 },
338 { .mbps = 220, .reg = 0x26 },
339 { .mbps = 240, .reg = 0x46 },
340 { .mbps = 250, .reg = 0x08 },
341 { .mbps = 270, .reg = 0x28 },
342 { .mbps = 300, .reg = 0x0a },
343 { .mbps = 330, .reg = 0x2a },
344 { .mbps = 360, .reg = 0x4a },
345 { .mbps = 400, .reg = 0x0c },
346 { .mbps = 450, .reg = 0x2c },
347 { .mbps = 500, .reg = 0x0e },
348 { .mbps = 550, .reg = 0x2e },
349 { .mbps = 600, .reg = 0x10 },
350 { .mbps = 650, .reg = 0x30 },
351 { .mbps = 700, .reg = 0x12 },
352 { .mbps = 750, .reg = 0x32 },
353 { .mbps = 800, .reg = 0x52 },
354 { .mbps = 850, .reg = 0x72 },
355 { .mbps = 900, .reg = 0x14 },
356 { .mbps = 950, .reg = 0x34 },
357 { .mbps = 1000, .reg = 0x54 },
358 { .mbps = 1050, .reg = 0x74 },
359 { .mbps = 1125, .reg = 0x16 },
364 #define PHTC_REG 0x58
365 #define PHTC_TESTCLR BIT(0)
368 #define PHYPLL_REG 0x68
372 { .mbps = 80, .reg = 0x00 },
373 { .mbps = 90, .reg = 0x10 },
374 { .mbps = 100, .reg = 0x20 },
375 { .mbps = 110, .reg = 0x30 },
376 { .mbps = 120, .reg = 0x01 },
377 { .mbps = 130, .reg = 0x11 },
378 { .mbps = 140, .reg = 0x21 },
379 { .mbps = 150, .reg = 0x31 },
380 { .mbps = 160, .reg = 0x02 },
381 { .mbps = 170, .reg = 0x12 },
382 { .mbps = 180, .reg = 0x22 },
383 { .mbps = 190, .reg = 0x32 },
384 { .mbps = 205, .reg = 0x03 },
385 { .mbps = 220, .reg = 0x13 },
386 { .mbps = 235, .reg = 0x23 },
387 { .mbps = 250, .reg = 0x33 },
388 { .mbps = 275, .reg = 0x04 },
389 { .mbps = 300, .reg = 0x14 },
390 { .mbps = 325, .reg = 0x25 },
391 { .mbps = 350, .reg = 0x35 },
392 { .mbps = 400, .reg = 0x05 },
393 { .mbps = 450, .reg = 0x16 },
394 { .mbps = 500, .reg = 0x26 },
395 { .mbps = 550, .reg = 0x37 },
396 { .mbps = 600, .reg = 0x07 },
397 { .mbps = 650, .reg = 0x18 },
398 { .mbps = 700, .reg = 0x28 },
399 { .mbps = 750, .reg = 0x39 },
400 { .mbps = 800, .reg = 0x09 },
401 { .mbps = 850, .reg = 0x19 },
402 { .mbps = 900, .reg = 0x29 },
403 { .mbps = 950, .reg = 0x3a },
404 { .mbps = 1000, .reg = 0x0a },
405 { .mbps = 1050, .reg = 0x1a },
406 { .mbps = 1100, .reg = 0x2a },
407 { .mbps = 1150, .reg = 0x3b },
408 { .mbps = 1200, .reg = 0x0b },
409 { .mbps = 1250, .reg = 0x1b },
410 { .mbps = 1300, .reg = 0x2b },
411 { .mbps = 1350, .reg = 0x3c },
412 { .mbps = 1400, .reg = 0x0c },
413 { .mbps = 1450, .reg = 0x1c },
414 { .mbps = 1500, .reg = 0x2c },
415 { .mbps = 1550, .reg = 0x3d },
416 { .mbps = 1600, .reg = 0x0d },
417 { .mbps = 1650, .reg = 0x1d },
418 { .mbps = 1700, .reg = 0x2e },
419 { .mbps = 1750, .reg = 0x3e },
420 { .mbps = 1800, .reg = 0x0e },
421 { .mbps = 1850, .reg = 0x1e },
422 { .mbps = 1900, .reg = 0x2f },
423 { .mbps = 1950, .reg = 0x3f },
424 { .mbps = 2000, .reg = 0x0f },
425 { .mbps = 2050, .reg = 0x40 },
426 { .mbps = 2100, .reg = 0x41 },
427 { .mbps = 2150, .reg = 0x42 },
428 { .mbps = 2200, .reg = 0x43 },
429 { .mbps = 2300, .reg = 0x45 },
430 { .mbps = 2350, .reg = 0x46 },
431 { .mbps = 2400, .reg = 0x47 },
432 { .mbps = 2450, .reg = 0x48 },
433 { .mbps = 2500, .reg = 0x49 },
438 { .mbps = 80, .reg = 0x00 },
439 { .mbps = 90, .reg = 0x10 },
440 { .mbps = 100, .reg = 0x20 },
441 { .mbps = 110, .reg = 0x30 },
442 { .mbps = 120, .reg = 0x01 },
443 { .mbps = 130, .reg = 0x11 },
444 { .mbps = 140, .reg = 0x21 },
445 { .mbps = 150, .reg = 0x31 },
446 { .mbps = 160, .reg = 0x02 },
447 { .mbps = 170, .reg = 0x12 },
448 { .mbps = 180, .reg = 0x22 },
449 { .mbps = 190, .reg = 0x32 },
450 { .mbps = 205, .reg = 0x03 },
451 { .mbps = 220, .reg = 0x13 },
452 { .mbps = 235, .reg = 0x23 },
453 { .mbps = 250, .reg = 0x33 },
454 { .mbps = 275, .reg = 0x04 },
455 { .mbps = 300, .reg = 0x14 },
456 { .mbps = 325, .reg = 0x25 },
457 { .mbps = 350, .reg = 0x35 },
458 { .mbps = 400, .reg = 0x05 },
459 { .mbps = 450, .reg = 0x16 },
460 { .mbps = 500, .reg = 0x26 },
461 { .mbps = 550, .reg = 0x37 },
462 { .mbps = 600, .reg = 0x07 },
463 { .mbps = 650, .reg = 0x18 },
464 { .mbps = 700, .reg = 0x28 },
465 { .mbps = 750, .reg = 0x39 },
466 { .mbps = 800, .reg = 0x09 },
467 { .mbps = 850, .reg = 0x19 },
468 { .mbps = 900, .reg = 0x29 },
469 { .mbps = 950, .reg = 0x3a },
470 { .mbps = 1000, .reg = 0x0a },
471 { .mbps = 1050, .reg = 0x1a },
472 { .mbps = 1100, .reg = 0x2a },
473 { .mbps = 1150, .reg = 0x3b },
474 { .mbps = 1200, .reg = 0x0b },
475 { .mbps = 1250, .reg = 0x1b },
476 { .mbps = 1300, .reg = 0x2b },
477 { .mbps = 1350, .reg = 0x3c },
478 { .mbps = 1400, .reg = 0x0c },
479 { .mbps = 1450, .reg = 0x1c },
480 { .mbps = 1500, .reg = 0x2c },
485 { .mbps = 80, .reg = 0x00 },
486 { .mbps = 90, .reg = 0x10 },
487 { .mbps = 100, .reg = 0x20 },
488 { .mbps = 110, .reg = 0x30 },
489 { .mbps = 120, .reg = 0x01 },
490 { .mbps = 130, .reg = 0x11 },
491 { .mbps = 140, .reg = 0x21 },
492 { .mbps = 150, .reg = 0x31 },
493 { .mbps = 160, .reg = 0x02 },
494 { .mbps = 170, .reg = 0x12 },
495 { .mbps = 180, .reg = 0x22 },
496 { .mbps = 190, .reg = 0x32 },
497 { .mbps = 205, .reg = 0x03 },
498 { .mbps = 220, .reg = 0x13 },
499 { .mbps = 235, .reg = 0x23 },
500 { .mbps = 250, .reg = 0x33 },
501 { .mbps = 275, .reg = 0x04 },
502 { .mbps = 300, .reg = 0x14 },
503 { .mbps = 325, .reg = 0x05 },
504 { .mbps = 350, .reg = 0x15 },
505 { .mbps = 400, .reg = 0x25 },
506 { .mbps = 450, .reg = 0x06 },
507 { .mbps = 500, .reg = 0x16 },
508 { .mbps = 550, .reg = 0x07 },
509 { .mbps = 600, .reg = 0x17 },
510 { .mbps = 650, .reg = 0x08 },
511 { .mbps = 700, .reg = 0x18 },
512 { .mbps = 750, .reg = 0x09 },
513 { .mbps = 800, .reg = 0x19 },
514 { .mbps = 850, .reg = 0x29 },
515 { .mbps = 900, .reg = 0x39 },
516 { .mbps = 950, .reg = 0x0a },
517 { .mbps = 1000, .reg = 0x1a },
518 { .mbps = 1050, .reg = 0x2a },
519 { .mbps = 1100, .reg = 0x3a },
520 { .mbps = 1150, .reg = 0x0b },
521 { .mbps = 1200, .reg = 0x1b },
522 { .mbps = 1250, .reg = 0x2b },
523 { .mbps = 1300, .reg = 0x3b },
524 { .mbps = 1350, .reg = 0x0c },
525 { .mbps = 1400, .reg = 0x1c },
526 { .mbps = 1450, .reg = 0x2c },
527 { .mbps = 1500, .reg = 0x3c },
532 { .mbps = 80, .reg = 0x00, .osc_freq = 0x01a9 },
533 { .mbps = 90, .reg = 0x10, .osc_freq = 0x01a9 },
534 { .mbps = 100, .reg = 0x20, .osc_freq = 0x01a9 },
535 { .mbps = 110, .reg = 0x30, .osc_freq = 0x01a9 },
536 { .mbps = 120, .reg = 0x01, .osc_freq = 0x01a9 },
537 { .mbps = 130, .reg = 0x11, .osc_freq = 0x01a9 },
538 { .mbps = 140, .reg = 0x21, .osc_freq = 0x01a9 },
539 { .mbps = 150, .reg = 0x31, .osc_freq = 0x01a9 },
540 { .mbps = 160, .reg = 0x02, .osc_freq = 0x01a9 },
541 { .mbps = 170, .reg = 0x12, .osc_freq = 0x01a9 },
542 { .mbps = 180, .reg = 0x22, .osc_freq = 0x01a9 },
543 { .mbps = 190, .reg = 0x32, .osc_freq = 0x01a9 },
544 { .mbps = 205, .reg = 0x03, .osc_freq = 0x01a9 },
545 { .mbps = 220, .reg = 0x13, .osc_freq = 0x01a9 },
546 { .mbps = 235, .reg = 0x23, .osc_freq = 0x01a9 },
547 { .mbps = 250, .reg = 0x33, .osc_freq = 0x01a9 },
548 { .mbps = 275, .reg = 0x04, .osc_freq = 0x01a9 },
549 { .mbps = 300, .reg = 0x14, .osc_freq = 0x01a9 },
550 { .mbps = 325, .reg = 0x25, .osc_freq = 0x01a9 },
551 { .mbps = 350, .reg = 0x35, .osc_freq = 0x01a9 },
552 { .mbps = 400, .reg = 0x05, .osc_freq = 0x01a9 },
553 { .mbps = 450, .reg = 0x16, .osc_freq = 0x01a9 },
554 { .mbps = 500, .reg = 0x26, .osc_freq = 0x01a9 },
555 { .mbps = 550, .reg = 0x37, .osc_freq = 0x01a9 },
556 { .mbps = 600, .reg = 0x07, .osc_freq = 0x01a9 },
557 { .mbps = 650, .reg = 0x18, .osc_freq = 0x01a9 },
558 { .mbps = 700, .reg = 0x28, .osc_freq = 0x01a9 },
559 { .mbps = 750, .reg = 0x39, .osc_freq = 0x01a9 },
560 { .mbps = 800, .reg = 0x09, .osc_freq = 0x01a9 },
561 { .mbps = 850, .reg = 0x19, .osc_freq = 0x01a9 },
562 { .mbps = 900, .reg = 0x29, .osc_freq = 0x01a9 },
563 { .mbps = 950, .reg = 0x3a, .osc_freq = 0x01a9 },
564 { .mbps = 1000, .reg = 0x0a, .osc_freq = 0x01a9 },
565 { .mbps = 1050, .reg = 0x1a, .osc_freq = 0x01a9 },
566 { .mbps = 1100, .reg = 0x2a, .osc_freq = 0x01a9 },
567 { .mbps = 1150, .reg = 0x3b, .osc_freq = 0x01a9 },
568 { .mbps = 1200, .reg = 0x0b, .osc_freq = 0x01a9 },
569 { .mbps = 1250, .reg = 0x1b, .osc_freq = 0x01a9 },
570 { .mbps = 1300, .reg = 0x2b, .osc_freq = 0x01a9 },
571 { .mbps = 1350, .reg = 0x3c, .osc_freq = 0x01a9 },
572 { .mbps = 1400, .reg = 0x0c, .osc_freq = 0x01a9 },
573 { .mbps = 1450, .reg = 0x1c, .osc_freq = 0x01a9 },
574 { .mbps = 1500, .reg = 0x2c, .osc_freq = 0x01a9 },
575 { .mbps = 1550, .reg = 0x3d, .osc_freq = 0x0108 },
576 { .mbps = 1600, .reg = 0x0d, .osc_freq = 0x0110 },
577 { .mbps = 1650, .reg = 0x1d, .osc_freq = 0x0119 },
578 { .mbps = 1700, .reg = 0x2e, .osc_freq = 0x0121 },
579 { .mbps = 1750, .reg = 0x3e, .osc_freq = 0x012a },
580 { .mbps = 1800, .reg = 0x0e, .osc_freq = 0x0132 },
581 { .mbps = 1850, .reg = 0x1e, .osc_freq = 0x013b },
582 { .mbps = 1900, .reg = 0x2f, .osc_freq = 0x0143 },
583 { .mbps = 1950, .reg = 0x3f, .osc_freq = 0x014c },
584 { .mbps = 2000, .reg = 0x0f, .osc_freq = 0x0154 },
585 { .mbps = 2050, .reg = 0x40, .osc_freq = 0x015d },
586 { .mbps = 2100, .reg = 0x41, .osc_freq = 0x0165 },
587 { .mbps = 2150, .reg = 0x42, .osc_freq = 0x016e },
588 { .mbps = 2200, .reg = 0x43, .osc_freq = 0x0176 },
589 { .mbps = 2250, .reg = 0x44, .osc_freq = 0x017f },
590 { .mbps = 2300, .reg = 0x45, .osc_freq = 0x0187 },
591 { .mbps = 2350, .reg = 0x46, .osc_freq = 0x0190 },
592 { .mbps = 2400, .reg = 0x47, .osc_freq = 0x0198 },
593 { .mbps = 2450, .reg = 0x48, .osc_freq = 0x01a1 },
594 { .mbps = 2500, .reg = 0x49, .osc_freq = 0x01a9 },
599 #define PHEERM_REG 0x74
602 #define PHCLM_REG 0x78
603 #define PHCLM_STOPSTATECKL BIT(0)
606 #define PHDLM_REG 0x7c
609 #define CSI0CLKFCPR_REG 0x260
610 #define CSI0CLKFREQRANGE(n) ((n & 0x3f) << 16)
670 for (i = 0; i < ARRAY_SIZE(rcar_csi2_formats); i++) in rcsi2_code_to_fmt()
684 { .order = V4L2_MBUS_CSI2_CPHY_LINE_ORDER_ABC, .cfg = 0x0, .ctrl29 = 0x0 },
685 { .order = V4L2_MBUS_CSI2_CPHY_LINE_ORDER_ACB, .cfg = 0xa, .ctrl29 = 0x1 },
686 { .order = V4L2_MBUS_CSI2_CPHY_LINE_ORDER_BAC, .cfg = 0xc, .ctrl29 = 0x1 },
687 { .order = V4L2_MBUS_CSI2_CPHY_LINE_ORDER_BCA, .cfg = 0x5, .ctrl29 = 0x0 },
688 { .order = V4L2_MBUS_CSI2_CPHY_LINE_ORDER_CAB, .cfg = 0x3, .ctrl29 = 0x0 },
689 { .order = V4L2_MBUS_CSI2_CPHY_LINE_ORDER_CBA, .cfg = 0x9, .ctrl29 = 0x1 }
802 for (timeout = 0; timeout <= 20; timeout++) { in rcsi2_phtw_write()
804 return 0; in rcsi2_phtw_write()
820 for (unsigned int i = 0; i < size; i++) { in rcsi2_phtw_write_array()
826 return 0; in rcsi2_phtw_write_array()
840 for (info = infotable; info->mbps != 0; info++) { in rcsi2_mbps_to_info()
859 rcsi2_write(priv, PHYCNT_REG, 0); in rcsi2_enter_standby_gen3()
878 if (ret < 0) in rcsi2_exit_standby()
883 return 0; in rcsi2_exit_standby()
892 for (timeout = 0; timeout <= 20; timeout++) { in rcsi2_wait_phy_start()
897 return 0; in rcsi2_wait_phy_start()
917 return 0; in rcsi2_set_phypll()
958 struct v4l2_mbus_config mbus_config = { 0 }; in rcsi2_get_active_lanes()
967 return 0; in rcsi2_get_active_lanes()
999 return 0; in rcsi2_get_active_lanes()
1006 u32 phycnt, vcdt = 0, vcdt2 = 0, fld = 0; in rcsi2_start_receiver_gen3()
1032 for (i = 0; i < priv->info->num_channels; i++) { in rcsi2_start_receiver_gen3()
1035 if (priv->channel_vc[i] < 0) in rcsi2_start_receiver_gen3()
1053 fld |= FLD_FLD_NUM(0); in rcsi2_start_receiver_gen3()
1070 if (mbps < 0) in rcsi2_start_receiver_gen3()
1079 rcsi2_write(priv, PHTC_REG, 0); in rcsi2_start_receiver_gen3()
1090 LSWAP_L0SEL(priv->lane_swap[0] - 1) | in rcsi2_start_receiver_gen3()
1129 rcsi2_write(priv, PHYFRX_REG, 0); in rcsi2_start_receiver_gen3()
1143 return 0; in rcsi2_start_receiver_gen3()
1152 for (unsigned int i = 0; i < ARRAY_SIZE(rcsi2_cphy_line_orders); i++) { in rsci2_set_line_order()
1162 rcsi2_modify16(priv, cfgreg, info->cfg, 0x000f); in rsci2_set_line_order()
1163 rcsi2_modify16(priv, ctrlreg, info->ctrl29, 0x0100); in rsci2_set_line_order()
1171 for (timeout = 0; timeout <= 10; timeout++) { in rcsi2_wait_phy_start_v4h()
1174 return 0; in rcsi2_wait_phy_start_v4h()
1186 for (conf = cphy_setting_table_r8a779g0; conf->msps != 0; conf++) { in rcsi2_c_phy_setting_v4h()
1197 rcsi2_write16(priv, V4H_CORE_DIG_RW_COMMON_REG(7), 0x0155); in rcsi2_c_phy_setting_v4h()
1198 rcsi2_write16(priv, V4H_PPI_STARTUP_RW_COMMON_DPHY_REG(7), 0x0068); in rcsi2_c_phy_setting_v4h()
1199 rcsi2_write16(priv, V4H_PPI_STARTUP_RW_COMMON_DPHY_REG(8), 0x0010); in rcsi2_c_phy_setting_v4h()
1201 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_0_RW_LP_0_REG, 0x463c); in rcsi2_c_phy_setting_v4h()
1202 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_1_RW_LP_0_REG, 0x463c); in rcsi2_c_phy_setting_v4h()
1203 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_2_RW_LP_0_REG, 0x463c); in rcsi2_c_phy_setting_v4h()
1205 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_0_RW_HS_RX_REG(0), 0x00d5); in rcsi2_c_phy_setting_v4h()
1206 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_1_RW_HS_RX_REG(0), 0x00d5); in rcsi2_c_phy_setting_v4h()
1207 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_2_RW_HS_RX_REG(0), 0x00d5); in rcsi2_c_phy_setting_v4h()
1209 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_0_RW_HS_RX_REG(1), 0x0013); in rcsi2_c_phy_setting_v4h()
1210 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_1_RW_HS_RX_REG(1), 0x0013); in rcsi2_c_phy_setting_v4h()
1211 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_2_RW_HS_RX_REG(1), 0x0013); in rcsi2_c_phy_setting_v4h()
1213 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_0_RW_HS_RX_REG(5), 0x0013); in rcsi2_c_phy_setting_v4h()
1214 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_1_RW_HS_RX_REG(5), 0x0013); in rcsi2_c_phy_setting_v4h()
1215 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_2_RW_HS_RX_REG(5), 0x0013); in rcsi2_c_phy_setting_v4h()
1217 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_0_RW_HS_RX_REG(6), 0x000a); in rcsi2_c_phy_setting_v4h()
1218 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_1_RW_HS_RX_REG(6), 0x000a); in rcsi2_c_phy_setting_v4h()
1219 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_2_RW_HS_RX_REG(6), 0x000a); in rcsi2_c_phy_setting_v4h()
1225 rcsi2_write16(priv, V4H_CORE_DIG_IOCTRL_RW_AFE_LANE0_CTRL_2_REG(2), 0x0001); in rcsi2_c_phy_setting_v4h()
1226 rcsi2_write16(priv, V4H_CORE_DIG_IOCTRL_RW_AFE_LANE1_CTRL_2_REG(2), 0); in rcsi2_c_phy_setting_v4h()
1227 rcsi2_write16(priv, V4H_CORE_DIG_IOCTRL_RW_AFE_LANE2_CTRL_2_REG(2), 0x0001); in rcsi2_c_phy_setting_v4h()
1228 rcsi2_write16(priv, V4H_CORE_DIG_IOCTRL_RW_AFE_LANE3_CTRL_2_REG(2), 0x0001); in rcsi2_c_phy_setting_v4h()
1229 rcsi2_write16(priv, V4H_CORE_DIG_IOCTRL_RW_AFE_LANE4_CTRL_2_REG(2), 0); in rcsi2_c_phy_setting_v4h()
1231 rcsi2_write16(priv, V4H_CORE_DIG_RW_TRIO0_REG(0), conf->trio0); in rcsi2_c_phy_setting_v4h()
1232 rcsi2_write16(priv, V4H_CORE_DIG_RW_TRIO1_REG(0), conf->trio0); in rcsi2_c_phy_setting_v4h()
1233 rcsi2_write16(priv, V4H_CORE_DIG_RW_TRIO2_REG(0), conf->trio0); in rcsi2_c_phy_setting_v4h()
1244 rsci2_set_line_order(priv, priv->line_orders[0], in rcsi2_c_phy_setting_v4h()
1255 rcsi2_write16(priv, V4H_CORE_DIG_CLANE_1_RW_HS_TX_6_REG, 0x5000); in rcsi2_c_phy_setting_v4h()
1258 rcsi2_write(priv, V4H_DPHY_RSTZ_REG, BIT(0)); in rcsi2_c_phy_setting_v4h()
1259 rcsi2_write(priv, V4H_PHY_SHUTDOWNZ_REG, BIT(0)); in rcsi2_c_phy_setting_v4h()
1271 return 0; in rcsi2_c_phy_setting_v4h()
1294 if (msps < 0) in rcsi2_start_receiver_v4h()
1298 rcsi2_write(priv, V4H_CSI2_RESETN_REG, 0); in rcsi2_start_receiver_v4h()
1299 rcsi2_write(priv, V4H_DPHY_RSTZ_REG, 0); in rcsi2_start_receiver_v4h()
1300 rcsi2_write(priv, V4H_PHY_SHUTDOWNZ_REG, 0); in rcsi2_start_receiver_v4h()
1304 rcsi2_write(priv, V4H_FLDC_REG, 0); in rcsi2_start_receiver_v4h()
1305 rcsi2_write(priv, V4H_FLDD_REG, 0); in rcsi2_start_receiver_v4h()
1306 rcsi2_write(priv, V4H_IDIC_REG, 0); in rcsi2_start_receiver_v4h()
1311 rcsi2_write(priv, V4H_CSI2_RESETN_REG, BIT(0)); in rcsi2_start_receiver_v4h()
1315 rcsi2_write16(priv, V4H_CORE_DIG_ANACTRL_RW_COMMON_ANACTRL_REG(0), 0x1bfd); in rcsi2_start_receiver_v4h()
1316 rcsi2_write16(priv, V4H_PPI_STARTUP_RW_COMMON_STARTUP_1_1_REG, 0x0233); in rcsi2_start_receiver_v4h()
1317 rcsi2_write16(priv, V4H_PPI_STARTUP_RW_COMMON_DPHY_REG(6), 0x0027); in rcsi2_start_receiver_v4h()
1318 rcsi2_write16(priv, V4H_PPI_CALIBCTRL_RW_COMMON_BG_0_REG, 0x01f4); in rcsi2_start_receiver_v4h()
1319 rcsi2_write16(priv, V4H_PPI_RW_TERMCAL_CFG_0_REG, 0x0013); in rcsi2_start_receiver_v4h()
1320 rcsi2_write16(priv, V4H_PPI_RW_OFFSETCAL_CFG_0_REG, 0x0003); in rcsi2_start_receiver_v4h()
1321 rcsi2_write16(priv, V4H_PPI_RW_LPDCOCAL_TIMEBASE_REG, 0x004f); in rcsi2_start_receiver_v4h()
1322 rcsi2_write16(priv, V4H_PPI_RW_LPDCOCAL_NREF_REG, 0x0320); in rcsi2_start_receiver_v4h()
1323 rcsi2_write16(priv, V4H_PPI_RW_LPDCOCAL_NREF_RANGE_REG, 0x000f); in rcsi2_start_receiver_v4h()
1324 rcsi2_write16(priv, V4H_PPI_RW_LPDCOCAL_TWAIT_CONFIG_REG, 0xfe18); in rcsi2_start_receiver_v4h()
1325 rcsi2_write16(priv, V4H_PPI_RW_LPDCOCAL_VT_CONFIG_REG, 0x0c3c); in rcsi2_start_receiver_v4h()
1326 rcsi2_write16(priv, V4H_PPI_RW_LPDCOCAL_COARSE_CFG_REG, 0x0105); in rcsi2_start_receiver_v4h()
1327 rcsi2_write16(priv, V4H_CORE_DIG_IOCTRL_RW_AFE_CB_CTRL_2_REG(6), 0x1000); in rcsi2_start_receiver_v4h()
1328 rcsi2_write16(priv, V4H_PPI_RW_COMMON_CFG_REG, 0x0003); in rcsi2_start_receiver_v4h()
1339 return 0; in rcsi2_start_receiver_v4h()
1348 { .data = 0x00, .code = 0x00 }, in rcsi2_d_phy_setting_v4m()
1349 { .data = 0x00, .code = 0x1e }, in rcsi2_d_phy_setting_v4m()
1353 rcsi2_write(priv, V4H_DPHY_RSTZ_REG, BIT(0)); in rcsi2_d_phy_setting_v4m()
1354 rcsi2_write(priv, V4H_PHY_SHUTDOWNZ_REG, BIT(0)); in rcsi2_d_phy_setting_v4m()
1362 for (timeout = 10; timeout > 0; timeout--) { in rcsi2_d_phy_setting_v4m()
1363 if ((rcsi2_read(priv, V4M_PHTR_REG) & 0xf0000) == 0x70000) in rcsi2_d_phy_setting_v4m()
1373 return 0; in rcsi2_d_phy_setting_v4m()
1380 { .data = 0x00, .code = 0x00 }, in rcsi2_set_osc_freq()
1381 { .code = 0xe2 }, /* Data filled in below. */ in rcsi2_set_osc_freq()
1382 { .code = 0xe3 }, /* Data filled in below. */ in rcsi2_set_osc_freq()
1383 { .data = 0x01, .code = 0xe4 }, in rcsi2_set_osc_freq()
1391 steps[1].data = (info->osc_freq & 0x00ff) >> 0; in rcsi2_set_osc_freq()
1392 steps[2].data = (info->osc_freq & 0x0f00) >> 8; in rcsi2_set_osc_freq()
1402 { .data = 0x00, .code = 0x00 }, in rcsi2_init_common_v4m()
1403 { .data = 0x3c, .code = 0x08 }, in rcsi2_init_common_v4m()
1407 { .data = 0x00, .code = 0x00 }, in rcsi2_init_common_v4m()
1408 { .data = 0x80, .code = 0xe0 }, in rcsi2_init_common_v4m()
1409 { .data = 0x31, .code = 0xe1 }, in rcsi2_init_common_v4m()
1410 { .data = 0x06, .code = 0x00 }, in rcsi2_init_common_v4m()
1411 { .data = 0x11, .code = 0x11 }, in rcsi2_init_common_v4m()
1412 { .data = 0x08, .code = 0x00 }, in rcsi2_init_common_v4m()
1413 { .data = 0x11, .code = 0x11 }, in rcsi2_init_common_v4m()
1414 { .data = 0x0a, .code = 0x00 }, in rcsi2_init_common_v4m()
1415 { .data = 0x11, .code = 0x11 }, in rcsi2_init_common_v4m()
1416 { .data = 0x0c, .code = 0x00 }, in rcsi2_init_common_v4m()
1417 { .data = 0x11, .code = 0x11 }, in rcsi2_init_common_v4m()
1418 { .data = 0x01, .code = 0x00 }, in rcsi2_init_common_v4m()
1419 { .data = 0x31, .code = 0xaa }, in rcsi2_init_common_v4m()
1420 { .data = 0x05, .code = 0x00 }, in rcsi2_init_common_v4m()
1421 { .data = 0x05, .code = 0x09 }, in rcsi2_init_common_v4m()
1422 { .data = 0x07, .code = 0x00 }, in rcsi2_init_common_v4m()
1423 { .data = 0x05, .code = 0x09 }, in rcsi2_init_common_v4m()
1424 { .data = 0x09, .code = 0x00 }, in rcsi2_init_common_v4m()
1425 { .data = 0x05, .code = 0x09 }, in rcsi2_init_common_v4m()
1426 { .data = 0x0b, .code = 0x00 }, in rcsi2_init_common_v4m()
1427 { .data = 0x05, .code = 0x09 }, in rcsi2_init_common_v4m()
1431 { .data = 0x01, .code = 0x00 }, in rcsi2_init_common_v4m()
1432 { .data = 0x06, .code = 0xab }, in rcsi2_init_common_v4m()
1488 if (mbps < 0) in rcsi2_start_receiver_v4m()
1492 rcsi2_write(priv, V4H_CSI2_RESETN_REG, 0); in rcsi2_start_receiver_v4m()
1493 rcsi2_write(priv, V4H_DPHY_RSTZ_REG, 0); in rcsi2_start_receiver_v4m()
1494 rcsi2_write(priv, V4H_PHY_SHUTDOWNZ_REG, 0); in rcsi2_start_receiver_v4m()
1499 rcsi2_write(priv, V4H_FLDC_REG, 0); in rcsi2_start_receiver_v4m()
1500 rcsi2_write(priv, V4H_FLDD_REG, 0); in rcsi2_start_receiver_v4m()
1501 rcsi2_write(priv, V4H_IDIC_REG, 0); in rcsi2_start_receiver_v4m()
1513 rcsi2_write(priv, V4M_PHTC_REG, 0); in rcsi2_start_receiver_v4m()
1514 rcsi2_write(priv, V4H_CSI2_RESETN_REG, BIT(0)); in rcsi2_start_receiver_v4m()
1531 rcsi2_write(priv, V4M_FRXM_REG, 0); in rcsi2_start_receiver_v4m()
1533 return 0; in rcsi2_start_receiver_v4m()
1541 if (ret < 0) in rcsi2_start()
1556 return 0; in rcsi2_start()
1562 v4l2_subdev_call(priv->remote, video, s_stream, 0); in rcsi2_stop()
1569 int ret = 0; in rcsi2_s_stream()
1576 if (enable && priv->stream_count == 0) { in rcsi2_s_stream()
1602 format->format.code = rcar_csi2_formats[0].code; in rcsi2_set_pad_format()
1610 return 0; in rcsi2_set_pad_format()
1647 return 0; in rcsi2_init_state()
1707 if (pad < 0) { in rcsi2_notify_bound()
1718 &priv->subdev.entity, 0, in rcsi2_notify_bound()
1744 /* Only port 0 endpoint 0 is valid. */ in rcsi2_parse_v4l2()
1786 for (i = 0; i < ARRAY_SIZE(priv->lane_swap); i++) { in rcsi2_parse_v4l2()
1797 for (i = 0; i < ARRAY_SIZE(priv->line_orders); i++) in rcsi2_parse_v4l2()
1800 return 0; in rcsi2_parse_v4l2()
1813 ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(priv->dev), 0, 0, 0); in rcsi2_parse_dt()
1875 { .data = 0xcc, .code = 0xe2 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1876 { .data = 0x01, .code = 0xe3 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1877 { .data = 0x11, .code = 0xe4 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1878 { .data = 0x01, .code = 0xe5 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1879 { .data = 0x10, .code = 0x04 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1883 { .data = 0x38, .code = 0x08 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1884 { .data = 0x01, .code = 0x00 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1885 { .data = 0x4b, .code = 0xac }, in __rcsi2_init_phtw_h3_v3h_m3n()
1886 { .data = 0x03, .code = 0x00 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1887 { .data = 0x80, .code = 0x07 }, in __rcsi2_init_phtw_h3_v3h_m3n()
1896 if (mbps != 0 && mbps <= 250) { in __rcsi2_init_phtw_h3_v3h_m3n()
1897 ret = rcsi2_phtw_write(priv, 0x39, 0x05); in __rcsi2_init_phtw_h3_v3h_m3n()
1902 0xf1); in __rcsi2_init_phtw_h3_v3h_m3n()
1917 return __rcsi2_init_phtw_h3_v3h_m3n(priv, 0); in rcsi2_init_phtw_h3es2()
1922 return rcsi2_phtw_write_mbps(priv, mbps, phtw_mbps_v3m_e3, 0x44); in rcsi2_init_phtw_v3m_e3()
1928 { .data = 0xee, .code = 0x34 }, in rcsi2_phy_post_init_v3m_e3()
1929 { .data = 0xee, .code = 0x44 }, in rcsi2_phy_post_init_v3m_e3()
1930 { .data = 0xee, .code = 0x54 }, in rcsi2_phy_post_init_v3m_e3()
1931 { .data = 0xee, .code = 0x84 }, in rcsi2_phy_post_init_v3m_e3()
1932 { .data = 0xee, .code = 0x94 }, in rcsi2_phy_post_init_v3m_e3()
1943 { .data = 0xcc, .code = 0xe2 }, in rcsi2_init_phtw_v3u()
1947 { .data = 0x01, .code = 0xe3 }, in rcsi2_init_phtw_v3u()
1948 { .data = 0x11, .code = 0xe4 }, in rcsi2_init_phtw_v3u()
1949 { .data = 0x01, .code = 0xe5 }, in rcsi2_init_phtw_v3u()
1954 { .data = 0x38, .code = 0x08 }, in rcsi2_init_phtw_v3u()
1958 { .data = 0x01, .code = 0x00 }, in rcsi2_init_phtw_v3u()
1959 { .data = 0x4b, .code = 0xac }, in rcsi2_init_phtw_v3u()
1960 { .data = 0x03, .code = 0x00 }, in rcsi2_init_phtw_v3u()
1961 { .data = 0x80, .code = 0x07 }, in rcsi2_init_phtw_v3u()
1966 if (mbps != 0 && mbps <= 1500) in rcsi2_init_phtw_v3u()
1969 ret = rcsi2_phtw_write_mbps(priv, mbps, phtw_mbps_v3u, 0xe2); in rcsi2_init_phtw_v3u()
1977 if (mbps != 0 && mbps <= 1500) { in rcsi2_init_phtw_v3u()
2035 return 0; in rcsi2_link_setup()
2048 priv->base = devm_platform_ioremap_resource(pdev, 0); in rcsi2_probe_resources()
2052 irq = platform_get_irq(pdev, 0); in rcsi2_probe_resources()
2053 if (irq < 0) in rcsi2_probe_resources()
2078 .csi0clkfreqrange = 0x20,
2090 .csi0clkfreqrange = 0x20,
2120 .csi0clkfreqrange = 0x20,
2142 .csi0clkfreqrange = 0x20,
2163 .csi0clkfreqrange = 0x20,
2185 .csi0clkfreqrange = 0x0c,
2282 priv->stream_count = 0; in rcsi2_probe()
2319 for (i = 0; i < ARRAY_SIZE(priv->channel_vc); i++) in rcsi2_probe()
2329 if (ret < 0) in rcsi2_probe()
2334 return 0; in rcsi2_probe()