diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-05-01 06:23:23 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-05-14 01:56:43 -0400 |
commit | 671294719628f1671faefd4882764886f8ad08cb (patch) | |
tree | 1ab78d1a5f31facdf0566f0f631cc110662eb74c /drivers | |
parent | 9426954277aa57e0417d89bfe3e0964d6901cfa3 (diff) |
V4L/DVB(7879): Adding cx18 Support for mxl5005s
Adding cx18 Support
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/cx18/Kconfig | 1 | ||||
-rw-r--r-- | drivers/media/video/cx18/cx18-cards.c | 3 | ||||
-rw-r--r-- | drivers/media/video/cx18/cx18-dvb.c | 40 |
3 files changed, 22 insertions, 22 deletions
diff --git a/drivers/media/video/cx18/Kconfig b/drivers/media/video/cx18/Kconfig index 35a55998a8d3..5f942690570c 100644 --- a/drivers/media/video/cx18/Kconfig +++ b/drivers/media/video/cx18/Kconfig | |||
@@ -11,6 +11,7 @@ config VIDEO_CX18 | |||
11 | select VIDEO_CX2341X | 11 | select VIDEO_CX2341X |
12 | select VIDEO_CS5345 | 12 | select VIDEO_CS5345 |
13 | select DVB_S5H1409 | 13 | select DVB_S5H1409 |
14 | select MEDIA_TUNER_MXL5005S | ||
14 | ---help--- | 15 | ---help--- |
15 | This is a video4linux driver for Conexant cx23418 based | 16 | This is a video4linux driver for Conexant cx23418 based |
16 | PCI combo video recorder devices. | 17 | PCI combo video recorder devices. |
diff --git a/drivers/media/video/cx18/cx18-cards.c b/drivers/media/video/cx18/cx18-cards.c index f5e3ba1f5354..bf6f7edca887 100644 --- a/drivers/media/video/cx18/cx18-cards.c +++ b/drivers/media/video/cx18/cx18-cards.c | |||
@@ -51,7 +51,8 @@ static const struct cx18_card cx18_card_hvr1600_esmt = { | |||
51 | .v4l2_capabilities = CX18_CAP_ENCODER, | 51 | .v4l2_capabilities = CX18_CAP_ENCODER, |
52 | .hw_audio_ctrl = CX18_HW_CX23418, | 52 | .hw_audio_ctrl = CX18_HW_CX23418, |
53 | .hw_muxer = CX18_HW_CS5345, | 53 | .hw_muxer = CX18_HW_CS5345, |
54 | .hw_all = CX18_HW_TVEEPROM | CX18_HW_TUNER | CX18_HW_CS5345, | 54 | .hw_all = CX18_HW_TVEEPROM | CX18_HW_TUNER | CX18_HW_CS5345 |
55 | | CX18_HW_DVB, | ||
55 | .video_inputs = { | 56 | .video_inputs = { |
56 | { CX18_CARD_INPUT_VID_TUNER, 0, CX23418_COMPOSITE7 }, | 57 | { CX18_CARD_INPUT_VID_TUNER, 0, CX23418_COMPOSITE7 }, |
57 | { CX18_CARD_INPUT_SVIDEO1, 1, CX23418_SVIDEO1 }, | 58 | { CX18_CARD_INPUT_SVIDEO1, 1, CX23418_SVIDEO1 }, |
diff --git a/drivers/media/video/cx18/cx18-dvb.c b/drivers/media/video/cx18/cx18-dvb.c index 65efe69d939a..c9744173f969 100644 --- a/drivers/media/video/cx18/cx18-dvb.c +++ b/drivers/media/video/cx18/cx18-dvb.c | |||
@@ -24,25 +24,27 @@ | |||
24 | #include "cx18-streams.h" | 24 | #include "cx18-streams.h" |
25 | #include "cx18-cards.h" | 25 | #include "cx18-cards.h" |
26 | #include "s5h1409.h" | 26 | #include "s5h1409.h" |
27 | 27 | #include "mxl5005s.h" | |
28 | /* Wait until the MXL500X driver is merged */ | ||
29 | #ifdef HAVE_MXL500X | ||
30 | #include "mxl500x.h" | ||
31 | #endif | ||
32 | 28 | ||
33 | DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); | 29 | DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); |
34 | 30 | ||
35 | #define CX18_REG_DMUX_NUM_PORT_0_CONTROL 0xd5a000 | 31 | #define CX18_REG_DMUX_NUM_PORT_0_CONTROL 0xd5a000 |
36 | 32 | ||
37 | #ifdef HAVE_MXL500X | 33 | static struct mxl5005s_config hauppauge_hvr1600_tuner = { |
38 | static struct mxl500x_config hauppauge_hvr1600_tuner = { | 34 | .i2c_address = 0xC6 >> 1, |
39 | .delsys = MXL500x_MODE_ATSC, | 35 | .if_freq = IF_FREQ_5380000HZ, |
40 | .octf = MXL500x_OCTF_CH, | 36 | .xtal_freq = CRYSTAL_FREQ_16000000HZ, |
41 | .xtal_freq = 16000000, | 37 | .agc_mode = MXL_SINGLE_AGC, |
42 | .iflo_freq = 5380000, | 38 | .tracking_filter = MXL_TF_C_H, |
43 | .ref_freq = 322800000, | 39 | .rssi_enable = MXL_RSSI_ENABLE, |
44 | .rssi_ena = MXL_RSSI_ENABLE, | 40 | .cap_select = MXL_CAP_SEL_ENABLE, |
45 | .addr = 0xC6 >> 1, | 41 | .div_out = MXL_DIV_OUT_4, |
42 | .clock_out = MXL_CLOCK_OUT_DISABLE, | ||
43 | .output_load = MXL5005S_IF_OUTPUT_LOAD_200_OHM, | ||
44 | .top = MXL5005S_TOP_25P2, | ||
45 | .mod_mode = MXL_DIGITAL_MODE, | ||
46 | .if_mode = MXL_ZERO_IF, | ||
47 | .AgcMasterByte = 0x00, | ||
46 | }; | 48 | }; |
47 | 49 | ||
48 | static struct s5h1409_config hauppauge_hvr1600_config = { | 50 | static struct s5h1409_config hauppauge_hvr1600_config = { |
@@ -55,7 +57,6 @@ static struct s5h1409_config hauppauge_hvr1600_config = { | |||
55 | .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK | 57 | .mpeg_timing = S5H1409_MPEGTIMING_CONTINOUS_NONINVERTING_CLOCK |
56 | 58 | ||
57 | }; | 59 | }; |
58 | #endif | ||
59 | 60 | ||
60 | static int dvb_register(struct cx18_stream *stream); | 61 | static int dvb_register(struct cx18_stream *stream); |
61 | 62 | ||
@@ -252,21 +253,18 @@ static int dvb_register(struct cx18_stream *stream) | |||
252 | int ret = 0; | 253 | int ret = 0; |
253 | 254 | ||
254 | switch (cx->card->type) { | 255 | switch (cx->card->type) { |
255 | /* Wait until the MXL500X driver is merged */ | ||
256 | #ifdef HAVE_MXL500X | ||
257 | case CX18_CARD_HVR_1600_ESMT: | 256 | case CX18_CARD_HVR_1600_ESMT: |
258 | case CX18_CARD_HVR_1600_SAMSUNG: | 257 | case CX18_CARD_HVR_1600_SAMSUNG: |
259 | dvb->fe = dvb_attach(s5h1409_attach, | 258 | dvb->fe = dvb_attach(s5h1409_attach, |
260 | &hauppauge_hvr1600_config, | 259 | &hauppauge_hvr1600_config, |
261 | &cx->i2c_adap[0]); | 260 | &cx->i2c_adap[0]); |
262 | if (dvb->fe != NULL) { | 261 | if (dvb->fe != NULL) { |
263 | dvb_attach(mxl500x_attach, dvb->fe, | 262 | dvb_attach(mxl5005s_attach, dvb->fe, |
264 | &hauppauge_hvr1600_tuner, | 263 | &cx->i2c_adap[0], |
265 | &cx->i2c_adap[0]); | 264 | &hauppauge_hvr1600_tuner); |
266 | ret = 0; | 265 | ret = 0; |
267 | } | 266 | } |
268 | break; | 267 | break; |
269 | #endif | ||
270 | default: | 268 | default: |
271 | /* No Digital Tv Support */ | 269 | /* No Digital Tv Support */ |
272 | break; | 270 | break; |