msm: dba: add additional audio configuration parameters
Add additional audio configuration parameters to the MSM DBA(Display Bridge Abstraction) interface driver. Change-Id: I7fef9b1a192a872c2e89dd9a7d6e942a1b77c6cb Signed-off-by: Vinu Deokaran <vinud@codeaurora.org> Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
This commit is contained in:
parent
92198b45df
commit
bc9586706d
1 changed files with 80 additions and 0 deletions
|
@ -93,6 +93,48 @@ enum msm_dba_audio_format_type {
|
|||
MSM_DBA_AUDIO_FMT_COMPRESSED = BIT(1),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum msm_dba_audio_copyright_type - audio copyright
|
||||
* @MSM_DBA_AUDIO_COPYRIGHT_PROTECTED: copy right protected
|
||||
* @MSM_DBA_AUDIO_COPYRIGHT_NOT_PROTECTED: not copy right protected
|
||||
*/
|
||||
enum msm_dba_audio_copyright_type {
|
||||
MSM_DBA_AUDIO_COPYRIGHT_PROTECTED = BIT(0),
|
||||
MSM_DBA_AUDIO_COPYRIGHT_NOT_PROTECTED = BIT(1),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum msm_dba_audio_pre_emphasis_type - pre-emphasis
|
||||
* @MSM_DBA_AUDIO_NO_PRE_EMPHASIS: 2 audio channels w/o pre-emphasis
|
||||
* @MSM_DBA_AUDIO_PRE_EMPHASIS_50_15us: 2 audio channels with 50/15uS
|
||||
*/
|
||||
enum msm_dba_audio_pre_emphasis_type {
|
||||
MSM_DBA_AUDIO_NO_PRE_EMPHASIS = BIT(0),
|
||||
MSM_DBA_AUDIO_PRE_EMPHASIS_50_15us = BIT(1),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum msm_dba_audio_clock_accuracy - Audio Clock Accuracy
|
||||
* @MSM_DBA_AUDIO_CLOCK_ACCURACY_LVL1: normal accuracy +/-1000 x 10^-6
|
||||
* @MSM_DBA_AUDIO_CLOCK_ACCURACY_LVL2: high accuracy +/- 50 x 10^-6
|
||||
* @MSM_DBA_AUDIO_CLOCK_ACCURACY_LVL3: variable pitch shifted clock
|
||||
*/
|
||||
enum msm_dba_audio_clock_accuracy {
|
||||
MSM_DBA_AUDIO_CLOCK_ACCURACY_LVL1 = BIT(1),
|
||||
MSM_DBA_AUDIO_CLOCK_ACCURACY_LVL2 = BIT(0),
|
||||
MSM_DBA_AUDIO_CLOCK_ACCURACY_LVL3 = BIT(2),
|
||||
};
|
||||
|
||||
/**
|
||||
* enum msm_dba_channel_status_source - CS override
|
||||
* @MSM_DBA_AUDIO_CS_SOURCE_I2S_STREAM: use channel status bits from I2S stream
|
||||
* @MSM_DBA_AUDIO_CS_SOURCE_REGISTERS: use channel status bits from registers
|
||||
*/
|
||||
enum msm_dba_channel_status_source {
|
||||
MSM_DBA_AUDIO_CS_SOURCE_I2S_STREAM,
|
||||
MSM_DBA_AUDIO_CS_SOURCE_REGISTERS
|
||||
};
|
||||
|
||||
/**
|
||||
* enum msm_dba_audio_sampling_rates_type - audio sampling rates
|
||||
* @MSM_DBA_AUDIO_32KHZ: 32KHz sampling rate
|
||||
|
@ -105,7 +147,9 @@ enum msm_dba_audio_sampling_rates_type {
|
|||
MSM_DBA_AUDIO_32KHZ = BIT(0),
|
||||
MSM_DBA_AUDIO_44P1KHZ = BIT(1),
|
||||
MSM_DBA_AUDIO_48KHZ = BIT(2),
|
||||
MSM_DBA_AUDIO_88P2KHZ = BIT(1),
|
||||
MSM_DBA_AUDIO_96KHZ = BIT(3),
|
||||
MSM_DBA_AUDIO_176P4KHZ = BIT(1),
|
||||
MSM_DBA_AUDIO_192KHZ = BIT(4),
|
||||
};
|
||||
|
||||
|
@ -159,6 +203,22 @@ enum msm_dba_video_aspect_ratio {
|
|||
MSM_DBA_AR_MAX
|
||||
};
|
||||
|
||||
enum msm_dba_audio_word_endian_type {
|
||||
MSM_DBA_AUDIO_WORD_LITTLE_ENDIAN = 0,
|
||||
MSM_DBA_AUDIO_WORD_BIG_ENDIAN,
|
||||
MSM_DBA_AUDIO_WORD_ENDIAN_MAX
|
||||
};
|
||||
|
||||
/**
|
||||
* msm_dba_audio_op_mode - i2s audio operation mode
|
||||
* @MSM_DBA_AUDIO_MODE_MANUAL: Manual mode
|
||||
* @MSM_DBA_AUDIO_MODE_AUTOMATIC: Automatic mode
|
||||
*/
|
||||
enum msm_dba_audio_op_mode {
|
||||
MSM_DBA_AUDIO_MODE_MANUAL,
|
||||
MSM_DBA_AUDIO_MODE_AUTOMATIC,
|
||||
};
|
||||
|
||||
/**
|
||||
* typedef *msm_dba_cb() - Prototype for callback function
|
||||
* @data: Pointer to user data provided with register API
|
||||
|
@ -242,12 +302,32 @@ struct msm_dba_capabilities {
|
|||
* @format: Compressed vs Uncompressed formats.
|
||||
* @channels: Number of channels.
|
||||
* @i2s_fmt: I2S data packing format. This is valid only if interface is I2S.
|
||||
* @sampling_rate: sampling rate of audio data
|
||||
* @word_size: word size
|
||||
* @word_endianness: little or big endian words
|
||||
*/
|
||||
struct msm_dba_audio_cfg {
|
||||
enum msm_dba_audio_interface_type interface;
|
||||
enum msm_dba_audio_format_type format;
|
||||
enum msm_dba_audio_channel_count channels;
|
||||
enum msm_dba_audio_i2s_format i2s_fmt;
|
||||
enum msm_dba_audio_sampling_rates_type sampling_rate;
|
||||
enum msm_dba_audio_word_bit_depth word_size;
|
||||
enum msm_dba_audio_word_endian_type word_endianness;
|
||||
enum msm_dba_audio_copyright_type copyright;
|
||||
enum msm_dba_audio_pre_emphasis_type pre_emphasis;
|
||||
enum msm_dba_audio_clock_accuracy clock_accuracy;
|
||||
enum msm_dba_channel_status_source channel_status_source;
|
||||
enum msm_dba_audio_op_mode mode;
|
||||
|
||||
u32 channel_status_category_code;
|
||||
u32 channel_status_source_number;
|
||||
u32 channel_status_v_bit;
|
||||
u32 channel_allocation;
|
||||
u32 channel_status_word_length;
|
||||
|
||||
u32 n;
|
||||
u32 cts;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue