diff options
author | Alan Tull <r80115@freescale.com> | 2012-01-26 11:37:01 -0600 |
---|---|---|
committer | Alan Tull <r80115@freescale.com> | 2012-02-08 12:13:24 -0600 |
commit | 32f2a8c89a89e447108c2bccacdc19e41f545828 (patch) | |
tree | 1bc850d12224ae3f3012c460d98d3d0fff21d184 /arch/arm/plat-mxc/include | |
parent | 53d272eb75d242b25eb46c8db8355067e072f189 (diff) |
ENGR00172342-1 EDID parse audio data blocks
Add functionality to parse Audio Data Blocks from EDID data to
find out what modes of LPCM are suppored by the HDMI sink device.
The parsed settings are saved in the hdmi mfd. The HDMI audio driver
will check the settings when the audio stream is opened and will
then apply appropriate constraints.
If we are unable to read from the EDID, then we default to supporting
Basic Audio as defined by the HDMI specification (stereo, 16 bit,
32KHz, 44.1KHz, 48KHz PCM).
Signed-off-by: Alan Tull <r80115@freescale.com>
Diffstat (limited to 'arch/arm/plat-mxc/include')
-rwxr-xr-x | arch/arm/plat-mxc/include/mach/mxc_edid.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/arch/arm/plat-mxc/include/mach/mxc_edid.h b/arch/arm/plat-mxc/include/mach/mxc_edid.h index 4cbbb78ad703..10baa01bf9b1 100755 --- a/arch/arm/plat-mxc/include/mach/mxc_edid.h +++ b/arch/arm/plat-mxc/include/mach/mxc_edid.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2011 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2009-2012 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -26,10 +26,31 @@ #ifndef MXC_EDID_H #define MXC_EDID_H +#include <linux/fb.h> + #define FB_VMODE_ASPECT_4_3 0x10 #define FB_VMODE_ASPECT_16_9 0x20 #define FB_VMODE_ASPECT_MASK (FB_VMODE_ASPECT_4_3 | FB_VMODE_ASPECT_16_9) +enum cea_audio_coding_types { + AUDIO_CODING_TYPE_REF_STREAM_HEADER = 0, + AUDIO_CODING_TYPE_LPCM = 1, + AUDIO_CODING_TYPE_AC3 = 2, + AUDIO_CODING_TYPE_MPEG1 = 3, + AUDIO_CODING_TYPE_MP3 = 4, + AUDIO_CODING_TYPE_MPEG2 = 5, + AUDIO_CODING_TYPE_AACLC = 6, + AUDIO_CODING_TYPE_DTS = 7, + AUDIO_CODING_TYPE_ATRAC = 8, + AUDIO_CODING_TYPE_SACD = 9, + AUDIO_CODING_TYPE_EAC3 = 10, + AUDIO_CODING_TYPE_DTS_HD = 11, + AUDIO_CODING_TYPE_MLP = 12, + AUDIO_CODING_TYPE_DST = 13, + AUDIO_CODING_TYPE_WMAPRO = 14, + AUDIO_CODING_TYPE_RESERVED = 15, +}; + struct mxc_edid_cfg { bool cea_underscan; bool cea_basicaudio; @@ -43,6 +64,10 @@ struct mxc_edid_cfg { bool vsd_dc_30bit; bool vsd_dc_y444; bool vsd_dvi_dual; + + u8 max_channels; + u8 sample_sizes; + u8 sample_rates; }; int mxc_edid_var_to_vic(struct fb_var_screeninfo *var); |