mirror of
				https://github.com/OpenVoiceOS/OpenVoiceOS
				synced 2025-06-05 22:19:21 +02:00 
			
		
		
		
	Second pass on implementing UCM within the OS
This commit is contained in:
		| @@ -1 +1 @@ | ||||
| ../../XMOS/sndxvf3510/sndxvf3510.conf | ||||
| ../../RaspberryPi/XMOS/sndxvf3510/sndxvf3510.conf | ||||
| @@ -109,8 +109,6 @@ BR2_PACKAGE_EROFS_UTILS_LZMA=y | ||||
| BR2_PACKAGE_EROFS_UTILS_EROFSFUSE=y | ||||
| BR2_PACKAGE_FUSE_OVERLAYFS=y | ||||
| BR2_PACKAGE_NTFS_3G=y | ||||
| BR2_PACKAGE_GLMARK2=y | ||||
| BR2_PACKAGE_KMSCUBE=y | ||||
| BR2_PACKAGE_MESA3D=y | ||||
| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y | ||||
| BR2_PACKAGE_MESA3D_OPENGL_ES=y | ||||
| @@ -162,6 +160,8 @@ BR2_PACKAGE_LIBNFS=y | ||||
| BR2_PACKAGE_LIBSYSFS=y | ||||
| BR2_PACKAGE_LOCKDEV=y | ||||
| BR2_PACKAGE_PHYSFS=y | ||||
| BR2_PACKAGE_JPEG=y | ||||
| BR2_PACKAGE_LIBPNG=y | ||||
| BR2_PACKAGE_JITTERENTROPY_LIBRARY=y | ||||
| BR2_PACKAGE_LIBAIO=y | ||||
| BR2_PACKAGE_LIBGPIOD2=y | ||||
| @@ -251,6 +251,7 @@ BR2_PACKAGE_HTOP=y | ||||
| BR2_PACKAGE_IOTOP=y | ||||
| BR2_PACKAGE_NUMACTL=y | ||||
| BR2_PACKAGE_PODMAN=y | ||||
| BR2_PACKAGE_PROCPS_NG=y | ||||
| BR2_PACKAGE_SHADOW=y | ||||
| BR2_PACKAGE_SHADOW_SHADOWGRP=y | ||||
| BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID=y | ||||
|   | ||||
| @@ -1,5 +0,0 @@ | ||||
| Use Case Configuration files v1 syntax | ||||
| -------------------------------------- | ||||
|  | ||||
| This directory holds old UCM configuration files. The new | ||||
| configuration files should be created in the ucm2 tree only. | ||||
| @@ -1,88 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceDmic}" | ||||
| 	} | ||||
| 	False.SectionDevice."Mic" { | ||||
| 		Comment "Digital Microphone" | ||||
|  | ||||
| 		Value { | ||||
| 			CapturePriority 100 | ||||
| 			CapturePCM "hw:${CardId},${var:DeviceDmic}" | ||||
| 			CaptureChannels 2 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speakers" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speaker Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Speaker Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		# The es8316 only has a HP-amp which is muxed to the speaker | ||||
| 		# or to the headpones output | ||||
| 		PlaybackMixerElem "Headphone Mixer" | ||||
| 		PlaybackMasterElem "DAC" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackMixerElem "Headphone Mixer" | ||||
| 		PlaybackMasterElem "DAC" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Differential Mux' lin1-rin1" | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 		cset "name='Digital Mic Mux' 'dmic disable'" | ||||
| 		cset "name='Internal Mic Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 		cset "name='Internal Mic Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CaptureMixerElem "ADC PGA Gain" | ||||
| 		CaptureMasterElem "ADC" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -1,33 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| Define.DeviceDmic "$${find-device:type=pcm,stream=capture,field=id,regex='dmic'}" | ||||
|  | ||||
| BootSequence [ | ||||
| 	# Setup muxes / switches | ||||
| 	cset "name='Left Headphone Mixer Left DAC Switch' on" | ||||
| 	cset "name='Right Headphone Mixer Right DAC Switch' on" | ||||
| 	# Set digital mix mux to "dmic disable" | ||||
| 	# That doesn't affect dmic, but other values mute headset mic | ||||
| 	cset "name='Digital Mic Mux' 0" | ||||
|  | ||||
| 	# Set HP vol to 0 dB | ||||
| 	cset "name='Headphone Playback Volume' 100%" | ||||
| 	cset "name='Headphone Mixer Volume' 100%" | ||||
|  | ||||
| 	# Set DAC vol | ||||
| 	cset "name='DAC Playback Volume' 70%" | ||||
| 	# LDATA TO LDAC, RDATA TO RDAC | ||||
| 	cset "name='DAC Source Mux' 0" | ||||
|  | ||||
| 	# Disable Auto Level Control | ||||
| 	cset "name='ALC Capture Switch' off" | ||||
|  | ||||
| 	# Set capture vol | ||||
| 	cset "name='ADC Capture Volume' 70%" | ||||
| ] | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/AMD/acp3x-es83xx/HiFi.conf" | ||||
| 	Comment "Play and record HiFi quality Music" | ||||
| } | ||||
|  | ||||
| @@ -1,144 +0,0 @@ | ||||
| If.jelboz { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		Regex "^(Jelboz|Jelboz360|Shuboz)$" | ||||
| 		String "${sys:devices/virtual/dmi/id/product_name}" | ||||
| 	} | ||||
| 	True.Define.volume 3 | ||||
| 	False.Define.volume 2 | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' off" | ||||
| 		cset "name='HPOL Playback Switch' off" | ||||
| 		cset "name='HPOR Playback Switch' off" | ||||
| 		cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" | ||||
| 		cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" | ||||
| 		cset "name='Stereo1 ADC L Mux' 0" | ||||
| 		cset "name='STO1 ADC Capture Switch' on" | ||||
| 		cset "name='RECMIX1L CBJ Switch' 1" | ||||
| 		cset "name='IF1 01 ADC Swap Mux' 2" | ||||
| 		cset "name='CBJ Boost Volume' ${var:volume}" | ||||
| 		cset "name='Stereo1 ADC L1 Mux' 1" | ||||
| 		cset "name='Stereo1 ADC R1 Mux' 1" | ||||
| 		cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" | ||||
| 		cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" | ||||
| 		cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" | ||||
| 		cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},1" | ||||
| 		PlaybackPriority 200 | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Spk Switch' on" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Spk Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackMixerElem "DAC1" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' on" | ||||
| 		cset "name='HPOL Playback Switch' 1" | ||||
| 		cset "name='HPOR Playback Switch' 1" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' off" | ||||
| 		cset "name='HPOL Playback Switch' 0" | ||||
| 		cset "name='HPOR Playback Switch' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.1mic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:1mic}" | ||||
| 	} | ||||
| 	True { | ||||
| 		SectionDevice."Mic1" { | ||||
| 			Comment "Front Microphone" | ||||
| 			ConflictingDevice [ | ||||
| 				"Mic2" | ||||
| 			] | ||||
| 			Value { | ||||
| 				CapturePCM "hw:${CardId},2" | ||||
| 				CapturePriority 200 | ||||
| 			} | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Dmic Mux' Front Mic" | ||||
| 			] | ||||
| 		} | ||||
|  | ||||
| 		SectionDevice."Mic2" { | ||||
| 			Comment "Rear Microphone" | ||||
| 			ConflictingDevice [ | ||||
| 				"Mic1" | ||||
| 			] | ||||
| 			Value { | ||||
| 				CapturePCM "hw:${CardId},2" | ||||
| 				CapturePriority 100 | ||||
| 			} | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Dmic Mux' Rear Mic" | ||||
| 			] | ||||
| 		} | ||||
|  | ||||
| 		SectionDevice."Mic3" { | ||||
| 			Comment "Microphone" | ||||
| 			Value { | ||||
| 				CapturePCM "hw:${CardId},0" | ||||
| 				CapturePriority 300 | ||||
| 				CaptureMixerElem "Headset Mic" | ||||
| 				JackControl "Headset Mic Jack" | ||||
| 			} | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Headset Mic Switch' on" | ||||
| 			] | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Headset Mic Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| 	False { | ||||
| 		SectionDevice."Mic1" { | ||||
| 			Comment "Internal Microphone" | ||||
| 			Value { | ||||
| 				CapturePCM "hw:${CardId},2" | ||||
| 				CapturePriority 200 | ||||
| 			} | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Dmic Mux' Front Mic" | ||||
| 			] | ||||
| 		} | ||||
|  | ||||
| 		SectionDevice."Mic2" { | ||||
| 			Comment "Microphone" | ||||
| 			Value { | ||||
| 				CapturePCM "hw:${CardId},0" | ||||
| 				CapturePriority 300 | ||||
| 				CaptureMixerElem "Headset Mic" | ||||
| 				JackControl "Headset Mic Jack" | ||||
| 			} | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Headset Mic Switch' on" | ||||
| 			] | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Headset Mic Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,72 +0,0 @@ | ||||
| # Based on: | ||||
| # https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/ad560b208139b80e97a7c2d39c7bfea1dcc29da9/overlay-zork/chromeos-base/chromeos-bsp-zork/files/ | ||||
| # https://chromium.googlesource.com/chromiumos/project/+/f1387fd5f4effe236dd2a8e6e2b8e665eb2a6cfb/zork/ | ||||
|  | ||||
| Syntax 4 | ||||
|  | ||||
| Define { Found="" 1mic="" } | ||||
|  | ||||
| If.zork { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		String1 "Google_Zork" | ||||
| 		String2 "${sys:devices/virtual/dmi/id/product_family}" | ||||
| 	} | ||||
| 	True { | ||||
| 		If.1mic { | ||||
| 			Condition { | ||||
| 				Type RegexMatch | ||||
| 				Regex "^(Berknip|Dirinboz|Gumboz|Jelboz|Trembyle|Woomax)$" | ||||
| 				String "${sys:devices/virtual/dmi/id/product_name}" | ||||
| 			} | ||||
| 			True.Define { Found=y 1mic=y } | ||||
| 		} | ||||
|  | ||||
| 		If.2mic { | ||||
| 			Condition { | ||||
| 				Type RegexMatch | ||||
| 				Regex "^(Dalboz|Ezkinil|Jelboz360|Morphius)$" | ||||
| 				String "${sys:devices/virtual/dmi/id/product_name}" | ||||
| 			} | ||||
| 			True.Define.Found y | ||||
| 		} | ||||
|  | ||||
| 		If.shuboz { | ||||
| 			Condition { | ||||
| 				Type String | ||||
| 				String1 "Shuboz" | ||||
| 				String2 "${sys:devices/virtual/dmi/id/product_name}" | ||||
| 			} | ||||
| 			True { | ||||
| 				If.shuboz_jelboz { | ||||
| 					Condition { | ||||
| 						Type RegexMatch | ||||
| 						Regex "^sku(1518731265|1518731266|1518731267|1518731268|1518731269|1518731270|1518731271|1518731272|1518731273|1518731274|1518731275|1518731276|1518731277|1518731278|2147483647)$" | ||||
| 						String "${sys:devices/virtual/dmi/id/product_sku}" | ||||
| 					} | ||||
| 					True.Define { Found=y 1mic=y } | ||||
| 				} | ||||
|  | ||||
| 				If.shuboz_jelboz360 { | ||||
| 					Condition { | ||||
| 						Type RegexMatch | ||||
| 						Regex "^sku(1518862337|1518862338|1518862339|1518862340)$" | ||||
| 						String "${sys:devices/virtual/dmi/id/product_sku}" | ||||
| 					} | ||||
| 					True.Define.Found y | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.found { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:Found}" | ||||
| 	} | ||||
| 	False.SectionUseCase."HiFi" { | ||||
| 		File "/AMD/acp3xalc5682m98/HiFi.conf" | ||||
| 		Comment "Default" | ||||
| 	} | ||||
| } | ||||
| @@ -1,136 +0,0 @@ | ||||
| Macro.apcmremap.CtlRemapMonoToStereoVolSw { | ||||
| 	Type Volume | ||||
| 	Stereo "Analog PCM" | ||||
| 	MonoL "Left Analog PCM" | ||||
| 	MonoR "Right Analog PCM" | ||||
| } | ||||
|  | ||||
| Macro.dpcmremap.CtlRemapMonoToStereoVolSw { | ||||
| 	Type Volume | ||||
| 	Stereo "Digital PCM" | ||||
| 	MonoL "Left Digital PCM" | ||||
| 	MonoR "Right Digital PCM" | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 		cset "name='ADC Phase Switch' 1" | ||||
| 		cset "name='BIQ Coefficients' 0x03,0x5a,0x00,0x06,0xfc,0xac,0x00,0x00,0xfe,0x58,0x00,0x00,0x03,0x50,0x00,0x06,0xfe,0x58,0x00,0x08" | ||||
| 		cset "name='Left PCM Source' DSP" | ||||
| 		cset "name='Right PCM Source' DSP" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		PlaybackMasterElem "Digital Playback" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Left DSP RX1 Source' ASPRX1" | ||||
| 		cset "name='Right DSP RX1 Source' ASPRX2" | ||||
| 		cset "name='Left DSP RX2 Source' ASPRX1" | ||||
| 		cset "name='Right DSP RX2 Source' ASPRX2" | ||||
| 		cset "name='Left DSP1 Preload Switch' 1" | ||||
| 		cset "name='Right DSP1 Preload Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Left DSP RX1 Source' Zero" | ||||
| 		cset "name='Right DSP RX1 Source' Zero" | ||||
| 		cset "name='Left DSP RX2 Source' Zero" | ||||
| 		cset "name='Right DSP RX2 Source' Zero" | ||||
| 		cset "name='Left DSP1 Preload Switch' 0" | ||||
| 		cset "name='Right DSP1 Preload Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId},1" | ||||
| 		PlaybackMixerElem "Digital PCM" | ||||
| 		PlaybackMasterElem "Analog PCM" | ||||
| 		PlaybackVolume "Digital PCM Volume" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Int Mic Switch' on" | ||||
| 		cset "name='DMIC Enable Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Int Mic Switch' off" | ||||
| 		cset "name='DMIC Enable Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},0" | ||||
| 		CaptureMixerElem "Int Mic" | ||||
| 		CaptureVolume "Mic Volume" | ||||
| 		CaptureSwitch "Int Mic Switch" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CapturePCM "hw:${CardId},0" | ||||
| 		CaptureMixerElem "Headset Mic" | ||||
| 		CaptureVolume "Mic Volume" | ||||
| 		CaptureSwitch "Headset Mic Switch" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,92 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| Comment "Vangogh internal card" | ||||
|  | ||||
| # | ||||
| # Macro CtlRemapMonoToStereoVolSw - join two mono controls into one stereo | ||||
| # | ||||
| # Arguments: | ||||
| #   Type - Volume or Switch | ||||
| #   Stereo - Name of the stereo control to be created | ||||
| #   MonoL - Name of the mono control to be used as Left channel | ||||
| #   MonoR - Name of the mono control to be used as Right channel | ||||
| # | ||||
| DefineMacro.CtlRemapMonoToStereoVolSw { | ||||
| 	LibraryConfig.remap.Config { | ||||
| 		ctl.default.map."name='${var:__Stereo} ${var:__Type}'" { | ||||
| 			"name='${var:__MonoL} ${var:__Type}'".vindex.0 0 | ||||
| 			"name='${var:__MonoR} ${var:__Type}'".vindex.1 0 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| # | ||||
| # Currently restricted to Steam Deck hardware. | ||||
| # | ||||
| If.jupiter { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		String1 "Jupiter" | ||||
| 		String2 "${sys:devices/virtual/dmi/id/product_name}" | ||||
| 	} | ||||
| 	True { | ||||
| 		SectionUseCase."HiFi" { | ||||
| 			File "/AMD/acp5x/HiFi.conf" | ||||
| 			Comment "Default" | ||||
| 		} | ||||
|  | ||||
| 		BootSequence [ | ||||
| 			cset "name='Digital Playback Volume' 252" | ||||
| 			cset "name='Left Analog PCM Volume' 17" | ||||
| 			cset "name='Right Analog PCM Volume' 17" | ||||
| 			cset "name='Left Digital PCM Volume' 870" | ||||
| 			cset "name='Right Digital PCM Volume' 870" | ||||
| 			cset "name='Headphone Volume' 2" | ||||
| 			cset "name='Digital Playback Volume' 192" | ||||
| 			cset "name='Mic Volume' 252" | ||||
| 			cset "name='Frontend PGA Volume' 27" | ||||
| 		] | ||||
|  | ||||
| 		Include.card-init.File "/lib/card-init.conf" | ||||
| 		Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| # | ||||
| # Currently restricted to Steam Deck OLED hardware. | ||||
| # | ||||
| If.galileo { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		String1 "Galileo" | ||||
| 		String2 "${sys:devices/virtual/dmi/id/product_name}" | ||||
| 	} | ||||
| 	True { | ||||
| 		SectionUseCase."HiFi" { | ||||
| 			If.upstream { | ||||
| 				Condition { | ||||
| 					Type ControlExists | ||||
| 					Control "name='Left Analog PCM Volume'" | ||||
| 				} | ||||
| 				True.File "HiFi-upstream.conf" | ||||
| 				False.File "HiFi.conf" | ||||
| 			} | ||||
| 			Comment "Default" | ||||
| 		} | ||||
|  | ||||
| 		BootSequence [ | ||||
| 			cset "name='Digital Playback Volume' 252" | ||||
| 			cset "name='Left Analog PCM Volume' 17" | ||||
| 			cset "name='Right Analog PCM Volume' 17" | ||||
| 			cset "name='Left Digital PCM Volume' 870" | ||||
| 			cset "name='Right Digital PCM Volume' 870" | ||||
| 			cset "name='Headphone Volume' 2" | ||||
| 			cset "name='Digital Playback Volume' 192" | ||||
| 			cset "name='Mic Volume' 252" | ||||
| 			cset "name='Frontend PGA Volume' 27" | ||||
| 		] | ||||
|  | ||||
| 		Include.card-init.File "/lib/card-init.conf" | ||||
| 		Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| 	} | ||||
| } | ||||
| @@ -1,53 +0,0 @@ | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId},2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Switch' on" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},4" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 		CaptureMixerElem "Headset Mic" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 		cset "name='Mic Switch' on" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 		cset "name='Mic Switch' off" | ||||
| 	] | ||||
| } | ||||
| @@ -1,8 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
|  | ||||
| Include.codec-init.File "/codecs/da7219/init.conf" | ||||
| @@ -1,109 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		cset "name='AIF2 Digital DAC Playback Switch' off" | ||||
| 		cset "name='AIF2 ADC Mixer ADC Capture Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Internal speaker" | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Line Out Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Line Out Playback Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackMixerElem "Line Out" | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Earpiece" { | ||||
| 	Comment "Internal Earpiece" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono" | ||||
| 		cset "name='Earpiece Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Earpiece Playback Switch' off" | ||||
| 		cset "name='AIF1 DA0 Stereo Playback Route' Stereo" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackMixerElem "Earpiece" | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Mic1 Capture Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Mic1 Capture Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},0" | ||||
| 		CaptureVolume "ADC Capture Volume" | ||||
| 		CaptureSwitch "Mic1 Capture Switch" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Mic2 Capture Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Mic2 Capture Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 500 | ||||
| 		CapturePCM "hw:${CardId},0" | ||||
| 		CaptureVolume "ADC Capture Volume" | ||||
| 		CaptureSwitch "Mic2 Capture Switch" | ||||
| 		JackControl "Headset Microphone Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		PlaybackPriority 500 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,74 +0,0 @@ | ||||
| Syntax 2 | ||||
|  | ||||
| # To understand (or propose bug reports) for the different | ||||
| # parts of these configuration files, see: | ||||
| # https://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm__conf.html | ||||
|  | ||||
| # PinePhone-specific audio card structure help: | ||||
| # https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf | ||||
| # https://xnux.eu/devices/feature/audio-pp.html | ||||
|  | ||||
| # General PinePhone help: | ||||
| # https://wiki.pine64.org/index.php/PinePhone | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Allwinner/A64/PinePhone/HiFi.conf" | ||||
| 	Comment "Play HiFi quality music" | ||||
| } | ||||
|  | ||||
| SectionUseCase."Voice Call" { | ||||
| 	File "/Allwinner/A64/PinePhone/VoiceCall.conf" | ||||
| 	Comment "Make a phone call" | ||||
| } | ||||
|  | ||||
| FixedBootSequence [ | ||||
| 	# Routing. | ||||
| 	cset "name='ADC Digital DAC Playback Switch' off" | ||||
| 	cset "name='AIF1 DA0 Stereo Playback Route' Stereo" | ||||
| 	cset "name='AIF1 Data Digital ADC Capture Switch' on" | ||||
| 	cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on" | ||||
| 	cset "name='AIF2 DAC Source Playback Route' AIF2" | ||||
| 	# AIF2 (Modem) is mono. | ||||
| 	cset "name='AIF2 DAC Stereo Playback Route' Mix Mono" | ||||
| 	cset "name='AIF3 ADC Source Capture Route' None" | ||||
| 	cset "name='DAC Playback Switch' on" | ||||
| 	# Routes DACR->MIXL and DACL->MIXR => MIXL are MIXR are identical mono-mix of the DAC. | ||||
| 	cset "name='DAC Reversed Playback Switch' on" | ||||
| 	cset "name='Earpiece Source Playback Route' Left Mixer" | ||||
| 	cset "name='Headphone Source Playback Route' DAC" | ||||
| 	# The Pinephone speaker is mono. | ||||
| 	cset "name='Line Out Source Playback Route' Mono Differential" | ||||
| ] | ||||
|  | ||||
| BootSequence [ | ||||
| 	# Playback volumes. | ||||
| 	cset "name='AIF1 DA0 Playback Volume' 160" | ||||
| 	cset "name='AIF2 DAC Playback Volume' 160" | ||||
| 	cset "name='DAC Playback Volume' 160" | ||||
| 	cset "name='Earpiece Playback Volume' 100%" | ||||
| 	cset "name='Headphone Playback Volume' 70%" | ||||
| 	cset "name='Line Out Playback Volume' 100%" | ||||
| 	cset "name='Mic2 Boost Volume' 1" | ||||
|  | ||||
| 	# Capture volumes. | ||||
| 	cset "name='ADC Capture Volume' 160" | ||||
| 	cset "name='AIF1 AD0 Capture Volume' 160" | ||||
| 	cset "name='AIF2 ADC Capture Volume' 160" | ||||
| ] | ||||
|  | ||||
| SectionDefaults [ | ||||
| 	# Switch playback off. | ||||
| 	cset "name='Earpiece Playback Switch' off" | ||||
| 	cset "name='Headphone Playback Switch' off" | ||||
| 	cset "name='Line In Playback Switch' off" | ||||
| 	cset "name='Line Out Playback Switch' off" | ||||
| 	cset "name='Mic1 Playback Switch' off" | ||||
| 	cset "name='Mic2 Playback Switch' off" | ||||
|  | ||||
| 	# Switch capture off. | ||||
| 	cset "name='Line In Capture Switch' off" | ||||
| 	cset "name='Mic1 Capture Switch' off" | ||||
| 	cset "name='Mic2 Capture Switch' off" | ||||
| 	cset "name='Mixer Capture Switch' off" | ||||
| 	cset "name='Mixer Reversed Capture Switch' off" | ||||
| ] | ||||
| @@ -1,115 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		cset "name='AIF2 Digital DAC Playback Switch' on" | ||||
| 		cset "name='AIF2 ADC Mixer ADC Capture Switch' on" | ||||
| 		cset "name='AIF2 ADC Stereo Capture Route' Mix Mono" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackRate 8000 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Internal speaker" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Line Out Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Line Out Playback Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackMixerElem "Line Out" | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Earpiece" { | ||||
| 	Comment "Internal Earpiece" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono" | ||||
| 		cset "name='Earpiece Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Earpiece Playback Switch' off" | ||||
| 		cset "name='AIF1 DA0 Stereo Playback Route' Stereo" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackMixerElem "Earpiece" | ||||
| 		PlaybackPriority 500 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Mic1 Capture Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Mic1 Capture Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},0" | ||||
| 		CaptureVolume "ADC Capture Volume" | ||||
| 		CaptureSwitch "Mic1 Capture Switch" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Mic2 Capture Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Mic2 Capture Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 500 | ||||
| 		CapturePCM "hw:${CardId},0" | ||||
| 		CaptureVolume "ADC Capture Volume" | ||||
| 		CaptureSwitch "Mic2 Capture Switch" | ||||
| 		JackControl "Headset Microphone Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		PlaybackPriority 500 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,40 +0,0 @@ | ||||
| SectionDevice."Line" { | ||||
| 	Comment "Analog Lineout" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='AIU ACODEC SRC' I2S" | ||||
| 		cset "name='AIU ACODEC OUT EN Switch' 1" | ||||
| 		cset "name='ACODEC Playback Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='ACODEC Playback Switch' 0" | ||||
| 		cset "name='AIU ACODEC OUT EN Switch' 0" | ||||
| 		cset "name='AIU ACODEC SRC' DISABLED" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackVolume "ACODEC Playback Volume" | ||||
| 		PlaybackMixerElem "ACODEC" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI" { | ||||
| 	Comment "HDMI" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='AIU HDMI CTRL SRC' I2S" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='AIU HDMI CTRL SRC' DISABLED" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
| @@ -1,31 +0,0 @@ | ||||
| # Use case for the p241 Amlogic s805x reference design | ||||
|  | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Amlogic/p241/p241-HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| FixedBootSequence [ | ||||
| 	cset "name='AIU SPDIF SRC SEL' SPDIF" | ||||
| ] | ||||
|  | ||||
| BootSequence [ | ||||
| 	cset "name='AIU ACODEC I2S Lane Select' 0" | ||||
| 	cset "name='ACODEC Playback Channel Mode' Stereo" | ||||
| 	cset "name='ACODEC Playback Volume' 80%" | ||||
| 	cset "name='ACODEC Ramp Rate' Fast" | ||||
| 	cset "name='ACODEC Volume Ramp Switch' on" | ||||
| 	cset "name='ACODEC Mute Ramp Switch' on" | ||||
| 	cset "name='ACODEC Unmute Ramp Switch' on" | ||||
| 	cset "name='ACODEC Right DAC Sel' Right" | ||||
| 	cset "name='ACODEC Left DAC Sel' Left" | ||||
| ] | ||||
|  | ||||
| SectionDefaults [ | ||||
| 	cset "name='ACODEC Playback Switch' off" | ||||
| 	cset "name='AIU ACODEC OUT EN Switch' off" | ||||
| 	cset "name='AIU ACODEC SRC' DISABLED" | ||||
| 	cset "name='AIU HDMI CTRL SRC' DISABLED" | ||||
| ] | ||||
| @@ -1,121 +0,0 @@ | ||||
| Overview | ||||
| -------- | ||||
|  | ||||
| UCM works on top of the standard ALSA subsystem. If there is something | ||||
| missing or non-working, it usually means that UCM describes the devices | ||||
| and required control sequences in an incomplete or a wrong way. | ||||
|  | ||||
| It is not required to be a developer to test your hardware. | ||||
|  | ||||
| Use latest UCM configuration | ||||
| ---------------------------- | ||||
|  | ||||
| The archive can be obtained from | ||||
| https://github.com/alsa-project/alsa-ucm-conf/archive/refs/heads/master.tar.gz | ||||
| or fetched from github https://github.com/alsa-project/alsa-ucm-conf . | ||||
|  | ||||
| The default path for ucm2 configuration is `/usr/share/alsa/ucm2`. This | ||||
| path may be redirected temporary to the latest configuration tree like: | ||||
|  | ||||
| ```` | ||||
| mv /usr/share/alsa/ucm2 /usr/share/alsa/ucm2.distro | ||||
| ln -s /NEW/UCM2/TREE/PATH /usr/share/alsa/ucm2 | ||||
| ```` | ||||
|  | ||||
| It is necessary to restart pulseaudio or pipewire to use the new ucm2 | ||||
| configuration. | ||||
|  | ||||
| The configuration revert is simple: | ||||
|  | ||||
| ```` | ||||
| rm /usr/share/alsa/ucm2 | ||||
| mv /usr/share/alsa/ucm2.distro /usr/share/alsa/ucm2 | ||||
| ```` | ||||
|  | ||||
| Useful commands and tools | ||||
| ------------------------- | ||||
|  | ||||
| ```` | ||||
| alsa-info.sh --no-upload	# dump the system / ALSA state information | ||||
| aplay -l			# dump playback ALSA cards and PCM devices | ||||
| arecord -l			# dump capture ALSA cards and PCM devices | ||||
| amixer -c 0 contents		# dump all controls for the ALSA card (zero = card number) | ||||
| amixer -c 0 events		# dump events for controls (zero = card number) | ||||
| 				# useful for Jack detection | ||||
| amixer -c 0 scontents		# dump simple mixer controls for the ALSA card (zero = card number) | ||||
| alsamixer -c 0			# set native ALSA mixer (zero = card number)  | ||||
| speaker-test -c hw:CARD=0,DEV=0	                 # playback test | ||||
| arecord -D hw:CARD=0,DEV=0 -f dat -vvv a.wav     # capture test | ||||
| alsaucm -c hw:0 dump text	# dump the UCM configuration (zero = card number) | ||||
| spa-acp-tool -vvv -c 0		# pipewire audio profile test tool (zero = card number) | ||||
| ```` | ||||
|  | ||||
| The components for the UCM device | ||||
| --------------------------------- | ||||
|  | ||||
| 1) ALSA PCM device | ||||
| 2) ALSA Jack control name (optional, if available - for the presence detection) | ||||
| 3) Simple mixer control name (optional, if available - for the hardware volume control) | ||||
|  | ||||
| Example of the UCM configuration: | ||||
|  | ||||
| ```` | ||||
| Value { | ||||
| 	PlaybackPCM "hw:${CardId},0"	# equivalent to hw:0,0 (for the first sound card) | ||||
| 	JackControl "Speakers Jack"	# should be in 'amixer -c 0 contents' dump | ||||
| 	PlaybackMixerElem "Speaker"	# Speaker bar should be in 'alsamixer -c 0' | ||||
| } | ||||
| ```` | ||||
|  | ||||
| Checking of the corresponding ALSA PCM device | ||||
| --------------------------------------------- | ||||
|  | ||||
| Use `aplay -l` or `capture -l` to list the PCM devices in the system. Pick | ||||
| the device numbers for the tested ALSA soundcard and substitute those values | ||||
| for the playback test (`speaker-test -c hw:CARD=0,DEV=0`) and capture test | ||||
| (`arecord -D hw:CARD=0,DEV=0 -f dat -vvv a.wav`) commands. | ||||
|  | ||||
| Note: If a sound server is running, it should be suspended (see | ||||
| `man pasuspender` for an example or manage appropriate services or | ||||
| sockets using systemd - systemctl). | ||||
|  | ||||
| Checking of the corresponding ALSA Jack control | ||||
| ----------------------------------------------- | ||||
|  | ||||
| Use `amixer -c 0 events` (replace zero with the corresponding ALSA card | ||||
| number) command and watch '??? Jack' control changes when you plug and | ||||
| unplug the correspoding sound equipment to the tested physical jack. | ||||
|  | ||||
| Checking of the corresponding simple mixer name | ||||
| ----------------------------------------------- | ||||
|  | ||||
| Use `alsamixer -c 0` (replace zero with the corresponding ALSA card | ||||
| number) command and try to find the corresponding bar which controls the | ||||
| volume when the PCM device is active. It is recommended to open the | ||||
| alsamixer tool in a separate terminal window and do the PCM tests in | ||||
| another. | ||||
|  | ||||
| Testing changes in the UCM configuration | ||||
| ---------------------------------------- | ||||
|  | ||||
| The sound server must be restarted to reload the UCM configuration. For | ||||
| PipeWire, the command `systemctl --user restart wireplumber` is sufficient. | ||||
|  | ||||
| To check the configuration syntax, use `alsaucm -c hw:0 dump text` command  | ||||
| (replace zero with the corresponding ALSA card number). This command should | ||||
| not return an error. | ||||
|  | ||||
| Notes | ||||
| ----- | ||||
|  | ||||
| Some special hardware (mostly from the ASoC /ALSA SoC/ tree) may require | ||||
| special ALSA control initialization sequences. In this case, the driver | ||||
| developers should provide the hints. | ||||
|  | ||||
| The `_ucmXXXX.` prefixes in the UCM dumps are referring the private | ||||
| ALSA device names - to test those devices, just remove this prefix. It | ||||
| will not work for special devices defined only in UCM configuration files. | ||||
| If you like to test this special alsa-lib configuration, you may dump the | ||||
| alsa-lib configuration using `alsaucm -c hw:0 get _alibcfg` and put the | ||||
| configuration to `~/.asoundrc` for example. | ||||
|  | ||||
| @@ -1,15 +0,0 @@ | ||||
| Comment "HDAudio with dual HD-audio codecs" | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/HDA/DualCodecs/HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
|  | ||||
| Include.init1.File "/HDA/init.conf" | ||||
|  | ||||
| BootSequence [ | ||||
| 	cset "name='Front Playback Volume' 100%" | ||||
| 	cset "name='Front Playback Switch' on" | ||||
| 	cset "name='Rear-Panel Capture Volume' 100%" | ||||
| 	cset "name='Rear-Panel Capture Switch' on" | ||||
| 	cset "name='Input Source' 'Rear Mic'" | ||||
| ] | ||||
| @@ -1,160 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Front Playback Switch' off" | ||||
| 		cset "name='Rear-Panel Capture Switch' off" | ||||
| 		cset "name='Headphone Playback Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Front Playback Switch' off" | ||||
| 		cset "name='Front-Panel Capture Switch' off" | ||||
| 		cset "name='Rear-Panel Capture Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.speaker { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Speaker Playback Switch'" | ||||
| 	} | ||||
| 	True { | ||||
| 		SectionVerb { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Speaker Playback Switch' on" | ||||
| 			] | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Speaker Playback Switch' off" | ||||
| 			] | ||||
| 		} | ||||
|  | ||||
| 		SectionDevice."Speaker" { | ||||
| 			Comment "Speaker" | ||||
|  | ||||
| 			Value { | ||||
| 				PlaybackPriority 100 | ||||
| 				PlaybackPCM "hw:${CardId},4" | ||||
| 				PlaybackMixerElem "Speaker" | ||||
| 			} | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Speaker Playback Switch' off" | ||||
| 			] | ||||
|  | ||||
| 			ConflictingDevice [ | ||||
| 				"Headphones" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line1" { | ||||
| 	Comment "Line Out" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
|  | ||||
| 	If.0 { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='Front Playback Switch'" | ||||
| 		} | ||||
| 		True.Value.PlaybackMixerElem "Front" | ||||
| 	} | ||||
| 	# make S/PDIF output working when no analog jacks are connected | ||||
| 	If.speaker { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='Speaker Playback Switch'" | ||||
| 		} | ||||
| 		True.If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='Line Out Front Jack'" | ||||
| 			} | ||||
| 			True.Value.JackControl "Line Out Front Jack" | ||||
| 			False.Value.JackControl "Line Out Jack" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},4" | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		JackControl "Front Headphone Jack" | ||||
| 	} | ||||
|  | ||||
| 	If.speaker { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='Speaker Playback Switch'" | ||||
| 		} | ||||
| 		True.Value.JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line2" { | ||||
| 	Comment "Rear Line In" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic2" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Input Source' Line" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CaptureMixerElem "Rear-Panel" | ||||
| 		CaptureMasterElem "Line Boost" | ||||
| 		JackControl "Line Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic2" { | ||||
| 	Comment "Rear Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CaptureMixerElem "Rear-Panel" | ||||
| 		CaptureMasterElem "Rear Mic Boost" | ||||
| 		JackHWMute "Line2" | ||||
| 		JackControl "Rear Mic Jack" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Input Source' 'Rear Mic'" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Front Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},4" | ||||
| 		CaptureMixerElem "Front-Panel" | ||||
| 		CaptureMasterElem "Front Mic Boost" | ||||
| 		JackControl "Front Mic Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,4 +0,0 @@ | ||||
| CapturePCM "hw:${CardId}" | ||||
| CaptureMixerElem "Capture" | ||||
| CaptureVolume "Capture Volume" | ||||
| CaptureSwitch "Capture Switch" | ||||
| @@ -1,71 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| Define.Use ""	# a non-empty string to use UCM configuration for HDA devices | ||||
| Define.Done ""	# a non-empty string to skip the end error | ||||
|  | ||||
| Define.AcpCardId "$${find-card:field=name,return=id,regex='^acp(|6[23x])$'}" | ||||
| Define.DeviceMic "Mic" | ||||
|  | ||||
| If.dualcodec { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "DualCodecs" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.Done y | ||||
| 		Define.AcpCardId "" | ||||
| 		Include.dual.File "/HDA/DualCodecs/DualCodecs.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.acp { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:AcpCardId}" | ||||
| 	} | ||||
| 	False { | ||||
| 		Define.Use y | ||||
| 		Define.DeviceMic "Mic2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.use { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:Use}" | ||||
| 	} | ||||
| 	False { | ||||
| 		Define.Done y | ||||
|  | ||||
| 		SectionUseCase."HiFi" { | ||||
| 			File "/HDA/HiFi.conf" | ||||
| 			Comment "Play HiFi quality Music" | ||||
| 		} | ||||
|  | ||||
| 		If.analog { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "name='Master Playback Switch'" | ||||
| 			} | ||||
| 			True { | ||||
| 				Include.init.File "/HDA/init.conf" | ||||
|  | ||||
| 				FixedBootSequence [ | ||||
| 					cset-new "name='Mic ACP LED Capture Switch' type=bool,count=1 off" | ||||
| 					exec "-/sbin/modprobe snd_ctl_led" | ||||
| 					sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:Mic ACP LED Capture Switch" | ||||
| 					sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch" | ||||
| 				] | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.err { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:Done}" | ||||
| 	} | ||||
| 	True.Error "UCM is not supported for this HDA model (${CardLongName})" | ||||
| } | ||||
| @@ -1,57 +0,0 @@ | ||||
| # HDA HDMI devices | ||||
|  | ||||
| Include.hdmi.File "/codecs/hda/hdmi.conf" | ||||
|  | ||||
| If.hdmi1 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi1.HDMI { | ||||
| 		Number 1 | ||||
| 		Device 3 | ||||
| 		Priority 1100 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi2 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi2.HDMI { | ||||
| 		Number 2 | ||||
| 		Device 7 | ||||
| 		Priority 1200 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi3 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi3.HDMI { | ||||
| 		Number 3 | ||||
| 		Device 8 | ||||
| 		Priority 1300 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi4 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi4.HDMI { | ||||
| 		Number 4 | ||||
| 		Device 9 | ||||
| 		Priority 1400 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi5 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi5.HDMI { | ||||
| 		Number 5 | ||||
| 		Device 10 | ||||
| 		Priority 1500 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi6 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi5.HDMI { | ||||
| 		Number 6 | ||||
| 		Device 11 | ||||
| 		Priority 1600 | ||||
| 	} | ||||
| } | ||||
| @@ -1,10 +0,0 @@ | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Digital Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${var:AcpCardId}" | ||||
| 		CaptureMixerElem "Mic ACP LED" | ||||
| 		CaptureSwitch "Mic ACP LED Capture Switch" | ||||
| 	} | ||||
| } | ||||
| @@ -1,327 +0,0 @@ | ||||
| # Generic HDA devices for analog I/O | ||||
|  | ||||
| Define.FrontMicName "" | ||||
| Define.FrontMicJack "" | ||||
| Define.DeviceFrontMic "" | ||||
| Define.LineDevice "" | ||||
| Define.hpvol "Headphone" | ||||
| Define.hpjack "Headphone Jack" | ||||
| Define.loctl "Line" | ||||
| Define.lovol "Line" | ||||
|  | ||||
| If.imicname { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Internal Mic Boost Volume'" | ||||
| 	} | ||||
| 	True.Define { | ||||
| 		FrontMicName "Internal" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.fmicname { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Front Mic Playback Switch'" | ||||
| 	} | ||||
| 	True.Define { | ||||
| 		FrontMicName "Front" | ||||
| 		FrontMicJack "Front Mic Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.fmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:FrontMicName}" | ||||
| 	} | ||||
| 	False { | ||||
| 		If.mic2 { | ||||
| 			Condition { | ||||
| 				Type String | ||||
| 				String1 "${var:DeviceMic}" | ||||
| 				String2 "Mic2" | ||||
| 			} | ||||
| 			True.Define { | ||||
| 				DeviceFrontMic "Mic3" | ||||
| 			} | ||||
| 			False.Define { | ||||
| 				DeviceMic "Mic1" | ||||
| 				DeviceFrontMic "Mic2" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.lineout { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Line Out Playback Volume'" | ||||
| 	} | ||||
| 	True.Define { | ||||
| 		loctl "Line Out" | ||||
| 		lovol "Line Out" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.linefront { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Front Playback Volume'" | ||||
| 	} | ||||
| 	True.Define { | ||||
| 		LineDevice "1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hplo { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Headphone+LO Playback Volume'" | ||||
| 	} | ||||
| 	True.Define { | ||||
| 		hpvol "Headphone+LO" | ||||
| 		lovol "Headphone+LO" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hpjack { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "iface=CARD,name='Headphone Mic Jack'" | ||||
| 	} | ||||
| 	True.Define.hpjack "Headphone Mic Jack" | ||||
| 	False.If.front { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "iface=CARD,name='Front Headphone Jack'" | ||||
| 		} | ||||
| 		True.Define.hpjack "Front Headphone Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	If.headphone_switch { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='Headphone Playback Switch'" | ||||
| 		} | ||||
| 		True { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Headphone Playback Switch' on" | ||||
| 			] | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Headphone Playback Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackMixerElem "${var:hpvol}" | ||||
| 		PlaybackMasterElem "Master" | ||||
| 		PlaybackVolume "${var:hpvol} Playback Volume" | ||||
| 		PlaybackSwitch "Headphone Playback Switch" | ||||
| 		JackControl "${var:hpjack}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Speaker Playback Switch'" | ||||
| 	} | ||||
| 	True.SectionDevice."Speaker" { | ||||
| 		Comment "Speaker" | ||||
|  | ||||
| 		If.seq { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "name='Bass Speaker Playback Switch'" | ||||
| 			} | ||||
| 			True { | ||||
| 				EnableSequence [ | ||||
| 					cset "name='Speaker Playback Switch' on" | ||||
| 					cset "name='Bass Speaker Playback Switch' on" | ||||
| 				] | ||||
|  | ||||
| 				DisableSequence [ | ||||
| 					cset "name='Speaker Playback Switch' off" | ||||
| 					cset "name='Bass Speaker Playback Switch' off" | ||||
| 				] | ||||
| 			} | ||||
| 			False { | ||||
| 				EnableSequence [ | ||||
| 					cset "name='Speaker Playback Switch' on" | ||||
| 				] | ||||
|  | ||||
| 				DisableSequence [ | ||||
| 					cset "name='Speaker Playback Switch' off" | ||||
| 				] | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		Value { | ||||
| 			PlaybackPriority 100 | ||||
| 			PlaybackPCM "hw:${CardId}" | ||||
| 			PlaybackMixerElem "Speaker" | ||||
| 			PlaybackMasterElem "Master" | ||||
| 			PlaybackVolume "Speaker Playback Volume" | ||||
| 			PlaybackSwitch "Speaker Playback Switch" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.monomic { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Input Source'" | ||||
| 		ControlEnum "Headphone Mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		SectionDevice."${var:DeviceMic}" { | ||||
| 			Comment "Headphones Stereo Microphone" | ||||
|  | ||||
| 			ConflictingDevice [ | ||||
| 				"Headset" | ||||
| 			] | ||||
|  | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Input Source' 'Headphone Mic'" | ||||
| 			] | ||||
|  | ||||
| 			Value { | ||||
| 				CapturePriority 200 | ||||
| 				Include.value.File "/HDA/HDA-Capture-value.conf" | ||||
| 				CaptureMasterElem "Headphone Mic Boost" | ||||
| 				JackControl "Headphone Mic Jack" | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		SectionDevice."Headset" { | ||||
| 			Comment "Headset Mono Microphone" | ||||
|  | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Input Source' 'Headset Mic'" | ||||
| 			] | ||||
|  | ||||
| 			Value { | ||||
| 				CapturePriority 300 | ||||
| 				Include.value.File "/HDA/HDA-Capture-value.conf" | ||||
| 				CaptureMasterElem "Headset Mic Boost" | ||||
| 				JackControl "Headphone Mic Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	False { | ||||
| 		SectionDevice."${var:DeviceMic}" { | ||||
| 			Comment "Headphones Stereo Microphone" | ||||
|  | ||||
| 			Value { | ||||
| 				CapturePriority 200 | ||||
| 				Include.value.File "/HDA/HDA-Capture-value.conf" | ||||
| 				CaptureMasterElem "Mic Boost" | ||||
| 				JackControl "Mic Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.frontmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceFrontMic}" | ||||
| 	} | ||||
| 	False.SectionDevice."${var:DeviceFrontMic}" { | ||||
| 		Comment "${var:FrontMicName} Stereo Microphone" | ||||
|  | ||||
| 		ConflictingDevice [ | ||||
| 			"${var:DeviceMic}" | ||||
| 		] | ||||
|  | ||||
| 		Value { | ||||
| 			CapturePriority 400 | ||||
| 			Include.value.File "/HDA/HDA-Capture-value.conf" | ||||
| 			CaptureMasterElem "${var:FrontMicName} Mic Boost" | ||||
| 		} | ||||
| 		If.jack { | ||||
| 			Condition { | ||||
| 				Type String | ||||
| 				Empty "${var:FrontMicJack}" | ||||
| 			} | ||||
| 			False.Value.JackControl "${var:FrontMicJack}" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.line { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='${var:loctl} Playback Switch'" | ||||
| 	} | ||||
| 	True.SectionDevice."Line${var:LineDevice}" { | ||||
| 		Comment "Line Output" | ||||
|  | ||||
| 		If.conflict { | ||||
| 			Condition { | ||||
| 				Type String | ||||
| 				String1 "${var:lovol}" | ||||
| 				String2 "Headphone+LO" | ||||
| 			} | ||||
| 			True.ConflictingDevice [ | ||||
| 				"Headphones" | ||||
| 			] | ||||
| 		} | ||||
|  | ||||
| 		EnableSequence [ | ||||
| 			cset "name='${var:loctl} Playback Switch' on" | ||||
| 		] | ||||
| 		DisableSequence [ | ||||
| 			cset "name='${var:loctl} Playback Switch' off" | ||||
| 		] | ||||
|  | ||||
| 		Value { | ||||
| 			PlaybackPriority 300 | ||||
| 			PlaybackPCM "hw:${CardId}" | ||||
| 			PlaybackMixerElem "${var:lovol}" | ||||
| 			PlaybackMasterElem "Master" | ||||
| 			PlaybackVolume "${var:lovol} Playback Volume" | ||||
| 			PlaybackSwitch "${var:loctl} Playback Switch" | ||||
| 			JackControl "${var:loctl} Jack" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.linefront { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Front Playback Switch'" | ||||
| 	} | ||||
| 	True.SectionDevice."Line2" { | ||||
| 		Comment "Second Line Output" | ||||
|  | ||||
| 		ConflictingDevice [ | ||||
| 			"Line${var:LineDevice}" | ||||
| 		] | ||||
|  | ||||
| 		EnableSequence [ | ||||
| 			cset "name='Front Playback Switch' on" | ||||
| 		] | ||||
| 		DisableSequence [ | ||||
| 			cset "name='Front Playback Switch' off" | ||||
| 		] | ||||
|  | ||||
| 		Value { | ||||
| 			PlaybackPriority 250 | ||||
| 			PlaybackPCM "hw:${CardId}" | ||||
| 			PlaybackMixerElem "Front" | ||||
| 			PlaybackMasterElem "Master" | ||||
| 			PlaybackVolume "Front Playback Volume" | ||||
| 			PlaybackSwitch "Front Playback Switch" | ||||
| 			JackControl "Line Out Front Jack" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,34 +0,0 @@ | ||||
| # Use case Configuration for sof-hda-dsp | ||||
|  | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 	] | ||||
|  | ||||
| 	Value.TQ "HiFi" | ||||
| } | ||||
|  | ||||
| If.analog { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Master Playback Switch'" | ||||
| 	} | ||||
| 	True { | ||||
| 		If.acp { | ||||
| 			Condition { | ||||
| 				Type String | ||||
| 				Empty "${var:AcpCardId}" | ||||
| 			} | ||||
| 			True.Include.analog.File "/HDA/HiFi-analog.conf" | ||||
| 			False.Include { | ||||
| 				acp.File "/HDA/HiFi-acp.conf" | ||||
| 				analog.File "/HDA/HiFi-analog.conf" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi { | ||||
| 	Condition { Type String Empty "" } | ||||
| 	True.Include.hdmi.File "/HDA/Hdmi.conf" | ||||
| } | ||||
| @@ -1,52 +0,0 @@ | ||||
| If.amute { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Auto-Mute Mode'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Auto-Mute Mode' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.master { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Master Playback Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Master Playback Volume' 60%" | ||||
| 		cset "name='Master Playback Switch' on" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.speaker { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Speaker Playback Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Speaker Playback Volume' 60%" | ||||
| 		cset "name='Speaker Playback Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.headphone { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Headphone Playback Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Headphone Playback Volume' 60%" | ||||
| 		cset "name='Headphone Playback Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.capture { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Capture Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Capture Volume' 60%" | ||||
| 	] | ||||
| } | ||||
| @@ -1,116 +0,0 @@ | ||||
| If.bytcht_rt5640 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht rt5640" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.init.File "/codecs/rt5640/init.conf" | ||||
| 		Include.main.File "/Intel/bytcr-rt5640/HiFi.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.bytcht_rt5651 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht rt5651" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.init.File "/codecs/rt5651/init.conf" | ||||
| 		Include.main.File "/Intel/bytcr-rt5651/HiFi.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.bytcht_cx2072x { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht cx2072x" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/bytcht-cx2072x/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bytcht_es8316 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht es8316" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/bytcht-es8316/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bytcht_rt5672 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht rt5672" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/cht-bsw-rt5672/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bytcht_nau8824 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht nau8824" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/chtnau8824/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bytcht_rt5645 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht rt5645" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.init.File "/codecs/rt5645/init.conf" | ||||
| 		Include.main.File "/Intel/chtrt5645/HiFi.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.bytcht_rt5650 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht rt5650" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/chtrt5650/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bytcht_max98090 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht max98090" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/chtmax98090/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bytcht_wm5102 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bytcht wm5102" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/bytcr-wm5102/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bdw_rt286 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bdw rt286" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/broadwell-rt286/HiFi.conf" | ||||
| } | ||||
|  | ||||
| If.bdw_rt5677 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardName}" | ||||
| 		Needle "bdw rt5677" | ||||
| 	} | ||||
| 	True.Include.main.File "/Intel/bdw-rt5677/HiFi.conf" | ||||
| } | ||||
| @@ -1,9 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/SOF/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| @@ -1,187 +0,0 @@ | ||||
| # Use case Configuration for bdw-rt5677 | ||||
| # command-line sequence to switch playback/capture | ||||
| # alsaucm -c bdw-rt5677  set _verb HiFi | ||||
| # alsaucm -c bdw-rt5677  set _verb HiFi set _enadev Headphones | ||||
|  | ||||
| LibraryConfig.remap.Config { | ||||
|  | ||||
| 	ctl.default.remap { | ||||
| 		"name='IN1 Boost'" "name='IN1 Boost Capture Volume'" | ||||
| 		"name='IN2 Boost'" "name='IN2 Boost Capture Volume'" | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
|  | ||||
| 	EnableSequence [ | ||||
|  | ||||
| 		cset "name='PDM1 L Mux' STO1 DAC MIX" | ||||
| 		cset "name='PDM1 R Mux' STO1 DAC MIX" | ||||
|  | ||||
| 		# Adjust Master Playback volume if needed | ||||
| 		# cset "name='Master Playback Volume' 30" | ||||
|  | ||||
| 		cset "name='OUT1 Playback Switch' off" | ||||
| 		cset "name='OUT2 Playback Switch' off" | ||||
|  | ||||
| 		cset "name='DAC1 Playback Volume' 175" | ||||
| 		cset "name='DAC2 Playback Volume' 175" | ||||
| 		cset "name='DAC12 SRC Mux' STO1 DAC MIX" | ||||
|  | ||||
| 		cset "name='Stereo DAC MIXL ST L Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC1 L Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC2 L Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC1 R Switch' on" | ||||
|  | ||||
| 		cset "name='Stereo DAC MIXR ST R Switch' off" | ||||
| 		cset "name='Stereo DAC MIXR DAC1 R Switch' off" | ||||
| 		cset "name='Stereo DAC MIXR DAC2 R Switch' off" | ||||
| 		cset "name='Stereo DAC MIXR DAC1 L Switch' on" | ||||
|  | ||||
| 		cset "name='DAC1 MIXL Stereo ADC Switch' off" | ||||
| 		cset "name='DAC1 MIXL DAC1 Switch' on" | ||||
|  | ||||
| 		cset "name='DAC1 MIXR Stereo ADC Switch' off" | ||||
| 		cset "name='DAC1 MIXR DAC1 Switch' on" | ||||
|  | ||||
| 		cset "name='DAC1 Mux' IF1 DAC 01" | ||||
|  | ||||
| 		cset "name='Stereo1 DMIC Mux' DMIC1" | ||||
| 		cset "name='Stereo1 ADC2 Mux' DMIC" | ||||
| 		cset "name='Stereo1 ADC1 Mux' ADC1/2" | ||||
|  | ||||
| 		cset "name='Sto1 ADC MIXL ADC1 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' on" | ||||
|  | ||||
| 		cset "name='Sto1 ADC MIXR ADC1 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' on" | ||||
|  | ||||
| 		cset "name='IF1 ADC1 Mux' STO1 ADC MIX" | ||||
| 		cset "name='IF1 ADC1 Swap Mux' L/R" | ||||
|  | ||||
| 		# Adjust Mic Capture Volume if needed | ||||
| 		# cset "name='Mic Capture Volume' 30" | ||||
|  | ||||
| 		cset "name='ADC1 Capture Switch' on" | ||||
| 		cset "name='ADC1 Capture Volume' 31" | ||||
| 		cset "name='STO1 ADC Boost Volume' 2" | ||||
|  | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 		cset "name='Speaker Switch' on" | ||||
|  | ||||
| 		cset "name='Remote DMICs Switch' on" | ||||
| 		cset "name='Mono DMIC L Mux' DMIC1" | ||||
| 		cset "name='Mono ADC2 L Mux' DMIC" | ||||
| 		cset "name='Mono ADC MIXL ADC1 Switch' off" | ||||
| 		cset "name='Mono ADC MIXL ADC2 Switch' on" | ||||
| 		cset "name='VAD ADC Mux' MONO ADC MIX L" | ||||
| 		cset "name='IB01 Mux' VAD ADC/DAC1 FS" | ||||
| 		cset "name='IB01 Bypass Mux' Bypass" | ||||
| 		cset "name='Mono ADC Boost Volume' 2" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speakers" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speaker Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC1 R Switch' off" | ||||
| 		cset "name='Stereo DAC MIXR DAC1 L Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC1 L Switch' on" | ||||
| 		cset "name='Stereo DAC MIXR DAC1 R Switch' on" | ||||
| 		cset "name='OUT1 Playback Switch' on" | ||||
| 		cset "name='OUT2 Playback Switch' on" | ||||
| 		cset "name='Headphone Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 		cset "name='OUT1 Playback Switch' off" | ||||
| 		cset "name='OUT2 Playback Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC1 L Switch' off" | ||||
| 		cset "name='Stereo DAC MIXR DAC1 R Switch' off" | ||||
| 		cset "name='Stereo DAC MIXL DAC1 R Switch' on" | ||||
| 		cset "name='Stereo DAC MIXR DAC1 L Switch' on" | ||||
| 		cset "name='Speaker Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' off" | ||||
| 		cset "name='Local DMICs Switch' off" | ||||
|  | ||||
| 		cset "name='IF1 ADC1 Swap Mux' L/L" | ||||
|  | ||||
| 		cset "name='Sto1 ADC MIXL ADC1 Switch' on" | ||||
| 		cset "name='Sto1 ADC MIXR ADC1 Switch' on" | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Sto1 ADC MIXL ADC1 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC1 Switch' off" | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
|  | ||||
| 		cset "name='IF1 ADC1 Swap Mux' L/R" | ||||
|  | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' on" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' on" | ||||
| 		cset "name='Local DMICs Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		JackControl "Mic Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,9 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/bdw-rt5677/HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| @@ -1,102 +0,0 @@ | ||||
| # Use case Configuration for broadwell-rt286 | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speakers" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='SPO Switch' on" | ||||
| 		cset "name='Speaker Playback Switch' on" | ||||
| 		cset "name='Speaker Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Speaker Switch' off" | ||||
| 		cset "name='Speaker Playback Switch' off" | ||||
| 		cset "name='SPO Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackMixerElem "DAC0" | ||||
| 		PlaybackMasterElem "Master" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HPO L Switch' on" | ||||
| 		cset "name='HPO R Switch' on" | ||||
| 		cset "name='Headphone Jack Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' off" | ||||
| 		cset "name='HPO L Switch' off" | ||||
| 		cset "name='HPO R Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackMixerElem "DAC0" | ||||
| 		PlaybackMasterElem "Master" | ||||
| 		JackDev "rt286-jack" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='ADC 0 Mux' 2" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CaptureMixerElem "ADC0" | ||||
| 		CaptureMasterElem "Mic" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='ADC 0 Mux' 0" | ||||
| 		cset "name='AMIC Volume' 3" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='AMIC Volume' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CaptureMixerElem "ADC0" | ||||
| 		CaptureMasterElem "Mic" | ||||
| 		JackDev "rt286-jack" | ||||
| 		JackControl "Mic Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,6 +0,0 @@ | ||||
| Syntax 2 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/broadwell-rt286/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
| @@ -1,43 +0,0 @@ | ||||
| # Usecase for device HDMI1/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms | ||||
|  | ||||
| SectionDevice."HDMI1" { | ||||
| 	Comment "HDMI/Display Port 1 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},4" | ||||
| 		PlaybackPriority 500 | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=4 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=4 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
| 	Comment "HDMI/Display Port 2 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 		PlaybackPriority 600 | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=5 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=5 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,112 +0,0 @@ | ||||
| # Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC. | ||||
| # For Audio in I2S mode on Intel Broxton platforms | ||||
|  | ||||
| SectionVerb { | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='SPO Switch' 1" | ||||
| 		cset "name='Speaker Playback Switch' 1,1" | ||||
| 		cset "name='Speaker Switch' 1" | ||||
| 		cset "name='HPO L Switch' 0" | ||||
| 		cset "name='HPO R Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HPO L Switch' 1" | ||||
| 		cset "name='HPO R Switch' 1" | ||||
| 		cset "name='Headphone Jack Switch' 1" | ||||
| 		cset "name='Speaker Playback Switch' 0,0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Digital Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 0" | ||||
| 		cset "name='Mic Jack Switch' 0" | ||||
|  | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 		cset "name='Mic Jack Switch' 1" | ||||
| 		cset "name='ADC 0 Mux' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 		cset "name='ADC0 Capture Volume' 105,105" | ||||
| 		cset "name='ADC 0 Mux' 0" | ||||
| 		cset "name='Mic Jack Switch' 1" | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 		JackControl "Mic Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hdmi.File "/Intel/broxton-rt298/Hdmi.conf" | ||||
| @@ -1,41 +0,0 @@ | ||||
| # UCM for Intel Broxton platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/broxton-rt298/HiFi.conf" | ||||
| 	Comment "Play and record HiFi quality Music" | ||||
| } | ||||
|  | ||||
| SectionDefaults [ | ||||
| 	cset "name='Headphone Jack Switch' 1" | ||||
| 	cset "name='Speaker Switch' 1" | ||||
| 	cset "name='Speaker Playback Switch' 0,0" | ||||
| 	cset "name='Front DAC Switch' 1" | ||||
| 	cset "name='Front RECMIX Switch' 0" | ||||
| 	cset "name='Mic Jack Switch' 1" | ||||
| 	cset "name='ADC 0 Mux' 2" | ||||
| 	cset "name='ADC 1 Mux' 0" | ||||
| 	cset "name='DAC0 Playback Volume' 100,100" | ||||
| 	cset "name='HPO L Switch' 0" | ||||
| 	cset "name='HPO Mux' 0" | ||||
| 	cset "name='HPO R Switch' 0" | ||||
| 	cset "name='Pin 5 Mux' 1" | ||||
| 	cset "name='Pin 6 Mux' 2" | ||||
| 	cset "name='Pin 7 Mux' 3" | ||||
| 	cset "name='RECMIX Beep Switch' 0" | ||||
| 	cset "name='RECMIX Line1 Switch' 0" | ||||
| 	cset "name='RECMIX Mic1 Switch' 0" | ||||
| 	cset "name='SPK Mux' 0" | ||||
| 	cset "name='SPO Switch' 1" | ||||
| 	cset "name='codec0_out mo codec0_in mi Switch' 0" | ||||
| 	cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 	cset "name='codec0_out mo media0_in mi Switch' 1" | ||||
| 	cset "name='codec1_out mo codec0_in mi Switch' 0" | ||||
| 	cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 	cset "name='codec1_out mo media0_in mi Switch' 0" | ||||
| 	cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 	cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 	cset "name='media0_out mo media0_in mi Switch' 0" | ||||
| ] | ||||
| @@ -1,23 +0,0 @@ | ||||
| SectionVerb { | ||||
|  | ||||
| 	Include.e.File "/codecs/cx2072x/EnableSeq.conf" | ||||
| 	Include.d.File "/codecs/cx2072x/DisableSeq.conf" | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.spk.File "/codecs/cx2072x/Speaker.conf" | ||||
| Include.hp.File "/codecs/cx2072x/HeadPhones.conf" | ||||
|  | ||||
| Include.imic.File "/codecs/cx2072x/InternalMic.conf" | ||||
| Include.hsmic.File "/codecs/cx2072x/HeadsetMic.conf" | ||||
| @@ -1,6 +0,0 @@ | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/bytcht-cx2072x/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
| @@ -1,43 +0,0 @@ | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:2" | ||||
| 	} | ||||
| 	True.Include.spk.File "/codecs/es8316/Speaker.conf" | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:1" | ||||
| 	} | ||||
| 	True.Include.mspk.File "/codecs/es8316/MonoSpeaker.conf" | ||||
| } | ||||
|  | ||||
| Include.hs.File "/codecs/es8316/HeadPhones.conf" | ||||
|  | ||||
| If.in1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:in1" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/es8316/IN1-InternalMic.conf" | ||||
| 		Include.hsmic.File "/codecs/es8316/IN2-HeadsetMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:in2" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.hsmic.File "/codecs/es8316/IN1-HeadsetMic.conf" | ||||
| 		Include.mic.File "/codecs/es8316/IN2-InternalMic.conf" | ||||
| 	} | ||||
| } | ||||
| @@ -1,43 +0,0 @@ | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-stereo-spk" | ||||
| 	} | ||||
| 	True.Include.spk.File "/codecs/es8316/Speaker.conf" | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-mono-spk" | ||||
| 	} | ||||
| 	True.Include.mspk.File "/codecs/es8316/MonoSpeaker.conf" | ||||
| } | ||||
|  | ||||
| Include.hs.File "/codecs/es8316/HeadPhones.conf" | ||||
|  | ||||
| If.in1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in1-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/es8316/IN1-InternalMic.conf" | ||||
| 		Include.hsmic.File "/codecs/es8316/IN2-HeadsetMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in2-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.hsmic.File "/codecs/es8316/IN1-HeadsetMic.conf" | ||||
| 		Include.mic.File "/codecs/es8316/IN2-InternalMic.conf" | ||||
| 	} | ||||
| } | ||||
| @@ -1,25 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	Include.e.File "/codecs/es8316/EnableSeq.conf" | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.0 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:" | ||||
| 	} | ||||
| 	True.Include.comp.File "/Intel/bytcht-es8316/HiFi-Components.conf" | ||||
| 	False.Include.long.File "/Intel/bytcht-es8316/HiFi-LongName.conf" | ||||
| } | ||||
| @@ -1,6 +0,0 @@ | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/bytcht-es8316/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
| @@ -1,77 +0,0 @@ | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:2" | ||||
| 	} | ||||
| 	True.Define.HaveSpeaker "2" | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:1" | ||||
| 	} | ||||
| 	True.Define.HaveSpeaker "1" | ||||
| } | ||||
|  | ||||
| If.hp2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-hp2:lineout" | ||||
| 	} | ||||
| 	True.Define.HaveHeadPhones2 "yes" | ||||
| } | ||||
|  | ||||
| If.dmic1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:dmic1" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.HaveInternalMic "dmic" | ||||
| 		Define.StereoADC2Mux "DMIC1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmic2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:dmic2" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.HaveInternalMic "dmic" | ||||
| 		Define.StereoADC2Mux "DMIC2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:in1" | ||||
| 	} | ||||
| 	True.Define.HaveInternalMic "in1" | ||||
| } | ||||
|  | ||||
| If.in3 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:in3" | ||||
| 	} | ||||
| 	True.Define.HaveInternalMic "in3" | ||||
| } | ||||
|  | ||||
| If.hs2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-hs2:in1" | ||||
| 	} | ||||
| 	True.Define.HaveHeadsetMic2 "in1" | ||||
| } | ||||
| @@ -1,47 +0,0 @@ | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-stereo-spk" | ||||
| 	} | ||||
| 	True.Define.HaveSpeaker "2" | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-mono-spk" | ||||
| 	} | ||||
| 	True.Define.HaveSpeaker "1" | ||||
| } | ||||
|  | ||||
| If.dmic1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-dmic1-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.HaveInternalMic "dmic" | ||||
| 		Define.StereoADC2Mux "DMIC1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in1-mic" | ||||
| 	} | ||||
| 	True.Define.HaveInternalMic "in1" | ||||
| } | ||||
|  | ||||
| If.in3 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in3-mic" | ||||
| 	} | ||||
| 	True.Define.HaveInternalMic "in3" | ||||
| } | ||||
| @@ -1,237 +0,0 @@ | ||||
| # Use case Configuration for bytcr-rt5640 | ||||
|  | ||||
| Define.HaveAif "" | ||||
| Define.HaveSpeaker "" | ||||
| Define.HaveHeadPhones2 "" | ||||
| Define.HaveInternalMic "" | ||||
| Define.HaveHeadsetMic "yes" | ||||
| Define.HaveHeadsetMic2 "" | ||||
| Define.StereoADC2Mux "DMIC1" | ||||
|  | ||||
| If.DefineAif1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "aif:1" | ||||
| 	} | ||||
| 	True.Define.HaveAif "1" | ||||
| } | ||||
|  | ||||
| If.DefineAif2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "aif:2" | ||||
| 	} | ||||
| 	True.Define.HaveAif "2" | ||||
| } | ||||
|  | ||||
| If.0 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:" | ||||
| 	} | ||||
| 	True.Include.comp.File "/Intel/bytcr-rt5640/HiFi-Components.conf" | ||||
| 	False.Include.long.File "/Intel/bytcr-rt5640/HiFi-LongName.conf" | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
| 	Include.e.File "/codecs/rt5640/EnableSeq.conf" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speaker Switch' off" | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 		cset "name='Internal Mic Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${var:HaveSpeaker}" | ||||
| 		Needle "2" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.spk.File "/codecs/rt5640/Speaker.conf" | ||||
|  | ||||
| 		SectionDevice."Speaker" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Speaker Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Speaker Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${var:HaveSpeaker}" | ||||
| 		Needle "1" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf" | ||||
|  | ||||
| 		SectionDevice."Speaker" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Speaker Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Speaker Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hp { | ||||
| 	Condition { Type String Empty "" } | ||||
| 	True { | ||||
| 		Include.hs.File "/codecs/rt5640/HeadPhones.conf" | ||||
|  | ||||
| 		SectionDevice."Headphones" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Headphone Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Headphone Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hp2 { | ||||
| 	Condition { Type String Empty "${var:HaveHeadPhones2}" } | ||||
| 	False { | ||||
| 		Include.hs.File "/codecs/rt5640/HeadPhones2.conf" | ||||
|  | ||||
| 		SectionDevice."Headphones2" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Line Out Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Line Out Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${var:HaveInternalMic}" | ||||
| 		Needle "dmic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.dmic.File "/codecs/rt5640/DigitalMics.conf" | ||||
|  | ||||
| 		SectionDevice."Mic" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Internal Mic Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Internal Mic Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${var:HaveInternalMic}" | ||||
| 		Needle "in1" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf" | ||||
|  | ||||
| 		SectionDevice."Mic" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Internal Mic Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Internal Mic Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in3 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${var:HaveInternalMic}" | ||||
| 		Needle "in3" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf" | ||||
|  | ||||
| 		SectionDevice."Mic" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Internal Mic Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Internal Mic Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hsmic { | ||||
| 	Condition { Type String Empty "" } | ||||
| 	True { | ||||
| 		Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf" | ||||
|  | ||||
| 		SectionDevice."Headset" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Headset Mic Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Headset Mic Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hsmic2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${var:HaveHeadsetMic2}" | ||||
| 		Needle "in1" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.hsmic.File "/codecs/rt5640/HeadsetMic2-IN1.conf" | ||||
|  | ||||
| 		SectionDevice."Headset2" { | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Headset Mic 2 Switch' on" | ||||
| 			] | ||||
|  | ||||
| 			DisableSequence [ | ||||
| 				cset "name='Headset Mic 2 Switch' off" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,16 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/bytcr-rt5640/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| Include.codec-init.File "/codecs/rt5640/init.conf" | ||||
|  | ||||
| FixedBootSequence [ | ||||
| 	exec "-/sbin/modprobe snd_ctl_led" | ||||
| 	sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:Speaker Channel Switch" | ||||
| 	sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:HP Channel Switch" | ||||
| ] | ||||
| @@ -1,85 +0,0 @@ | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:2" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.spk.File "/codecs/rt5651/Speaker.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:1" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mspk.File "/codecs/rt5651/MonoSpeaker.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.headphones { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-hp:lrswap" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.hp.File "/codecs/rt5651/HeadPhones-swapped.conf" | ||||
| 	} | ||||
| 	False { | ||||
| 		Include.hp.File "/codecs/rt5651/HeadPhones.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:dmic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.dmic.File "/codecs/rt5651/DigitalMic.conf" | ||||
| 		Include.hsmic.File "/codecs/rt5651/IN2-HeadsetMic.conf" | ||||
| 		SectionDevice."Mic".ConflictingDevice.0 "Headset" | ||||
| 	} | ||||
| 	False { | ||||
| 		Include.hsmic.File "/codecs/rt5651/IN3-HeadsetMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:in2" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/rt5651/IN2-InternalMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in12 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:in12" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/rt5651/IN12-InternalMic.conf" | ||||
| 	} | ||||
| 	False { | ||||
| 		If.in1 { | ||||
| 			Condition { | ||||
| 				Type String | ||||
| 				Haystack "${CardComponents}" | ||||
| 				Needle "cfg-mic:in1" | ||||
| 			} | ||||
| 			True { | ||||
| 				Include.mic.File "/codecs/rt5651/IN1-InternalMic.conf" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,83 +0,0 @@ | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-stereo-spk" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.spk.File "/codecs/rt5651/Speaker.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.mono { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-mono-spk" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mspk.File "/codecs/rt5651/MonoSpeaker.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.headphones { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-mic-hp-swapped" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.hp.File "/codecs/rt5651/HeadPhones-swapped.conf" | ||||
| 	} | ||||
| 	False { | ||||
| 		Include.hp.File "/codecs/rt5651/HeadPhones.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmic1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-dmic1-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.dmic.File "/codecs/rt5651/DigitalMic.conf" | ||||
| 		Include.hsmic.File "/codecs/rt5651/IN2-HeadsetMic.conf" | ||||
| 	} | ||||
| 	False { | ||||
| 		Include.hsmic.File "/codecs/rt5651/IN3-HeadsetMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in1-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/rt5651/IN1-InternalMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in2-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/rt5651/IN2-InternalMic.conf" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.in12 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardLongName}" | ||||
| 		Needle "-in12-mic" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.mic.File "/codecs/rt5651/IN12-InternalMic.conf" | ||||
| 	} | ||||
| } | ||||
| @@ -1,33 +0,0 @@ | ||||
| # Adapted from https://github.com/plbossart/UCM/tree/master/bytcr-rt5651 | ||||
|  | ||||
|  | ||||
| SectionVerb { | ||||
|  | ||||
| 	Include.e.File "/codecs/rt5651/EnableSeq.conf" | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.0 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:" | ||||
| 	} | ||||
| 	True { | ||||
| 		Include.comp.File "/Intel/bytcr-rt5651/HiFi-Components.conf" | ||||
| 	} | ||||
| 	False { | ||||
| 		Include.long.File "/Intel/bytcr-rt5651/HiFi-LongName.conf" | ||||
| 	} | ||||
| } | ||||
| @@ -1,12 +0,0 @@ | ||||
| # Adapted from https://github.com/plbossart/UCM/tree/master/bytcr-rt5651 | ||||
|  | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/bytcr-rt5651/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| Include.codec-init.File "/codecs/rt5651/init.conf" | ||||
| @@ -1,54 +0,0 @@ | ||||
| SectionVerb { | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
|  | ||||
| 	Include.e.File "/codecs/wm5102/EnableSeq.conf" | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		True { | ||||
| 			Include.pe { | ||||
| 				File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 				Before.EnableSequence "0" | ||||
| 			} | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:hpout2" | ||||
| 	} | ||||
| 	True.Include.hpout2.File "/codecs/wm5102/HPOut2-Speaker.conf" | ||||
| 	False.Include.spk.File "/codecs/wm5102/Speaker.conf" | ||||
| } | ||||
|  | ||||
| Include.hp.File "/codecs/wm5102/HeadPhones.conf" | ||||
|  | ||||
| If.intmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-intmic:in1l" | ||||
| 	} | ||||
| 	True.Include.intmic1.File "/codecs/wm5102/IN1-InternalMic.conf" | ||||
| 	False.Include.intmic3.File "/codecs/wm5102/IN3-InternalMic.conf" | ||||
| } | ||||
|  | ||||
| If.hsmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-hsmic:in2l" | ||||
| 	} | ||||
| 	True.Include.hsmic2.File "/codecs/wm5102/IN2-HeadsetMic.conf" | ||||
| 	False.Include.hsmic1.File "/codecs/wm5102/IN1-HeadsetMic.conf" | ||||
| } | ||||
| @@ -1,6 +0,0 @@ | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/bytcr-wm5102/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
| @@ -1,155 +0,0 @@ | ||||
| # Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 | ||||
|  | ||||
| Define.Speaker "yes" | ||||
| Define.Headphones "yes" | ||||
| Define.MonoSpeaker "yes" | ||||
| Define.DigitalMic1 "yes" | ||||
| Define.DigitalMic2 "yes" | ||||
| Define.HeadsetMic "yes" | ||||
|  | ||||
| # Figure out which components are in use on the device, we check both the | ||||
| # components string (present on newer kernels) as well as checking for DMI | ||||
| # strings for compatibility with older kernels. Note DMI matches for new | ||||
| # models should only be added to the kernel, this UCM profile will then | ||||
| # automatically pick up the info from the components string. | ||||
|  | ||||
| If.components-stereo-spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:2" | ||||
| 	} | ||||
| 	True.Define.MonoSpeaker "" | ||||
| } | ||||
|  | ||||
| If.components-dmic1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:dmic1" | ||||
| 	} | ||||
| 	True.Define.DigitalMic2 "" | ||||
| } | ||||
|  | ||||
| If.components-dmic2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-mic:dmic2" | ||||
| 	} | ||||
| 	True.Define.DigitalMic1 "" | ||||
| } | ||||
|  | ||||
| If.dmi-dmic1 { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		Regex "(LENOVO.*LenovoMiix210)|(LENOVO.*ThinkPad10)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.MonoSpeaker "" | ||||
| 		Define.DigitalMic2 "" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmi-dmic2 { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		Regex "(LENOVO.*ThinkPad8)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.MonoSpeaker "" | ||||
| 		Define.DigitalMic1 "" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
| 	Include.e.File "/codecs/rt5672/EnableSeq.conf" | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:Speaker}" | ||||
| 	} | ||||
| 	False.Include.spk.File "/codecs/rt5672/Speaker.conf" | ||||
| } | ||||
|  | ||||
| If.mspk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:MonoSpeaker}" | ||||
| 	} | ||||
| 	True { | ||||
| 		RenameDevice."Speaker1" "Speaker" | ||||
| 		RemoveDevice."Speaker2" "Speaker2" | ||||
| 	} | ||||
| 	False.Include.mspk.File "/codecs/rt5672/MonoSpeaker.conf" | ||||
| } | ||||
|  | ||||
| If.hp { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:Headphones}" | ||||
| 	} | ||||
| 	#True.RemoveDevice."Headphones" "Headphones" | ||||
| 	False.Include.hp.File "/codecs/rt5672/HeadPhones.conf" | ||||
| } | ||||
|  | ||||
| If.dmic1 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DigitalMic1}" | ||||
| 	} | ||||
| 	True.RemoveDevice."Mic1" "Mic1" | ||||
| 	False { | ||||
| 		Include.dmic1.File "/codecs/rt5672/DMIC1.conf" | ||||
| 		If.dmic2 { | ||||
| 			Condition { | ||||
| 				Type "String" | ||||
| 				Empty "${var:DigitalMic2}" | ||||
| 			} | ||||
| 			True.RenameDevice."Mic1" "Mic" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmic2 { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DigitalMic2}" | ||||
| 	} | ||||
| 	True.RemoveDevice."Mic2" "Mic2" | ||||
| 	False { | ||||
| 		Include.dmic2.File "/codecs/rt5672/DMIC2.conf" | ||||
| 		If.dmic1 { | ||||
| 			Condition { | ||||
| 				Type "String" | ||||
| 				Empty "${var:DigitalMic1}" | ||||
| 			} | ||||
| 			True.RenameDevice."Mic2" "Mic" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hsmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:HeadsetMic}" | ||||
| 	} | ||||
| 	#True.RemoveDevice."Headset" "Headset" | ||||
| 	False.Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf" | ||||
| } | ||||
| @@ -1,14 +0,0 @@ | ||||
| # Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 | ||||
|  | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/cht-bsw-rt5672/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| FixedBootSequence [ | ||||
| 	exec "-/sbin/modprobe snd_ctl_led" | ||||
| 	sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:DAC1 Playback Switch" | ||||
| 	sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:ADC Capture Switch" | ||||
| ] | ||||
| @@ -1,36 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
|  | ||||
| 	Include.e.File "/codecs/max98090/EnableSeq.conf" | ||||
|  | ||||
| 	If.platform { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True.Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 	} | ||||
|  | ||||
| 	If.Quawks { | ||||
| 		Condition { | ||||
| 			Type String | ||||
| 			Haystack "${CardLongName}" | ||||
| 			Needle "GOOGLE-Quawks-1.0" | ||||
| 		} | ||||
| 		True { | ||||
| 			EnableSequence [ | ||||
| 				# volume values modified | ||||
| 				cset "name='Headphone Volume' 25" | ||||
| 				cset "name='Speaker Volume' 32" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hs.File "/codecs/max98090/Headphones.conf" | ||||
| Include.spk.File "/codecs/max98090/Speaker.conf" | ||||
| Include.mic.File "/codecs/max98090/InternalMic.conf" | ||||
| Include.hsmic.File "/codecs/max98090/HeadsetMic.conf" | ||||
| @@ -1,5 +0,0 @@ | ||||
| Syntax 3 | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/chtmax98090/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
| @@ -1,90 +0,0 @@ | ||||
| Define.Speaker "Speaker" | ||||
| Define.Mic "InternalMic" | ||||
| Define.SST "yes" | ||||
| Define.RightOutputChannel 1 | ||||
|  | ||||
| If.Controls { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='media0_in Gain 0 Switch'" | ||||
| 	} | ||||
| 	False { | ||||
| 		Define.SST "" | ||||
| 		Define.RightOutputChannel 0 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| # Figure out which components are in use on the device, we check both the | ||||
| # components string (present on newer kernels) as well as checking for DMI | ||||
| # strings for compatibility with older kernels. Note DMI matches for new | ||||
| # models should only be added to the kernel, this UCM profile will then | ||||
| # automatically pick up the info from the components string. | ||||
|  | ||||
| If.components-mono-spk { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-spk:1" | ||||
| 	} | ||||
| 	True.Define.Speaker "MonoSpeaker" | ||||
| } | ||||
|  | ||||
| If.cfg-mspk { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		Regex "(cube-i1_TF|PIPO-W2S)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.Speaker "MonoSpeaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.cfg-mic { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		# Medion E22??T models put DMIC in their product version | ||||
| 		# when using DMICs | ||||
| 		Regex "(MEDION-E22..T.*-DMIC-)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.Mic "DMIC1_2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
|  | ||||
| 	Include.e.File "/codecs/nau8824/EnableSeq.conf" | ||||
|  | ||||
| 	If.SST { | ||||
| 		Condition { | ||||
| 			Type String | ||||
| 			Empty "${var:SST}" | ||||
| 		} | ||||
| 		False { | ||||
| 			Include.pe { | ||||
| 				File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 				Before.EnableSequence "0" | ||||
| 			} | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| # The includes using $vars in there path must be conditional otherwise the | ||||
| # $var gets expanded before the other If-s above can change the vars. | ||||
| If.cfg-includes { | ||||
| 	Condition { Type String Empty "" } | ||||
| 	True { | ||||
| 		Include.spk.File "/codecs/nau8824/${var:Speaker}.conf" | ||||
| 		Include.hp.File "/codecs/nau8824/HeadPhones.conf" | ||||
|  | ||||
| 		Include.mic.File "/codecs/nau8824/${var:Mic}.conf" | ||||
| 		Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf" | ||||
| 	} | ||||
| } | ||||
| @@ -1,8 +0,0 @@ | ||||
| Syntax 3 | ||||
|  | ||||
| Comment "chtnau8824 internal card" | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/chtnau8824/HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
| @@ -1,208 +0,0 @@ | ||||
| Define.MonoSpeaker "" | ||||
| Define.AnalogMic "yes" | ||||
| Define.DigitalMic "" | ||||
|  | ||||
| If.cfg-dmic1 { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		Regex "(ASUSTeK.*T100HAN|ASUSTeK.*T101HA)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.AnalogMic "" | ||||
| 		Define.DigitalMic "DMIC1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.cfg-dmic2 { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		Regex "(LENOVO.*LenovoMIIX320|MEDION.*Wingman|Standard-EF20EA-1.0)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.AnalogMic "" | ||||
| 		Define.DigitalMic "DMIC2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.cfg-mspk { | ||||
| 	Condition { | ||||
| 		Type RegexMatch | ||||
| 		String "${CardLongName}" | ||||
| 		Regex "(gpd-win-pocket-rt5645|TECLAST-X80Pro)" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.MonoSpeaker "yes" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionVerb { | ||||
| 	# ALSA PCM | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
|  | ||||
| 	Include.ce.File "/codecs/rt5645/EnableSeq.conf" | ||||
| 	Include.cd.File "/codecs/rt5645/DisableSeq.conf" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Stereo1 ADC1 Mux' 1" | ||||
| 		cset "name='I2S2 Func Switch' on" | ||||
| 		# 3/12 the headphone mic tends to be quite loud | ||||
| 		cset "name='IN1 Boost' 3" | ||||
| 		# 8/8 the internal analog mic tends to be quite soft | ||||
| 		cset "name='IN2 Boost' 8" | ||||
| 	] | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf" | ||||
|  | ||||
| 	If.mspk { | ||||
| 		Condition { | ||||
| 			Type String | ||||
| 			Empty "${var:MonoSpeaker}" | ||||
| 		} | ||||
| 		False { | ||||
| 			EnableSequence [ | ||||
| 				# Monospeaker: Mix right to left | ||||
| 				cset "name='Stereo DAC MIXL DAC R1 Switch' 1" | ||||
| 				cset "name='Stereo DAC MIXR DAC R1 Switch' 0" | ||||
| 			] | ||||
| 			DisableSequence [ | ||||
| 				# Undo monospeaker mixing | ||||
| 				cset "name='Stereo DAC MIXL DAC R1 Switch' 0" | ||||
| 				cset "name='Stereo DAC MIXR DAC R1 Switch' 1" | ||||
| 			] | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Ext Spk Switch' off" | ||||
| 		cset "name='Speaker Channel Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf" | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 		cset "name='Headphone Channel Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.amic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:AnalogMic}" | ||||
| 	} | ||||
| 	Before.SectionDevice "Headset" | ||||
| 	False.Include.amic.File "/codecs/rt5645/AnalogMic.conf" | ||||
| } | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DigitalMic}" | ||||
| 	} | ||||
| 	Before.SectionDevice "Headset" | ||||
| 	False { | ||||
| 		SectionDevice."Mic" { | ||||
| 			Comment "Internal Microphone" | ||||
|  | ||||
| 			Value { | ||||
| 				CapturePriority 100 | ||||
| 				CapturePCM "hw:${CardId}" | ||||
| 			} | ||||
|  | ||||
| 			Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf" | ||||
| 			Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf" | ||||
|  | ||||
| 			EnableSequence [ | ||||
| 				cset "name='Stereo1 ADC2 Mux' DMIC" | ||||
| 				cset "name='Mono ADC L2 Mux' DMIC" | ||||
| 				cset "name='Mono ADC R2 Mux' DMIC" | ||||
| 			] | ||||
|  | ||||
| 			If.dmic2 { | ||||
| 				Condition { | ||||
| 					Type String | ||||
| 					String1 "${var:DigitalMic}" | ||||
| 					String2 "DMIC1" | ||||
| 				} | ||||
| 				True { | ||||
| 					EnableSequence [ | ||||
| 						cset "name='Stereo1 DMIC Mux' DMIC1" | ||||
| 					] | ||||
| 				} | ||||
| 				False { | ||||
| 					EnableSequence [ | ||||
| 						cset "name='Stereo1 DMIC Mux' DMIC2" | ||||
| 						cset "name='Mono DMIC L Mux' DMIC2" | ||||
| 						cset "name='Mono DMIC R Mux' DMIC2" | ||||
| 					] | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
|  | ||||
| 	Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf" | ||||
| 	Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' off" | ||||
|  | ||||
| 		cset "name='Mono ADC MIXL ADC1 Switch' on" | ||||
| 		cset "name='Mono ADC MIXR ADC1 Switch' on" | ||||
| 		cset "name='Mono ADC MIXL ADC2 Switch' off" | ||||
| 		cset "name='Mono ADC MIXR ADC2 Switch' off" | ||||
| 	] | ||||
| } | ||||
| @@ -1,11 +0,0 @@ | ||||
| Syntax 4 | ||||
| Comment "Intel SoC Audio Device" | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/chtrt5645/HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| Include.codec-init.File "/codecs/rt5645/init.conf" | ||||
| @@ -1,116 +0,0 @@ | ||||
|  | ||||
| SectionVerb { | ||||
| 	# ALSA PCM | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
|  | ||||
| 	Include.e.File "/codecs/rt5645/EnableSeq.conf" | ||||
| 	Include.d.File "/codecs/rt5645/DisableSeq.conf" | ||||
|  | ||||
| 	If.Controls { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='media0_in Gain 0 Switch'" | ||||
| 		} | ||||
| 		Before.EnableSequence "0" | ||||
| 		True { | ||||
| 			Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf" | ||||
| 			Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf" | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speaker HWEQ' 1,164,237,135,1,165,0,0,1,166,237,135,1,167,0,0,1,192,30,196,1,193,0,0,1,194,30,196,1,195,0,0,1,196,31,180,1,197,0,75,1,198,31,180,1,199,31,180,1,200,0,75,1,201,31,180,0,177,51,224" | ||||
| 		cset "name='DAC1 Playback Volume' 77,77" | ||||
| 		cset "name='Speaker ClassD Playback Volume' 4" | ||||
| 		cset "name='I2S2 Func Switch' off" | ||||
| 		cset "name='RT5650 IF1 ADC Mux' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackPriority 100 | ||||
| 	} | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	Include.spk.File "/codecs/rt5645/SpeakerEnableSeq.conf" | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Ext Spk Switch' off" | ||||
| 		cset "name='Speaker Channel Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackPriority 200 | ||||
| 		JackControl "Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	Include.hse.File "/codecs/rt5645/HeadphonesEnableSeq.conf" | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 		cset "name='Headphone Channel Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CapturePriority 100 | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Int Mic Switch' on" | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' on" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Sto1 ADC MIXL ADC2 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC2 Switch' off" | ||||
| 		cset "name='Int Mic Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic2" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CapturePriority 200 | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 		JackHWMute "Mic1" | ||||
| 	} | ||||
|  | ||||
| 	Include.hsmice.File "/codecs/rt5645/HSMicEnableSeq.conf" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='IN1 Boost' 1" | ||||
| 	] | ||||
|  | ||||
| 	Include.hsmicd.File "/codecs/rt5645/HSMicDisableSeq.conf" | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='IN1 Boost' 0" | ||||
| 	] | ||||
| } | ||||
| @@ -1,6 +0,0 @@ | ||||
| Comment "Intel SoC Audio Device" | ||||
| Syntax 3 | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/chtrt5650/HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
| @@ -1,24 +0,0 @@ | ||||
| # Usecase for device HDMI1/Display Port stereo playback on Intel cAVS platforms | ||||
| # For Audio in HDA mode | ||||
|  | ||||
| SectionDevice."HDMI1" { | ||||
| 	Comment "HDMI/Display Port 1 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},10" | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=17 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=17 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=17 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Usecase for device HDMI2/Display Port stereo playback on Intel cAVS platforms | ||||
| # For Audio in HDA mode | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
| 	Comment "HDMI/Display Port 2 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 400 | ||||
| 		PlaybackPCM "hw:${CardId},11" | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=18 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=18 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=18 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,96 +0,0 @@ | ||||
| # Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC. | ||||
| # For Audio in HDA mode on Intel cAVS platforms | ||||
|  | ||||
| SectionVerb { | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' 1,1" | ||||
| 		cset "name='Speaker Playback Switch' 0,0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},7" | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		PlaybackMasterElem "Master" | ||||
| 		PlaybackVolume "Headphone Playback Volume" | ||||
| 		PlaybackSwitch "Headphone Playback Switch" | ||||
| 		JackControl "Front Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Playback Switch' 0,0" | ||||
| 		cset "name='Speaker Playback Switch' 1,1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId},7" | ||||
| 		PlaybackMixerElem "Speaker" | ||||
| 		PlaybackMasterElem "Master" | ||||
| 		PlaybackVolume "Speaker Playback Volume" | ||||
| 		PlaybackSwitch "Speaker Playback Switch" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},7" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Digital Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},13" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hdmi1.File "/Intel/hda-dsp/Hdmi1.conf" | ||||
| Include.hdmi2.File "/Intel/hda-dsp/Hdmi2.conf" | ||||
| @@ -1,16 +0,0 @@ | ||||
| # UCM for Intel CAVS platforms | ||||
| # For Audio in HDA and DMIC mode | ||||
|  | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/hda-dsp/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| SectionDefaults [ | ||||
| 	cset "name='Master Playback Switch' 1" | ||||
| 	cset "name='codec0_out mo media0_in mi Switch' 1" | ||||
| 	cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 	cset "name='mch_cap_out mo mch_cap_in mi Switch' 1" | ||||
| ] | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Usecase for device HDMI1/Display Port stereo playback on Intel KABYLAKE platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| SectionDevice."HDMI1" { | ||||
| 	Comment "HDMI/Display Port 1 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},2" | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=4 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=4 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Usecase for device HDMI1/Display Port stereo playback on Intel KABYLAKE platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
| 	Comment "HDMI/Display Port 2 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},3" | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=5 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=5 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,77 +0,0 @@ | ||||
| # UCM for Intel Kabylake platforms with RT5660 | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| LibraryConfig.remap.Config { | ||||
|  | ||||
| 	ctl.default.remap { | ||||
| 		"name='IN1 Boost Volume'" "name='IN1 Boost Capture Volume'" | ||||
| 		"name='IN2 Boost Volume'" "name='IN2 Boost Capture Volume'" | ||||
| 		"name='IN3 Boost Volume'" "name='IN3 Boost Capture Volume'" | ||||
| 		"name='STO1 ADC Boost Gain Volume'" "name='STO1 ADC Boost Capture Volume'" | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| SectionDevice."Line1" { | ||||
| 	Comment "Line playback" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='DAC1 Playback Volume' 30" | ||||
| 		cset "name='OUT Playback Volume' 19" | ||||
| 		cset "name='OUT Playback Switch' on" | ||||
| 		cset "name='codec0_out mo media0_in mi Switch' on" | ||||
| 		cset "name='DAC1 MIXL DAC1 Switch' on" | ||||
| 		cset "name='DAC1 MIXR DAC1 Switch' on" | ||||
| 		cset "name='Stereo DAC MIXL DAC L1 Switch' on" | ||||
| 		cset "name='Stereo DAC MIXR DAC L1 Switch' off" | ||||
| 		cset "name='Stereo DAC MIXR DAC R1 Switch' on" | ||||
| 		cset "name='Stereo DAC MIXL DAC R1 Switch' off" | ||||
| 		cset "name='LOUT MIX DAC Switch' on" | ||||
| 		cset "name='Line Out Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Line Out Switch' off" | ||||
| 		cset "name='DAC1 MIXL DAC1' off" | ||||
| 		cset "name='DAC1 MIXR DAC1' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		JackDev "rt5660-jack" | ||||
| 		JackControl "Line Out Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line2" { | ||||
| 	Comment "Line capture" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='ADC Capture Volume' 30" | ||||
| 		cset "name='IN1 Boost Volume' 30" | ||||
| 		cset "name='IN2 Boost Volume' 30" | ||||
| 		cset "name='STO1 ADC Boost Gain Volume' 1" | ||||
| 		cset "name='RECMIXL BST1 Switch' off" | ||||
| 		cset "name='RECMIXR BST1 Switch' on" | ||||
| 		cset "name='RECMIXL BST2 Switch' on" | ||||
| 		cset "name='RECMIXR BST2 Switch' off" | ||||
| 		cset "name='Line In Switch' on" | ||||
| 		cset "name='Sto1 ADC MIXR ADC1 Switch' on" | ||||
| 		cset "name='Sto1 ADC MIXL ADC1 Switch' on" | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Line In Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXR ADC1 Switch' off" | ||||
| 		cset "name='Sto1 ADC MIXL ADC1 Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},1"		 | ||||
| 		JackDev "rt5660-jack" | ||||
| 		JackControl "Line In Jack" | ||||
| 	} | ||||
| } | ||||
| @@ -1,19 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/kblrt5660/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| SectionUseCase."Hdmi1" { | ||||
| 	File "/Intel/kblrt5660/Hdmi1.conf" | ||||
| 	Comment "Play on Hdmi/DP 1" | ||||
| } | ||||
|  | ||||
| SectionUseCase."Hdmi2" { | ||||
| 	File "/Intel/kblrt5660/Hdmi2.conf" | ||||
| 	Comment "Play on Hdmi/DP 2" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Usecase for device HDMI1/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| SectionDevice."HDMI1" { | ||||
|         Comment "HDMI/Display Port 1 Stereo" | ||||
|  | ||||
|         Value { | ||||
| 		PlaybackPriority 300 | ||||
|                 PlaybackPCM "hw:${CardId},4" | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=4 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=4 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Usecase for device HDMI2/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
|         Comment "HDMI/Display Port 2 Stereo" | ||||
|  | ||||
|         Value { | ||||
| 		PlaybackPriority 400 | ||||
|                 PlaybackPCM "hw:${CardId},5" | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" | ||||
| 			} | ||||
| 		 	True { | ||||
| 		                JackControl "HDMI/DP,pcm=5 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 		                JackControl "HDMI/DP, pcm=5 Jack" | ||||
| 			} | ||||
| 		} | ||||
|         } | ||||
| } | ||||
| @@ -1,112 +0,0 @@ | ||||
| # Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC. | ||||
| # For Audio in I2S mode on Intel SKYLAKE/KABYLAKE platforms | ||||
|  | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HPO L Switch' 1" | ||||
| 		cset "name='HPO R Switch' 1" | ||||
| 		cset "name='Headphone Jack Switch' 1" | ||||
| 		cset "name='Speaker Playback Switch' 0,0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='SPO Switch' 1" | ||||
| 		cset "name='Speaker Playback Switch' 1,1" | ||||
| 		cset "name='Speaker Switch' 1" | ||||
| 		cset "name='HPO L Switch' 0" | ||||
| 		cset "name='HPO R Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic" | ||||
| 	] | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 		cset "name='ADC0 Capture Switch' 1,1" | ||||
| 		cset "name='ADC 0 Mux' 0" | ||||
| 		cset "name='Mic Jack Switch' 1" | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 0" | ||||
| 	] | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 		JackControl "Mic Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Digital Stereo Microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 0" | ||||
| 		cset "name='ADC0 Capture Switch' 0,0" | ||||
| 		cset "name='Mic Jack Switch' 0" | ||||
| 		cset "name='ADC 0 Mux' 0" | ||||
| 		 | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 		cset "name='ADC0 Capture Switch' 1,1" | ||||
| 		cset "name='Mic Jack Switch' 1" | ||||
| 		cset "name='ADC 0 Mux' 2" | ||||
| 	] | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hdmi1.File "/Intel/skylake-rt286/Hdmi1.conf" | ||||
| Include.hdmi2.File "/Intel/skylake-rt286/Hdmi2.conf" | ||||
| @@ -1,44 +0,0 @@ | ||||
| # UCM for Intel SKYLAKE/KABYLAKE platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/skylake-rt286/HiFi.conf" | ||||
| 	Comment "Play and record HiFi quality Music" | ||||
| } | ||||
|  | ||||
| SectionDefaults [ | ||||
| 	cset "name='Headphone Jack Switch' 1" | ||||
| 	cset "name='Speaker Switch' 1" | ||||
| 	cset "name='Speaker Playback Switch' 0,0" | ||||
| 	cset "name='Front DAC Switch' 1" | ||||
| 	cset "name='Front RECMIX Switch' 0" | ||||
| 	cset "name='Mic Jack Switch' 1" | ||||
| 	cset "name='ADC 0 Mux' 2" | ||||
| 	cset "name='ADC 1 Mux' 0" | ||||
| 	cset "name='ADC0 Capture Volume' 105,105" | ||||
| 	cset "name='ADC0 Capture Switch' 1,1" | ||||
| 	cset "name='AMIC Volume' 3" | ||||
| 	cset "name='DAC0 Playback Volume' 100,100" | ||||
| 	cset "name='HPO L Switch' 0" | ||||
| 	cset "name='HPO Mux' 0" | ||||
| 	cset "name='HPO R Switch' 0" | ||||
| 	cset "name='Pin 5 Mux' 1" | ||||
| 	cset "name='Pin 6 Mux' 2" | ||||
| 	cset "name='Pin 7 Mux' 3" | ||||
| 	cset "name='RECMIX Beep Switch' 0" | ||||
| 	cset "name='RECMIX Line1 Switch' 0" | ||||
| 	cset "name='RECMIX Mic1 Switch' 0" | ||||
| 	cset "name='SPK Mux' 0" | ||||
| 	cset "name='SPO Switch' 1" | ||||
| 	cset "name='codec0_out mo codec0_in mi Switch' 0" | ||||
| 	cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 	cset "name='codec0_out mo media0_in mi Switch' 1" | ||||
| 	cset "name='codec1_out mo codec0_in mi Switch' 0" | ||||
| 	cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0" | ||||
| 	cset "name='codec1_out mo media0_in mi Switch' 0" | ||||
| 	cset "name='media0_out mo codec0_in mi Switch' 1" | ||||
| 	cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" | ||||
| 	cset "name='media0_out mo media0_in mi Switch' 0" | ||||
| ] | ||||
| @@ -1,85 +0,0 @@ | ||||
| # Usecase for device HDMI/Display Port stereo playback on Intel ELKHARTLAKE platforms | ||||
|  | ||||
| SectionDevice."HDMI1" { | ||||
| 	Comment "HDMI/Display Port 1 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},3" | ||||
| 		PlaybackPriority 500 | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=3 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=3 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=3 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
| 	Comment "HDMI/Display Port 2 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},4" | ||||
| 		PlaybackPriority 600 | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=4 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=4 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI3" { | ||||
| 	Comment "HDMI/Display Port 3 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 		PlaybackPriority 600 | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=5 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=5 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI4" { | ||||
| 	Comment "HDMI/Display Port 4 Stereo" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},6" | ||||
| 		PlaybackPriority 600 | ||||
| 		If.1 { | ||||
| 			Condition { | ||||
| 				Type ControlExists | ||||
| 				Control "iface=CARD,name='HDMI/DP,pcm=6 Jack'" | ||||
| 			} | ||||
| 			True { | ||||
| 				JackControl "HDMI/DP,pcm=6 Jack" | ||||
| 			} | ||||
| 			False { | ||||
| 				JackControl "HDMI/DP, pcm=6 Jack" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @@ -1,75 +0,0 @@ | ||||
| # Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC. | ||||
| # For Audio in I2S mode on Intel ElkhartLake platforms | ||||
|  | ||||
| SectionVerb { | ||||
|  | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Lineout" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speaker Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Speaker Switch' off" | ||||
| 	] | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Lineout" { | ||||
| 	Comment "Lineout" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Line Out Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Line Out Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Digital Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic2 Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headset Mic2 Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hdmi.File "/Intel/sof-ehl-rt5660/Hdmi.conf" | ||||
| @@ -1,19 +0,0 @@ | ||||
| # UCM for Intel ElkhartLake platforms | ||||
| # For Audio in I2S mode | ||||
|  | ||||
| Syntax 3 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/sof-ehl-rt5660/HiFi.conf" | ||||
| 	Comment "Play and record HiFi quality Music" | ||||
| } | ||||
|  | ||||
| SectionDefaults [ | ||||
| 	cset "name='DAC1 MIXL DAC1 Switch' on" | ||||
| 	cset "name='DAC1 MIXR DAC1 Switch' on" | ||||
| 	cset "name='Stereo DAC MIXL DAC L1 Switch' on" | ||||
| 	cset "name='Stereo DAC MIXR DAC R1 Switch' on" | ||||
| 	cset "name='LOUT MIX DAC Switch' on" | ||||
| 	cset "name='RECMIXL BST2 Switch' on" | ||||
| 	cset "name='RECMIXR BST2 Switch' on" | ||||
| ] | ||||
| @@ -1,30 +0,0 @@ | ||||
| # Use case Configuration for sof-es8336 | ||||
|  | ||||
| Include.hdmi.File "/codecs/hda/hdmi.conf" | ||||
|  | ||||
| If.hdmi1 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi1.HDMI { | ||||
| 		Number 1 | ||||
| 		Device 5 | ||||
| 		Priority 500 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi2 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi2.HDMI { | ||||
| 		Number 2 | ||||
| 		Device 6 | ||||
| 		Priority 600 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi3 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi3.HDMI { | ||||
| 		Number 3 | ||||
| 		Device 7 | ||||
| 		Priority 700 | ||||
| 	} | ||||
| } | ||||
| @@ -1,152 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 		# Disable all inputs / outputs | ||||
| 		#   (may be duplicated with disdevall) | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 		cset "name='Internal Mic Switch' off" | ||||
| 		cset "name='DAC Mono Mix Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.amic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceDmic}" | ||||
| 	} | ||||
| 	True.SectionDevice."Mic" { | ||||
| 		Comment "Analog Microphone" | ||||
|  | ||||
| 		ConflictingDevice [ | ||||
| 			"Headset" | ||||
| 		] | ||||
|  | ||||
| 		EnableSequence [ | ||||
| 			cset "name='Differential Mux' lin1-rin1" | ||||
| 			cset "name='Internal Mic Switch' on" | ||||
| 		] | ||||
|  | ||||
| 		DisableSequence [ | ||||
| 			cset "name='Internal Mic Switch' off" | ||||
| 		] | ||||
|  | ||||
| 		Value { | ||||
| 			CapturePriority 100 | ||||
| 			CapturePCM "hw:${CardId}" | ||||
| 			CaptureMixerElem "ADC PGA Gain" | ||||
| 			CaptureMasterElem "ADC" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceDmic}" | ||||
| 	} | ||||
| 	False.SectionDevice."${var:DeviceDmic}" { | ||||
| 		Comment "Digital Microphone" | ||||
|  | ||||
| 		Value { | ||||
| 			CapturePriority 100 | ||||
| 			CapturePCM "hw:${CardId},1" | ||||
| 			If.chn { | ||||
| 				Condition { | ||||
| 					Type RegexMatch | ||||
| 					Regex "cfg-dmics:[34]" | ||||
| 					String "${CardComponents}" | ||||
| 				} | ||||
| 				True { | ||||
| 					CaptureChannels 4 | ||||
| 				} | ||||
| 			} | ||||
| 			CaptureMixerElem "Dmic0" | ||||
| 			CaptureVolume "Dmic0 Capture Volume" | ||||
| 			CaptureSwitch "Dmic0 Capture Switch" | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speakers" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speaker Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Speaker Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		# The es8316 only has a HP-amp which is muxed to the speaker | ||||
| 		# or to the headpones output | ||||
| 		PlaybackMixerElem "Headphone Mixer" | ||||
| 		PlaybackMasterElem "DAC" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 		PlaybackMixerElem "Headphone Mixer" | ||||
| 		PlaybackMasterElem "DAC" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		JackHWMute "Speaker" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	If.conflict { | ||||
| 		Condition { | ||||
| 			Type String | ||||
| 			Empty "${var:DeviceDmic}" | ||||
| 		} | ||||
| 		True.ConflictingDevice [ | ||||
| 			"Mic" | ||||
| 		] | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 		cset "name='Digital Mic Mux' 'dmic disable'" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CapturePCM "hw:${CardId}" | ||||
| 		CaptureMixerElem "ADC PGA Gain" | ||||
| 		CaptureMasterElem "ADC" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hdmi.File "/Intel/sof-essx8336/Hdmi.conf" | ||||
| @@ -1,57 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| BootSequence [ | ||||
| 	# Setup muxes / switches | ||||
| 	cset "name='Left Headphone Mixer Left DAC Switch' on" | ||||
| 	cset "name='Right Headphone Mixer Right DAC Switch' on" | ||||
| 	# Set digital mix mux to "dmic disable" | ||||
| 	# That doesn't affect dmic, but other values mute headset mic | ||||
| 	cset "name='Digital Mic Mux' 0" | ||||
|  | ||||
| 	# Set HP vol to 0 dB | ||||
| 	cset "name='Headphone Playback Volume' 100%" | ||||
| 	cset "name='Headphone Mixer Volume' 100%" | ||||
|  | ||||
| 	# Set DAC vol | ||||
| 	cset "name='DAC Playback Volume' 60%" | ||||
| 	# LDATA TO LDAC, RDATA TO RDAC | ||||
| 	cset "name='DAC Source Mux' 0" | ||||
|  | ||||
| 	# Disable Auto Level Control | ||||
| 	cset "name='ALC Capture Switch' off" | ||||
|  | ||||
| 	# Set capture vol | ||||
| 	cset "name='ADC Capture Volume' 60%" | ||||
| ] | ||||
|  | ||||
| Define.DeviceDmic "" | ||||
|  | ||||
| If.devdmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-dmics:" | ||||
| 	} | ||||
| 	True.Define.DeviceDmic "Mic" | ||||
| } | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/sof-essx8336/HiFi.conf" | ||||
| 	Comment "Play and record HiFi quality Music" | ||||
| } | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceDmic}" | ||||
| 	} | ||||
| 	False.If.Dmic0 { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='Dmic0 Capture Volume'" | ||||
| 		} | ||||
| 		True.BootSequence [ | ||||
| 			cset "name='Dmic0 Capture Volume' 70%" | ||||
| 		] | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -1,30 +0,0 @@ | ||||
| # Use case Configuration for sof-glkda7219max | ||||
|  | ||||
| Include.hdmi.File "/codecs/hda/hdmi.conf" | ||||
|  | ||||
| If.hdmi1 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi1.HDMI { | ||||
| 		Number 1 | ||||
| 		Device 5 | ||||
| 		Priority 500 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi2 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi2.HDMI { | ||||
| 		Number 2 | ||||
| 		Device 6 | ||||
| 		Priority 600 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi3 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi3.HDMI { | ||||
| 		Number 3 | ||||
| 		Device 7 | ||||
| 		Priority 700 | ||||
| 	} | ||||
| } | ||||
| @@ -1,72 +0,0 @@ | ||||
| # command-line sequence to switch playback/capture | ||||
| # alsaucm -c sof-glkda7219max set _verb HiFi set _enadev Headphone | ||||
| # alsaucm -c sof-glkda7219max set _verb HiFi set _enadev Speaker | ||||
| # alsaucm -c sof-glkda7219max set _verb HiFi set _enadev Headset | ||||
| # alsaucm -c sof-glkda7219max set _verb HiFi set _enadev InternalMic | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackPCM "hw:${CardId}" | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Spk Switch' on" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Spk Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},1" | ||||
| 		PlaybackMixerElem "Headphone" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' on" | ||||
| 		cset "name='Headphone Switch' 1" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' off" | ||||
| 		cset "name='Headphone Switch' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CapturePCM "hw:${CardId},99" | ||||
| 		CaptureChannels 4 | ||||
| 		#CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" | ||||
| 		#MaxSoftwareGain "2000" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},1" | ||||
| 		CaptureMixerElem "Headset Mic" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 		cset "name='Mic Switch' on" | ||||
| 	] | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 		cset "name='Mic Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| Include.hdmi.File "/Intel/sof-glkda7219max/Hdmi.conf" | ||||
| @@ -1,8 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/sof-glkda7219max/HiFi.conf" | ||||
| 	Comment "Play and record HiFi quality Music" | ||||
| } | ||||
|  | ||||
| Include.codec-init.File "/codecs/da7219/init.conf" | ||||
| @@ -1,30 +0,0 @@ | ||||
| # Use case Configuration for sof-hda-dsp | ||||
|  | ||||
| Include.hdmi.File "/codecs/hda/hdmi.conf" | ||||
|  | ||||
| If.hdmi1 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi1.HDMI { | ||||
| 		Number 1 | ||||
| 		Device 3 | ||||
| 		Priority 500 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi2 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi1.HDMI { | ||||
| 		Number 2 | ||||
| 		Device 4 | ||||
| 		Priority 600 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.hdmi3 { | ||||
| 	Condition { Type AlwaysTrue } | ||||
| 	True.Macro.hdmi1.HDMI { | ||||
| 		Number 3 | ||||
| 		Device 5 | ||||
| 		Priority 700 | ||||
| 	} | ||||
| } | ||||
| @@ -1,56 +0,0 @@ | ||||
| # Use case Configuration for sof-hda-dsp | ||||
|  | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 	] | ||||
|  | ||||
| 	Value.TQ "HiFi" | ||||
| } | ||||
|  | ||||
| Include.hda-analog.File "/HDA/HiFi-analog.conf" | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceDmic}" | ||||
| 	} | ||||
| 	Before.SectionDevice "${var:DeviceMic}" | ||||
| 	False.SectionDevice."${var:DeviceDmic}" { | ||||
| 		Comment "Digital Microphone" | ||||
|  | ||||
| 		Value { | ||||
| 			CapturePriority 100 | ||||
| 			CapturePCM "hw:${CardId},6" | ||||
| 			CaptureMicInfoFile "${var:LibDir}/dmics-nhlt.json" | ||||
| 			If.chn { | ||||
| 				Condition { | ||||
| 					Type RegexMatch | ||||
| 					Regex "cfg-dmics:[34]" | ||||
| 					String "${CardComponents}" | ||||
| 				} | ||||
| 				True { | ||||
| 					CaptureChannels 4 | ||||
| 				} | ||||
| 			} | ||||
| 			If.vol { | ||||
| 				Condition { | ||||
| 					Type ControlExists | ||||
| 					Control "name='Dmic0 Capture Switch'" | ||||
| 				} | ||||
| 				True { | ||||
| 					CaptureMixerElem "Dmic0" | ||||
| 					CaptureVolume "Dmic0 Capture Volume" | ||||
| 					CaptureSwitch "Dmic0 Capture Switch" | ||||
| 				} | ||||
| 				False { | ||||
| 					# v1.3 SOF firmware | ||||
| 					CaptureMixerElem "PGA10.0 10 Master" | ||||
| 					CaptureVolume "PGA10.0 10 Master Capture Volume" | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| Include.hdmi.File "/Intel/sof-hda-dsp/Hdmi.conf" | ||||
| @@ -1,117 +0,0 @@ | ||||
| Syntax 6 | ||||
|  | ||||
| Define.DeviceMic "Mic" | ||||
| Define.DeviceDmic "" | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
|  | ||||
| If.devdmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "${CardComponents}" | ||||
| 		Needle "cfg-dmics:" | ||||
| 	} | ||||
| 	True { | ||||
| 		Define.DeviceDmic "Mic1" | ||||
| 		Define.DeviceMic "Mic2" | ||||
| 		FixedBootSequence [ | ||||
| 			# | ||||
| 			# users expect to turn the LED on when only internal | ||||
| 			# mic is off, but it makes sense to turn this LED | ||||
| 			# when all internal inputs are off | ||||
| 			# | ||||
| 			sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch" | ||||
| 			# dmic array info | ||||
| 			exec "-nhlt-dmic-info -o ${var:LibDir}/dmics-nhlt.json" | ||||
| 		] | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/Intel/sof-hda-dsp/HiFi.conf" | ||||
| 	Comment "Play HiFi quality Music" | ||||
| } | ||||
|  | ||||
| # the kcontrols initial values, which will be set by `alsactl init` | ||||
|  | ||||
| If.amute { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Auto-Mute Mode'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Auto-Mute Mode' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.master { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Master Playback Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Master Playback Volume' 60%" | ||||
| 		cset "name='Master Playback Switch' on" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.speaker { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Speaker Playback Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Speaker Playback Volume' 60%" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.DellMuteLed { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Haystack "$${sys:class/leds/platform::mute/device}" | ||||
| 		Needle "dell-laptop" | ||||
| 	} | ||||
| 	True { | ||||
| 		FixedBootSequence [ | ||||
| 			sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:Master Playback Switch" | ||||
| 		] | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.headphone { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Headphone Playback Volume'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Headphone Playback Volume' 60%" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| If.dmic { | ||||
| 	Condition { | ||||
| 		Type String | ||||
| 		Empty "${var:DeviceDmic}" | ||||
| 	} | ||||
| 	False.If.Dmic0 { | ||||
| 		Condition { | ||||
| 			Type ControlExists | ||||
| 			Control "name='Dmic0 Capture Volume'" | ||||
| 		} | ||||
| 		True.BootSequence [ | ||||
| 			cset "name='Dmic0 Capture Volume' 70%" | ||||
| 			cset "name='Dmic0 Capture Switch' on" | ||||
| 		] | ||||
| 	} | ||||
| } | ||||
|  | ||||
| If.Capture { | ||||
| 	Condition { | ||||
| 		Type ControlExists | ||||
| 		Control "name='Capture Switch'" | ||||
| 	} | ||||
| 	True.BootSequence [ | ||||
| 		cset "name='Capture Volume' 60%" | ||||
| 		cset "name='Capture Switch' on" | ||||
| 	] | ||||
| } | ||||
| @@ -1,88 +0,0 @@ | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		TQ "HiFi" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Speakers Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Speakers Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackPriority 100 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Headphone Jack Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPCM "hw:${CardId},3" | ||||
| 		JackControl "Headphone Jack" | ||||
| 		PlaybackMixerElem "DAC1" | ||||
| 		PlaybackPriority 200 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='MTKAIF_DMIC Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='MTKAIF_DMIC Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePCM "hw:${CardId},10" | ||||
| 		CapturePriority 100 | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic Switch' 1" | ||||
| 		cset "name='STO1 ADC Capture Switch' 1" | ||||
| 		cset "name='RECMIX1L CBJ Switch' 1" | ||||
| 		cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" | ||||
| 		cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='STO1 ADC Capture Switch' 0" | ||||
| 		cset "name='RECMIX1L CBJ Switch' 0" | ||||
| 		cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" | ||||
| 		cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" | ||||
| 		cset "name='Headset Mic Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePCM  "hw:${CardId},11" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 		CapturePriority 200 | ||||
| 	} | ||||
| } | ||||
| @@ -1,24 +0,0 @@ | ||||
| BootSequence [ | ||||
| 	# Speaker | ||||
| 	cset "name='I2S3_CH1 DL1_CH1' 1" | ||||
| 	cset "name='I2S3_CH2 DL1_CH2' 1" | ||||
| 	cset "name='I2S3_HD_Mux' 1" | ||||
|  | ||||
| 	# Headphone | ||||
| 	cset "name='I2S9_CH1 DL3_CH1' 1" | ||||
| 	cset "name='I2S9_CH2 DL3_CH2' 1" | ||||
| 	cset "name='I2S9_HD_Mux' 1" | ||||
|  | ||||
| 	# Internal Mic | ||||
| 	cset "name='UL1_CH1 ADDA_UL_CH1' 1" | ||||
| 	cset "name='UL1_CH2 ADDA_UL_CH2' 1" | ||||
| 	cset "name='UL_SRC_MUX' DMIC" | ||||
|  | ||||
| 	# Headset Mic | ||||
| 	cset "name='UL2_CH1 I2S8_CH1' 1" | ||||
| 	cset "name='UL2_CH2 I2S8_CH2' 1" | ||||
| 	cset "name='I2S8_HD_Mux' 1" | ||||
| 	cset "name='Stereo1 ADC L1 Mux' 1" | ||||
| 	cset "name='Stereo1 ADC R1 Mux' 1" | ||||
| 	cset "name='CBJ Boost Volume' 3" | ||||
| ] | ||||
| @@ -1,11 +0,0 @@ | ||||
| Comment "MT8192 MT6359 RT1015P RT5682 sound card" | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
|   File "HiFi.conf" | ||||
|   Comment "Default" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| Include.init.File "init.conf" | ||||
| @@ -1,20 +0,0 @@ | ||||
| # mt8195 specific boot sequence | ||||
|  | ||||
| BootSequence [ | ||||
| 	# eTDM | ||||
| 	cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys" | ||||
|  | ||||
| 	# mt6359 audio | ||||
| 	cset "name='UL_SRC_MUX' DMIC" | ||||
|  | ||||
| 	# AFE | ||||
| 	cset "name='O048 I070 Switch' 1" | ||||
| 	cset "name='O049 I071 Switch' 1" | ||||
| 	cset "name='O072 I020 Switch' 1" | ||||
| 	cset "name='O073 I021 Switch' 1" | ||||
| 	cset "name='O036 I012 Switch' 1" | ||||
| 	cset "name='O037 I013 Switch' 1" | ||||
| 	cset "name='O034 I168 Switch' 1" | ||||
| 	cset "name='O035 I169 Switch' 1" | ||||
| ] | ||||
| @@ -1,94 +0,0 @@ | ||||
| # Use case configuration for mt8195-mt6359-rt1019-rt5682 | ||||
|  | ||||
| SectionVerb { | ||||
| 	EnableSequence [ | ||||
| 		disdevall "" | ||||
| 	] | ||||
|  | ||||
| 	Value.TQ "HiFi" | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Speaker" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Ext Spk Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Ext Spk Switch' 0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},16" | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackMixerElem "Speaker" | ||||
| 		PlaybackVolume "Speaker Playback Volume" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headphones" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headphone Switch' on" | ||||
| 		cset "name='HPOL Playback Switch' 1" | ||||
| 		cset "name='HPOR Playback Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='HPOL Playback Switch' 0" | ||||
| 		cset "name='HPOR Playback Switch' 0" | ||||
| 		cset "name='Headphone Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackPCM "hw:${CardId},17" | ||||
| 		JackControl "Headphone Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Headset Microphone" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Headset Mic Switch' on" | ||||
| 		cset "name='STO1 ADC Capture Switch' 1" | ||||
| 		cset "name='RECMIX1L CBJ Switch' 1" | ||||
| 		cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" | ||||
| 		cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='STO1 ADC Capture Switch' 0" | ||||
| 		cset "name='RECMIX1L CBJ Switch' 0" | ||||
| 		cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" | ||||
| 		cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" | ||||
| 		cset "name='Headset Mic Switch' off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CapturePCM "hw:${CardId},19" | ||||
| 		JackControl "Headset Mic Jack" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic" { | ||||
| 	Comment "Internal Microphone" | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='MTKAIF_DMIC' On" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='MTKAIF_DMIC' Off" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePCM "hw:${CardId},18" | ||||
| 		CapturePriority 100 | ||||
| 	} | ||||
| } | ||||
| @@ -1,22 +0,0 @@ | ||||
| # rt1019-rt5682 specific boot sequence | ||||
| BootSequence [ | ||||
| 	cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" | ||||
| 	cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" | ||||
| 	cset "name='DAC L Mux' IF1" | ||||
| 	cset "name='DAC R Mux' IF1" | ||||
| 	cset "name='IF1 01 ADC Swap Mux' 2" | ||||
| 	cset "name='CBJ Boost Volume' 3" | ||||
| 	cset "name='Stereo1 ADC L Mux' 'ADC1 L'" | ||||
| 	cset "name='Stereo1 ADC R Mux' 'ADC1 R'" | ||||
| 	cset "name='Stereo1 ADC L1 Mux' 1" | ||||
| 	cset "name='Stereo1 ADC R1 Mux' 1" | ||||
|  | ||||
| 	cset "name='DAC1 MIXL DAC1 Switch' 1" | ||||
| 	cset "name='DAC1 MIXR DAC1 Switch' 1" | ||||
|  | ||||
| 	cset "name='DAC1 MIXL Stereo ADC Switch' 0" | ||||
| 	cset "name='DAC1 MIXR Stereo ADC Switch' 0" | ||||
|  | ||||
| 	cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" | ||||
| 	cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" | ||||
| ] | ||||
| @@ -1,12 +0,0 @@ | ||||
| Comment "MT8195 MT6359 RT1019 RT5682 sound card" | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/HiFi.conf" | ||||
| 	Comment "Default" | ||||
| } | ||||
|  | ||||
| Include.card-init.File "/lib/card-init.conf" | ||||
| Include.ctl-remap.File "/lib/ctl-remap.conf" | ||||
| Include.init.File "/MediaTek/mt8195-sof/init.conf" | ||||
| Include.init-rt1019-rt5682.File "/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/init.conf" | ||||
| @@ -1,117 +0,0 @@ | ||||
| SectionVerb { | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HDMI_OUT_MUX' Connect" | ||||
| 		cset "name='DPTX_OUT_MUX' Connect" | ||||
| 		cset "name='O176 I070 Switch' on" | ||||
| 		cset "name='O177 I071 Switch' on" | ||||
| 		cset "name='O034 I168 Switch' on" | ||||
| 		cset "name='O035 I169 Switch' on" | ||||
| 		cset "name='O036 I012 Switch' on" | ||||
| 		cset "name='O037 I013 Switch' on" | ||||
| 		cset "name='O072 I022 Switch' on" | ||||
| 		cset "name='O073 I023 Switch' on" | ||||
| 		cset "name='O074 I024 Switch' on" | ||||
| 		cset "name='O075 I025 Switch' on" | ||||
| 		cset "name='O076 I026 Switch' on" | ||||
| 		cset "name='O077 I027 Switch' on" | ||||
| 		cset "name='O078 I028 Switch' on" | ||||
| 		cset "name='O079 I029 Switch' on" | ||||
| 		cset "name='O002 I004 Switch' on" | ||||
| 		cset "name='O003 I005 Switch' on" | ||||
| 		cset "name='O004 I006 Switch' on" | ||||
| 		cset "name='O005 I007 Switch' on" | ||||
| 		cset "name='O006 I008 Switch' on" | ||||
| 		cset "name='O007 I009 Switch' on" | ||||
| 		cset "name='O008 I010 Switch' on" | ||||
| 		cset "name='O009 I011 Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='HDMI_OUT_MUX' Disconnect" | ||||
| 		cset "name='DPTX_OUT_MUX' Disconnect" | ||||
| 		cset "name='O176 I070 Switch' off" | ||||
| 		cset "name='O177 I071 Switch' off" | ||||
| 		cset "name='O034 I168 Switch' off" | ||||
| 		cset "name='O035 I169 Switch' off" | ||||
| 		cset "name='O036 I012 Switch' off" | ||||
| 		cset "name='O037 I013 Switch' off" | ||||
| 		cset "name='O072 I022 Switch' off" | ||||
| 		cset "name='O073 I023 Switch' off" | ||||
| 		cset "name='O074 I024 Switch' off" | ||||
| 		cset "name='O075 I025 Switch' off" | ||||
| 		cset "name='O076 I026 Switch' off" | ||||
| 		cset "name='O077 I027 Switch' off" | ||||
| 		cset "name='O078 I028 Switch' off" | ||||
| 		cset "name='O079 I029 Switch' off" | ||||
| 		cset "name='O002 I004 Switch' off" | ||||
| 		cset "name='O003 I005 Switch' off" | ||||
| 		cset "name='O004 I006 Switch' off" | ||||
| 		cset "name='O005 I007 Switch' off" | ||||
| 		cset "name='O006 I008 Switch' off" | ||||
| 		cset "name='O007 I009 Switch' off" | ||||
| 		cset "name='O008 I010 Switch' off" | ||||
| 		cset "name='O009 I011 Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI" { | ||||
| 	Comment "Hdmi/DP output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 250 | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headset speakers" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackVolume "name='Headset Volume'" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Headset microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},10" | ||||
| 		CaptureVolume "PGA1 Volume" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line1" { | ||||
| 	Comment "I2S Line In" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},11" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line2" { | ||||
| 	Comment "I2S Line out" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackChannels 8 | ||||
| 		PlaybackPCM "hw:${CardId},6" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic2" { | ||||
| 	Comment "PDM microphones" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CaptureChannels 8 | ||||
| 		CapturePCM "hw:${CardId},14" | ||||
| 	} | ||||
| } | ||||
| @@ -1,45 +0,0 @@ | ||||
| Syntax 2 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/MediaTek/mt8195_demo/HiFi.conf" | ||||
| 	Comment "Play high quality music" | ||||
| } | ||||
|  | ||||
| BootSequence [ | ||||
| 	cset "name='Headset Volume' 0" | ||||
| 	cset "name='Lineout Volume' 0" | ||||
| 	cset "name='HP Mux' Audio\ Playback" | ||||
| 	cset "name='LOL Mux' Playback" | ||||
| 	cset "name='MISO0_MUX' UL1_CH1" | ||||
| 	cset "name='MISO1_MUX' UL1_CH1" | ||||
| 	cset "name='ADC_L_Mux' Left\ Preamplifier" | ||||
| 	cset "name='PGA_L_Mux' AIN1" | ||||
| 	cset "name='HDMI_OUT_MUX' Connect" | ||||
| 	cset "name='DPTX_OUT_MUX' Connect" | ||||
| 	# we need to enable all devices before starting PA. | ||||
| 	# In our driver we use PCM, which means that we have | ||||
| 	# to route Front End to a BackEnd and then only we can | ||||
| 	# open a device. Without linking to BE it will fail. | ||||
| 	cset "name='O176 I070 Switch' on" | ||||
| 	cset "name='O177 I071 Switch' on" | ||||
| 	cset "name='O072 I022 Switch' on" | ||||
| 	cset "name='O073 I023 Switch' on" | ||||
| 	cset "name='O074 I024 Switch' on" | ||||
| 	cset "name='O075 I025 Switch' on" | ||||
| 	cset "name='O076 I026 Switch' on" | ||||
| 	cset "name='O077 I027 Switch' on" | ||||
| 	cset "name='O078 I028 Switch' on" | ||||
| 	cset "name='O079 I029 Switch' on" | ||||
| 	cset "name='O034 I168 Switch' on" | ||||
| 	cset "name='O035 I169 Switch' on" | ||||
| 	cset "name='O036 I012 Switch' on" | ||||
| 	cset "name='O037 I013 Switch' on" | ||||
| 	cset "name='O002 I004 Switch' on" | ||||
| 	cset "name='O003 I005 Switch' on" | ||||
| 	cset "name='O004 I006 Switch' on" | ||||
| 	cset "name='O005 I007 Switch' on" | ||||
| 	cset "name='O006 I008 Switch' on" | ||||
| 	cset "name='O007 I009 Switch' on" | ||||
| 	cset "name='O008 I010 Switch' on" | ||||
| 	cset "name='O009 I011 Switch' on" | ||||
| ] | ||||
| @@ -1,141 +0,0 @@ | ||||
| SectionDevice."HDMI" { | ||||
| 	Comment "Hdmi output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 250 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},1" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='O00 I07 Switch' on" | ||||
| 		cset "name='O01 I08 Switch' on" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='O00 I07 Switch' off" | ||||
| 		cset "name='O01 I08 Switch' off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Line-out Jack " | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackVolume "name='Lineout_PGAL_GAIN'" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Audio_Amp_L_Switch' Off" | ||||
| 		cset "name='Audio_Amp_R_Switch' Off" | ||||
| 		cset "name='Lineout_PGAL_GAIN' 0" | ||||
| 		cset "name='Speaker_Amp_Switch' On" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Audio_Amp_L_Switch' On" | ||||
| 		cset "name='Audio_Amp_R_Switch' On" | ||||
| 		cset "name='Speaker_Amp_Switch' Off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Headset speakers" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 		PlaybackVolume "name='Headset_PGAL_GAIN'" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Audio_Amp_L_Switch' On" | ||||
| 		cset "name='Audio_Amp_R_Switch' On" | ||||
| 		cset "name='Headset_PGAL_GAIN' 1" | ||||
| 		cset "name='Speaker_Amp_Switch' Off" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Audio_Amp_L_Switch' Off" | ||||
| 		cset "name='Audio_Amp_R_Switch' Off" | ||||
| 		cset "name='Speaker_Amp_Switch' On" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Amic" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic2" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},2" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Audio_MicSource1_Setting' ADC1" | ||||
| 		cset "name='Audio_MICBIAS0_Switch' Off" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Audio_MicSource1_Setting' ADC2" | ||||
| 		cset "name='Audio_MICBIAS0_Switch' On" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic2" { | ||||
| 	Comment "Headset microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 350 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},2" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Audio_MicSource1_Setting' ADC2" | ||||
| 		cset "name='Audio_MICBIAS0_Switch' On" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Audio_MicSource1_Setting' ADC1" | ||||
| 		cset "name='Audio_MICBIAS0_Switch' Off" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic3" { | ||||
| 	Comment "PDM microphones" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},3" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='Audio_MICBIAS0_Switch' On" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='Audio_MICBIAS0_Switch' Off" | ||||
| 	] | ||||
| } | ||||
| @@ -1,39 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/MediaTek/mt8365-evk/HiFi.conf" | ||||
| 	Comment "Play high quality music" | ||||
| } | ||||
|  | ||||
| BootSequence [ | ||||
| 	#Audio volume | ||||
| 	cset "name='Headset_PGAL_GAIN' 0" | ||||
| 	cset "name='Lineout_PGAL_GAIN' 0" | ||||
|  | ||||
| 	#Audio amp | ||||
| 	cset "name='Audio_Amp_R_Switch' On" | ||||
| 	cset "name='Audio_Amp_L_Switch' On" | ||||
|  | ||||
| 	#Headset out | ||||
| 	cset "name='Speaker_Amp_Switch' Off" | ||||
|  | ||||
| 	#Dmic | ||||
| 	cset "name='Audio_MICBIAS0_Switch' On" | ||||
|  | ||||
| 	#HDMI audio (I2S3 Out) | ||||
| 	cset "name='O00 I07 Switch' on" | ||||
| 	cset "name='O01 I08 Switch' on" | ||||
|  | ||||
| 	#jack_mic Headset In | ||||
| 	cset "name='Audio_MicSource1_Setting' ADC2" | ||||
|  | ||||
| 	cset "name='O03 I05 Switch' on" | ||||
| 	cset "name='O04 I06 Switch' on" | ||||
| 	cset "name='O05 I03 Switch' on" | ||||
| 	cset "name='O06 I04 Switch' on" | ||||
| 	cset "name='O09 I14 Switch' on" | ||||
| 	cset "name='O10 I15 Switch' on" | ||||
| 	cset "name='AUD_CLK_BUF_Switch' On" | ||||
| 	cset "name='Audio_ADC_1_Switch' On" | ||||
| 	cset "name='INT ADDA O03_O04 Switch' on" | ||||
| ] | ||||
| @@ -1,165 +0,0 @@ | ||||
| SectionDevice."HDMI1" { | ||||
| 	Comment "HDMI output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 		JackControl "HDMI Jack" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HDMI_OUT_MUX' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='HDMI_OUT_MUX' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
| 	Comment "DP output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 		JackControl "DP Jack" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='DPTX_OUT_MUX' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='DPTX_OUT_MUX' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Lineout speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='LOL Mux' Playback_L_DAC" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='LOL Mux' Open" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 400 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Earphone speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HP Mux' Audio Playback" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='HP Mux' Open" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 500 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Earphone microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic1" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='PGA_L_Mux' AIN1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 500 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},10" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Analog microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='PGA_L_Mux' AIN0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 400 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},10" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic2" { | ||||
| 	Comment "Digital microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},14" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line1" { | ||||
| 	Comment "PCM input" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},8" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line2" { | ||||
| 	Comment "PCM output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line3" { | ||||
| 	Comment "I2S input" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},11" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line4" { | ||||
| 	Comment "I2S output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackChannels 8 | ||||
| 		PlaybackPCM "hw:${CardId},6" | ||||
| 	} | ||||
| } | ||||
| @@ -1,45 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/MediaTek/mt8370-evk/HiFi.conf" | ||||
| 	Comment "Play high quality music" | ||||
| } | ||||
|  | ||||
| BootSequence [ | ||||
| 	cset "name='HP Mux' Audio Playback" | ||||
| 	cset "name='LOL Mux' Open" | ||||
| 	cset "name='MISO0_MUX' UL1_CH1" | ||||
| 	cset "name='MISO1_MUX' UL1_CH1" | ||||
| 	cset "name='ADC_L_Mux' Left Preamplifier" | ||||
| 	cset "name='PGA_L_Mux' AIN1" | ||||
| 	cset "name='HDMI_OUT_MUX' Connect" | ||||
| 	cset "name='DPTX_OUT_MUX' Disconnect" | ||||
| 	cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_OUT2_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_IN2_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='Lineout Volume' 10" | ||||
| 	cset "name='Headset Volume' 2" | ||||
| 	cset "name='PGA1 Volume' 4" | ||||
| 	cset "name='O000 I000 Switch' on" | ||||
| 	cset "name='O001 I001 Switch' on" | ||||
| 	cset "name='O002 I004 Switch' on" | ||||
| 	cset "name='O003 I006 Switch' on" | ||||
| 	cset "name='O034 I168 Switch' on" | ||||
| 	cset "name='O035 I169 Switch' on" | ||||
| 	cset "name='O036 I012 Switch' on" | ||||
| 	cset "name='O037 I013 Switch' on" | ||||
| 	cset "name='O040 I002 Switch' on" | ||||
| 	cset "name='O041 I003 Switch' on" | ||||
| 	cset "name='O048 I022 Switch' on" | ||||
| 	cset "name='O049 I023 Switch' on" | ||||
| 	cset "name='O050 I024 Switch' on" | ||||
| 	cset "name='O051 I025 Switch' on" | ||||
| 	cset "name='O052 I026 Switch' on" | ||||
| 	cset "name='O053 I027 Switch' on" | ||||
| 	cset "name='O054 I028 Switch' on" | ||||
| 	cset "name='O055 I029 Switch' on" | ||||
| 	cset "name='O176 I070 Switch' on" | ||||
| 	cset "name='O177 I071 Switch' on" | ||||
| ] | ||||
| @@ -1,165 +0,0 @@ | ||||
| SectionDevice."HDMI1" { | ||||
| 	Comment "HDMI output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 		JackControl "HDMI Jack" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HDMI_OUT_MUX' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='HDMI_OUT_MUX' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."HDMI2" { | ||||
| 	Comment "DP output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 300 | ||||
| 		PlaybackPCM "hw:${CardId},5" | ||||
| 		JackControl "DP Jack" | ||||
| 	} | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='DPTX_OUT_MUX' 1" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='DPTX_OUT_MUX' 0" | ||||
| 	] | ||||
| } | ||||
|  | ||||
| SectionDevice."Speaker" { | ||||
| 	Comment "Lineout speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headphones" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='LOL Mux' Playback_L_DAC" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='LOL Mux' Open" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 400 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headphones" { | ||||
| 	Comment "Earphone speaker" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Speaker" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='HP Mux' Audio Playback" | ||||
| 	] | ||||
|  | ||||
| 	DisableSequence [ | ||||
| 		cset "name='HP Mux' Open" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 500 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},0" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Headset" { | ||||
| 	Comment "Earphone microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Mic1" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='PGA_L_Mux' AIN1" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 500 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},10" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic1" { | ||||
| 	Comment "Analog microphone" | ||||
|  | ||||
| 	ConflictingDevice [ | ||||
| 		"Headset" | ||||
| 	] | ||||
|  | ||||
| 	EnableSequence [ | ||||
| 		cset "name='PGA_L_Mux' AIN0" | ||||
| 	] | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 400 | ||||
| 		CaptureChannels 1 | ||||
| 		CapturePCM "hw:${CardId},10" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Mic2" { | ||||
| 	Comment "Digital microphone" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 300 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},14" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line1" { | ||||
| 	Comment "PCM input" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 200 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},8" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line2" { | ||||
| 	Comment "PCM output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 200 | ||||
| 		PlaybackChannels 2 | ||||
| 		PlaybackPCM "hw:${CardId},2" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line3" { | ||||
| 	Comment "I2S input" | ||||
|  | ||||
| 	Value { | ||||
| 		CapturePriority 100 | ||||
| 		CaptureChannels 2 | ||||
| 		CapturePCM "hw:${CardId},11" | ||||
| 	} | ||||
| } | ||||
|  | ||||
| SectionDevice."Line4" { | ||||
| 	Comment "I2S output" | ||||
|  | ||||
| 	Value { | ||||
| 		PlaybackPriority 100 | ||||
| 		PlaybackChannels 8 | ||||
| 		PlaybackPCM "hw:${CardId},6" | ||||
| 	} | ||||
| } | ||||
| @@ -1,45 +0,0 @@ | ||||
| Syntax 4 | ||||
|  | ||||
| SectionUseCase."HiFi" { | ||||
| 	File "/MediaTek/mt8390-evk/HiFi.conf" | ||||
| 	Comment "Play high quality music" | ||||
| } | ||||
|  | ||||
| BootSequence [ | ||||
| 	cset "name='HP Mux' Audio Playback" | ||||
| 	cset "name='LOL Mux' Open" | ||||
| 	cset "name='MISO0_MUX' UL1_CH1" | ||||
| 	cset "name='MISO1_MUX' UL1_CH1" | ||||
| 	cset "name='ADC_L_Mux' Left Preamplifier" | ||||
| 	cset "name='PGA_L_Mux' AIN1" | ||||
| 	cset "name='HDMI_OUT_MUX' Connect" | ||||
| 	cset "name='DPTX_OUT_MUX' Disconnect" | ||||
| 	cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_OUT2_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='ETDM_IN2_Clock_Source' a1sys_a2sys" | ||||
| 	cset "name='Lineout Volume' 10" | ||||
| 	cset "name='Headset Volume' 2" | ||||
| 	cset "name='PGA1 Volume' 4" | ||||
| 	cset "name='O000 I000 Switch' on" | ||||
| 	cset "name='O001 I001 Switch' on" | ||||
| 	cset "name='O002 I004 Switch' on" | ||||
| 	cset "name='O003 I006 Switch' on" | ||||
| 	cset "name='O034 I168 Switch' on" | ||||
| 	cset "name='O035 I169 Switch' on" | ||||
| 	cset "name='O036 I012 Switch' on" | ||||
| 	cset "name='O037 I013 Switch' on" | ||||
| 	cset "name='O040 I002 Switch' on" | ||||
| 	cset "name='O041 I003 Switch' on" | ||||
| 	cset "name='O048 I022 Switch' on" | ||||
| 	cset "name='O049 I023 Switch' on" | ||||
| 	cset "name='O050 I024 Switch' on" | ||||
| 	cset "name='O051 I025 Switch' on" | ||||
| 	cset "name='O052 I026 Switch' on" | ||||
| 	cset "name='O053 I027 Switch' on" | ||||
| 	cset "name='O054 I028 Switch' on" | ||||
| 	cset "name='O055 I029 Switch' on" | ||||
| 	cset "name='O176 I070 Switch' on" | ||||
| 	cset "name='O177 I071 Switch' on" | ||||
| ] | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user