Lines Matching +full:0 +full:x33c
54 {0x00d, 0x01, 0x03}, in rtl2830_init()
55 {0x00d, 0x10, 0x10}, in rtl2830_init()
56 {0x104, 0x00, 0x1e}, in rtl2830_init()
57 {0x105, 0x80, 0x80}, in rtl2830_init()
58 {0x110, 0x02, 0x03}, in rtl2830_init()
59 {0x110, 0x08, 0x0c}, in rtl2830_init()
60 {0x17b, 0x00, 0x40}, in rtl2830_init()
61 {0x17d, 0x05, 0x0f}, in rtl2830_init()
62 {0x17d, 0x50, 0xf0}, in rtl2830_init()
63 {0x18c, 0x08, 0x0f}, in rtl2830_init()
64 {0x18d, 0x00, 0xc0}, in rtl2830_init()
65 {0x188, 0x05, 0x0f}, in rtl2830_init()
66 {0x189, 0x00, 0xfc}, in rtl2830_init()
67 {0x2d5, 0x02, 0x02}, in rtl2830_init()
68 {0x2f1, 0x02, 0x06}, in rtl2830_init()
69 {0x2f1, 0x20, 0xf8}, in rtl2830_init()
70 {0x16d, 0x00, 0x01}, in rtl2830_init()
71 {0x1a6, 0x00, 0x80}, in rtl2830_init()
72 {0x106, dev->pdata->vtop, 0x3f}, in rtl2830_init()
73 {0x107, dev->pdata->krf, 0x3f}, in rtl2830_init()
74 {0x112, 0x28, 0xff}, in rtl2830_init()
75 {0x103, dev->pdata->agc_targ_val, 0xff}, in rtl2830_init()
76 {0x00a, 0x02, 0x07}, in rtl2830_init()
77 {0x140, 0x0c, 0x3c}, in rtl2830_init()
78 {0x140, 0x40, 0xc0}, in rtl2830_init()
79 {0x15b, 0x05, 0x07}, in rtl2830_init()
80 {0x15b, 0x28, 0x38}, in rtl2830_init()
81 {0x15c, 0x05, 0x07}, in rtl2830_init()
82 {0x15c, 0x28, 0x38}, in rtl2830_init()
83 {0x115, dev->pdata->spec_inv, 0x01}, in rtl2830_init()
84 {0x16f, 0x01, 0x07}, in rtl2830_init()
85 {0x170, 0x18, 0x38}, in rtl2830_init()
86 {0x172, 0x0f, 0x0f}, in rtl2830_init()
87 {0x173, 0x08, 0x38}, in rtl2830_init()
88 {0x175, 0x01, 0x07}, in rtl2830_init()
89 {0x176, 0x00, 0xc0}, in rtl2830_init()
92 for (i = 0; i < ARRAY_SIZE(tab); i++) { in rtl2830_init()
99 ret = rtl2830_bulk_write(client, 0x18f, "\x28\x00", 2); in rtl2830_init()
103 ret = rtl2830_bulk_write(client, 0x195, in rtl2830_init()
111 ret = rtl2830_update_bits(client, 0x101, 0x04, 0x04); in rtl2830_init()
115 ret = rtl2830_update_bits(client, 0x101, 0x04, 0x00); in rtl2830_init()
121 c->strength.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_init()
123 c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_init()
125 c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_init()
127 c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_init()
143 dev->fe_status = 0; in rtl2830_sleep()
145 return 0; in rtl2830_sleep()
155 return 0; in rtl2830_get_tune_settings()
169 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0xfa, 0x00, 0x17, 0x00, 0x41, in rtl2830_set_frontend()
170 0x00, 0x64, 0x00, 0x67, 0x00, 0x38, 0x1f, 0xde, 0x1f, 0x7a, in rtl2830_set_frontend()
171 0x1f, 0x47, 0x1f, 0x7c, 0x00, 0x30, 0x01, 0x4b, 0x02, 0x82, in rtl2830_set_frontend()
172 0x03, 0x73, 0x03, 0xcf, /* 6 MHz */ in rtl2830_set_frontend()
174 0x1f, 0xfa, 0x1f, 0xda, 0x1f, 0xc1, 0x1f, 0xb3, 0x1f, 0xca, in rtl2830_set_frontend()
175 0x00, 0x07, 0x00, 0x4d, 0x00, 0x6d, 0x00, 0x40, 0x1f, 0xca, in rtl2830_set_frontend()
176 0x1f, 0x4d, 0x1f, 0x2a, 0x1f, 0xb2, 0x00, 0xec, 0x02, 0x7e, in rtl2830_set_frontend()
177 0x03, 0xd0, 0x04, 0x53, /* 7 MHz */ in rtl2830_set_frontend()
179 0x00, 0x10, 0x00, 0x0e, 0x1f, 0xf7, 0x1f, 0xc9, 0x1f, 0xa0, in rtl2830_set_frontend()
180 0x1f, 0xa6, 0x1f, 0xec, 0x00, 0x4e, 0x00, 0x7d, 0x00, 0x3a, in rtl2830_set_frontend()
181 0x1f, 0x98, 0x1f, 0x10, 0x1f, 0x40, 0x00, 0x75, 0x02, 0x5f, in rtl2830_set_frontend()
182 0x04, 0x24, 0x04, 0xdb, /* 8 MHz */ in rtl2830_set_frontend()
186 {0xc3, 0x0c, 0x44, 0x33, 0x33, 0x30}, /* 6 MHz */ in rtl2830_set_frontend()
187 {0xb8, 0xe3, 0x93, 0x99, 0x99, 0x98}, /* 7 MHz */ in rtl2830_set_frontend()
188 {0xae, 0xba, 0xf3, 0x26, 0x66, 0x64}, /* 8 MHz */ in rtl2830_set_frontend()
200 i = 0; in rtl2830_set_frontend()
214 ret = rtl2830_update_bits(client, 0x008, 0x06, i << 1); in rtl2830_set_frontend()
227 num *= 0x400000; in rtl2830_set_frontend()
230 if_ctl = num & 0x3fffff; in rtl2830_set_frontend()
234 buf[0] = (if_ctl >> 16) & 0x3f; in rtl2830_set_frontend()
235 buf[1] = (if_ctl >> 8) & 0xff; in rtl2830_set_frontend()
236 buf[2] = (if_ctl >> 0) & 0xff; in rtl2830_set_frontend()
238 ret = rtl2830_bulk_read(client, 0x119, &u8tmp, 1); in rtl2830_set_frontend()
242 buf[0] |= u8tmp & 0xc0; /* [7:6] */ in rtl2830_set_frontend()
244 ret = rtl2830_bulk_write(client, 0x119, buf, 3); in rtl2830_set_frontend()
249 ret = rtl2830_bulk_write(client, 0x11c, &bw_params1[i][0], 17); in rtl2830_set_frontend()
254 ret = rtl2830_bulk_write(client, 0x12d, &bw_params1[i][17], 17); in rtl2830_set_frontend()
258 ret = rtl2830_bulk_write(client, 0x19d, bw_params2[i], 6); in rtl2830_set_frontend()
277 return 0; in rtl2830_get_frontend()
279 ret = rtl2830_bulk_read(client, 0x33c, buf, 2); in rtl2830_get_frontend()
283 ret = rtl2830_bulk_read(client, 0x351, &buf[2], 1); in rtl2830_get_frontend()
289 switch ((buf[0] >> 2) & 3) { in rtl2830_get_frontend()
290 case 0: in rtl2830_get_frontend()
302 case 0: in rtl2830_get_frontend()
309 switch ((buf[2] >> 0) & 3) { in rtl2830_get_frontend()
310 case 0: in rtl2830_get_frontend()
324 switch ((buf[0] >> 4) & 7) { in rtl2830_get_frontend()
325 case 0: in rtl2830_get_frontend()
340 case 0: in rtl2830_get_frontend()
357 switch ((buf[1] >> 0) & 7) { in rtl2830_get_frontend()
358 case 0: in rtl2830_get_frontend()
375 return 0; in rtl2830_get_frontend()
390 *status = 0; in rtl2830_read_status()
393 return 0; in rtl2830_read_status()
395 ret = rtl2830_bulk_read(client, 0x351, &u8tmp, 1); in rtl2830_read_status()
399 u8tmp = (u8tmp >> 3) & 0x0f; /* [6:3] */ in rtl2830_read_status()
413 ret = rtl2830_bulk_read(client, 0x359, buf, 2); in rtl2830_read_status()
417 stmp = buf[0] << 8 | buf[1] << 0; in rtl2830_read_status()
419 utmp = clamp_val(-4 * stmp + 32767, 0x0000, 0xffff); in rtl2830_read_status()
423 c->strength.stat[0].scale = FE_SCALE_RELATIVE; in rtl2830_read_status()
424 c->strength.stat[0].uvalue = utmp; in rtl2830_read_status()
426 c->strength.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_read_status()
440 ret = rtl2830_bulk_read(client, 0x33c, &u8tmp, 1); in rtl2830_read_status()
444 constellation = (u8tmp >> 2) & 0x03; /* [3:2] */ in rtl2830_read_status()
448 hierarchy = (u8tmp >> 4) & 0x07; /* [6:4] */ in rtl2830_read_status()
452 ret = rtl2830_bulk_read(client, 0x40c, buf, 2); in rtl2830_read_status()
456 utmp = buf[0] << 8 | buf[1] << 0; in rtl2830_read_status()
461 stmp = 0; in rtl2830_read_status()
465 c->cnr.stat[0].scale = FE_SCALE_DECIBEL; in rtl2830_read_status()
466 c->cnr.stat[0].svalue = stmp; in rtl2830_read_status()
468 c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_read_status()
473 ret = rtl2830_bulk_read(client, 0x34e, buf, 2); in rtl2830_read_status()
477 utmp = buf[0] << 8 | buf[1] << 0; in rtl2830_read_status()
483 c->post_bit_error.stat[0].scale = FE_SCALE_COUNTER; in rtl2830_read_status()
484 c->post_bit_error.stat[0].uvalue = dev->post_bit_error; in rtl2830_read_status()
485 c->post_bit_count.stat[0].scale = FE_SCALE_COUNTER; in rtl2830_read_status()
486 c->post_bit_count.stat[0].uvalue = dev->post_bit_count; in rtl2830_read_status()
488 c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_read_status()
489 c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; in rtl2830_read_status()
503 if (c->cnr.stat[0].scale == FE_SCALE_DECIBEL) in rtl2830_read_snr()
504 *snr = div_s64(c->cnr.stat[0].svalue, 100); in rtl2830_read_snr()
506 *snr = 0; in rtl2830_read_snr()
508 return 0; in rtl2830_read_snr()
519 return 0; in rtl2830_read_ber()
524 *ucblocks = 0; in rtl2830_read_ucblocks()
526 return 0; in rtl2830_read_ucblocks()
533 if (c->strength.stat[0].scale == FE_SCALE_RELATIVE) in rtl2830_read_signal_strength()
534 *strength = c->strength.stat[0].uvalue; in rtl2830_read_signal_strength()
536 *strength = 0; in rtl2830_read_signal_strength()
538 return 0; in rtl2830_read_signal_strength()
587 u8tmp = 0x80; in rtl2830_pid_filter_ctrl()
589 u8tmp = 0x00; in rtl2830_pid_filter_ctrl()
591 ret = rtl2830_update_bits(client, 0x061, 0x80, u8tmp); in rtl2830_pid_filter_ctrl()
595 return 0; in rtl2830_pid_filter_ctrl()
611 /* skip invalid PIDs (0x2000) */ in rtl2830_pid_filter()
612 if (pid > 0x1fff || index > 32) in rtl2830_pid_filter()
613 return 0; in rtl2830_pid_filter()
621 buf[0] = (dev->filters >> 0) & 0xff; in rtl2830_pid_filter()
622 buf[1] = (dev->filters >> 8) & 0xff; in rtl2830_pid_filter()
623 buf[2] = (dev->filters >> 16) & 0xff; in rtl2830_pid_filter()
624 buf[3] = (dev->filters >> 24) & 0xff; in rtl2830_pid_filter()
625 ret = rtl2830_bulk_write(client, 0x062, buf, 4); in rtl2830_pid_filter()
630 buf[0] = (pid >> 8) & 0xff; in rtl2830_pid_filter()
631 buf[1] = (pid >> 0) & 0xff; in rtl2830_pid_filter()
632 ret = rtl2830_bulk_write(client, 0x066 + 2 * index, buf, 2); in rtl2830_pid_filter()
636 return 0; in rtl2830_pid_filter()
658 ret = regmap_update_bits(dev->regmap, 0x101, 0x08, 0x08); in rtl2830_select()
662 return 0; in rtl2830_select()
683 return dev->muxc->adapter[0]; in rtl2830_get_i2c_adapter()
698 .flags = 0, in rtl2830_regmap_read()
712 if (ret >= 0) in rtl2830_regmap_read()
716 return 0; in rtl2830_regmap_read()
726 .flags = 0, in rtl2830_regmap_write()
735 if (ret >= 0) in rtl2830_regmap_write()
739 return 0; in rtl2830_regmap_write()
752 .flags = 0, in rtl2830_regmap_gather_write()
758 buf[0] = *(u8 const *)reg; in rtl2830_regmap_gather_write()
764 if (ret >= 0) in rtl2830_regmap_gather_write()
768 return 0; in rtl2830_regmap_gather_write()
786 .selector_reg = 0x00, in rtl2830_probe()
787 .selector_mask = 0xff, in rtl2830_probe()
788 .selector_shift = 0, in rtl2830_probe()
789 .window_start = 0, in rtl2830_probe()
790 .window_len = 0x100, in rtl2830_probe()
791 .range_min = 0 * 0x100, in rtl2830_probe()
792 .range_max = 5 * 0x100, in rtl2830_probe()
798 .max_register = 5 * 0x100, in rtl2830_probe()
830 ret = rtl2830_bulk_read(client, 0x000, &u8tmp, 1); in rtl2830_probe()
835 dev->muxc = i2c_mux_alloc(client->adapter, &client->dev, 1, 0, 0, in rtl2830_probe()
842 ret = i2c_mux_add_adapter(dev->muxc, 0, 0, 0); in rtl2830_probe()
858 return 0; in rtl2830_probe()
878 return 0; in rtl2830_remove()
882 {"rtl2830", 0},