[media] af9035: support for Fitipower FC0012 tuner devices
authorAntti Palosaari <crope@iki.fi>
Sun, 2 Dec 2012 23:12:29 +0000 (20:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 6 Jan 2013 11:00:26 +0000 (09:00 -0200)
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/dvb-usb-v2/af9035.c
drivers/media/usb/dvb-usb-v2/af9035.h

index 61ae7f9d0b27329b5cd493f70be4bb6855fde0b8..c1ec18ccb0ba65b22e25edfe142e17c09850d49c 100644 (file)
@@ -514,6 +514,7 @@ static int af9035_read_config(struct dvb_usb_device *d)
                case AF9033_TUNER_MXL5007T:
                case AF9033_TUNER_TDA18218:
                case AF9033_TUNER_FC2580:
+               case AF9033_TUNER_FC0012:
                        state->af9033_config[i].spec_inv = 1;
                        break;
                default:
@@ -907,6 +908,31 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
                fe = dvb_attach(fc2580_attach, adap->fe[0],
                                &d->i2c_adap, &af9035_fc2580_config);
                break;
+       case AF9033_TUNER_FC0012:
+               /*
+                * AF9035 gpiot2 = FC0012 enable
+                * XXX: there seems to be something on gpioh8 too, but on my
+                * my test I didn't find any difference.
+                */
+
+               /* configure gpiot2 as output and high */
+               ret = af9035_wr_reg_mask(d, 0xd8eb, 0x01, 0x01);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg_mask(d, 0xd8ec, 0x01, 0x01);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg_mask(d, 0xd8ed, 0x01, 0x01);
+               if (ret < 0)
+                       goto err;
+
+               usleep_range(10000, 50000);
+
+               fe = dvb_attach(fc0012_attach, adap->fe[0], &d->i2c_adap, 0x63,
+                               1, FC_XTAL_36_MHZ);
+               break;
        default:
                fe = NULL;
        }
index 75ef1ec13fbf0afecdf6560c95148153ec08d3d0..f509d35a3b00b6bbb4ab870c1ef4839741dd832f 100644 (file)
@@ -26,6 +26,7 @@
 #include "af9033.h"
 #include "tua9001.h"
 #include "fc0011.h"
+#include "fc0012.h"
 #include "mxl5007t.h"
 #include "tda18218.h"
 #include "fc2580.h"