diff options
author | Dmitry Belimov <d.belimov@gmail.com> | 2008-06-10 11:43:58 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-20 06:09:03 -0400 |
commit | 37df96d39eefd0c1db69a336895c4691d2bc63a1 (patch) | |
tree | de7e542e266a974d7493e343c782d84881f3c282 /drivers/media/video/saa7134/saa7134-tvaudio.c | |
parent | fb49558c3b6b55c0f3378b7e8935c2d9e357f93a (diff) |
V4L/DVB (8019): New for I2S on for MPEG of saa7134_empress
Rework saa7134_enable_i2s function. Remove vendor specific data.
Configure I2S output port specific for model of SAA7133/5-SAA7134.
I think it is more good.
Renamed definition of I2S audio output control register. It`s SAA7133/5 register
Start video port after configuring procedure.
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-tvaudio.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-tvaudio.c | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/drivers/media/video/saa7134/saa7134-tvaudio.c b/drivers/media/video/saa7134/saa7134-tvaudio.c index 460d4a35e5f1..4cc3741c5472 100644 --- a/drivers/media/video/saa7134/saa7134-tvaudio.c +++ b/drivers/media/video/saa7134/saa7134-tvaudio.c | |||
@@ -874,23 +874,32 @@ void saa7134_enable_i2s(struct saa7134_dev *dev) | |||
874 | if (!card_is_empress(dev)) | 874 | if (!card_is_empress(dev)) |
875 | return; | 875 | return; |
876 | 876 | ||
877 | switch (dev->board) { | 877 | if (dev->pci->device == PCI_DEVICE_ID_PHILIPS_SAA7130) |
878 | case SAA7134_BOARD_BEHOLD_M6: | 878 | return; |
879 | /* configure GPIO for out audio */ | 879 | |
880 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0E000000, 0x00000000); | 880 | /* configure GPIO for out */ |
881 | /* Set I2S format */ | 881 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0E000000, 0x00000000); |
882 | saa_writeb(SAA7134_I2S_AUDIO_CONTROL, 0x00); | 882 | |
883 | switch (dev->pci->device) { | ||
884 | case PCI_DEVICE_ID_PHILIPS_SAA7133: | ||
885 | case PCI_DEVICE_ID_PHILIPS_SAA7135: | ||
886 | /* Set I2S format (SONY) */ | ||
887 | saa_writeb(SAA7133_I2S_AUDIO_CONTROL, 0x00); | ||
883 | /* Start I2S */ | 888 | /* Start I2S */ |
884 | saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x11); | 889 | saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x11); |
885 | break; | 890 | break; |
886 | default: | 891 | |
892 | case PCI_DEVICE_ID_PHILIPS_SAA7134: | ||
887 | i2s_format = (dev->input->amux == TV) ? 0x00 : 0x01; | 893 | i2s_format = (dev->input->amux == TV) ? 0x00 : 0x01; |
888 | 894 | ||
889 | /* enable I2S audio output for the mpeg encoder */ | 895 | /* enable I2S audio output for the mpeg encoder */ |
890 | saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80); | 896 | saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80); |
891 | saa_writeb(SAA7134_I2S_OUTPUT_FORMAT, i2s_format); | 897 | saa_writeb(SAA7134_I2S_OUTPUT_FORMAT, i2s_format); |
892 | saa_writeb(SAA7134_I2S_OUTPUT_LEVEL, 0x0F); | 898 | saa_writeb(SAA7134_I2S_OUTPUT_LEVEL, 0x0F); |
893 | saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x01); | 899 | saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x01); |
900 | |||
901 | default: | ||
902 | break; | ||
894 | } | 903 | } |
895 | } | 904 | } |
896 | 905 | ||