diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-19 05:59:33 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:00:55 -0500 |
commit | 55c88610fe974c95a62e495305a7386aaac3df39 (patch) | |
tree | 78908c9b4be423ba65b58f5dd2501b832b4d210b /drivers/media/video/cx88/cx88-cards.c | |
parent | 0e1165e8d05ef4a530001ea4ac5ff0df78129dd2 (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>
Diffstat (limited to 'drivers/media/video/cx88/cx88-cards.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 22 |
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 | ||
30 | static unsigned int tuner[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; | 31 | static unsigned int tuner[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; |
31 | static unsigned int radio[] = {[0 ... (CX88_MAXBOARDS - 1)] = UNSET }; | 32 | static 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 | ||