aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHartmut Hackmann <hartmut.hackmann@t\-online.de>2006-02-07 03:25:37 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-02-07 03:25:37 -0500
commitf7d66e82c6df37043ddd41ec9ec893844d3a18be (patch)
treee255e554b49b2b1a004f63af360e81a31188b2be
parent99d33d5012c31c6c2b7ad5658654d7c5f0d606d1 (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.c14
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
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
65enum saa7134_audio_in { 66enum saa7134_audio_in {