mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-16 22:10:24 +00:00
fbdev: sh-mobile: Add HDMI sound type selection
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
c88e7b93a8
commit
6d86577124
@ -318,6 +318,9 @@ static void sh_hdmi_video_config(struct sh_hdmi *hdmi)
|
||||
*/
|
||||
static void sh_hdmi_audio_config(struct sh_hdmi *hdmi)
|
||||
{
|
||||
u8 data;
|
||||
struct sh_mobile_hdmi_info *pdata = hdmi->dev->platform_data;
|
||||
|
||||
/*
|
||||
* [7:4] L/R data swap control
|
||||
* [3:0] appropriate N[19:16]
|
||||
@ -335,7 +338,23 @@ static void sh_hdmi_audio_config(struct sh_hdmi *hdmi)
|
||||
* [6:5] set required down sampling rate if required
|
||||
* [4:3] set required audio source
|
||||
*/
|
||||
hdmi_write(hdmi, 0x00, HDMI_AUDIO_SETTING_1);
|
||||
switch (pdata->flags & HDMI_SRC_MASK) {
|
||||
default:
|
||||
/* FALL THROUGH */
|
||||
case HDMI_SRC_I2S:
|
||||
data = (0x0 << 3);
|
||||
break;
|
||||
case HDMI_SRC_SPDIF:
|
||||
data = (0x1 << 3);
|
||||
break;
|
||||
case HDMI_SRC_DSD:
|
||||
data = (0x2 << 3);
|
||||
break;
|
||||
case HDMI_SRC_HBR:
|
||||
data = (0x3 << 3);
|
||||
break;
|
||||
}
|
||||
hdmi_write(hdmi, data, HDMI_AUDIO_SETTING_1);
|
||||
|
||||
/* [3:0] set sending channel number for channel status */
|
||||
hdmi_write(hdmi, 0x40, HDMI_AUDIO_SETTING_2);
|
||||
|
@ -14,9 +14,25 @@
|
||||
struct sh_mobile_lcdc_chan_cfg;
|
||||
struct device;
|
||||
|
||||
/*
|
||||
* flags format
|
||||
*
|
||||
* 0x0000000A
|
||||
*
|
||||
* A: Audio source select
|
||||
*/
|
||||
|
||||
/* Audio source select */
|
||||
#define HDMI_SRC_MASK (0xF << 0)
|
||||
#define HDMI_SRC_I2S (0 << 0) /* default */
|
||||
#define HDMI_SRC_SPDIF (1 << 0)
|
||||
#define HDMI_SRC_DSD (2 << 0)
|
||||
#define HDMI_SRC_HBR (3 << 0)
|
||||
|
||||
struct sh_mobile_hdmi_info {
|
||||
struct sh_mobile_lcdc_chan_cfg *lcd_chan;
|
||||
struct device *lcd_dev;
|
||||
unsigned int flags;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user