All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] [PATCH] experimental support for C-1501
@ 2008-06-04 13:14 Sigmund Augdal
  2008-06-04 13:58 ` Antti Palosaari
  0 siblings, 1 reply; 25+ messages in thread
From: Sigmund Augdal @ 2008-06-04 13:14 UTC (permalink / raw)
  To: linux-dvb

[-- Attachment #1: Type: text/plain, Size: 281 bytes --]

The following experimental patch adds support for the technotrend budget
C-1501 dvb-c card. The parameters used to configure the tda10023 demod
chip are largely determined experimentally, but works quite for me in my
initial tests.

Signed-Off-By: Sigmund Augdal <sigmund@snap.tv>

[-- Attachment #2: c-1501.patch --]
[-- Type: text/x-patch, Size: 2202 bytes --]

diff -r 6541620a09b7 linux/drivers/media/dvb/ttpci/budget-ci.c
--- a/linux/drivers/media/dvb/ttpci/budget-ci.c	Tue Jun 03 10:32:16 2008 -0300
+++ b/linux/drivers/media/dvb/ttpci/budget-ci.c	Wed Jun 04 15:03:45 2008 +0200
@@ -46,6 +46,8 @@
 #include "lnbp21.h"
 #include "bsbe1.h"
 #include "bsru6.h"
+#include "tda1002x.h"
+#include "tda827x.h"
 
 /*
  * Regarding DEBIADDR_IR:
@@ -1069,6 +1071,32 @@
 
 
 
+static struct tda10023_config tda10023_config = {
+	.demod_address = 0xc,
+	.invert = 0,
+	.xtal = 16000000,
+	.pll_m = 11,
+	.pll_p = 3,
+	.pll_n = 1,
+	.deltaf = 0xA511,
+};
+
+static u8 read_pwm(struct budget_ci *budget_ci)
+{
+	u8 b = 0xff;
+	u8 pwm;
+	struct i2c_msg msg[] = { {.addr = 0x50,.flags = 0,.buf = &b,.len = 1},
+	{.addr = 0x50,.flags = I2C_M_RD,.buf = &pwm,.len = 1}
+	};
+
+	if ((i2c_transfer(&budget_ci->budget.i2c_adap, msg, 2) != 2)
+	    || (pwm == 0xff))
+		pwm = 0x48;
+
+	return pwm;
+}
+
+
 static void frontend_init(struct budget_ci *budget_ci)
 {
 	switch (budget_ci->budget.dev->pci->subsystem_device) {
@@ -1138,6 +1166,17 @@
 		}
 
 		break;
+	case 0x101a: // TT Budget-C-1501 (philips tda10023/philips tda8274A)
+		budget_ci->budget.dvb_frontend = dvb_attach(tda10023_attach,
+							    &tda10023_config, &budget_ci->budget.i2c_adap, read_pwm(budget_ci));
+		if (budget_ci->budget.dvb_frontend) {
+			if (dvb_attach(tda827x_attach, budget_ci->budget.dvb_frontend, 0x61,
+				       &budget_ci->budget.i2c_adap, 0) == NULL)
+				printk("%s: No tda827x found!\n", __FUNCTION__);
+			break;
+		}
+		break;
+         
 	}
 
 	if (budget_ci->budget.dvb_frontend == NULL) {
@@ -1226,6 +1265,7 @@
 MAKE_BUDGET_INFO(ttbt2, "TT-Budget/WinTV-NOVA-T	 PCI", BUDGET_TT);
 MAKE_BUDGET_INFO(ttbtci, "TT-Budget-T-CI PCI", BUDGET_TT);
 MAKE_BUDGET_INFO(ttbcci, "TT-Budget-C-CI PCI", BUDGET_TT);
+MAKE_BUDGET_INFO(ttc1501, "TT-Budget C-1501 PCI", BUDGET_TT);
 
 static struct pci_device_id pci_tbl[] = {
 	MAKE_EXTENSION_PCI(ttbci, 0x13c2, 0x100c),
@@ -1234,6 +1274,7 @@
 	MAKE_EXTENSION_PCI(ttbt2, 0x13c2, 0x1011),
 	MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012),
 	MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
+	MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101A),
 	{
 	 .vendor = 0,
 	 }

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [linux-dvb]  [PATCH] experimental support for C-1501
@ 2008-06-15 17:23 SG
  2008-06-16  5:14 ` Arthur Konovalov
  0 siblings, 1 reply; 25+ messages in thread
From: SG @ 2008-06-15 17:23 UTC (permalink / raw)
  To: linux-dvb

The patch works quite well and nearly all channels seem to work.

But when tuning to some radio channels I'll get this kernel message:

saa7146 (0) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer

Also I'm not able to tune to 'transponder 386000000 6900000 0 3' which works
smoothly when using Win32.

initial transponder 386000000 6900000 0 3
 >>> tune to: 386:M64:C:6900:
WARNING: >>> tuning failed!!!
 >>> tune to: 386:M64:C:6900: (tuning failed)
WARNING: >>> tuning failed!!!
ERROR: initial tuning failed
dumping lists (0 services)
Done.

Any hints ?

Thanks and regards.
Martin

Sigmund Augdal wrote:

> Here is a new version. This one passes checkpatch without warnings. I
> removed the read_pwm function, as it always uses the fallback path for
> my card (and frankly I have no idea wether it is actually relevant at
> all for this kind of card). Furthermore the tda10023 driver doesn't seem
> to use this value for anything.
>
> Best regards
>
> Sigmund Augdal

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2008-07-18  9:47 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-04 13:14 [linux-dvb] [PATCH] experimental support for C-1501 Sigmund Augdal
2008-06-04 13:58 ` Antti Palosaari
2008-06-04 14:37   ` Sigmund Augdal
2008-06-04 17:28     ` [linux-dvb] diseqc VP-1041 skystar hd2 joep
2008-06-09 17:06       ` joep
2008-06-05  9:10     ` [linux-dvb] [PATCH] experimental support for C-1501 Sigmund Augdal
2008-06-08 15:38       ` Oliver Endriss
2008-06-09  5:21         ` Arthur Konovalov
2008-06-09 10:00           ` Sigmund Augdal
2008-06-09 10:29             ` Arthur Konovalov
2008-06-14 20:07           ` Simon Baxter
2008-06-14 22:08             ` Arthur Konovalov
2008-06-17 18:51       ` Oliver Endriss
  -- strict thread matches above, loose matches on Subject: below --
2008-06-15 17:23 SG
2008-06-16  5:14 ` Arthur Konovalov
2008-06-16 12:40   ` Sigmund Augdal
     [not found]     ` <20080616142616.75F9C3BC99@waldorfmail.homeip.net>
2008-06-16 14:33       ` Sigmund Augdal
2008-06-16 17:42         ` SG
2008-06-16 18:07           ` SG
2008-06-16 18:20           ` SG
2008-06-17 13:13           ` Antti Palosaari
2008-06-16 18:54         ` Arthur Konovalov
2008-07-14  2:31           ` Simon Baxter
2008-07-14 16:56             ` Arthur Konovalov
2008-07-18  9:46               ` Simon Baxter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.