Skip to contentSkip to conversation

experimental support for C-1501

PATCH In review Sigmund Augdal 6 participants 13 messages Jun 4, 2008 – Jun 17, 2008 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 experimental support for C-1501

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.

linux/drivers/media/dvb/ttpci/budget-ci.c +41 -0
diff -r 6541620a09b7 linux/drivers/media/dvb/ttpci/budget-ci.c
@@ -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,
 	 }

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#1 lore raw
Quoted 4 lines · Sigmund Augdal

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.

You finally found correct values :) I see that it uses same clock settings than Anysee. Also deltaf could be correct because I remember from my tests that it cannot set wrong otherwise it will not work at all. How did you find defltaf?

Your patch has at least coding style issues, please run make checkpatch fix errors and resend patch.

regards
Antti

Quoted 10 lines

------------------------------------------------------------------------

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Signature · 6 lines
http://palosaari.fi/

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#2 lore raw

ons, 04.06.2008 kl. 16.58 +0300, skrev Antti Palosaari:

Quoted 10 lines
Quoted 4 lines · Sigmund Augdal

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.

You finally found correct values :) I see that it uses same clock settings than Anysee. Also deltaf could be correct because I remember from my tests that it cannot set wrong otherwise it will not work at all. How did you find defltaf?

I guessed the clock settings based on how the same tuner is used by a different demod. The deltaf value was found by trial and error (helped by some scripting). deltaf values slightly off will also work, but tuning will be very slow. I also think the deltaf value will depend on the bandwidth of the transponder tuned. All transponders I've tested with are 8MHz, but I think other values are possible, and these will most likely not work. I submitted the patch anyway in the hope that some broader testing might help uncover any remaining problems.

Quoted 3 lines

Your patch has at least coding style issues, please run make checkpatch fix errors and resend patch.

I was trying to follow the guidelines, but I guess I wasn't doing that good enough. Will try to clean that up and resend soon.

regards
Sigmund

Quoted 16 lines

regards
Antti

Quoted 10 lines

------------------------------------------------------------------------

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#3 lore raw

[linux-dvb] diseqc VP-1041 skystar hd2

Hello all.
I have a skystar hd2 card and installed the latest mantis driver. Now I am able to watch some dvb-s and dvb-s2 channels from astra 19,2. The LNB for this satalite is connected to the default switch port. When I try to tune to a channel on any other satalite that is on de diseqc switch I get no signal.
I tried this with mythtv 0.21 and the mythtv patch from:
http://svn.mythtv.org/trac/ticket/5403

I have 2 questions.
1. Has anyone used the skystar hd2 or twinhand vp-1041 succesfull with a diseqc switch?

2. What should I do to figure out what the problem is exactly?

Thanks
Joep

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#4 lore raw

Re: [linux-dvb] diseqc VP-1041 skystar hd2

Op Wednesday 04 June 2008 19:28:26 schreef joep:

Quoted 9 lines

Hello all.
I have a skystar hd2 card and installed the latest mantis driver. Now I am able to watch some dvb-s and dvb-s2 channels from astra 19,2. The LNB for this satalite is connected to the default switch port. When I try to tune to a channel on any other satalite that is on de diseqc switch I get no signal.
I tried this with mythtv 0.21 and the mythtv patch from:
http://svn.mythtv.org/trac/ticket/5403

Quoted 9 lines

I have 2 questions.
1. Has anyone used the skystar hd2 or twinhand vp-1041 succesfull with a diseqc switch?

2. What should I do to figure out what the problem is exactly?

Thanks
Joep

Hmm nobody seems to use the same setup as I am using..
I have a more common question:
Is it possilbe to load the mantis module with some kind of debug parameter? In my case I would like to know exactly what driver calls MythTV makes.

Thanks,
Joep

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#5 lore raw
In reply to Sigmund Augdal
Quoted 20 lines · Sigmund Augdal

ons, 04.06.2008 kl. 16.58 +0300, skrev Antti Palosaari:

Quoted 10 lines
Quoted 4 lines · Sigmund Augdal

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.

You finally found correct values :) I see that it uses same clock settings than Anysee. Also deltaf could be correct because I remember from my tests that it cannot set wrong otherwise it will not work at all. How did you find defltaf?

I guessed the clock settings based on how the same tuner is used by a different demod. The deltaf value was found by trial and error (helped by some scripting). deltaf values slightly off will also work, but tuning will be very slow. I also think the deltaf value will depend on the bandwidth of the transponder tuned. All transponders I've tested with are 8MHz, but I think other values are possible, and these will most likely not work. I submitted the patch anyway in the hope that some broader testing might help uncover any remaining problems.

Quoted 1 line
Quoted 4 lines
Quoted 2 lines

Your patch has at least coding style issues, please run make checkpatch fix errors and resend patch.

I was trying to follow the guidelines, but I guess I wasn't doing that good enough. Will try to clean that up and resend soon.

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

Quoted 21 lines

regards
Sigmund

Quoted 16 lines

regards
Antti

Quoted 10 lines

------------------------------------------------------------------------

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Quoted 5 lines

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

linux/drivers/media/dvb/ttpci/budget-ci.c +28 -0
diff -r 6541620a09b7 linux/drivers/media/dvb/ttpci/budget-ci.c
@@ -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,16 @@
 
 
 
+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 void frontend_init(struct budget_ci *budget_ci)
 {
 	switch (budget_ci->budget.dev->pci->subsystem_device) {
@@ -1137,6 +1149,20 @@
 			}
 		}
 
+		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, 0x48);
+		if (budget_ci->budget.dvb_frontend) {
+			if (dvb_attach(tda827x_attach,
+				       budget_ci->budget.dvb_frontend, 0x61,
+				       &budget_ci->budget.i2c_adap, NULL)
+			    == NULL)
+				printk(KERN_ERR "%s: No tda827x found!\n",
+				       __func__);
+			break;
+		}
 		break;
 	}
 
@@ -1226,6 +1252,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 +1261,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,
 	 }

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#6 lore raw
Quoted 5 lines · Sigmund Augdal

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.

Any issues with this patch? If not I will commit it next weekend.

CU
Oliver

Signature · 8 lines
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
#7 lore raw
Quoted 8 lines · Oliver Endriss
Quoted 5 lines · Sigmund Augdal

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.

Any issues with this patch? If not I will commit it next weekend.

At the first glance it works fine, thanks Sigmund.
Although for multiproto drivers I slightly modified patches and replaced some files from linux-dvb tree (tda10021.c, tda10023.c, tda1002x.h).

However, I don't know how necessary is tda827x-oops patch with multiproto.

At compile have only one warning:
CC [M] /usr/local/src/multiproto-2008-05-14/v4l/budget-av.o
/usr/local/src/multiproto-2008-05-14/v4l/budget-av.c: In function 'frontend_init':
/usr/local/src/multiproto-2008-05-14/v4l/budget-av.c:1306: warning: passing argument 1 of '__a' from incompatible pointer type

Regards,
AK

drivers/media/dvb/frontends/tda827x.c renamed from drivers/media/dvb/frontends/tda827x.c.old +2 -1
@@ -554,7 +554,7 @@
 	struct tda827x_priv *priv = fe->tuner_priv;
 	unsigned char buf[] = {0x22, 0x01};
 	int arg;
-	struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0,
+	struct i2c_msg msg = { .flags = 0,
 			       .buf = buf, .len = sizeof(buf) };
 
 	if (NULL == priv->cfg) {
@@ -562,6 +562,7 @@
 		return;
 	}
 
