Lines Matching +full:0 +full:x1f0000
28 rk628_i2c_read(rk628, COMBRX_REG(0x6630), &val); in rk628_combrxphy_try_clk_detect()
30 val = val & 0xfffffff6; in rk628_combrxphy_try_clk_detect()
31 rk628_i2c_write(rk628, COMBRX_REG(0x6630), val); in rk628_combrxphy_try_clk_detect()
37 rk628_i2c_read(rk628, COMBRX_REG(0x6630), &val); in rk628_combrxphy_try_clk_detect()
39 rk628_i2c_write(rk628, COMBRX_REG(0x6630), val); in rk628_combrxphy_try_clk_detect()
41 rk628_i2c_read(rk628, COMBRX_REG(0x66f0), &val); in rk628_combrxphy_try_clk_detect()
42 val = val & 0xfffffeff; in rk628_combrxphy_try_clk_detect()
43 rk628_i2c_write(rk628, COMBRX_REG(0x66f0), val); in rk628_combrxphy_try_clk_detect()
45 rk628_i2c_read(rk628, COMBRX_REG(0x66f4), &val); in rk628_combrxphy_try_clk_detect()
46 val = val & 0xfffffffe; in rk628_combrxphy_try_clk_detect()
47 rk628_i2c_write(rk628, COMBRX_REG(0x66f4), val); in rk628_combrxphy_try_clk_detect()
49 rk628_i2c_read(rk628, COMBRX_REG(0x66f0), &val); in rk628_combrxphy_try_clk_detect()
50 val = val | 0x100; in rk628_combrxphy_try_clk_detect()
51 rk628_i2c_write(rk628, COMBRX_REG(0x66f0), val); in rk628_combrxphy_try_clk_detect()
53 rk628_i2c_read(rk628, COMBRX_REG(0x66f4), &val); in rk628_combrxphy_try_clk_detect()
54 val = val | 0x1; in rk628_combrxphy_try_clk_detect()
55 rk628_i2c_write(rk628, COMBRX_REG(0x66f4), val); in rk628_combrxphy_try_clk_detect()
57 rk628_i2c_read(rk628, COMBRX_REG(0x66f0), &val); in rk628_combrxphy_try_clk_detect()
59 val = (val & 0xfffffff8) | 0x5; in rk628_combrxphy_try_clk_detect()
60 rk628_i2c_write(rk628, COMBRX_REG(0x66f0), val); in rk628_combrxphy_try_clk_detect()
62 /* auto fsm en = 0 */ in rk628_combrxphy_try_clk_detect()
63 rk628_i2c_read(rk628, COMBRX_REG(0x66f0), &val); in rk628_combrxphy_try_clk_detect()
65 val = (val & 0xfffffff8) | 0x4; in rk628_combrxphy_try_clk_detect()
66 rk628_i2c_write(rk628, COMBRX_REG(0x66f0), val); in rk628_combrxphy_try_clk_detect()
68 for (i = 0; i < 10; i++) { in rk628_combrxphy_try_clk_detect()
70 rk628_i2c_read(rk628, COMBRX_REG(0x6654), &val); in rk628_combrxphy_try_clk_detect()
71 if ((val & 0xf0000000) == 0x80000000) { in rk628_combrxphy_try_clk_detect()
72 ret = 0; in rk628_combrxphy_try_clk_detect()
86 for (i = 0; i < MAX_DATA_NUM; i++) in rk628_combrxphy_get_data_of_round()
87 rk628_i2c_read(rk628, COMBRX_REG(0x6740 + i * 4), &data[i]); in rk628_combrxphy_get_data_of_round()
96 dc_gain_ch0 = x & 0xf; in rk628_combrxphy_set_dc_gain()
97 dc_gain_ch1 = y & 0xf; in rk628_combrxphy_set_dc_gain()
98 dc_gain_ch2 = z & 0xf; in rk628_combrxphy_set_dc_gain()
99 rk628_i2c_read(rk628, COMBRX_REG(0x661c), &val); in rk628_combrxphy_set_dc_gain()
101 val = (val & 0xff0f0f0f) | (dc_gain_ch0 << 20) | (dc_gain_ch1 << 12) | in rk628_combrxphy_set_dc_gain()
103 rk628_i2c_write(rk628, COMBRX_REG(0x661c), val); in rk628_combrxphy_set_dc_gain()
109 data_in[0] = data[0]; in rk628_combrxphy_set_data_of_round()
134 u32 cnt = 0; in rk628_combrxphy_max_zero_of_round()
135 u32 max_cnt = 0; in rk628_combrxphy_max_zero_of_round()
136 u32 max_v = 0; in rk628_combrxphy_max_zero_of_round()
138 for (i = 0; i < MAX_DATA_NUM; i++) { in rk628_combrxphy_max_zero_of_round()
143 for (i = 0; i < MAX_DATA_NUM; i++) { in rk628_combrxphy_max_zero_of_round()
144 if (data_in[i] == 0) in rk628_combrxphy_max_zero_of_round()
146 else if ((data_in[i] > 0) && (data_in[i] < 100)) in rk628_combrxphy_max_zero_of_round()
149 max_cnt = (cnt >= 3200) ? 0 : cnt; in rk628_combrxphy_max_zero_of_round()
161 int i, rd = 0; in rk628_combrxphy_chose_round_for_ch()
162 u32 max = 0; in rk628_combrxphy_chose_round_for_ch()
163 u32 max_v = 0; in rk628_combrxphy_chose_round_for_ch()
165 for (i = 0; i < MAX_ROUND; i++) { in rk628_combrxphy_chose_round_for_ch()
187 equ_gain_ch0 = (x & 0xf); in rk628_combrxphy_set_sample_edge_round()
188 equ_gain_ch1 = (y & 0xf); in rk628_combrxphy_set_sample_edge_round()
189 equ_gain_ch2 = (z & 0xf); in rk628_combrxphy_set_sample_edge_round()
190 rk628_i2c_read(rk628, COMBRX_REG(0x6618), &val); in rk628_combrxphy_set_sample_edge_round()
191 val = (val & 0xff00f0ff) | (equ_gain_ch1 << 20) | in rk628_combrxphy_set_sample_edge_round()
193 rk628_i2c_write(rk628, COMBRX_REG(0x6618), val); in rk628_combrxphy_set_sample_edge_round()
200 rk628_i2c_read(rk628, COMBRX_REG(0x66f0), &val); in rk628_combrxphy_start_sample_edge()
201 val &= 0xfffff1ff; in rk628_combrxphy_start_sample_edge()
202 rk628_i2c_write(rk628, COMBRX_REG(0x66f0), val); in rk628_combrxphy_start_sample_edge()
203 rk628_i2c_read(rk628, COMBRX_REG(0x66f0), &val); in rk628_combrxphy_start_sample_edge()
204 val = (val & 0xfffff1ff) | (0x7 << 9); in rk628_combrxphy_start_sample_edge()
205 rk628_i2c_write(rk628, COMBRX_REG(0x66f0), val); in rk628_combrxphy_start_sample_edge()
212 rk628_i2c_read(rk628, COMBRX_REG(0x6634), &val); in rk628_combrxphy_set_sample_edge_mode()
213 val = val & (~(0xf << ((ch + 1) * 4))); in rk628_combrxphy_set_sample_edge_mode()
214 rk628_i2c_write(rk628, COMBRX_REG(0x6634), val); in rk628_combrxphy_set_sample_edge_mode()
221 rk628_i2c_read(rk628, COMBRX_REG(0x6700), &val); in rk628_combrxphy_select_channel()
222 val = (val & 0xfffffffc) | (ch & 0x3); in rk628_combrxphy_select_channel()
223 rk628_i2c_write(rk628, COMBRX_REG(0x6700), val); in rk628_combrxphy_select_channel()
230 rk628_i2c_read(rk628, COMBRX_REG(0x6730), &val); in rk628_combrxphy_cfg_6730()
231 val = (val & 0xffff0000) | 0x1; in rk628_combrxphy_cfg_6730()
232 rk628_i2c_write(rk628, COMBRX_REG(0x6730), val); in rk628_combrxphy_cfg_6730()
247 /* Step1: set sample edge mode for channel 0~2 */ in rk628_combrxphy_sample_edge_procedure_for_cable()
248 for (ch = 0; ch < MAX_CHANNEL; ch++) in rk628_combrxphy_sample_edge_procedure_for_cable()
252 for (ch = 0; ch < MAX_CHANNEL; ch++) { in rk628_combrxphy_sample_edge_procedure_for_cable()
262 dc_gain = 0; in rk628_combrxphy_sample_edge_procedure_for_cable()
263 rd_offset = 0; in rk628_combrxphy_sample_edge_procedure_for_cable()
266 rd_offset = 0; in rk628_combrxphy_sample_edge_procedure_for_cable()
297 for (ch = 0; ch < MAX_CHANNEL; ch++) { in rk628_combrxphy_sample_edge_procedure_for_cable()
299 rk628_i2c_write(rk628, COMBRX_REG(0x6708), edge); in rk628_combrxphy_sample_edge_procedure_for_cable()
304 /* step4:set sample edge round value n,n=0(n=0~31) */ in rk628_combrxphy_sample_edge_procedure_for_cable()
310 for (ch = 0; ch < MAX_CHANNEL; ch++) { in rk628_combrxphy_sample_edge_procedure_for_cable()
326 for (ch = 0; ch < MAX_CHANNEL; ch++) { in rk628_combrxphy_sample_edge_procedure_for_cable()
332 ch_round[0], ch_round[1], ch_round[2]); in rk628_combrxphy_sample_edge_procedure_for_cable()
335 rk628_combrxphy_set_sample_edge_round(rk628, ch_round[0], ch_round[1], ch_round[2]); in rk628_combrxphy_sample_edge_procedure_for_cable()
356 * frequency.Refer to register 0x6654[21:16]: in rk628_combrxphy_set_hdmi_mode_for_cable()
386 for (i = 0; i < CLK_DET_TRY_TIMES; i++) { in rk628_combrxphy_set_hdmi_mode_for_cable()
387 if (rk628_combrxphy_try_clk_detect(rk628) >= 0) in rk628_combrxphy_set_hdmi_mode_for_cable()
391 rk628_i2c_read(rk628, COMBRX_REG(0x6654), &val); in rk628_combrxphy_set_hdmi_mode_for_cable()
393 state = (val >> 28) & 0xf; in rk628_combrxphy_set_hdmi_mode_for_cable()
397 channel_st = (val >> 21) & 0x7f; in rk628_combrxphy_set_hdmi_mode_for_cable()
399 channel_st & 0x40 ? "|clk_p|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
400 channel_st & 0x20 ? "|clk_n|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
401 channel_st & 0x10 ? "|d0_p|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
402 channel_st & 0x08 ? "|d0_n|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
403 channel_st & 0x04 ? "|d1_p|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
404 channel_st & 0x02 ? "|d1_n|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
405 channel_st & 0x01 ? "|d2_p|" : "", in rk628_combrxphy_set_hdmi_mode_for_cable()
409 rk628_i2c_read(rk628, COMBRX_REG(0x6620), &val); in rk628_combrxphy_set_hdmi_mode_for_cable()
411 ((val & 0x7f000000) == 0) || in rk628_combrxphy_set_hdmi_mode_for_cable()
412 ((val & 0x007f0000) == 0) || in rk628_combrxphy_set_hdmi_mode_for_cable()
413 ((val & 0x00007f00) == 0) || in rk628_combrxphy_set_hdmi_mode_for_cable()
414 ((val & 0x0000007f) == 0)) { in rk628_combrxphy_set_hdmi_mode_for_cable()
416 rk628_i2c_write(rk628, COMBRX_REG(0x6620), 0x66666666); in rk628_combrxphy_set_hdmi_mode_for_cable()
417 rk628_i2c_update_bits(rk628, COMBRX_REG(0x6604), BIT(31), BIT(31)); in rk628_combrxphy_set_hdmi_mode_for_cable()
422 for (j = 0; j < CLK_STABLE_LOOP_CNT ; j++) { in rk628_combrxphy_set_hdmi_mode_for_cable()
423 cdr_data_min = 0xffffffff; in rk628_combrxphy_set_hdmi_mode_for_cable()
424 cdr_data_max = 0; in rk628_combrxphy_set_hdmi_mode_for_cable()
426 for (i = 0; i < CLK_DET_TRY_TIMES; i++) { in rk628_combrxphy_set_hdmi_mode_for_cable()
427 rk628_i2c_read(rk628, COMBRX_REG(0x6654), &val); in rk628_combrxphy_set_hdmi_mode_for_cable()
428 cdr_data = val & 0xffff; in rk628_combrxphy_set_hdmi_mode_for_cable()
444 rk628_i2c_read(rk628, COMBRX_REG(0x6630), &val_a); in rk628_combrxphy_set_hdmi_mode_for_cable()
445 rk628_i2c_read(rk628, COMBRX_REG(0x6608), &val_b); in rk628_combrxphy_set_hdmi_mode_for_cable()
451 rk628_i2c_update_bits(rk628, COMBRX_REG(0x6628), BIT(31), BIT(31)); in rk628_combrxphy_set_hdmi_mode_for_cable()
456 rk628_i2c_read(rk628, COMBRX_REG(0x6654), &val); in rk628_combrxphy_set_hdmi_mode_for_cable()
457 if ((val & 0x1f0000) == 0x1f0000) { in rk628_combrxphy_set_hdmi_mode_for_cable()
458 rk628_i2c_read(rk628, COMBRX_REG(0x6630), &val_a); in rk628_combrxphy_set_hdmi_mode_for_cable()
459 rk628_i2c_read(rk628, COMBRX_REG(0x6608), &val_b); in rk628_combrxphy_set_hdmi_mode_for_cable()
461 "clock error: 0x1f, reg_0x6630:%#x, reg_0x6608:%#x", in rk628_combrxphy_set_hdmi_mode_for_cable()
467 cdr_mode = (val >> 16) & 0x1f; in rk628_combrxphy_set_hdmi_mode_for_cable()
468 cdr_data = val & 0xffff; in rk628_combrxphy_set_hdmi_mode_for_cable()
471 f = f & 0x7fffffff; in rk628_combrxphy_set_hdmi_mode_for_cable()
473 f = f & 0xffffff; in rk628_combrxphy_set_hdmi_mode_for_cable()
482 rk628_i2c_write(rk628, COMBRX_REG(0x662c), 0x01000500); in rk628_combrxphy_set_hdmi_mode_for_cable()
484 rk628_i2c_write(rk628, COMBRX_REG(0x66a8), 0x0000c000); in rk628_combrxphy_set_hdmi_mode_for_cable()
486 rk628_i2c_write(rk628, COMBRX_REG(0x66a8), 0x0000c600); in rk628_combrxphy_set_hdmi_mode_for_cable()
488 rk628_i2c_write(rk628, COMBRX_REG(0x662c), 0x01001400); in rk628_combrxphy_set_hdmi_mode_for_cable()
489 rk628_i2c_write(rk628, COMBRX_REG(0x66a8), 0x0000c600); in rk628_combrxphy_set_hdmi_mode_for_cable()
495 pll_man = 0x7960c; in rk628_combrxphy_set_hdmi_mode_for_cable()
497 pll_man = 0x7750c; in rk628_combrxphy_set_hdmi_mode_for_cable()
499 pll_man = 0x7964c; in rk628_combrxphy_set_hdmi_mode_for_cable()
501 pll_man = 0x7754c; in rk628_combrxphy_set_hdmi_mode_for_cable()
503 pll_man = 0x7a108; in rk628_combrxphy_set_hdmi_mode_for_cable()
505 pll_man = 0x73588; in rk628_combrxphy_set_hdmi_mode_for_cable()
507 pll_man = 0x7a108; in rk628_combrxphy_set_hdmi_mode_for_cable()
509 pll_man = 0x7f0c8; in rk628_combrxphy_set_hdmi_mode_for_cable()
512 rk628_i2c_write(rk628, COMBRX_REG(0x6630), pll_man); in rk628_combrxphy_set_hdmi_mode_for_cable()
519 rk628_i2c_write(rk628, COMBRX_REG(0x66a0), 0x00000003); in rk628_combrxphy_set_hdmi_mode_for_cable()
521 rk628_i2c_write(rk628, COMBRX_REG(0x66b0), 0x00080060); in rk628_combrxphy_set_hdmi_mode_for_cable()
523 rk628_i2c_write(rk628, COMBRX_REG(0x66a0), 0x00000083); in rk628_combrxphy_set_hdmi_mode_for_cable()
525 rk628_i2c_write(rk628, COMBRX_REG(0x66b0), 0x00380060); in rk628_combrxphy_set_hdmi_mode_for_cable()
526 /* cfg 0x2260 high_8b to 0x66ac high_8b, low_8b to 0x66b0 low_8b */ in rk628_combrxphy_set_hdmi_mode_for_cable()
527 rk628_i2c_update_bits(rk628, COMBRX_REG(0x66ac), in rk628_combrxphy_set_hdmi_mode_for_cable()
528 GENMASK(31, 24), UPDATE(0x22, 31, 24)); in rk628_combrxphy_set_hdmi_mode_for_cable()
532 count = 0; in rk628_combrxphy_set_hdmi_mode_for_cable()
533 for (i = 0; i < CHECK_CNT; i++) { in rk628_combrxphy_set_hdmi_mode_for_cable()
535 rk628_i2c_read(rk628, COMBRX_REG(0x66b4), &data_a); in rk628_combrxphy_set_hdmi_mode_for_cable()
536 rk628_i2c_read(rk628, COMBRX_REG(0x66b8), &data_b); in rk628_combrxphy_set_hdmi_mode_for_cable()
538 if (((data_a & 0x00ff00ff) == 0x00ff00ff) && in rk628_combrxphy_set_hdmi_mode_for_cable()
539 ((data_b & 0xff) == 0xff)) { in rk628_combrxphy_set_hdmi_mode_for_cable()
547 ret = 0; in rk628_combrxphy_set_hdmi_mode_for_cable()
548 } else if (count > 0) { in rk628_combrxphy_set_hdmi_mode_for_cable()
550 ret = 0; in rk628_combrxphy_set_hdmi_mode_for_cable()
566 return 0; in rk628_combrxphy_power_off()