diff options
author | Hartmut Hackmann <hartmut.hackmann@t\-online.de> | 2006-02-07 03:25:37 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-02-07 03:25:37 -0500 |
commit | f7d66e82c6df37043ddd41ec9ec893844d3a18be (patch) | |
tree | e255e554b49b2b1a004f63af360e81a31188b2be | |
parent | 99d33d5012c31c6c2b7ad5658654d7c5f0d606d1 (diff) |
V4L/DVB (3275): Allow SAA7134 to fall back to AM sound when there is NICAM-L
This patch allows to select AM sound even if NICAM is detected.
Proposed by Alain Frappin
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/saa7134/saa7134-tvaudio.c | 14 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-tvaudio.c b/drivers/media/video/saa7134/saa7134-tvaudio.c index afa4dcb3f96d..3043233a8b6e 100644 --- a/drivers/media/video/saa7134/saa7134-tvaudio.c +++ b/drivers/media/video/saa7134/saa7134-tvaudio.c | |||
@@ -140,6 +140,12 @@ static struct saa7134_tvaudio tvaudio[] = { | |||
140 | .carr2 = 5850, | 140 | .carr2 = 5850, |
141 | .mode = TVAUDIO_NICAM_AM, | 141 | .mode = TVAUDIO_NICAM_AM, |
142 | },{ | 142 | },{ |
143 | .name = "SECAM-L MONO", | ||
144 | .std = V4L2_STD_SECAM, | ||
145 | .carr1 = 6500, | ||
146 | .carr2 = -1, | ||
147 | .mode = TVAUDIO_AM_MONO, | ||
148 | },{ | ||
143 | .name = "SECAM-D/K", | 149 | .name = "SECAM-D/K", |
144 | .std = V4L2_STD_SECAM, | 150 | .std = V4L2_STD_SECAM, |
145 | .carr1 = 6500, | 151 | .carr1 = 6500, |
@@ -334,6 +340,12 @@ static void tvaudio_setmode(struct saa7134_dev *dev, | |||
334 | saa_writeb(SAA7134_STEREO_DAC_OUTPUT_SELECT, 0xa1); | 340 | saa_writeb(SAA7134_STEREO_DAC_OUTPUT_SELECT, 0xa1); |
335 | saa_writeb(SAA7134_NICAM_CONFIG, 0x00); | 341 | saa_writeb(SAA7134_NICAM_CONFIG, 0x00); |
336 | break; | 342 | break; |
343 | case TVAUDIO_AM_MONO: | ||
344 | saa_writeb(SAA7134_DEMODULATOR, 0x12); | ||
345 | saa_writeb(SAA7134_DCXO_IDENT_CTRL, 0x00); | ||
346 | saa_writeb(SAA7134_FM_DEEMPHASIS, 0x44); | ||
347 | saa_writeb(SAA7134_STEREO_DAC_OUTPUT_SELECT, 0xa0); | ||
348 | break; | ||
337 | case TVAUDIO_FM_SAT_STEREO: | 349 | case TVAUDIO_FM_SAT_STEREO: |
338 | /* not implemented (yet) */ | 350 | /* not implemented (yet) */ |
339 | break; | 351 | break; |
@@ -414,6 +426,7 @@ static int tvaudio_getstereo(struct saa7134_dev *dev, struct saa7134_tvaudio *au | |||
414 | 426 | ||
415 | switch (audio->mode) { | 427 | switch (audio->mode) { |
416 | case TVAUDIO_FM_MONO: | 428 | case TVAUDIO_FM_MONO: |
429 | case TVAUDIO_AM_MONO: | ||
417 | return V4L2_TUNER_SUB_MONO; | 430 | return V4L2_TUNER_SUB_MONO; |
418 | case TVAUDIO_FM_K_STEREO: | 431 | case TVAUDIO_FM_K_STEREO: |
419 | case TVAUDIO_FM_BG_STEREO: | 432 | case TVAUDIO_FM_BG_STEREO: |
@@ -480,6 +493,7 @@ static int tvaudio_setstereo(struct saa7134_dev *dev, struct saa7134_tvaudio *au | |||
480 | 493 | ||
481 | switch (audio->mode) { | 494 | switch (audio->mode) { |
482 | case TVAUDIO_FM_MONO: | 495 | case TVAUDIO_FM_MONO: |
496 | case TVAUDIO_AM_MONO: | ||
483 | /* nothing to do ... */ | 497 | /* nothing to do ... */ |
484 | break; | 498 | break; |
485 | case TVAUDIO_FM_K_STEREO: | 499 | case TVAUDIO_FM_K_STEREO: |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 3b8f466c7e17..b638df941ff9 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -60,6 +60,7 @@ enum saa7134_tvaudio_mode { | |||
60 | TVAUDIO_FM_K_STEREO = 4, | 60 | TVAUDIO_FM_K_STEREO = 4, |
61 | TVAUDIO_NICAM_AM = 5, | 61 | TVAUDIO_NICAM_AM = 5, |
62 | TVAUDIO_NICAM_FM = 6, | 62 | TVAUDIO_NICAM_FM = 6, |
63 | TVAUDIO_AM_MONO = 7 | ||
63 | }; | 64 | }; |
64 | 65 | ||
65 | enum saa7134_audio_in { | 66 | enum saa7134_audio_in { |