RE: August DVB-T210 ยป t220-fix.patch
drivers/media/dvb-frontends/cxd2820r.h | ||
---|---|---|
52 | 52 |
*/ |
53 | 53 |
u8 ts_mode; |
54 | 54 | |
55 |
/* TS clock inverted. |
|
56 |
* Default: 0 |
|
57 |
* Values: 0, 1 |
|
58 |
*/ |
|
59 |
bool ts_clock_inv; |
|
60 | ||
55 | 61 |
/* IF AGC polarity. |
56 | 62 |
* Default: 0 |
57 | 63 |
* Values: 0, 1 |
drivers/media/dvb-frontends/cxd2820r_c.c | ||
---|---|---|
45 | 45 |
{ 0x1008b, 0x07, 0xff }, |
46 | 46 |
{ 0x1001f, priv->cfg.if_agc_polarity << 7, 0x80 }, |
47 | 47 |
{ 0x10070, priv->cfg.ts_mode, 0xff }, |
48 |
{ 0x10071, !priv->cfg.ts_clock_inv << 4, 0x10 }, |
|
48 | 49 |
}; |
49 | 50 | |
50 | 51 |
dev_dbg(&priv->i2c->dev, "%s: frequency=%d symbol_rate=%d\n", __func__, |
drivers/media/dvb-frontends/cxd2820r_t.c | ||
---|---|---|
46 | 46 |
{ 0x00088, 0x01, 0xff }, |
47 | 47 | |
48 | 48 |
{ 0x00070, priv->cfg.ts_mode, 0xff }, |
49 |
{ 0x00071, !priv->cfg.ts_clock_inv << 4, 0x10 }, |
|
49 | 50 |
{ 0x000cb, priv->cfg.if_agc_polarity << 6, 0x40 }, |
50 | 51 |
{ 0x000a5, 0x00, 0x01 }, |
51 | 52 |
{ 0x00082, 0x20, 0x60 }, |
drivers/media/dvb-frontends/cxd2820r_t2.c | ||
---|---|---|
47 | 47 |
{ 0x02083, 0x0a, 0xff }, |
48 | 48 |
{ 0x020cb, priv->cfg.if_agc_polarity << 6, 0x40 }, |
49 | 49 |
{ 0x02070, priv->cfg.ts_mode, 0xff }, |
50 |
{ 0x02071, !priv->cfg.ts_clock_inv << 6, 0x40 }, |
|
50 | 51 |
{ 0x020b5, priv->cfg.spec_inv << 4, 0x10 }, |
51 | 52 |
{ 0x02567, 0x07, 0x0f }, |
52 | 53 |
{ 0x02569, 0x03, 0x03 }, |
drivers/media/usb/dvb-usb/dw2102.c | ||
---|---|---|
1109 | 1109 |
static struct cxd2820r_config cxd2820r_config = { |
1110 | 1110 |
.i2c_address = 0x6c, /* (0xd8 >> 1) */ |
1111 | 1111 |
.ts_mode = 0x38, |
1112 |
.ts_clock_inv = 1, |
|
1112 | 1113 |
}; |
1113 | 1114 | |
1114 | 1115 |
static struct tda18271_config tda18271_config = { |
... | ... | |
1387 | 1388 | |
1388 | 1389 |
static int t220_frontend_attach(struct dvb_usb_adapter *d) |
1389 | 1390 |
{ |
1390 |
u8 obuf[3] = { 0xe, 0x80, 0 };
|
|
1391 |
u8 obuf[3] = { 0xe, 0x87, 0 };
|
|
1391 | 1392 |
u8 ibuf[] = { 0 }; |
1392 | 1393 | |
1393 | 1394 |
if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0) |
1394 | 1395 |
err("command 0x0e transfer failed."); |
1395 | 1396 | |
1396 | 1397 |
obuf[0] = 0xe; |
1397 |
obuf[1] = 0x83; |
|
1398 |
obuf[1] = 0x86; |
|
1399 |
obuf[2] = 1; |
|
1400 | ||
1401 |
if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0) |
|
1402 |
err("command 0x0e transfer failed."); |
|
1403 | ||
1404 |
obuf[0] = 0xe; |
|
1405 |
obuf[1] = 0x80; |
|
1398 | 1406 |
obuf[2] = 0; |
1399 | 1407 | |
1400 | 1408 |
if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0) |
1401 | 1409 |
err("command 0x0e transfer failed."); |
1402 | 1410 | |
1403 |
msleep(100);
|
|
1411 |
msleep(50);
|
|
1404 | 1412 | |
1405 | 1413 |
obuf[0] = 0xe; |
1406 | 1414 |
obuf[1] = 0x80; |