[media] dw2102: Geniatech T220 init fixed
authorCrazyCat <crazycat69@narod.ru>
Tue, 3 Jun 2014 17:22:44 +0000 (14:22 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 22 Jul 2014 12:48:12 +0000 (09:48 -0300)
Geniatech T220 init fixed - reset cmd from windows driver and fixed TS bus config for cxd2820r.

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/dvb-usb/dw2102.c

index ae0f56a32e4d0ba888b09a214492cb2b2f14b244..7135a3e87b862fc94e5193aa2863974b1c921cc7 100644 (file)
@@ -1109,6 +1109,7 @@ static struct ds3000_config su3000_ds3000_config = {
 static struct cxd2820r_config cxd2820r_config = {
        .i2c_address = 0x6c, /* (0xd8 >> 1) */
        .ts_mode = 0x38,
+       .ts_clock_inv = 1,
 };
 
 static struct tda18271_config tda18271_config = {
@@ -1387,20 +1388,27 @@ static int su3000_frontend_attach(struct dvb_usb_adapter *d)
 
 static int t220_frontend_attach(struct dvb_usb_adapter *d)
 {
-       u8 obuf[3] = { 0xe, 0x80, 0 };
+       u8 obuf[3] = { 0xe, 0x87, 0 };
        u8 ibuf[] = { 0 };
 
        if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0)
                err("command 0x0e transfer failed.");
 
        obuf[0] = 0xe;
-       obuf[1] = 0x83;
+       obuf[1] = 0x86;
+       obuf[2] = 1;
+
+       if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0)
+               err("command 0x0e transfer failed.");
+
+       obuf[0] = 0xe;
+       obuf[1] = 0x80;
        obuf[2] = 0;
 
        if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0)
                err("command 0x0e transfer failed.");
 
-       msleep(100);
+       msleep(50);
 
        obuf[0] = 0xe;
        obuf[1] = 0x80;