From: "Michael Büsch" <m@bues.ch>
To: Hans-Frieder Vogt <hfvogt@gmx.net>
Cc: linux-media <linux-media@vger.kernel.org>
Subject: [PATCH 2/2] Integrate Fitipower fc0011 into af903x
Date: Wed, 21 Mar 2012 16:56:59 +0100 [thread overview]
Message-ID: <20120321165659.4bc10e78@milhouse> (raw)
In-Reply-To: <20120321160237.02193470@milhouse>
[-- Attachment #1: Type: text/plain, Size: 5282 bytes --]
This adds fc0011 support to the af903x driver.
Signed-off-by: Michael Buesch <m@bues.ch>
---
Index: linux-source-3.2/drivers/media/dvb/dvb-usb/Kconfig
===================================================================
--- linux-source-3.2.orig/drivers/media/dvb/dvb-usb/Kconfig 2012-03-20 22:48:14.025859279 +0100
+++ linux-source-3.2/drivers/media/dvb/dvb-usb/Kconfig 2012-03-21 15:31:43.266801632 +0100
@@ -342,6 +342,7 @@
config DVB_USB_AF903X
tristate "Afatech AF903X DVB-T USB2.0 support"
depends on DVB_USB && EXPERIMENTAL
+ select MEDIA_TUNER_FC0011 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_FC0012 if !MEDIA_TUNER_CUSTOMISE
select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMISE
help
Index: linux-source-3.2/drivers/media/dvb/dvb-usb/af903x-devices.c
===================================================================
--- linux-source-3.2.orig/drivers/media/dvb/dvb-usb/af903x-devices.c 2012-03-20 22:48:14.025859279 +0100
+++ linux-source-3.2/drivers/media/dvb/dvb-usb/af903x-devices.c 2012-03-21 15:31:43.270801692 +0100
@@ -260,6 +260,7 @@
}
extern struct tuner_desc tuner_af9007;
+extern struct tuner_desc tuner_fc0011;
extern struct tuner_desc tuner_fc0012;
extern struct tuner_desc tuner_mxl5007t;
@@ -273,6 +274,9 @@
case TUNER_AF9007:
ctx->tuner_desc = &tuner_af9007;
break;
+ case TUNER_FC0011:
+ ctx->tuner_desc = &tuner_fc0011;
+ break;
case TUNER_FC0012:
ctx->tuner_desc = &tuner_fc0012;
break;
Index: linux-source-3.2/drivers/media/dvb/dvb-usb/af903x-fe.c
===================================================================
--- linux-source-3.2.orig/drivers/media/dvb/dvb-usb/af903x-fe.c 2012-03-20 22:48:14.025859279 +0100
+++ linux-source-3.2/drivers/media/dvb/dvb-usb/af903x-fe.c 2012-03-21 15:37:04.968319280 +0100
@@ -28,6 +28,7 @@
#include "af903x-fe.h"
#include "af903x-fe-priv.h"
#include "dvb_frontend.h"
+#include "fc0011.h"
#include "fc0012.h"
#include "mxl5007t.h"
@@ -1967,6 +1968,8 @@
}
};
+extern int af903x_fc0011_reset(void *_ctx);
+
static struct dvb_frontend_ops af903x_ops;
struct dvb_frontend *af903x_fe_attach(struct i2c_adapter *i2c_adap, int id,
struct af903x_dev_ctx *ctx)
@@ -1990,6 +1993,13 @@
switch(ctx->tuner_desc->tunerId) {
case TUNER_AF9007:
break;
+ case TUNER_FC0011:
+ ret = dvb_attach(fc0011_attach, frontend, i2c_adap,
+ id == 0 ? ctx->tuner_desc->tuner_addr :
+ ctx->tuner_desc->tuner_addr + 1,
+ af903x_fc0011_reset, ctx)
+ == NULL ? -ENODEV : 0;
+ break;
case TUNER_FC0012:
ret = dvb_attach(fc0012_attach, frontend, i2c_adap,
id == 0 ? ctx->tuner_desc->tuner_addr :
Index: linux-source-3.2/drivers/media/dvb/dvb-usb/af903x-tuners.c
===================================================================
--- linux-source-3.2.orig/drivers/media/dvb/dvb-usb/af903x-tuners.c 2012-03-20 22:48:14.025859279 +0100
+++ linux-source-3.2/drivers/media/dvb/dvb-usb/af903x-tuners.c 2012-03-21 15:42:42.214115654 +0100
@@ -189,6 +189,69 @@
{0xf1e6, 0x00},
};
+static u16 fc0011_script_sets[] = {
+ 0x38,
+};
+
+static struct af903x_val_set fc0011_scripts[] = {
+ {0x0046, 0x28}, /* TUNER_ID */
+ {0x0057, 0x00},
+ {0x0058, 0x01},
+ {0x005f, 0x00},
+ {0x0060, 0x00},
+ {0x0068, 0xa5},
+ {0x006e, 0x01},
+ {0x0071, 0x0A},
+ {0x0072, 0x02},
+ {0x0074, 0x01},
+ {0x0079, 0x01},
+ {0x0093, 0x00},
+ {0x0094, 0x00},
+ {0x0095, 0x00},
+ {0x0096, 0x00},
+ {0x009b, 0x2D},
+ {0x009c, 0x60},
+ {0x009d, 0x23},
+ {0x00a4, 0x50},
+ {0x00ad, 0x50},
+ {0x00b3, 0x01},
+ {0x00b7, 0x88},
+ {0x00b8, 0xa6},
+ {0x00c3, 0x01},
+ {0x00c4, 0x01},
+ {0x00c7, 0x69},
+ {0xF007, 0x00},
+ {0xF00A, 0x1B},
+ {0xF00B, 0x1B},
+ {0xF00C, 0x1B},
+ {0xF00D, 0x1B},
+ {0xF00E, 0xFF},
+ {0xF00F, 0x01},
+ {0xF010, 0x00},
+ {0xF011, 0x02},
+ {0xF012, 0xFF},
+ {0xF013, 0x01},
+ {0xF014, 0x00},
+ {0xF015, 0x02},
+ {0xF01B, 0xEF},
+ {0xF01C, 0x01},
+ {0xF01D, 0x0f},
+ {0xF01E, 0x02},
+ {0xF01F, 0x6E},
+ {0xF020, 0x00},
+ {0xF025, 0xDE},
+ {0xF026, 0x00},
+ {0xF027, 0x0A},
+ {0xF028, 0x03},
+ {0xF029, 0x6E},
+ {0xF02A, 0x00},
+ {0xF047, 0x00},
+ {0xF054, 0x0},
+ {0xF055, 0x0},
+ {0xF077, 0x01},
+ {0xF1E6, 0x00},
+};
+
static int af903x_fc0012_init(struct af903x_dev_ctx *ctx, int chip)
{
int ret;
@@ -338,6 +401,43 @@
TUNER_FC0012,
};
+int af903x_fc0011_reset(void *_ctx)
+{
+ struct af903x_dev_ctx *ctx = _ctx;
+ struct usb_device *udev = ctx->udev;
+ int ret;
+
+ ret = af9035_wr_reg(udev, 0, PRO_LINK, GPIOT3_ON, 1);
+ if (ret < 0)
+ return ret;
+ ret = af9035_wr_reg(udev, 0, PRO_LINK, GPIOT3_EN, 1);
+ if (ret < 0)
+ return ret;
+ ret = af9035_wr_reg(udev, 0, PRO_LINK, GPIOT3_O, 1);
+ if (ret < 0)
+ return ret;
+ msleep(10);
+ ret = af9035_wr_reg(udev, 0, PRO_LINK, GPIOT3_O, 0);
+ if (ret < 0)
+ return ret;
+ msleep(10);
+
+ return 0;
+}
+
+struct tuner_desc tuner_fc0011 = {
+ af903x_fc0012_init,
+ af903x_fc0012_sleep,
+ af903x_fc0012_set,
+ fc0011_scripts,
+ fc0011_script_sets,
+ 0xc0,
+ 1,
+ 0,
+ true,
+ TUNER_FC0011,
+};
+
static u16 mxl5007t_script_sets[] = {
0x1e
};
--
Greetings, Michael.
PGP encryption is encouraged / 908D8B0E
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
prev parent reply other threads:[~2012-03-21 15:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20120321160237.02193470@milhouse>
2012-03-21 15:56 ` [PATCH 1/2] Fitipower fc0011 driver Michael Büsch
2012-03-21 19:12 ` Gianluca Gennari
2012-03-21 20:09 ` Michael Büsch
2012-03-21 15:56 ` Michael Büsch [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120321165659.4bc10e78@milhouse \
--to=m@bues.ch \
--cc=hfvogt@gmx.net \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox