aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJohannes Stezenbach <js@linuxtv.org>2005-05-17 00:54:23 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-17 10:59:27 -0400
commit2d4f2c2e15795b93fa4da7a7cfac5e82df51b1f1 (patch)
tree9d1c43edc86b84bc52ddaa0e7df69a74a33ac379 /drivers
parent6074b36715f036f56beb688f49a2a2fb5b28ad72 (diff)
[PATCH] dvb: add support for KNC-1 cards
Support KNC-1 Plus DVB-T and similar KNC-1 cards (Alexander Riedel) Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/ttpci/budget-av.c14
-rw-r--r--drivers/media/dvb/ttpci/budget.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/dvb/ttpci/budget-av.c b/drivers/media/dvb/ttpci/budget-av.c
index 14e963206b89..9860caf32495 100644
--- a/drivers/media/dvb/ttpci/budget-av.c
+++ b/drivers/media/dvb/ttpci/budget-av.c
@@ -701,7 +701,10 @@ static u8 read_pwm(struct budget_av *budget_av)
701static void frontend_init(struct budget_av *budget_av) 701static void frontend_init(struct budget_av *budget_av)
702{ 702{
703 switch (budget_av->budget.dev->pci->subsystem_device) { 703 switch (budget_av->budget.dev->pci->subsystem_device) {
704 case 0x0011: // KNC1 DVB-S Plus budget with AV IN (stv0299/Philips SU1278(tsa5059))
705 saa7146_write(budget_av->budget.dev, GPIO_CTRL, 0x50000000); // Enable / PowerON Frontend
704 case 0x4f56: // Typhoon/KNC1 DVB-S budget (stv0299/Philips SU1278(tsa5059)) 706 case 0x4f56: // Typhoon/KNC1 DVB-S budget (stv0299/Philips SU1278(tsa5059))
707 case 0x0010: // KNC1 DVB-S budget (stv0299/Philips SU1278(tsa5059))
705 budget_av->budget.dvb_frontend = 708 budget_av->budget.dvb_frontend =
706 stv0299_attach(&typhoon_config, &budget_av->budget.i2c_adap); 709 stv0299_attach(&typhoon_config, &budget_av->budget.i2c_adap);
707 if (budget_av->budget.dvb_frontend != NULL) { 710 if (budget_av->budget.dvb_frontend != NULL) {
@@ -709,6 +712,8 @@ static void frontend_init(struct budget_av *budget_av)
709 } 712 }
710 break; 713 break;
711 714
715 case 0x0021: // KNC1 DVB-C Plus budget with AV IN (tda10021/Philips CU1216(tua6034))
716 saa7146_write(budget_av->budget.dev, GPIO_CTRL, 0x50000000); // Enable / PowerON Frontend
712 case 0x0020: // KNC1 DVB-C budget (tda10021/Philips CU1216(tua6034)) 717 case 0x0020: // KNC1 DVB-C budget (tda10021/Philips CU1216(tua6034))
713 budget_av->budget.dvb_frontend = 718 budget_av->budget.dvb_frontend =
714 tda10021_attach(&philips_cu1216_config, 719 tda10021_attach(&philips_cu1216_config,
@@ -718,6 +723,8 @@ static void frontend_init(struct budget_av *budget_av)
718 } 723 }
719 break; 724 break;
720 725
726 case 0x0031: // KNC1 DVB-T Plus budget with AV IN (tda10046/Philips TU1216(tda6651tt))
727 saa7146_write(budget_av->budget.dev, GPIO_CTRL, 0x50000000); // Enable / PowerON Frontend
721 case 0x0030: // KNC1 DVB-T budget (tda10046/Philips TU1216(tda6651tt)) 728 case 0x0030: // KNC1 DVB-T budget (tda10046/Philips TU1216(tda6651tt))
722 budget_av->budget.dvb_frontend = 729 budget_av->budget.dvb_frontend =
723 tda10046_attach(&philips_tu1216_config, &budget_av->budget.i2c_adap); 730 tda10046_attach(&philips_tu1216_config, &budget_av->budget.i2c_adap);
@@ -963,14 +970,21 @@ static struct saa7146_extension budget_extension;
963MAKE_BUDGET_INFO(knc1s, "KNC1 DVB-S", BUDGET_KNC1S); 970MAKE_BUDGET_INFO(knc1s, "KNC1 DVB-S", BUDGET_KNC1S);
964MAKE_BUDGET_INFO(knc1c, "KNC1 DVB-C", BUDGET_KNC1C); 971MAKE_BUDGET_INFO(knc1c, "KNC1 DVB-C", BUDGET_KNC1C);
965MAKE_BUDGET_INFO(knc1t, "KNC1 DVB-T", BUDGET_KNC1T); 972MAKE_BUDGET_INFO(knc1t, "KNC1 DVB-T", BUDGET_KNC1T);
973MAKE_BUDGET_INFO(knc1sp, "KNC1 DVB-S Plus", BUDGET_KNC1SP);
974MAKE_BUDGET_INFO(knc1cp, "KNC1 DVB-C Plus", BUDGET_KNC1CP);
975MAKE_BUDGET_INFO(knc1tp, "KNC1 DVB-T Plus", BUDGET_KNC1TP);
966MAKE_BUDGET_INFO(cin1200s, "TerraTec Cinergy 1200 DVB-S", BUDGET_CIN1200S); 976MAKE_BUDGET_INFO(cin1200s, "TerraTec Cinergy 1200 DVB-S", BUDGET_CIN1200S);
967MAKE_BUDGET_INFO(cin1200c, "Terratec Cinergy 1200 DVB-C", BUDGET_CIN1200C); 977MAKE_BUDGET_INFO(cin1200c, "Terratec Cinergy 1200 DVB-C", BUDGET_CIN1200C);
968MAKE_BUDGET_INFO(cin1200t, "Terratec Cinergy 1200 DVB-T", BUDGET_CIN1200T); 978MAKE_BUDGET_INFO(cin1200t, "Terratec Cinergy 1200 DVB-T", BUDGET_CIN1200T);
969 979
970static struct pci_device_id pci_tbl[] = { 980static struct pci_device_id pci_tbl[] = {
971 MAKE_EXTENSION_PCI(knc1s, 0x1131, 0x4f56), 981 MAKE_EXTENSION_PCI(knc1s, 0x1131, 0x4f56),
982 MAKE_EXTENSION_PCI(knc1s, 0x1131, 0x0010),
983 MAKE_EXTENSION_PCI(knc1sp, 0x1131, 0x0011),
972 MAKE_EXTENSION_PCI(knc1c, 0x1894, 0x0020), 984 MAKE_EXTENSION_PCI(knc1c, 0x1894, 0x0020),
985 MAKE_EXTENSION_PCI(knc1cp, 0x1894, 0x0021),
973 MAKE_EXTENSION_PCI(knc1t, 0x1894, 0x0030), 986 MAKE_EXTENSION_PCI(knc1t, 0x1894, 0x0030),
987 MAKE_EXTENSION_PCI(knc1tp, 0x1894, 0x0031),
974 MAKE_EXTENSION_PCI(cin1200s, 0x153b, 0x1154), 988 MAKE_EXTENSION_PCI(cin1200s, 0x153b, 0x1154),
975 MAKE_EXTENSION_PCI(cin1200c, 0x153b, 0x1156), 989 MAKE_EXTENSION_PCI(cin1200c, 0x153b, 0x1156),
976 MAKE_EXTENSION_PCI(cin1200t, 0x153b, 0x1157), 990 MAKE_EXTENSION_PCI(cin1200t, 0x153b, 0x1157),
diff --git a/drivers/media/dvb/ttpci/budget.h b/drivers/media/dvb/ttpci/budget.h
index 10bd41f0363b..6d82a6f4e43a 100644
--- a/drivers/media/dvb/ttpci/budget.h
+++ b/drivers/media/dvb/ttpci/budget.h
@@ -92,6 +92,9 @@ static struct saa7146_pci_extension_data x_var = { \
92#define BUDGET_KNC1S 8 92#define BUDGET_KNC1S 8
93#define BUDGET_KNC1C 9 93#define BUDGET_KNC1C 9
94#define BUDGET_KNC1T 10 94#define BUDGET_KNC1T 10
95#define BUDGET_KNC1SP 11
96#define BUDGET_KNC1CP 12
97#define BUDGET_KNC1TP 13
95 98
96#define BUDGET_VIDEO_PORTA 0 99#define BUDGET_VIDEO_PORTA 0
97#define BUDGET_VIDEO_PORTB 1 100#define BUDGET_VIDEO_PORTB 1