+	msg.addr = priv->i2c_addr;
 	if (priv->cfg->config) {
 		if (high)
 			dprintk("setting LNA to high gain\n");
drivers/media/dvb/ttpci/budget-ci.c renamed from drivers/media/dvb/ttpci/budget-ci.c.old +28 -1
@@ -51,6 +51,8 @@
 #include "lnbp21.h"
 #include "bsbe1.h"
 #include "bsru6.h"
+#include "tda1002x.h"
+#include "tda827x.h"
 
 /*
  * Regarding DEBIADDR_IR:
@@ -1337,6 +1339,16 @@
 	.refclock	= 27000000,
 };
 
+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 void frontend_init(struct budget_ci *budget_ci)
 {
 	switch (budget_ci->budget.dev->pci->subsystem_device) {
@@ -1404,7 +1416,20 @@
 				budget_ci->budget.dvb_frontend = NULL;
 			}
 		}
-
+		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, 0x48);
+		if (budget_ci->budget.dvb_frontend) {
+			if (dvb_attach(tda827x_attach,
+				       budget_ci->budget.dvb_frontend, 0x61,
+				       &budget_ci->budget.i2c_adap, NULL)
+			    == NULL)
+				printk(KERN_ERR "%s: No tda827x found!\n",
+				       __func__);
+			break;
+		}
 		break;
 
 	case 0x1019:		// TT S2-3200 PCI
@@ -1535,6 +1560,7 @@
 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(tt3200, "TT-Budget S2-3200 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),
@@ -1544,6 +1570,7 @@
 	MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012),
 	MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
 	MAKE_EXTENSION_PCI(tt3200, 0x13c2, 0x1019),
+	MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101A),
 	{
 	 .vendor = 0,
 	 }

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#8 lore raw
Quoted 11 lines · Arthur Konovalov
Quoted 8 lines · Oliver Endriss
Quoted 5 lines · Sigmund Augdal

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.

Any issues with this patch? If not I will commit it next weekend.

At the first glance it works fine, thanks Sigmund.

Good to hear.

Quoted 2 lines

Although for multiproto drivers I slightly modified patches and replaced some files from linux-dvb tree (tda10021.c, tda10023.c, tda1002x.h).

This i was only to get the patch to apply, because the context had changed slightly (because of the definitions for the s2 cards), right? No changes needed to the applied code? I tried this with a multiproto tree also, and it works fine (but patch from one does not apply to the other)

Quoted 2 lines

However, I don't know how necessary is tda827x-oops patch with multiproto.

I think it is necessary.

Quoted 6 lines

At compile have only one warning:

   CC [M]  /usr/local/src/multiproto-2008-05-14/v4l/budget-av.o

/usr/local/src/multiproto-2008-05-14/v4l/budget-av.c: In function 'frontend_init':
/usr/local/src/multiproto-2008-05-14/v4l/budget-av.c:1306: warning: passing argument 1 of '__a' from incompatible pointer type

This line is, to the best of what I can see not added by my patch, neither in my version, or the version you provided for the multiproto tree. If it is in fact part of my code I'd appreciate if you posted the line in question, or the equivalent warning from an otherwise unchanged hg master clone.

Best regards

Sigmund Augdal

Quoted 91 lines

Regards,
AK
plain text document attachment (tda827x-oops-multiproto.patch)

drivers/media/dvb/frontends/tda827x.c renamed from drivers/media/dvb/frontends/tda827x.c.old +2 -1
@@ -554,7 +554,7 @@
 	struct tda827x_priv *priv = fe->tuner_priv;
 	unsigned char buf[] = {0x22, 0x01};
 	int arg;
-	struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0,
+	struct i2c_msg msg = { .flags = 0,
 			       .buf = buf, .len = sizeof(buf) };
 
 	if (NULL == priv->cfg) {
@@ -562,6 +562,7 @@
 		return;
 	}
 
+	msg.addr = priv->i2c_addr;
 	if (priv->cfg->config) {
 		if (high)
 			dprintk("setting LNA to high gain\n");

plain text document attachment (c-1501-multiproto.patch)

drivers/media/dvb/ttpci/budget-ci.c renamed from drivers/media/dvb/ttpci/budget-ci.c.old +28 -1
@@ -51,6 +51,8 @@
 #include "lnbp21.h"
 #include "bsbe1.h"
 #include "bsru6.h"
+#include "tda1002x.h"
+#include "tda827x.h"
 
 /*
  * Regarding DEBIADDR_IR:
@@ -1337,6 +1339,16 @@
 	.refclock	= 27000000,
 };
 
+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 void frontend_init(struct budget_ci *budget_ci)
 {
 	switch (budget_ci->budget.dev->pci->subsystem_device) {
@@ -1404,7 +1416,20 @@
 				budget_ci->budget.dvb_frontend = NULL;
 			}
 		}
-
+		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, 0x48);
+		if (budget_ci->budget.dvb_frontend) {
+			if (dvb_attach(tda827x_attach,
+				       budget_ci->budget.dvb_frontend, 0x61,
+				       &budget_ci->budget.i2c_adap, NULL)
+			    == NULL)
+				printk(KERN_ERR "%s: No tda827x found!\n",
+				       __func__);
+			break;
+		}
 		break;
 
 	case 0x1019:		// TT S2-3200 PCI
@@ -1535,6 +1560,7 @@
 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(tt3200, "TT-Budget S2-3200 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),
@@ -1544,6 +1570,7 @@
 	MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012),
 	MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
 	MAKE_EXTENSION_PCI(tt3200, 0x13c2, 0x1019),
+	MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101A),
 	{
 	 .vendor = 0,
 	 }
Quoted 4 lines

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#9 lore raw
Quoted 2 lines · Sigmund Augdal

This i was only to get the patch to apply, because the context had changed slightly (because of the definitions for the s2 cards), right?

You're right.
Code not changed, in principle. Changes needed only for compile with multiproto due dvbs2 additions.

Quoted 3 lines

This line is, to the best of what I can see not added by my patch, neither in my version, or the version you provided for the multiproto tree.

You're right again. Sorry for misunderstanding.

Regards,
AK

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#10 lore raw
In reply to Arthur Konovalov

Hi

What am I doing wrong - sorry for the potentially idiot error...

I got what I thought was the latest, which would include these c-1501 patches yes??
hg clone http://linuxtv.org/hg/v4l-dvb

But there's no "linux/drivers/media/dvb/frontends/tda827x.c" and the
"linux/drivers/media/dvb/ttpci/budget-ci.c" is not the same as the patches
references.

[root@freddy v4l-dvb]# find . | grep tda827x.c ./.hg/store/data/linux/drivers/media/common/tuners/tda827x.c.i ./.hg/store/data/linux/drivers/media/dvb/frontends/tda827x.c.i ./linux/drivers/media/common/tuners/tda827x.c

Have I got the wrong repository??

----- Original Message -----
From: "Arthur Konovalov" <[email protected]>
To: <[email protected]>
Sent: Monday, June 09, 2008 5:21 PM
Subject: Re: [linux-dvb] [PATCH] experimental support for C-1501

Quoted 26 lines
Quoted 8 lines · Oliver Endriss
Quoted 5 lines · Sigmund Augdal

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.

Any issues with this patch? If not I will commit it next weekend.

At the first glance it works fine, thanks Sigmund.
Although for multiproto drivers I slightly modified patches and replaced some
files from linux-dvb tree (tda10021.c, tda10023.c, tda1002x.h).

However, I don't know how necessary is tda827x-oops patch with multiproto.

At compile have only one warning:
CC [M] /usr/local/src/multiproto-2008-05-14/v4l/budget-av.o
/usr/local/src/multiproto-2008-05-14/v4l/budget-av.c: In function 'frontend_init':
/usr/local/src/multiproto-2008-05-14/v4l/budget-av.c:1306: warning:
passing
argument 1 of '__a' from incompatible pointer type

Quoted 3 lines

Regards,
AK

--------------------------------------------------------------------------------

Quoted 15 lines

--- linux/drivers/media/dvb/frontends/tda827x.c.old 2008-06-06 13:57:57.000000000 +0300
+++ linux/drivers/media/dvb/frontends/tda827x.c 2008-06-06 13:59:52.000000000 +0300

drivers/media/dvb/frontends/tda827x.c renamed from drivers/media/dvb/frontends/tda827x.c.old +1 -1
@@ -554,7 +554,7 @@
 struct tda827x_priv *priv = fe->tuner_priv;
 unsigned char buf[] = {0x22, 0x01};
 int arg;
- struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0,
+ struct i2c_msg msg = { .flags = 0,
        .buf = buf, .len = sizeof(buf) };
 
 if (NULL == priv->cfg) {

drivers/media/dvb/frontends/tda827x.c line 568

Quoted 7 lines
drivers/media/dvb/frontends/tda827x.c renamed from drivers/media/dvb/frontends/tda827x.c.old +1 -0
@@ -562,6 +562,7 @@
 return;
 }
 
+ msg.addr = priv->i2c_addr;
 if (priv->cfg->config) {
 if (high)
 dprintk("setting LNA to high gain\n");

--------------------------------------------------------------------------------

Quoted 62 lines

--- linux/drivers/media/dvb/ttpci/budget-ci.c.old 2008-06-06 13:39:23.000000000 +0300
+++ linux/drivers/media/dvb/ttpci/budget-ci.c 2008-06-06 13:50:18.000000000 +0300

drivers/media/dvb/ttpci/budget-ci.c renamed from drivers/media/dvb/ttpci/budget-ci.c.old +27 -1
@@ -51,6 +51,8 @@
 #include "lnbp21.h"
 #include "bsbe1.h"
 #include "bsru6.h"
+#include "tda1002x.h"
+#include "tda827x.h"
 
 /*
 * Regarding DEBIADDR_IR:
@@ -1337,6 +1339,16 @@
 .refclock = 27000000,
 };
 
+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 void frontend_init(struct budget_ci *budget_ci)
 {
 switch (budget_ci->budget.dev->pci->subsystem_device) {
@@ -1404,7 +1416,20 @@
 budget_ci->budget.dvb_frontend = NULL;
 }
 }
-
+ 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, 0x48);
+ if (budget_ci->budget.dvb_frontend) {
+ if (dvb_attach(tda827x_attach,
+        budget_ci->budget.dvb_frontend, 0x61,
+        &budget_ci->budget.i2c_adap, NULL)
+     == NULL)
+ printk(KERN_ERR "%s: No tda827x found!\n",
+        __func__);
+ break;
+ }
 break;
 
 case 0x1019: // TT S2-3200 PCI
@@ -1535,6 +1560,7 @@
 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(tt3200, "TT-Budget S2-3200 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),

drivers/media/dvb/ttpci/budget-ci.c line 1576

Quoted 7 lines
drivers/media/dvb/ttpci/budget-ci.c renamed from drivers/media/dvb/ttpci/budget-ci.c.old +1 -0
@@ -1544,6 +1570,7 @@
 MAKE_EXTENSION_PCI(ttbtci, 0x13c2, 0x1012),
 MAKE_EXTENSION_PCI(ttbs2, 0x13c2, 0x1017),
 MAKE_EXTENSION_PCI(tt3200, 0x13c2, 0x1019),
+ MAKE_EXTENSION_PCI(ttc1501, 0x13c2, 0x101A),
 {
 .vendor = 0,
 }

--------------------------------------------------------------------------------

Quoted 4 lines

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#11 lore raw
Quoted 13 lines · Simon Baxter

Hi

What am I doing wrong - sorry for the potentially idiot error...

I got what I thought was the latest, which would include these c-1501 patches yes??
hg clone http://linuxtv.org/hg/v4l-dvb

But there's no "linux/drivers/media/dvb/frontends/tda827x.c" and the
"linux/drivers/media/dvb/ttpci/budget-ci.c" is not the same as the patches
references.

Quoted 8 lines

[root@freddy v4l-dvb]# find . | grep tda827x.c ./.hg/store/data/linux/drivers/media/common/tuners/tda827x.c.i ./.hg/store/data/linux/drivers/media/dvb/frontends/tda827x.c.i ./linux/drivers/media/common/tuners/tda827x.c

Have I got the wrong repository??

Mentioned patches adopted to multiproto tree. For v4l-dvb please use Sigmund's original patches if these not committed yet.

Regards,
AK

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

#12 lore raw
In reply to Sigmund Augdal
Quoted 23 lines · Sigmund Augdal
Quoted 22 lines · Sigmund Augdal

ons, 04.06.2008 kl. 16.58 +0300, skrev Antti Palosaari:

Quoted 10 lines
Quoted 4 lines · Sigmund Augdal

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.

You finally found correct values :) I see that it uses same clock settings than Anysee. Also deltaf could be correct because I remember from my tests that it cannot set wrong otherwise it will not work at all. How did you find defltaf?

I guessed the clock settings based on how the same tuner is used by a different demod. The deltaf value was found by trial and error (helped by some scripting). deltaf values slightly off will also work, but tuning will be very slow. I also think the deltaf value will depend on the bandwidth of the transponder tuned. All transponders I've tested with are 8MHz, but I think other values are possible, and these will most likely not work. I submitted the patch anyway in the hope that some broader testing might help uncover any remaining problems.

Quoted 3 lines

Your patch has at least coding style issues, please run make checkpatch fix errors and resend patch.

Quoted 7 lines
Quoted 2 lines

I was trying to follow the guidelines, but I guess I wasn't doing that good enough. Will try to clean that up and resend soon.

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.

Patch applied with minor modifications:
- error handling: detach frontend if tda827x_attach fails
- use lower case characters for hex constants
- make the code more readable (better ignore 'line length warnings' if the resulting code would look too bad)

CU
Oliver

Signature · 8 lines
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------

_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb