
# Android ALSA configuration file for RK29/RK28 reference platform using the rt3261(codec) ASoC audio.

##
## Mixer Devices
##
ctl.AndroidOut{
    type hw
    card 0
}
ctl.AndroidIn{
    type hw
    card 0
}


ctl.AndroidPlayback {
    type hw
}

ctl.AndroidRecord {
    type hw
}

pcm.AndroidPlayback {
    type hw
}

##################################################################################
#		#speaker normal
#		{name 'Mono DAC MIXL DAC L2 Switch' 			value off}
#		{name 'Mono DAC MIXR DAC R2 Switch' 			value off}
#		{name 'SPK MIXL DAC L2 Switch' 				value off}
#		{name 'SPK MIXR DAC R2 Switch' 				value off}
#		#speaker incall 
#		{name 'RECMIXL BST2 Switch'				value off}
#		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
#		{name 'DAC MIXL Stereo ADC Switch'			value off}
#		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
#		{name 'OUT MIXL DAC L2 Switch'				value off}
#		{name 'SPK MIXL OUT MIXL Switch'			value off}
#		{name 'OUT MIXR DAC L2 Switch'				value off}
#		{name 'SPK MIXR OUT MIXR Switch'			value off}
#		{name 'RECMIXR BST1 Switch'  				value off}
#		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
#		{name 'LOUT MIX DAC R1 Switch' 				value off}
#		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
#		{name 'Mono DAC MIXL DAC L2 Switch'			value off}
#		{name 'LOUT MIX DAC L1 Switch'				value off}
#		#headphone && headset normal
#		{name 'OUT MIXL DAC L2 Switch' 				value off}
#		{name 'OUT MIXR DAC R2 Switch' 				value off}
#		{name 'HPO MIX HPVOL Switch' 				value off}
#		#headphone && headset incall
#		{name 'RECMIXL BST2 Switch'				value off}
#		{name 'OUT MIXL DAC L2 Switch'				value off}
#		{name 'OUT MIXR DAC L2 Switch'				value off}
#		{name 'HPO MIX HPVOL Switch'				value off}
#		{name 'RECMIXR BST1 Switch'  				value off}
#		{name 'RECMIXR BST3 Switch'  				value off}
#		{name 'LOUT MIX DAC R1 Switch' 				value off}
#		{name 'LOUT MIX DAC L1 Switch'				value off}
#		#bt incall
#		{name 'DAC MIXL INF1 Switch' 				value off}
#		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
#		{name 'OUT MIXL DAC L1 Switch'  			value off}
#		{name 'LOUT MIX OUTVOL L Switch'   			value off}
#		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
#		#close other mixer 
#		{name 'OUT MIXL REC MIXL Switch'			value off}
#		{name 'OUT MIXR REC MIXR Switch' 			value off}
##################################################################################

##
## # Speaker
##

pcm.AndroidPlayback_Speaker_normal {
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		                value 'Disable'}
		
		{name 'Speaker Playback Switch'			value [off off]}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0} 
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}
        ]
    }
}

pcm.AndroidPlayback_Speaker_incall{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		                value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 1}  

		#OPEN ROUTE 
		{name 'RECMIXL BST2 Switch'				value on}
		{name 'Stereo ADC L1 Mux' 				value 'ADC'}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value on}
		{name 'DAC MIXL Stereo ADC Switch'			value on}
		{name 'Mono DAC MIXL DAC L1 Switch'			value on}
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT MIXL DAC L2 Switch'				value on}
		{name 'SPK MIXL OUT MIXL Switch'			value on}
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT MIXR DAC L2 Switch'				value on}
		{name 'SPK MIXR OUT MIXR Switch'			value on}

		#SEND DOWNSTREAM INTO DSP
		{name 'RxDP1 Mux'					value 'DAC1'}
		{name 'RxDP Mux'					value 'RxDP1'}
		
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN2 Boost'					value 0}

		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127
		{name 'ADC Capture Volume'                   		value [55 55]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#SEND UPSTREAM INTO DSP
		{name 'RECMIXR BST1 Switch'  				value on}
		{name 'Mono ADC R1 Mux' 				value 'ADCR'}
		{name 'Mono ADC MIXR ADC1 Switch'  			value on}
		{name 'RxDC Mux' 					value 'Mono_ADC'}
		{name 'IF2 ADC R Mux' 					value 'TxDP'}
		{name 'Mono dacr Mux' 					value 'TxDP_R'}
		{name 'DACR Select'					value 'IF2_ADC'}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value on}
		{name 'LOUT MIX DAC R1 Switch' 				value on}

		#'Single ended'=0, 'Differential'=1
		{name 'IN1 Mode Control'				value 'Differential'}
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN1 Boost'					value 0}
		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127  
		{name 'Mono ADC Capture Volume' 			value [71 71]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#OPEN KEY TONE
		{name 'DAC L2 Mux'					value 'IF2'}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value on}
		{name 'Mono DAC MIXL DAC L2 Switch'			value on}
		{name 'LOUT MIX DAC L1 Switch'				value on}

		#speaker normal
		{name 'Mono DAC MIXR DAC R2 Switch' 			value off}
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}
	
		#headphone && headset incall
		
		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}

		{name 'OUT Playback Switch'				value [on on]}
		{name 'Speaker Playback Switch'				value [on on]}

        ]
    }
}


pcm.AndroidPlayback_Speaker_ringtone{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}

		{name 'Speaker Playback Switch'				value [off off]}
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}

        ]
    }
}
pcm.AndroidPlayback_Speaker_voip {
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [

		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}

		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}

		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}

		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}
        ]
    }
}


##
## # Earpiece(SPK)
##
pcm.AndroidPlayback_Earpiece_normal{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}

		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}  
		
		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}
        ]
    }
}
pcm.AndroidPlayback_Earpiece_voip{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}

		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}

		#speaker incall
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}
        ]
    }
}


pcm.AndroidPlayback_Earpiece_incall{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 1}  

		#OPEN ROUTE 
		{name 'RECMIXL BST2 Switch'				value on}
		{name 'Stereo ADC L1 Mux' 				value 'ADC'}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value on}
		{name 'DAC MIXL Stereo ADC Switch'			value on}
		{name 'Mono DAC MIXL DAC L1 Switch'			value on}
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT MIXL DAC L2 Switch'				value on}
		{name 'SPK MIXL OUT MIXL Switch'			value on}
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'OUT MIXR DAC L2 Switch'				value on}
		{name 'SPK MIXR OUT MIXR Switch'			value on}

		#SEND DOWNSTREAM INTO DSP
		{name 'RxDP1 Mux'					value 'DAC1'}
		{name 'RxDP Mux'					value 'RxDP1'}
		
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN2 Boost'					value 0}

		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127
		{name 'ADC Capture Volume'                   		value [55 55]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#SEND UPSTREAM INTO DSP
		{name 'RECMIXR BST1 Switch'  				value on}
		{name 'Mono ADC R1 Mux' 				value 'ADCR'}
		{name 'Mono ADC MIXR ADC1 Switch'  			value on}
		{name 'RxDC Mux' 					value 'Mono_ADC'}
		{name 'IF2 ADC R Mux' 					value 'TxDP'}
		{name 'Mono dacr Mux' 					value 'TxDP_R'}
		{name 'DACR Select'					value 'IF2_ADC'}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value on}
		{name 'LOUT MIX DAC R1 Switch' 				value on}

		#'Single ended'=0, 'Differential'=1
		{name 'IN1 Mode Control'				value 'Differential'}
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN1 Boost'					value 0}
		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127  
		{name 'Mono ADC Capture Volume' 			value [71 71]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#OPEN KEY TONE
		{name 'DAC L2 Mux'					value 'IF2'}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value on}
		{name 'Mono DAC MIXL DAC L2 Switch'			value on}
		{name 'LOUT MIX DAC L1 Switch'				value on}

		#speaker normal
		{name 'Mono DAC MIXR DAC R2 Switch' 			value off}
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}
	
		#headphone && headset incall
		
		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}

		{name 'OUT Playback Switch'				value [on on]}
		{name 'Speaker Playback Switch'				value [on on]}
        ]
    }
}

pcm.AndroidPlayback_Earpiece_ringtone{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}

        ]
    }
}


##
## # Headphone
##
pcm.AndroidPlayback_Headphone_normal {
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}  
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#speaker normal
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}
		
		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'HP mute Switch'					value on}
        ]
    }
}
pcm.AndroidPlayback_Headphone_voip {
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}

		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}

		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#speaker normal
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'HP mute Switch'					value on}
        ]
    }
}

pcm.AndroidPlayback_Headphone_incall{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 1}  
		
		#OPEN ROUTE 
		{name 'RECMIXL BST2 Switch'				value on}
		{name 'Stereo ADC L1 Mux' 				value 'ADC'}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value on}
		{name 'DAC MIXL Stereo ADC Switch'			value on}
		{name 'Mono DAC MIXL DAC L1 Switch'			value on}
		{name 'OUT MIXL DAC L2 Switch'				value on}
		{name 'OUT MIXR DAC L2 Switch'				value on}
		{name 'HPO MIX HPVOL Switch'				value on}
		
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN2 Boost'					value 0}

		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127
		{name 'ADC Capture Volume'                   		value [55 55]}

		{name 'RECMIXR BST1 Switch'  				value on}
		{name 'Mono ADC R1 Mux' 				value 'ADCR'}
		{name 'Mono ADC MIXR ADC1 Switch'  			value on}
		{name 'IF2 ADC R Mux' 					value 'Mono ADC MIXR'}
		{name 'Mono dacr Mux' 					value 'TxDP_R'}
		{name 'DACR Select'					value 'IF2_ADC'}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value on}
		{name 'LOUT MIX DAC R1 Switch' 				value on}

		#'Single ended'=0, 'Differential'=1
		{name 'IN1 Mode Control'				value 'Differential'}
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN1 Boost'					value 4}
		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127  
		{name 'Mono ADC Capture Volume' 			value [47 47]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#OPEN KEY TONE
		{name 'DAC L2 Mux'					value 'IF2'}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value on}
		{name 'Mono DAC MIXL DAC L2 Switch'			value on}
		{name 'LOUT MIX DAC L1 Switch'				value on}

		#speaker normal
		{name 'Mono DAC MIXR DAC R2 Switch' 			value off}
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}

		{name 'OUT Playback Switch'				value [on on]}
		{name 'HP mute Switch'					value on}
        ]
    }
}

pcm.AndroidPlayback_Speaker_Headphone_normal{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
		
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}
		{name 'HP mute Switch'					value on}
        ]
    }
}

pcm.AndroidPlayback_Speaker_Headphone_ringtone{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}
		{name 'HP mute Switch'					value on}
        ]
    }
}

pcm.AndroidPlayback_Headphone_ringtone{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}

		{name 'Modem Input Switch'				value 0}  
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#speaker normal
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}
		
		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'HP mute Switch'					value on}
        ]
    }
}


##
## # Headset
##
pcm.AndroidPlayback_Headset_normal {
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}  
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#speaker normal
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}
		
		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'HP mute Switch'					value on}
           	
        ]
    }
}
pcm.AndroidPlayback_Headset_voip {
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 0}

		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}

		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#speaker normal
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'HP mute Switch'					value on}

        ]
    }
}

pcm.AndroidPlayback_Headset_incall{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		{name 'OUT Playback Switch'				value [off off]}
		{name 'Modem Input Switch'				value 1}  

		#OPEN ROUTE 
		{name 'RECMIXL BST2 Switch'				value on}
		{name 'Stereo ADC L1 Mux' 				value 'ADC'}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value on}
		{name 'DAC MIXL Stereo ADC Switch'			value on}
		{name 'Mono DAC MIXL DAC L1 Switch'			value on}
		{name 'OUT MIXL DAC L2 Switch'				value on}
		{name 'OUT MIXR DAC L2 Switch'				value on}
		{name 'HPO MIX HPVOL Switch'				value on}
		
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN2 Boost'					value 0}

		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127
		{name 'ADC Capture Volume'                   		value [55 55]}

		{name 'RECMIXR BST3 Switch'  				value on}
		{name 'Mono ADC R1 Mux' 				value 'ADCR'}
		{name 'Mono ADC MIXR ADC1 Switch'  			value on}
		{name 'IF2 ADC R Mux' 					value 'Mono ADC MIXR'}
		{name 'Mono dacr Mux' 					value 'TxDP_R'}
		{name 'DACR Select'					value 'IF2_ADC'}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value on}
		{name 'LOUT MIX DAC R1 Switch' 				value on}

		#'Single ended'=0, 'Differential'=1
		{name 'IN3 Mode Control'				value 'Single ended'}
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN3 Boost'					value 4}
		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127  
		{name 'Mono ADC Capture Volume' 			value [47 47]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#OPEN KEY TONE
		{name 'DAC L2 Mux'					value 'IF2'}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value on}
		{name 'Mono DAC MIXL DAC L2 Switch'			value on}
		{name 'LOUT MIX DAC L1 Switch'				value on}

		#speaker normal
		{name 'Mono DAC MIXR DAC R2 Switch' 			value off}
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'RECMIXR BST1 Switch'  				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}

		{name 'OUT Playback Switch'				value [on on]}
		{name 'HP mute Switch'					value on}
        ]
    }
}

pcm.AndroidPlayback_Speaker_Headset_normal{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}
		{name 'HP mute Switch'					value on}
		
        ]
    }
}

pcm.AndroidPlayback_Speaker_Headset_ringtone{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		{name 'SPK MIXL DAC L2 Switch' 				value on}
		{name 'SPK MIXR DAC R2 Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Speaker Playback Volume' 			value [31 31]}
		#min=0,max=10
		{name 'Class D SPK Ratio Control' 			value 10}

		#speaker incall 
		{name 'RECMIXL BST2 Switch'				value off}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'Speaker Playback Switch'				value [on on]}
		{name 'HP mute Switch'					value on}	
        ]
    }
}

pcm.AndroidPlayback_Headset_ringtone{
    type hooks
    slave.pcm {
        type hw
        card 0
        device 0
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}        
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}

		{name 'Modem Input Switch'				value 0}  
		
		#OPEN ROUTE
		{name 'DAC L2 Mux'  					value 'IF2'}
		{name 'DAC R2 Mux'  					value 'IF2'}
		{name 'Mono dacr Mux' 					value 'TxDC_R'}
		{name 'DACR Select'					value 'IF2_DAC'}
		{name 'Mono DAC MIXL DAC L2 Switch' 			value on}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value on}
		{name 'OUT MIXL DAC L2 Switch' 				value on}
		{name 'OUT MIXR DAC R2 Switch' 				value on}
		{name 'HPO MIX HPVOL Switch' 				value on}
		
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=31
		{name 'Headphone Playback Volume' 			value [31 31]}
		#dBscale-min=-65.625dB,step=0.375dB,min=0,max=175
		{name 'Mono DAC Playback Volume'			value [175 175]}

		#speaker normal
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'Stereo ADC MIXL ADC1 Switch' 			value off}
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}
		
		#bt incall
		{name 'DAC MIXL INF1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value off}
		{name 'OUT MIXL DAC L1 Switch'  			value off}
		{name 'LOUT MIX OUTVOL L Switch'   			value off}

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off}
		{name 'DAC MIXR Stereo ADC Switch'              	value off}

		{name 'HP mute Switch'					value on}
           	
        ]
    }
}

##
## # AndroidCapture
##
pcm.AndroidCapture {
    type hooks
    slave.pcm default
    hooks.0 {
        type ctl_elems
        hook_args [

		{name 'RECMIXR BST3 Switch' 				value off}

		#OPEN ROUTE
		{name 'RECMIXR BST1 Switch' 				value on}
		{name 'Mono ADC R1 Mux' 				value 'ADCR'}
		{name 'Mono ADC MIXR ADC1 Switch'			value on}
		{name 'RxDC Mux' 					value 'Mono_ADC'}
		{name 'IF2 ADC R Mux' 					value 'TxDP'}
		{name 'ADC IF2 Data Switch'				value 'right copy to left'}

		#'Single ended'=0, 'Differential'=1
		{name 'IN1 Mode Control'				value 'Differential'}
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN1 Boost'					value 0}
		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127  
		{name 'Mono ADC Capture Volume' 			value [71 71]}
		
        ]
    }
}

pcm.AndroidCapture_Bluetooth_voip {
    type hooks
    slave.pcm default
    hooks.0 {
        type ctl_elems
        hook_args [
        # IF1_DAC_L -> DACL1 -> Mono_DAC_Mixer_L -> Mono ADC L1 Mux  ->Mono ADC MIXL->IF2 ADC L Mux->  IF2_ADC_L  
        {name 'DAC MIXL INF1 Switch'  value on}
        {name 'Mono DAC MIXL DAC L1 Switch'  value on}
        {name 'Mono ADC L1 Mux'   value 'Mono DAC MIXL'}
        {name 'Mono ADC MIXL ADC1 Switch'  value on}
        {name 'IF2 ADC L Mux'  value  'Mono ADC MIXL' }
        {name 'ADC IF2 Data Switch' value 'Normal'}
        {name 'DAC MIXR INF1 Switch'  value on}
        {name 'Mono DAC MIXR DAC R1 Switch'  value on}
        {name 'Mono ADC R1 Mux'   value 'Mono DAC MIXR'}
        {name 'Mono ADC MIXR ADC1 Switch'  value on}
        {name 'IF2 ADC R Mux'  value  'Mono ADC MIXR' }
        #  MX-2B[12]       MX-2B[10]      MX-2B[4]       MX-2B[2]    
        #  上行必须必须关掉的，否则下行的声音会导到上行(IF2 DAC为下行)，对方能听到自己的回音
        {name 'Mono DAC MIXL DAC L2 Switch'  value off}
        {name 'Mono DAC MIXR DAC R2 Switch'  value off}
        {name 'Mono DAC MIXL DAC R2 Switch'  value off}
        {name 'Mono DAC MIXR DAC L2 Switch'  value off}
	     {name 'Mono ADC Capture Volume' 	 value [127 127]}
	     {name 'DAC1 Playback Volume'	 	value [175 175]}
        ]
    }
}

pcm.AndroidCapture_Headset_normal {
    type hooks
    slave.pcm default
    hooks.0 {
        type ctl_elems
        hook_args [

		{name 'RECMIXR BST1 Switch' 				value off}

		#OPEN ROUTE
		{name 'RECMIXR BST3 Switch' 				value on}
		{name 'Mono ADC R1 Mux' 				value 'ADCR'}
		{name 'Mono ADC MIXR ADC1 Switch'			value on}
		{name 'RxDC Mux' 					value 'Mono_ADC'}
		{name 'IF2 ADC R Mux' 					value 'TxDP'}
		{name 'ADC IF2 Data Switch'				value 'right copy to left'}

		#'Single ended'=0, 'Differential'=1
		{name 'IN3 Mode Control'				value 'Single ended'}
		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN3 Boost'					value 0}
		#dBscale-min=-17.625dB,step=0.375dB,min=0,max=127  
		{name 'Mono ADC Capture Volume' 			value [71 71]}
        ]
    }
}


##
## # BT
##
pcm.AndroidPlayback_Bluetooth_voip{
    type hooks
    slave.pcm{
        type hw
        card 0
        device 1
    }
    hooks.0 {
        type ctl_elems
        hook_args [
	    # IF2 DAC L ->DAC L2 Volume ->DIG MIXL ->Stereo ADC L2 Mux ->Stereo ADC MIXL ->IF1_ADC_L 
        {name 'DAC L2 Mux'  value 'IF2'}
        {name 'DIG MIXL DAC L2 Switch'  value on}
        {name 'Stereo ADC L2 Mux'   value 'DMIC1'}
        {name 'Stereo ADC L2 Mux'   value 'DIG MIX'}
        {name 'Stereo ADC MIXL ADC2 Switch'  value on}
        {name 'DAC R2 Mux'  value 'IF2'}
        {name 'Mono dacr Mux'  value 'TxDC_R'}
        {name 'DACR Select'  value 'IF2_DAC'}
        {name 'DIG MIXR DAC R2 Switch'  value on}
        {name 'Stereo ADC R2 Mux'   value 'DMIC1'}
        {name 'Stereo ADC R2 Mux'   value 'DIG MIX'}
        {name 'Stereo ADC MIXR ADC2 Switch'  value on}
        # MX-2C[15]   MX-2C[11] 
        # 下行必须关掉的，否则上行的声音会导到下行，蓝牙耳机能听到自己的回环侧音 
        {name 'DIG MIXL DAC L1 Switch'  value off}
        {name 'DIG MIXR DAC R1 Switch'  value off}
        # MX-29[15]   MX-29[7]  
        # 下行可以不关掉的，可以通过它把下行导到喇叭，原理上关不关都不影响
        {name 'DAC MIXL Stereo ADC Switch'   value off}
        {name 'DAC MIXR Stereo ADC Switch'   value off}
        # DIG MIXL ->Stereo ADC L1 Mux ->Stereo ADC MIXL 
        #{name 'Stereo ADC L1 Mux'   value 'ADC'}
        #{name 'Stereo ADC L1 Mux'   value 'DIG MIX'}
        #{name 'Stereo ADC MIXL ADC1 Switch'  value on}
        #{name 'Stereo ADC R1 Mux'   value 'ADC'}
        #{name 'Stereo ADC R1 Mux'   value 'DIG MIX'}
        #{name 'Stereo ADC MIXR ADC1 Switch'  value on}
        #测试下行声音从普通耳机放出
        {name 'DAC MIXL Stereo ADC Switch'  value off}    
        {name 'Stereo DAC MIXL DAC L1 Switch'  value off}
        {name 'SPK MIXL DAC L1 Switch'   value off}
        {name 'SPOL MIX SPKVOL L Switch'  value off}
        {name 'OUT MIXL DAC L1 Switch'  value off}
        {name 'HPO MIX HPVOL Switch'  value off}
        {name 'Speaker Playback Switch' value [off off]}
        {name 'HP mute Switch' value off}

		  #enable ASRC，同时操作了reg61[7](打开则上行有声)，reg62[15](打开则下行有声)，实测必须放通路最后，否则reg61[7]位仍然会被关掉，reg62[15]不会被关
		  {name 'ASRC Switch'		value 'Enable'}      

	     {name 'Mono DAC Playback Volume' 	 value [127 127]}
	     {name 'ADC Capture Volume' 	 	 value [47 47]}   
				  
        ]
    }
}

pcm.AndroidPlayback_Bluetooth_incall {
    type hooks
    slave {
        pcm{
            type hw
            card 0
            device 1
        }
        #rate 8000
    }
    hooks.0 {
        type ctl_elems

        hook_args [
		#disable ASRC
		{name 'ASRC Switch'		value 'Disable'}
        
		{name 'Speaker Playback Switch'				value [off off]}
		{name 'HP mute Switch'					value off}

		{name 'Modem Input Switch'				value 1}  

        	#INF1_DAC -> DAC MIXL
		{name 'DAC MIXL INF1 Switch' 				value on}
		{name 'Stereo DAC MIXL DAC L1 Switch'  			value on}
		{name 'OUT MIXL DAC L1 Switch'  			value on}
		{name 'LOUT MIX OUTVOL L Switch'   			value on}

		{name 'Mono ADC Capture Volume'         		value [127 127]}
		{name 'Mono DAC Playback Volume'        		value [175 175]}
		#dBscale-min=-46.50dB,step=1.50dB,min=0,max=39
		{name 'OUT Playback Volume' 				value [39 39]}

		#IN2 -> ADC_L -> Stereo_ADC_Mixer_L -> IF1_ADC_L  
		{name 'RECMIXL BST2 Switch' 				value on}
		{name 'Stereo ADC L1 Mux' 				value 'ADC'}
		{name 'Stereo ADC MIXL ADC1 Switch' 			value on}

		#min=0,max=8, bypass=0=0db, 30db=3, 52db=8
		{name 'IN2 Boost' 					value 0}
		{name 'ADC Capture Volume' 				value [45 45]}   

		#speaker normal
		{name 'Mono DAC MIXL DAC L2 Switch' 			value off}
		{name 'Mono DAC MIXR DAC R2 Switch' 			value off}
		{name 'SPK MIXL DAC L2 Switch' 				value off}
		{name 'SPK MIXR DAC R2 Switch' 				value off}

		#speaker incall 
		{name 'DAC MIXL Stereo ADC Switch'			value off}
		{name 'Mono DAC MIXL DAC L1 Switch'			value off}
		{name 'OUT MIXL DAC L2 Switch'				value off}
		{name 'SPK MIXL OUT MIXL Switch'			value off}
		{name 'OUT MIXR DAC L2 Switch'				value off}
		{name 'SPK MIXR OUT MIXR Switch'			value off}
		{name 'Stereo DAC MIXR DAC R2 Switch' 			value off}
		{name 'LOUT MIX DAC R1 Switch' 				value off}
		{name 'Stereo DAC MIXL DAC L2 Switch'			value off}
		{name 'LOUT MIX DAC L1 Switch'				value off}

		#headphone && headset normal
		{name 'OUT MIXR DAC R2 Switch' 				value off}
		{name 'HPO MIX HPVOL Switch' 				value off}

		#headphone && headset incall	

		#close other mixer 
		{name 'OUT MIXL REC MIXL Switch'			value off}
		{name 'OUT MIXR REC MIXR Switch' 			value off} 
		{name 'DAC MIXR Stereo ADC Switch'              	value off}      
        ]
    }
}

pcm.AndroidPlayback_Bluetooth_normal {
    type hooks
    slave {
        pcm{
            type hw
            card 0
            device 1
        }
    }
    hooks.0 {
        type ctl_elems

        hook_args [
			#disable ASRC
			{name 'ASRC Switch'		value 'Disable'}
        ]
    }
}
##
## # HDMI
##
pcm.AndroidPlayback_Speaker_HDMI_normal{
    type hooks
    slave.pcm{
		type hw
		card 0
		device 0
	}
    hooks.0 {
        type ctl_elems
        hook_args [
		    #disable ASRC
		    {name 'ASRC Switch'		value 'Disable'}
		
			{name 'Speaker Playback Switch'				value [off off]}
			{name 'HP mute Switch'					value off}
		]
	}
}
pcm.AndroidPlayback_HDMI_normal{
    type hooks
    slave.pcm{
		type hw
		card 0
		device 0
	}
    hooks.0 {
        type ctl_elems
        hook_args [
		    #disable ASRC
		    {name 'ASRC Switch'		value 'Disable'}        
        
			{name 'Speaker Playback Switch'				value [off off]}
			{name 'HP mute Switch'					value off}
		]
	}
}
