aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-10-19 05:59:33 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:00:55 -0500
commit55c88610fe974c95a62e495305a7386aaac3df39 (patch)
tree78908c9b4be423ba65b58f5dd2501b832b4d210b
parent0e1165e8d05ef4a530001ea4ac5ff0df78129dd2 (diff)
V4L/DVB (6386): Add support for radio on CX88_BOARD_MSI_TVANYWHERE_MASTER
This board has some special tea5767 configuration. Basically, radio XTAL uses a different frequency than the other supported radios. It uses a 13 MHz XTAL. This patch adds the proper radio gpio and tea5767 configurations for the board. Also, with PAL/BG, the board requires some special init for tda9887: port1=0 port2=0 qss=1 Thanks to Serge Kolotylo and MIDImaster for their help on identifying the proper needs for this driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/cx88/cx88-cards.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index a4eb6a87a761..f8a786ae4758 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -26,6 +26,7 @@
26#include <linux/delay.h> 26#include <linux/delay.h>
27 27
28#include "cx88.h" 28#include "cx88.h"
29#include "tea5767.h"
29 30
30static unsigned int tuner[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; 31static unsigned int tuner[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
31static unsigned int radio[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; 32static unsigned int radio[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET };
@@ -245,6 +246,10 @@ static const struct cx88_board cx88_boards[] = {
245 }}, 246 }},
246 .radio = { 247 .radio = {
247 .type = CX88_RADIO, 248 .type = CX88_RADIO,
249 .vmux = 3,
250 .gpio0 = 0x000040bf,
251 .gpio1 = 0x000080c0,
252 .gpio2 = 0x0000ff20,
248 }, 253 },
249 }, 254 },
250 [CX88_BOARD_WINFAST_DV2000] = { 255 [CX88_BOARD_WINFAST_DV2000] = {
@@ -1979,6 +1984,23 @@ static void cx88_card_setup(struct cx88_core *core)
1979 core->name, i); 1984 core->name, i);
1980 } 1985 }
1981 break; 1986 break;
1987 case CX88_BOARD_MSI_TVANYWHERE_MASTER:
1988 {
1989 struct v4l2_priv_tun_config tea5767_cfg;
1990 struct tea5767_ctrl ctl;
1991
1992 memset(&ctl, 0, sizeof(ctl));
1993
1994 ctl.high_cut = 1;
1995 ctl.st_noise = 1;
1996 ctl.deemph_75 = 1;
1997 ctl.xtal_freq = TEA5767_HIGH_LO_13MHz;
1998
1999 tea5767_cfg.tuner = TUNER_TEA5767;
2000 tea5767_cfg.priv = &ctl;
2001
2002 cx88_call_i2c_clients(core, TUNER_SET_CONFIG, &tea5767_cfg);
2003 }
1982 } 2004 }
1983} 2005}
1984 2006