mirror of https://gitee.com/openkylin/linux.git
V4L/DVB (7976): I2S on for MPEG of saa7134_empress
Rework saa7134_enable_i2s function. Add vendor specific data. Add definition for I2S audio output control register. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
53af158a90
commit
f808a9e3ce
|
@ -353,6 +353,7 @@
|
|||
|
||||
/* I2S output */
|
||||
#define SAA7134_I2S_AUDIO_OUTPUT 0x1c0
|
||||
#define SAA7134_I2S_AUDIO_CONTROL 0x591
|
||||
|
||||
/* test modes */
|
||||
#define SAA7134_SPECIAL_MODE 0x1d0
|
||||
|
|
|
@ -873,13 +873,25 @@ void saa7134_enable_i2s(struct saa7134_dev *dev)
|
|||
|
||||
if (!card_is_empress(dev))
|
||||
return;
|
||||
i2s_format = (dev->input->amux == TV) ? 0x00 : 0x01;
|
||||
|
||||
/* enable I2S audio output for the mpeg encoder */
|
||||
saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80);
|
||||
saa_writeb(SAA7134_I2S_OUTPUT_FORMAT, i2s_format);
|
||||
saa_writeb(SAA7134_I2S_OUTPUT_LEVEL, 0x0F);
|
||||
saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x01);
|
||||
switch (dev->board) {
|
||||
case SAA7134_BOARD_BEHOLD_M6:
|
||||
/* configure GPIO for out audio */
|
||||
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0E000000, 0x00000000);
|
||||
/* Set I2S format */
|
||||
saa_writeb(SAA7134_I2S_AUDIO_CONTROL, 0x00);
|
||||
/* Start I2S */
|
||||
saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x11);
|
||||
break;
|
||||
default:
|
||||
i2s_format = (dev->input->amux == TV) ? 0x00 : 0x01;
|
||||
|
||||
/* enable I2S audio output for the mpeg encoder */
|
||||
saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80);
|
||||
saa_writeb(SAA7134_I2S_OUTPUT_FORMAT, i2s_format);
|
||||
saa_writeb(SAA7134_I2S_OUTPUT_LEVEL, 0x0F);
|
||||
saa_writeb(SAA7134_I2S_AUDIO_OUTPUT, 0x01);
|
||||
}
|
||||
}
|
||||
|
||||
int saa7134_tvaudio_rx2mode(u32 rx)
|
||||
|
|
Loading…
Reference in New Issue