author | shuai.shao <shuai.shao@amlogic.com> | 2013-01-31 04:00:43 (GMT) |
---|---|---|
committer | shuai.shao <shuai.shao@amlogic.com> | 2013-01-31 04:00:43 (GMT) |
commit | 032c04c4dfce000b4297df5106a9721bb7925151 (patch) | |
tree | dff3e5ee871e3548cd9c98c047539127c1e61a01 | |
parent | dd1815af7239f7ae2af8292d8fae404e20318dc2 (diff) | |
download | audio-032c04c4dfce000b4297df5106a9721bb7925151.zip audio-032c04c4dfce000b4297df5106a9721bb7925151.tar.gz audio-032c04c4dfce000b4297df5106a9721bb7925151.tar.bz2 |
add route path rt3261_mixer_ctrl.h
-rwxr-xr-x | Android.mk | 5 | ||||
-rwxr-xr-x | audio_hw.c | 2 | ||||
-rwxr-xr-x | rt3261_mixer_ctrl.h | 897 |
3 files changed, 904 insertions, 0 deletions
@@ -42,6 +42,11 @@ ifeq ($(strip $(BOARD_ALSA_AUDIO)),tiny) ifeq ($(BOARD_AUDIO_CODEC),wm8960) LOCAL_CFLAGS += -DAML_AUDIO_WM8960 endif + + ifeq ($(BOARD_AUDIO_CODEC),rt3261) + LOCAL_CFLAGS += -DAML_AUDIO_RT3261 + endif + include $(BUILD_SHARED_LIBRARY) # The stub audio policy HAL module that can be used as a skeleton for @@ -50,6 +50,8 @@ #include "m3codec_mixer_ctl.h" #elif defined(AML_AUDIO_WM8960) #include "wm8960_mixer_ctrl.h" +#elif defined(AML_AUDIO_RT3261) +#include "rt3261_mixer_ctrl.h" #else struct route_setting { diff --git a/rt3261_mixer_ctrl.h b/rt3261_mixer_ctrl.h new file mode 100755 index 0000000..1c77857 --- a/dev/null +++ b/rt3261_mixer_ctrl.h @@ -0,0 +1,897 @@ +/* + * rt3261_mixer_ctrl.h -- RT3261 Mixer control for Android ICS + * + * Copyright 2012 Amlogic Corp. + * + */ + +#ifndef _RT3261_MIXER_CTRL_H_ +#define _RT3261_MIXER_CTRL_H_ + +struct route_setting +{ + char *ctl_name; + int intval; + char *strval; +}; + +struct route_setting output_speaker[] = { + { + .ctl_name = "Mono DAC MIXL DAC L2 Switch", + .intval = 0, + }, + { + .ctl_name = "Mono DAC MIXR DAC R2 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo ADC L1 Mux", + .strval = "ADC", + }, + { + .ctl_name = "Stereo ADC R1 Mux", + .strval = "ADC", + }, + { + .ctl_name = "Stereo ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 1, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 1, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 1, + }, + { + .ctl_name = "I2S2 mode Switch", + .strval = "Disable", + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting speaker_ringtone[] = { + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC L1 Mux", + .strval = "ADCL", + }, + { + .ctl_name = "Mono ADC R1 Mux", + .strval = "ADCR", + }, + { + .ctl_name = "Mono ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "IF2 ADC L Mux", + .strval = "Mono ADC MIXL", + }, + { + .ctl_name = "IF2 ADC R Mux", + .strval = "Mono ADC MIXR", + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 1, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 1, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 1, + }, + { + .ctl_name = "I2S2 mode Switch", + .strval = "Disable", + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting speaker_incall[] = { + { + .ctl_name = "I2S2 mode Switch", + .strval = "3G", + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 0, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC L1 Mux", + .strval = "ADCL", + }, + { + .ctl_name = "Mono ADC R1 Mux", + .strval = "ADCR", + }, + { + .ctl_name = "Mono ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "IF2 ADC L Mux", + .strval = "Mono ADC MIXL", + }, + { + .ctl_name = "IF2 ADC R Mux", + .strval = "Mono ADC MIXR", + }, + { + .ctl_name = "DAC L2 Mux", + .strval = "IF2", + }, + { + .ctl_name = "DAC R2 Mux", + .strval = "IF2", + }, + { + .ctl_name = "Mono DAC MIXL DAC L2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono DAC MIXR DAC R2 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L2 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R2 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 1, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 1, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 1, + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting output_headphone[] = { + { + .ctl_name = "Mono DAC MIXL DAC L2 Switch", + .intval = 0, + }, + { + .ctl_name = "Mono DAC MIXR DAC R2 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo ADC L1 Mux", + .strval = "ADC", + }, + { + .ctl_name = "Stereo ADC R1 Mux", + .strval = "ADC", + }, + { + .ctl_name = "Stereo ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL DAC L1 Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXR DAC R1 Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 0, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 0, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 0, + }, + { + .ctl_name = "HPOL MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "HPOR MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "I2S2 mode Switch", + .strval = "Disable", + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting headphone_ringtone[] = { + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC L1 Mux", + .strval = "ADCL", + }, + { + .ctl_name = "Mono ADC R1 Mux", + .strval = "ADCR", + }, + { + .ctl_name = "Mono ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "IF2 ADC L Mux", + .strval = "Mono ADC MIXL", + }, + { + .ctl_name = "IF2 ADC R Mux", + .strval = "Mono ADC MIXR", + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 1, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 1, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 1, + }, + { + .ctl_name = "HPOL MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "HPOR MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "I2S2 mode Switch", + .strval = "Disable", + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting headphone_incall[] = { + { + .ctl_name = "I2S2 mode Switch", + .strval = "3G", + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 0, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC L1 Mux", + .strval = "ADCL", + }, + { + .ctl_name = "Mono ADC R1 Mux", + .strval = "ADCR", + }, + { + .ctl_name = "Mono ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "IF2 ADC L Mux", + .strval = "Mono ADC MIXL", + }, + { + .ctl_name = "IF2 ADC R Mux", + .strval = "Mono ADC MIXR", + }, + { + .ctl_name = "DAC L2 Mux", + .strval = "IF2", + }, + { + .ctl_name = "DAC R2 Mux", + .strval = "IF2", + }, + { + .ctl_name = "Mono DAC MIXL DAC L2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono DAC MIXR DAC R2 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L2 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R2 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 0, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 0, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 0, + }, + { + .ctl_name = "HPOL MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "HPOR MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting headset[] = { + { + .ctl_name = "Mono DAC MIXL DAC L2 Switch", + .intval = 0, + }, + { + .ctl_name = "Mono DAC MIXR DAC R2 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo ADC L1 Mux", + .strval = "ADC", + }, + { + .ctl_name = "Stereo ADC R1 Mux", + .strval = "ADC", + }, + { + .ctl_name = "Stereo ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL DAC L1 Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXR DAC R1 Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 0, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 0, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 0, + }, + { + .ctl_name = "HPOL MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "HPOR MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "I2S2 mode Switch", + .strval = "Disable", + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting headset_ringtone[] = { + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC L1 Mux", + .strval = "ADCL", + }, + { + .ctl_name = "Mono ADC R1 Mux", + .strval = "ADCR", + }, + { + .ctl_name = "Mono ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "IF2 ADC L Mux", + .strval = "Mono ADC MIXL", + }, + { + .ctl_name = "IF2 ADC R Mux", + .strval = "Mono ADC MIXR", + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L1 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R1 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 1, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 1, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 1, + }, + { + .ctl_name = "HPOL MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "HPOR MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "I2S2 mode Switch", + .strval = "Disable", + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting headset_incall[] = { + { + .ctl_name = "I2S2 mode Switch", + .strval = "3G", + }, + { + .ctl_name = "Stereo DAC MIXL DAC L1 Switch", + .intval = 0, + }, + { + .ctl_name = "Stereo DAC MIXR DAC R1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXR BST1 Switch", + .intval = 0, + }, + { + .ctl_name = "RECMIXL BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "RECMIXR BST2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC L1 Mux", + .strval = "ADCL", + }, + { + .ctl_name = "Mono ADC R1 Mux", + .strval = "ADCR", + }, + { + .ctl_name = "Mono ADC MIXL ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono ADC MIXR ADC1 Switch", + .intval = 1, + }, + { + .ctl_name = "IF2 ADC L Mux", + .strval = "Mono ADC MIXL", + }, + { + .ctl_name = "IF2 ADC R Mux", + .strval = "Mono ADC MIXR", + }, + { + .ctl_name = "DAC L2 Mux", + .strval = "IF2", + }, + { + .ctl_name = "DAC R2 Mux", + .strval = "IF2", + }, + { + .ctl_name = "Mono DAC MIXL DAC L2 Switch", + .intval = 1, + }, + { + .ctl_name = "Mono DAC MIXR DAC R2 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXL DAC L2 Switch", + .intval = 1, + }, + { + .ctl_name = "OUT MIXR DAC R2 Switch", + .intval = 1, + }, + { + .ctl_name = "SPK MIXL OUT MIXL Switch", + .intval = 0, + }, + { + .ctl_name = "SPK MIXR OUT MIXR Switch", + .intval = 0, + }, + { + .ctl_name = "SPOL MIX SPKVOL L Switch", + .intval = 0, + }, + { + .ctl_name = "SPOR MIX SPKVOL R Switch", + .intval = 0, + }, + { + .ctl_name = "HPOL MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = "HPOR MIX HPVOL Switch", + .intval = 1, + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting mic_input[] = { + { + .ctl_name = "RECMIXL Mixer MIC1_BST1 Capture Switch", + .intval = 1, + }, + { + .ctl_name = "MIC1 Boost", + .intval = 3, + }, + { + .ctl_name = NULL, + }, +}; + +struct route_setting headset_mic[] = { + { + .ctl_name = "RECMIXL Mixer MIC2_BST1 Capture Switch", + .intval = 1, + }, + { + .ctl_name = "MIC2 Boost", + .intval = 3, + }, + { + .ctl_name = NULL, + }, +}; + +#endif //_RT3261_MIXER_CTRL_H_ + |