???????????????????????????? ??????????????/????????????????? ............/............... .........................../... ????????????????????????????? >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>> ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ???????????????????????????? ??????????????/????????????????? ............/............... .........................../... ????????????????????????????? >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>> ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PK=] ucm2/Intel/kblrt5660/HiFi.confnu[# 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" } } PK=] #ucm2/Intel/kblrt5660/kblrt5660.confnu[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" PK=]3ucm2/Intel/kblrt5660/Hdmi1.confnu[# 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" } } } } PK=]٥ucm2/Intel/kblrt5660/Hdmi2.confnu[# 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" } } } } PK=]* ucm2/Intel/chtmax98090/HiFi.confnu[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" PK=]}9kk'ucm2/Intel/chtmax98090/chtmax98090.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Intel/chtmax98090/HiFi.conf" Comment "Play HiFi quality Music" } PK=]#6vucm2/Intel/hda-dsp/hda-dsp.confnu[# 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" ] PK=]tګucm2/Intel/hda-dsp/HiFi.confnu[# 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" PK=]ucm2/Intel/hda-dsp/Hdmi1.confnu[# 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" } } } } PK=]dGoucm2/Intel/hda-dsp/Hdmi2.confnu[# 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" } } } } PK=]c.## ucm2/Intel/sof-hda-dsp/HiFi.confnu[# 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" PK=]1D)Iss'ucm2/Intel/sof-hda-dsp/sof-hda-dsp.confnu[Syntax 6 Define.DeviceMic "Mic" Define.DeviceDmic "" Include.led.File "/common/ctl/led.conf" 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" # # 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 # Macro [{ SetLED { LED="mic" Action="detach" CtlId="Capture Switch" } }] FixedBootSequence [ # 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.Macro [{ SetLED { LED="speaker" Action="detach" CtlId="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" ] } PK=]k% ucm2/Intel/sof-hda-dsp/Hdmi.confnu[# 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 } } PK=]% k!ucm2/Intel/bytcr-rt5640/HiFi.confnu[# 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" ] } } } PK=]*ucm2/Intel/bytcr-rt5640/HiFi-LongName.confnu[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" } PK=])ucm2/Intel/bytcr-rt5640/bytcr-rt5640.confnu[Syntax 6 SectionUseCase."HiFi" { File "/Intel/bytcr-rt5640/HiFi.conf" Comment "Play HiFi quality Music" } Include.led.File "/common/ctl/led.conf" Include.card-init.File "/lib/card-init.conf" Include.ctl-remap.File "/lib/ctl-remap.conf" Include.codec-init.File "/codecs/rt5640/init.conf" Macro [ { SetLED { LED="speaker" Action="attach" CtlId="Speaker Channel Switch" } } { SetLED { LED="speaker" Action="attach" CtlId="HP Channel Switch" } } ] PK=]( @bb,ucm2/Intel/bytcr-rt5640/HiFi-Components.confnu[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" } PK=]F*/mm)ucm2/Intel/bytcr-wm5102/bytcr-wm5102.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Intel/bytcr-wm5102/HiFi.conf" Comment "Play HiFi quality Music" } PK=];bDD!ucm2/Intel/bytcr-wm5102/HiFi.confnu[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" } } } Include.spk.File "/codecs/wm5102/Speaker.conf" Include.hp.File "/codecs/wm5102/HeadPhones.conf" Include.mic.File "/codecs/wm5102/IN3-InternalMic.conf" Include.headset.File "/codecs/wm5102/IN1-HeadsetMic.conf" PK=]noSS#ucm2/Intel/sof-ehl-rt5660/HiFi.confnu[# 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" PK=]?)-ucm2/Intel/sof-ehl-rt5660/sof-ehl-rt5660.confnu[# 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" ] PK=]aU#ucm2/Intel/sof-ehl-rt5660/Hdmi.confnu[# 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" } } } } PK=]A-{: : !ucm2/Intel/sof-essx8336/HiFi.confnu[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" PK=]H)ucm2/Intel/sof-essx8336/sof-essx8336.confnu[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%" ] } } PK=]g!ucm2/Intel/sof-essx8336/Hdmi.confnu[# 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 } } PK=]Stoo-ucm2/Intel/bytcht-cx2072x/bytcht-cx2072x.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Intel/bytcht-cx2072x/HiFi.conf" Comment "Play HiFi quality Music" } PK=]xMM#ucm2/Intel/bytcht-cx2072x/HiFi.confnu[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" PK=]!LEE)ucm2/Intel/bytcr-rt5651/bytcr-rt5651.confnu[# 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" PK=]d_oY!ucm2/Intel/bytcr-rt5651/HiFi.confnu[# 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" } } PK=]?%$$*ucm2/Intel/bytcr-rt5651/HiFi-LongName.confnu[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" } } PK=]l /,ucm2/Intel/bytcr-rt5651/HiFi-Components.confnu[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" } } } } PK=]pp/ucm2/Intel/broadwell-rt286/broadwell-rt286.confnu[Syntax 2 SectionUseCase."HiFi" { File "/Intel/broadwell-rt286/HiFi.conf" Comment "Play HiFi quality Music" } PK=]Nř$ucm2/Intel/broadwell-rt286/HiFi.confnu[# 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" } } PK=]>uuucm2/Intel/chtnau8824/HiFi.confnu[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 } } 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" } } PK=]ZX%ucm2/Intel/chtnau8824/chtnau8824.confnu[Syntax 3 Comment "chtnau8824 internal card" SectionUseCase."HiFi" { File "/Intel/chtnau8824/HiFi.conf" Comment "Default" } PK=]=33"ucm2/Intel/broxton-rt298/HiFi.confnu[# 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" PK=]O}9''+ucm2/Intel/broxton-rt298/broxton-rt298.confnu[# 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" ] PK=]C"ucm2/Intel/broxton-rt298/Hdmi.confnu[# 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" } } } } PK=]R%ucm2/Intel/sof-glkda7219max/HiFi.confnu[# 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" PK=]Hq1ucm2/Intel/sof-glkda7219max/sof-glkda7219max.confnu[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" PK=] 2%ucm2/Intel/sof-glkda7219max/Hdmi.confnu[# 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 } } PK=]I(]yucm2/Intel/SOF/HiFi.confnu[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" } PK=]&ucm2/Intel/SOF/SOF.confnu[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" PK=]J(nn+ucm2/Intel/bytcht-es8316/bytcht-es8316.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Intel/bytcht-es8316/HiFi.conf" Comment "Play HiFi quality Music" } PK=];--"ucm2/Intel/bytcht-es8316/HiFi.confnu[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" } PK=]*?  +ucm2/Intel/bytcht-es8316/HiFi-LongName.confnu[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" } } PK=]G[-ucm2/Intel/bytcht-es8316/HiFi-Components.confnu[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" } } PK=]̬:+ucm2/Intel/skylake-rt286/skylake-rt286.confnu[# 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" ] PK=]J;"ucm2/Intel/skylake-rt286/HiFi.confnu[# 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" PK=]0.#ucm2/Intel/skylake-rt286/Hdmi1.confnu[# 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" } } } } PK=]M{  #ucm2/Intel/skylake-rt286/Hdmi2.confnu[# 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" } } } } PK=]ik>{ { #ucm2/Intel/cht-bsw-rt5672/HiFi.confnu[# 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" } PK=]7[-ucm2/Intel/cht-bsw-rt5672/cht-bsw-rt5672.confnu[# Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672 Syntax 6 SectionUseCase."HiFi" { File "/Intel/cht-bsw-rt5672/HiFi.conf" Comment "Play HiFi quality Music" } Include.led.File "/common/ctl/led.conf" Macro [ { SetLED { LED="speaker" Action="attach" CtlId="DAC1 Playback Switch" } } { SetLED { LED="mic" Action="attach" CtlId="ADC Capture Switch" } } ] PK=]/  ucm2/Intel/chtrt5650/HiFi.confnu[ 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" ] } PK=]4W,zz#ucm2/Intel/chtrt5650/chtrt5650.confnu[Comment "Intel SoC Audio Device" Syntax 3 SectionUseCase."HiFi" { File "/Intel/chtrt5650/HiFi.conf" Comment "Default" } PK=]ںucm2/Intel/chtrt5645/HiFi.confnu[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" ] } PK=]Y~  #ucm2/Intel/chtrt5645/chtrt5645.confnu[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" PK=]֏ն%ucm2/Intel/bdw-rt5677/bdw-rt5677.confnu[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" PK=]"Gucm2/Intel/bdw-rt5677/HiFi.confnu[# 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" } } PK=]988ucm2/Samsung/snow/HiFi.confnu[# It's configuration for DAISY-I2S, update for another hw! SectionVerb { EnableSequence [ cset "name='Left Speaker Mixer Left DAC1 Switch' on" cset "name='Right Speaker Mixer Right DAC1 Switch' on" cset "name='Left Headphone Mixer Left DAC1 Switch' on" cset "name='Right Headphone Mixer Right DAC1 Switch' on" cset "name='DMIC1 Left Capture Switch' on" cset "name='DMIC1 Right Capture Switch' on" cset "name='MIC2 External Mic Switch' on" cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='Right ADC Mixer MIC2 Switch' on" cset "name='EQ1 Mode' Default" cset "name='DAI1 Filter Mode' Music" ] } SectionDevice."Headphones" { EnableSequence [ cset "name='EQ1 Switch' off" cset "name='Left Headphone Mixer Left DAC1 Switch' on" cset "name='Right Headphone Mixer Right DAC1 Switch' on" ] DisableSequence [ cset "name='EQ1 Mode' Default" cset "name='EQ1 Switch' on" cset "name='Left Speaker Mixer Left DAC1 Switch' on" cset "name='Right Speaker Mixer Right DAC1 Switch' on" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } SectionDevice."Mic" { EnableSequence [ cset "name='DMIC1 Left Capture Switch' off" cset "name='DMIC1 Right Capture Switch' off" cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='Right ADC Mixer MIC2 Switch' on" ] DisableSequence [ cset "name='Left ADC Mixer MIC2 Switch' off" cset "name='Right ADC Mixer MIC2 Switch' off" cset "name='DMIC1 Left Capture Switch' on" cset "name='DMIC1 Right Capture Switch' on" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]gppucm2/Samsung/snow/snow.confnu[Syntax 3 Comment "Internal card" SectionUseCase."HiFi" { File "/Samsung/snow/HiFi.conf" Comment "Default" } PK=]IIucm2/Librem_5/Librem_5.confnu[Syntax 2 SectionUseCase."HiFi" { File "HiFi.conf" Comment "Default" } PK=],6GGucm2/Librem_5/HiFi.confnu[SectionVerb { EnableSequence [ cset "name='Digital Playback Volume' 100,100" cset "name='MIXINL IN2L Switch' off" cset "name='MIXINL IN3L Switch' off" cset "name='MIXINR IN2R Switch' off" cset "name='MIXINR IN3R Switch' off" cset "name='INPGAR IN1R Switch' off" cset "name='INPGAR IN2R Switch' off" cset "name='INPGAR IN3R Switch' on" cset "name='INPGAR IN4R Switch' off" cset "name='INPGAL IN1L Switch' off" cset "name='INPGAL IN2L Switch' off" cset "name='INPGAL IN3L Switch' off" cset "name='INPGAL IN4L Switch' off" cset "name='Input Mixer Switch' off,on" cset "name='SPKOUTL PGA' Mixer" cset "name='SPKOUTR PGA' Mixer" ] DisableSequence [ cset "name='Digital Playback Volume' 0,0" ] Value { } } SectionDevice."Handset" { Comment "Handset" ConflictingDevice [ "Headphones" "Speaker" ] EnableSequence [ cset "name='Speaker Switch' off,on" cset "name='DAC L/R Swap Switch' on" cset "name='DAC Monomix Switch' on" cset "name='SPKOUTR PGA' DAC" cset "name='Speaker Volume' 121,121" cset "name='Speaker Boost Volume' 2" ] DisableSequence [ cset "name='Speaker Switch' off,off" cset "name='DAC L/R Swap Switch' off" cset "name='DAC Monomix Switch' off" cset "name='SPKOUTR PGA' Mixer" ] Value { PlaybackChannels "2" PlaybackPriority "100" PlaybackVolume "name='Speaker Volume'" PlaybackSwitch "name='Speaker Switch'" PlaybackPCM "hw:${CardId},0" } } SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Handset" "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on,off" cset "name='DAC Monomix Switch' on" cset "name='SPKOUTL PGA' DAC" cset "name='Speaker Volume' 121,121" cset "name='Speaker Boost Volume' 6" ] DisableSequence [ cset "name='Speaker Switch' off,off" cset "name='DAC Monomix Switch' off" cset "name='SPKOUTL PGA' Mixer" ] Value { PlaybackChannels "2" PlaybackPriority "500" PlaybackVolume "name='Speaker Volume'" PlaybackSwitch "name='Speaker Switch'" PlaybackPCM "hw:${CardId},0" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Handset" "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on,on" cset "name='HPOUTL PGA' 0 unmute" cset "name='HPOUTR PGA' 0 unmute" cset "name='Headphone Aux Volume' 0" cset "name='Headphone Volume' 121,121" ] DisableSequence [ cset "name='Headphone Switch' off off" cset "name='HPOUTL PGA' 0 mute" cset "name='HPOUTR PGA' 0 mute" ] Value { PlaybackPriority "1000" PlaybackChannels "2" PlaybackVolume "name='Headphone Volume'" PlaybackSwitch "name='Headphone Switch'" PlaybackPCM "hw:${CardId},0" JackControl "Headphones Jack" } } SectionDevice."Mic" { Comment "Internal Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Digital Capture Volume' 116,116" cset "name='ADC L/R Swap Switch' on" ] DisableSequence [ cset "name='Digital Capture Volume' 0,0" cset "name='ADC L/R Swap Switch' off" ] Value { CapturePriority "500" CaptureChannels "2" CaptureVolume "name='Digital Capture Volume'" CapturePCM "hw:${CardId},0" } } SectionDevice."Headset" { Comment "Headset Microphone" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='MIXINR IN3R Switch' on" cset "name='MIXINR IN3R Volume' 7" ] DisableSequence [ cset "name='MIXINR IN3R Switch' off" cset "name='MIXINR IN3R Volume' 0" ] Value { CapturePriority "100" CaptureChannels "2" CaptureVolume "name='MIXINR IN3R Volume'" CaptureSwitch "name='MIXINR IN3R Switch'" CapturePCM "hw:${CardId},0" JackControl "Headphones Jack" } } PK=]/GGucm2/HDA/HDA.confnu[Syntax 6 Include.led.File "/common/ctl/led.conf" 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]|-pdm-mach)$'}" 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" Macro [ { CtlNew { Arg="name='Mic ACP LED Capture Switch' type=bool,count=1 off" } } { SetLED { LED="mic" Action="attach" CtlId="Mic ACP LED Capture Switch" } } { SetLED { LED="mic" Action="detach" CtlId="Capture Switch" } } ] } } } } If.err { Condition { Type String Empty "${var:Done}" } True.Error "UCM is not supported for this HDA model (${CardLongName})" } PK=]<#ucm2/HDA/DualCodecs/DualCodecs.confnu[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'" ] PK=]QX ucm2/HDA/DualCodecs/HiFi.confnu[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" } } PK=]%ucm2/HDA/HiFi.confnu[# 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" } PK=]#ssucm2/HDA/HDA-Capture-value.confnu[CapturePCM "hw:${CardId}" CaptureMixerElem "Capture" CaptureVolume "Capture Volume" CaptureSwitch "Capture Switch" PK=]Pucm2/HDA/HiFi-acp.confnu[SectionDevice."Mic1" { Comment "Digital Microphone" Value { CapturePriority 100 CapturePCM "hw:${var:AcpCardId}" CaptureMixerElem "Mic ACP LED" CaptureSwitch "Mic ACP LED Capture Switch" } } PK=]#Pucm2/HDA/init.confnu[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%" ] } PK=]Uffucm2/HDA/HiFi-analog.confnu[# 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" } } } PK=]*Uucm2/HDA/Hdmi.confnu[# 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 } } PK=]Y "ucm2/AMD/acp3xalc5682m98/HiFi.confnu[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" } EnableSequence [ cset "name='Spk Switch' on" ] DisableSequence [ cset "name='Spk Switch' off" ] } SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPCM "hw:${CardId},0" PlaybackMixerElem "DAC1" } 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" } EnableSequence [ cset "name='Dmic Mux' Front Mic" ] } SectionDevice."Mic2" { Comment "Rear Microphone" ConflictingDevice [ "Mic1" ] Value { CapturePCM "hw:${CardId},2" } EnableSequence [ cset "name='Dmic Mux' Rear Mic" ] } SectionDevice."Mic3" { Comment "Microphone" Value { CapturePCM "hw:${CardId},0" CaptureMixerElem "Headset Mic" } 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" } EnableSequence [ cset "name='Dmic Mux' Front Mic" ] } SectionDevice."Mic2" { Comment "Microphone" Value { CapturePCM "hw:${CardId},0" CaptureMixerElem "Headset Mic" } EnableSequence [ cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" ] } } } PK=]܇-ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.confnu[# 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" } } PK=]`RDDucm2/AMD/acp5x/acp5x.confnu[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" } } PK=]K K ucm2/AMD/acp5x/HiFi.confnu[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" } } PK=]&ucm2/OMAP/abe-twl6040/abe-twl6040.confnu[# UCM configuration for PandaBoard(ES) Syntax 3 If.sdp4430 { Condition { Type String String1 "${CardName}" String2 "SDP4430" } True.Include.sdp4430.File "/OMAP/abe-twl6040/SDP4430/SDP4430.conf" False.Include.pandaboard.File "/OMAP/abe-twl6040/Pandaboard/Pandaboard.conf" } PK=]уŵ4ucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.confnu[Syntax 2 Comment "Rockchip Gru card" SectionUseCase."HiFi" { File "/Rockchip/rk3399-gru-sound/HiFi.conf" Comment "Default" } PK=]_y"ucm2/Qualcomm/apq8096/apq8096.confnu[Syntax 2 SectionUseCase."HiFi" { File "/Qualcomm/apq8096/HiFi.conf" Comment "HiFi quality Music" } SectionUseCase."HDMI" { File "/Qualcomm/apq8096/HDMI.conf" Comment "HDMI output" } PK=]$ ucm2/Qualcomm/sdm845/sdm845.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Qualcomm/sdm845/HiFi.conf" Comment "HiFi quality Music." } SectionUseCase."HDMI" { File "/Qualcomm/sdm845/HDMI.conf" Comment "HDMI output." } PK=]||$ucm2/Rockchip/max98090/max98090.confnu[Syntax 2 Comment "Rockchip Veyron card" SectionUseCase."HiFi" { File "/Rockchip/max98090/HiFi.conf" Comment "Default" } PK=]mucm2/USB-Audio/NativeInstruments/Traktor-Kontrol-Z1-Mixer.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "z1_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } ] SectionDevice."Line" { Comment "Line Out" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "z1_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Headphone" { Comment "Headphone Out" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "z1_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } PK=]*ucm2/USB-Audio/Roland/BridgeCast-Hifi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "bc_stereo_out" Direction Playback Channels 2 HWChannels 8 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR HWChannelPos6 FL HWChannelPos7 FR } } { SplitPCM { Name "bc_stereo_in" Direction Capture Channels 2 HWChannels 6 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR } } ] SectionDevice."Line1" { Comment "Chat L/R" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_out" Direction Playback HWChannels 8 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Game L/R" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_out" Direction Playback HWChannels 8 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line3" { Comment "Music L/R" Value { PlaybackPriority 300 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_out" Direction Playback HWChannels 8 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line4" { Comment "System L/R" Value { PlaybackPriority 400 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_out" Direction Playback HWChannels 8 Channels 2 Channel0 6 Channel1 7 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line5" { Comment "Mic" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_in" Direction Capture HWChannels 6 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line6" { Comment "StreamMix" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_in" Direction Capture HWChannels 6 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line7" { Comment "Unknown" Value { CapturePriority 300 } Macro.pcm_split.SplitPCMDevice { Name "bc_stereo_in" Direction Capture HWChannels 6 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } PK=]2-ucm2/USB-Audio/USB-Audio.confnu[Syntax 6 Define.ProfileName "" Define.MixerRemap "" Define.SplitPCMPeriodTime 10000 # 10ms If.env1 { Condition { Type String Empty "$${env:UCM_USB_PERIOD_TIME}" } False.Define.SplitPCMPeriodTime "${env:UCM_USB_PERIOD_TIME}" } If.linked { Condition { Type RegexMatch String "${CardComponents}" # Aorus Master Front Headphone 0414:a000 Regex "USB0414:a000" } True.Define.ProfileName "../common/linked" } If.realtek-alc1220-vb { Condition { Type RegexMatch String "${CardComponents}" # 0414:a002 Gigabyte TRX40 Aorus Pro WiFi # 0414:a00d Gigabyte TRX40 Aorus Pro WiFi Rev 1.2 # 0b05:1917 ASUS ROG Strix # 0b05:1918 ASUS PRIME TRX40 PRO-S # 0db0:0d64 MSI TRX40 Creator # 0db0:543d MSI TRX40 # 26ce:0a01 Asrock TRX40 Creator Regex "USB((0414:a00[2d])|(0b05:191[78])|(0db0:(0d64|543d))|(26ce:0a01))" } True.Define.ProfileName "Realtek/ALC1220-VB-Desktop" } If.realtek-alc4080 { Condition { Type RegexMatch String "${CardComponents}" # 0414:a00e Gigabyte Z590 Aorus Pro AX # 0414:a010 Gigabyte Z590 Vision G Intel # 0414:a011 Gigabyte Z690 AORUS ULTRA # 0414:a012 Gigabyte Z690 AERO G DDR4 # 0414:a014 Gigabyte Z690I AORUS ULTRA DDR4 # 0b05:1984 ASUS Pro WS WRX80E-SAGE SE WIFI # 0b05:1996 ASUS on multiple boards (including ASUS ROG Maximus XIII) # 0b05:1999 ASUS ROG Strix Z590-A Gaming WiFi # 0b05:1a16 ASUS ROG Strix B660-F Gaming WiFi # 0b05:1a20 ASUS ROG STRIX Z690-I Gaming Wifi # 0b05:1a27 ALC4082 on ASUS ROG Maximus Z690 Hero # 0b05:1a52 ASUS ROG Strix X670E-F & Z790-E Gaming Wifi # 0b05:1a53 ALC4082 on ASUS ROG Crosshair X670E Extreme # 0b05:1a5c ASUS ROG Strix B650E-I Gaming WiFi # 0db0:005a MSI MPG Z690 CARBON WIFI # 0db0:151f MSI X570S EDGE MAX WIFI # 0db0:1feb MSI Edge Wifi Z690 # 0db0:3130 MSI PRO X670-P WIFI # 0db0:36e7 MSI MAG B650I Edge WiFi # 0db0:419c MSI MPG X570S Carbon Max Wifi # 0db0:422d MSI Mag B650 Tomahawk Wifi # 0db0:4240 MSI MAG Z590 Tomahawk Wifi # 0db0:62a4 MSI MPG Z790I Edge WiFi # 0db0:6c09 MSI MPG Z790 Carbon Wifi # 0db0:6cc9 MSI MPG Z590 Gaming Plus # 0db0:7696 MSI MAG B650M Mortar Wifi # 0db0:82c7 MSI MEG Z690I Unify # 0db0:8af7 MSI MPG Z590 Gaming Force # 0db0:961e MSI MEG X670E ACE # 0db0:a073 MSI MAG X570S Torpedo Max # 0db0:a47c MSI MEG X570S Ace Max # 0db0:a74b MSI MPG Z790 Edge Wifi # 0db0:b202 MSI MAG Z690 Tomahawk Wifi # 0db0:d1d7 MSI PRO Z790-A WIFI # 0db0:d6e7 MSI MPG X670E Carbon Wifi # 26ce:0a06 ASRock X670E/Z790 Taichi # 26ce:0a08 ASRock Z790 PG-ITX/TB4 # 0955:cf0a NVIDIA GB300 USB Audio Regex "USB((0414:a0(0e|1[0124]))|(0b05:(19(84|9[69])|1a(16|2[07]|5[23c])))|(0db0:(005a|151f|1feb|3130|36e7|419c|422d|4240|62a4|6c[0c]9|7696|82c7|8af7|961e|a073|a47c|a74b|b202|d1d7|d6e7))|(26ce:0a0[68])|(0955:cf0a))" } True.Define.ProfileName "Realtek/ALC4080" } If.gigabyte-aorus-main { Condition { Type String Haystack "${CardComponents}" Needle "USB0414:a001" } True.Define.ProfileName "Gigabyte/Aorus-Master-Main-Audio" } If.steinberg-ur24c { Condition { Type String Haystack "${CardComponents}" Needle "USB0499:174d" } True.Define.ProfileName "Steinberg/UR24C" } If.steinberg-ur44 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB0499:17[03]0" } True.Define.ProfileName "Steinberg/UR44" } If.sony-inzone-h9-h7 { Condition { Type String Haystack "${CardComponents}" Needle "USB054c:0e53" } True.Define.ProfileName "Sony/Inzone-H9-H7" } If.roland-bridgecast { Condition { Type String Haystack "${CardComponents}" Needle "USB0582:02b7" } True.Define.ProfileName "Roland/BridgeCast" } If.motu-m24 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB07fd:000[8b]" } True.If.M4 { Condition { Type String Haystack "${CardLongName}" Needle "MOTU M4" } True.Define.ProfileName "MOTU/M4" False.Define.ProfileName "MOTU/M2" } } If.dell-wd15 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB0bda:40(14|2e)" } True.Define.ProfileName "Dell/WD15-Dock" } If.dell-desktop-front { Condition { Type String Haystack "${CardComponents}" Needle "USB0bda:4c54" } True.Define.ProfileName "Dell/Desktop-Front" } If.dell-desktop-rear { Condition { Type String Haystack "${CardComponents}" Needle "USB0bda:4c55" } True.Define.ProfileName "Dell/Desktop-Rear" } If.mbox3 { Condition { Type String Haystack "${CardComponents}" Needle "USB0dba:5000" } True.Define.ProfileName "Digidesign/Digidesign-Mbox-3" } If.goxlr { Condition { Type RegexMatch String "${CardComponents}" Regex "USB1220:8fe[04]" } True.Define.ProfileName "GoXLR/GoXLR" } If.focusrite-scarlett-2i { Condition { Type RegexMatch String "${CardComponents}" # 8006 2i2 1st Gen # 800a 2i4 1st Gen # 801c Solo 1st Gen # 8200 2i4 2nd Gen # 8202 2i2 2nd Gen # 8205 Solo 2nd Gen # 8210 2i2 3rd Gen # 8211 Solo 3rd Gen Regex "USB1235:8(0(0[6a]|1c)|2(0[025]|1[01]))" } True.Define { ProfileName "Focusrite/Scarlett-2i" } } If.behringer-umc202hd { Condition { Type String Haystack "${CardComponents}" Needle "USB1397:0507" } True.Define { ProfileName "Behringer/UMC202HD" MixerRemap yes } } If.behringer-umc204hd { Condition { Type String Haystack "${CardComponents}" Needle "USB1397:0508" } True.Define { ProfileName "Behringer/UMC204HD" MixerRemap yes } } If.behringer-Flow8-Streaming { Condition { Type String Haystack "${CardComponents}" Needle "USB1397:050d" } True.Define.ProfileName "Behringer/Flow8-Streaming" } If.behringer-Flow8-Recording { Condition { Type String Haystack "${CardComponents}" Needle "USB1397:050c" } True.Define.ProfileName "Behringer/Flow8-Recording" } If.Rane-SL-1 { Condition { Type String Haystack "${CardComponents}" Needle "USB13e5:0001" } True.Define.ProfileName "Rane/SL-1" } If.lenovo-p620-rear { Condition { Type String Haystack "${CardComponents}" Needle "USB17aa:1046" } True.Define.ProfileName "Lenovo/ThinkStation-P620-Rear" } If.lenovo-p620-main { Condition { Type String Haystack "${CardComponents}" Needle "USB17aa:104d" } True.Define.ProfileName "Lenovo/ThinkStation-P620-Main" } If.kontrolz1 { Condition { Type String Haystack "${CardComponents}" Needle "USB17cc:1210" } True.Define.ProfileName "NativeInstruments/Traktor-Kontrol-Z1" } If.minifuse4 { Condition { Type String Haystack "${CardComponents}" Needle "USB1c75:af70" } True.Define.ProfileName "Arturia/Minifuse-4" } If.minifuse12 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB1c75:af[89]0" } True.Define.ProfileName "Arturia/Minifuse-12" } If.id4-0003 { Condition { Type String Haystack "${CardComponents}" Needle "USB2708:0003" } True.Define.ProfileName "Audient/Audient-iD4-0003" } If.id4-0009 { Condition { Type String Haystack "${CardComponents}" Needle "USB2708:0009" } True.Define.ProfileName "Audient/Audient-iD4-0009" } If.ua-volt2 { Condition { Type String Haystack "${CardComponents}" Needle "USB2b5a:0021" } True.Define { ProfileName "UniversalAudio/Volt2" } } If.mixremap { Condition { Type String Empty "${var:MixerRemap}" } False { Include.card-init.File "/lib/card-init.conf" Include.ctl-remap.File "/lib/ctl-remap.conf" } } If.inc { Condition { Type String Empty "${var:ProfileName}" } True.Error "UCM is not supported for this USB device (${CardLongName} @ ${CardComponents})" False.Include.prof.File "/USB-Audio/${var:ProfileName}.conf" } PK=]*ucm2/USB-Audio/Sony/Inzone-H9-H7-HiFi.confnu[SectionDevice."Headset" { Comment "Chat" Value { PlaybackPCM "hw:${CardId},0" CapturePCM "hw:${CardId},0" CaptureChannels 1 } } SectionDevice."Headphones" { Comment "Game" Value { PlaybackPCM "hw:${CardId},1" } } PK=]6P%ucm2/USB-Audio/Sony/Inzone-H9-H7.confnu[Comment "Sony Corp. INZONE H9 / INZONE H7" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Sony/Inzone-H9-H7-HiFi.conf" } PK=], u(ucm2/USB-Audio/Steinberg/UR24C-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "steinberg_ur24c_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "steinberg_ur24c_mono_in" Direction Capture Channels 1 HWChannels 2 HWChannelPos0 MONO HWChannelPos1 MONO } } ] SectionDevice."Line 1" { Comment "Stereo Line (outputs 1 and 2)" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur24c_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line 2" { Comment "Stereo Line (outputs 3 and 4)" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur24c_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line 3" { Comment "Mono Line (input 1)" Value { CapturePriority 600 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur24c_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Line 4" { Comment "Mono Line (input 2)" Value { CapturePriority 500 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur24c_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 1 ChannelPos0 MONO } } PK=]h 'ucm2/USB-Audio/Steinberg/UR44-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "steinberg_ur44_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "steinberg_ur44_mono_in" Direction Capture Channels 1 HWChannels 6 HWChannelPos0 MONO HWChannelPos1 MONO HWChannelPos2 MONO HWChannelPos3 MONO HWChannelPos4 MONO HWChannelPos5 MONO } } ] SectionDevice."Line1" { Comment "Line Outputs 1 and 2" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Line Outputs 3 and 4" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line3" { Comment "Mono Input 1" Value { CapturePriority 600 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Line4" { Comment "Mono Input 2" Value { CapturePriority 500 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 1 ChannelPos0 MONO } } SectionDevice."Line5" { Comment "Mono Input 3" Value { CapturePriority 400 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 2 ChannelPos0 MONO } } SectionDevice."Line6" { Comment "Mono Input 4" Value { CapturePriority 300 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 3 ChannelPos0 MONO } } SectionDevice."Line7" { Comment "Mono Input 5" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 4 ChannelPos0 MONO } } SectionDevice."Line8" { Comment "Mono Input 6" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "steinberg_ur44_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 5 ChannelPos0 MONO } } PK=]\g"ucm2/USB-Audio/Steinberg/UR44.confnu[Comment "Steinberg UR44 USB-Audio" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Steinberg/UR44-HiFi.conf" } Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 6 Include.dhw.File "/common/direct.conf" PK=]zQH#ucm2/USB-Audio/Steinberg/UR24C.confnu[Comment "Steinberg UR24C USB-Audio" SectionUseCase."HiFi" { Comment "HiFi" File "/USB-Audio/Steinberg/UR24C-HiFi.conf" } Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 2 Include.dhw.File "/common/direct.conf" PK=]?tmm(ucm2/USB-Audio/Realtek/ALC4080-HiFi.confnu[Define { SpeakerMixer "PCM" SpeakerMindex "0" SpeakerJack "Speaker - Output Jack" SpeakerPCM "hw:${CardId}" HeadphonesName "Front Headphones" HeadphonesMixer "PCM" HeadphonesMindex "1" HeadphonesJack "Headphone - Output Jack" HeadphonesPCM "hw:${CardId},1" Mic1Name "Microphone" Mic1Mixer "Mic" Mic1Mindex "0" Mic1Jack "Mic - Input Jack" Mic1PCM "hw:${CardId},2" Mic2Name "" Mic2Mixer "" Mic2Mindex "0" Mic2Jack "" Mic2PCM "" Line1Name "Line Input" Line1Mixer "Line" Line1Mindex "0" Line1Jack "Line - Input Jack" Line1PCM "hw:${CardId},1" SpdifName "S/PDIF Output" SpdifPCM "hw:${CardId},3" SpdifMixer "PCM" SpdifMindex "2" } If.speaker_ctl { Condition { Type ControlExists Control "name='Speaker Playback Switch'" } True.Define.SpeakerMixer "Speaker" } If.front_hp_ctl { Condition { Type ControlExists Control "name='Front Headphone Playback Switch'" } True.Define { HeadphonesMixer "Front Headphone" HeadphonesMindex "0" } } If.spdif_ctl { Condition { Type ControlExists Control "name='IEC958 Playback Switch'" } True.Define { SpdifMixer "IEC958" SpdifMindex "0" } } If.spdif_dev2 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0b05:1996|0b05:1a52|0db0:1feb)" } True.Define.SpdifPCM "hw:${CardId},2" } If.gigabyte-aorus-ultra { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0414:a014)" } True.Define { Mic1Name "Front Microphone" Mic1PCM "hw:${CardId},0" SpdifName "" Line1Name "" } } If.asus-rog-usb { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0b05:1996)" } True.Define { Mic1Name "Front Microphone" Mic2Name "Microphone" Mic2Mixer "Analog In" Mic2Jack "Analog In - Input Jack" Mic2PCM "hw:${CardId}" } } If.asrock-taichi { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(26ce:0a0[68])" } True.Define { Line1Name "" Mic1Name "Rear Input" Mic1PCM "hw:${CardId},0" Mic2Name "Front Microphone" Mic2Mixer "Mic" Mic2Jack "Front Mic - Input Jack" Mic2PCM "hw:${CardId},1" } } If.wrx80-sage { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0b05:1984)" } True.Define { Mic2Name "Front Microphone" Mic2Mixer "Analog In" Mic2Jack "Analog In - Input Jack" Mic2PCM "hw:${CardId}" } } If.msi-meg-unify { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0db0:82c7)" } True.Define { HeadphonesName "" SpdifName "" } } If.asus-rog-strix { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0b05:1999)" } True.Define { Line1PCM "hw:${CardId},3" HeadphonesName "" SpdifName "" } } If.nvidia-dgx-station { Condition { Type RegexMatch String "${CardComponents}" Regex "USB(0955:cf0a)" } True.Define { HeadphonesName "Front Line Out" Mic1Name "Front Microphone" Mic1Mindex "1" Mic1Jack "name='Mic - Input Jack',index=1" Mic2Name "Rear Microphone" Mic2Mixer "Mic" Mic2Mindex "0" Mic2Jack "Mic - Input Jack" Mic2PCM "hw:${CardId}" Line1Name "Rear Line Input" SpdifName "" } } SectionVerb { EnableSequence [ disdevall "" ] Value.TQ "HiFi" } SectionDevice."Speaker" { Comment "Speakers" EnableSequence [ cset "name='${var:SpeakerMixer} Playback Switch',index=${var:SpeakerMindex} on" ] DisableSequence [ cset "name='${var:SpeakerMixer} Playback Switch',index=${var:SpeakerMindex} off" ] Value { PlaybackChannels 2 PlaybackPriority 200 PlaybackPCM "${var:SpeakerPCM}" JackControl "${var:SpeakerJack}" PlaybackMixerElem "${var:SpeakerMixer},${var:SpeakerMindex}" } Variant."HiFi 5+1".Value.PlaybackChannels 6 Variant."HiFi 7+1".Value.PlaybackChannels 8 } If.headphones { Condition { Type String Empty "${var:HeadphonesName}" } False.SectionDevice."Headphones" { Comment "${var:HeadphonesName}" EnableSequence [ cset "name='${var:HeadphonesMixer} Playback Switch',index=${var:HeadphonesMindex} on" ] DisableSequence [ cset "name='${var:HeadphonesMixer} Playback Switch',index=${var:HeadphonesMindex} off" ] Value { PlaybackPriority 300 PlaybackPCM "${var:HeadphonesPCM}" JackControl "${var:HeadphonesJack}" PlaybackMixerElem "${var:HeadphonesMixer},${var:HeadphonesMindex}" } } } If.spdif { Condition { Type String Empty "${var:SpdifName}" } False.SectionDevice."SPDIF" { Comment "${var:SpdifName}" EnableSequence [ cset "name='${var:SpdifMixer} Playback Switch',index=${var:SpdifMindex} on" ] DisableSequence [ cset "name='${var:SpdifMixer} Playback Switch',index=${var:SpdifMindex} off" ] Value { PlaybackPriority 100 PlaybackPCM "${var:SpdifPCM}" PlaybackMixerElem "${var:SpdifMixer},${var:SpdifMindex}" } } } If.line1 { Condition { Type String Empty "${var:Line1Name}" } False.SectionDevice."Line1" { Comment "${var:Line1Name}" EnableSequence [ cset "name='${var:Line1Mixer} Capture Switch',index=${var:Line1Mindex} on" ] DisableSequence [ cset "name='${var:Line1Mixer} Capture Switch',index=${var:Line1Mindex} off" ] Value { CapturePriority 100 CapturePCM "${var:Line1PCM}" JackControl "${var:Line1Jack}" CaptureMixerElem "${var:Line1Mixer},${var:Line1Mindex}" } } } If.mic1 { Condition { Type String Empty "${var:Mic1Name}" } False.SectionDevice."Mic1" { Comment "${var:Mic1Name}" EnableSequence [ cset "name='${var:Mic1Mixer} Capture Switch',index=${var:Mic1Mindex} on" ] DisableSequence [ cset "name='${var:Mic1Mixer} Capture Switch',index=${var:Mic1Mindex} off" ] Value { CapturePriority 300 CapturePCM "${var:Mic1PCM}" JackControl "${var:Mic1Jack}" CaptureMixerElem "${var:Mic1Mixer},${var:Mic1Mindex}" } } } If.mic2 { Condition { Type String Empty "${var:Mic2Name}" } False.SectionDevice."Mic2" { Comment "${var:Mic2Name}" EnableSequence [ cset "name='${var:Mic2Mixer} Capture Switch',index=${var:Mic2Mindex} on" ] DisableSequence [ cset "name='${var:Mic2Mixer} Capture Switch',index=${var:Mic2Mindex} off" ] Value { CapturePriority 400 CapturePCM "${var:Mic2PCM}" JackControl "${var:Mic2Jack}" CaptureMixerElem "${var:Mic2Mixer},${var:Mic2Mindex}" } } } PK=] .ucm2/USB-Audio/Realtek/ALC1220-VB-Desktop.confnu[Comment "USB-audio on Realtek ALC1220-VB desktop" SectionUseCase."HiFi" { File "/USB-Audio/Realtek/ALC1220-VB-Desktop-HiFi.conf" Comment "Default Alsa Profile" } PK=]}ʣ#ucm2/USB-Audio/Realtek/ALC4080.confnu[Comment "USB-audio on Realtek ALC4080" SectionUseCase."HiFi" { File "/USB-Audio/Realtek/ALC4080-HiFi.conf" Variant."HiFi" { Comment "HiFi 2.0 channels" } Variant."HiFi 5+1" { Comment "HiFi 5.1 channels" } Variant."HiFi 7+1" { Comment "HiFi 7.1 channels" } } PK=]/S3ucm2/USB-Audio/Realtek/ALC1220-VB-Desktop-HiFi.confnu[Define.LineDev 0 Define.Mic1Dev 1 Define.Mic2Dev 2 If.trx4-aorus-wifi-rev-1-2 { Condition { Type String Haystack "${CardComponents}" Needle "USB0414:a00d" } True.Define { LineDev 1 Mic1Dev 2 Mic2Dev 0 } } SectionDevice."Speaker" { Comment "Speakers" Value { PlaybackChannels 8 PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Speaker Jack" PlaybackMixerElem "Speaker" } } SectionDevice."Headphones" { Comment "Front Headphones" Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},1" JackControl "Front Headphone Jack" PlaybackMixerElem "Front Headphone" } } SectionDevice."SPDIF" { Comment "S/PDIF Out" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" PlaybackMixerElem "IEC958" } } SectionDevice."Line" { Comment "Line In" Value { CapturePriority 100 CapturePCM "hw:${CardId},${var:LineDev}" JackControl "Line Jack" CaptureMixerElem "Line" } } SectionDevice."Mic1" { Comment "Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId},${var:Mic1Dev}" JackControl "Mic Jack" CaptureMixerElem "Mic" } } SectionDevice."Mic2" { Comment "Front Microphone" Value { CapturePriority 300 CapturePCM "hw:${CardId},${var:Mic2Dev}" JackControl "Front Mic Jack" CaptureMixerElem "Front Mic" } } PK=]g ucm2/USB-Audio/MOTU/M2-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "m2_mono_in" Direction Capture Channels 1 HWChannels 2 HWChannelPos0 MONO HWChannelPos1 MONO } } { SplitPCM { Name "m2_stereo_in" Direction Capture Channels 2 HWChannels 2 HWChannelPos0 FL HWChannelPos1 FR } } ] SectionDevice."Line1" { Comment "Headphone + Monitor Out" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" } } SectionDevice."Mic1" { Comment "Mic In 1L" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "m2_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "Mic In 2R" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m2_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 1 ChannelPos0 MONO } } SectionDevice."Mic3" { Comment "Stereo Mic In 1L+2R" ConflictingDevice [ "Mic1" "Mic2" ] Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m2_stereo_in" Direction Capture HWChannels 2 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } PK=]v)) ) ucm2/USB-Audio/MOTU/M4-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "m4_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "m4_mono_in" Direction Capture Channels 1 HWChannels 4 HWChannelPos0 MONO HWChannelPos1 MONO HWChannelPos2 MONO HWChannelPos3 MONO } } { SplitPCM { Name "m4_stereo_in" Direction Capture Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } ] SectionDevice."Line1" { Comment "Headphone + Monitor Out" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "m4_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Line Out" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m4_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Mic1" { Comment "Mic In 1L" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "m4_mono_in" Direction Capture HWChannels 4 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "Mic In 2R" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m4_mono_in" Direction Capture HWChannels 4 Channels 1 Channel0 1 ChannelPos0 MONO } } SectionDevice."Line3" { Comment "Line In L" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m4_mono_in" Direction Capture HWChannels 4 Channels 1 Channel0 2 ChannelPos0 MONO } } SectionDevice."Line4" { Comment "Line In R" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m4_mono_in" Direction Capture HWChannels 4 Channels 1 Channel0 3 ChannelPos0 MONO } } SectionDevice."Mic3" { Comment "Stereo Mic In 1L+1R" ConflictingDevice [ "Mic1" "Mic2" ] Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m4_stereo_in" Direction Capture HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line5" { Comment "Stereo Line In L+R" ConflictingDevice [ "Line3" "Line4" ] Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "m4_stereo_in" Direction Capture HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } PK=])ucm2/USB-Audio/MOTU/M2.confnu[Comment "MOTU M2" SectionUseCase."HiFi" { Comment "Analog Stereo Outputs + Inputs" File "/USB-Audio/MOTU/M2-HiFi.conf" } Define.DirectPlaybackChannels 2 Define.DirectCaptureChannels 2 Include.dhw.File "/common/direct.conf" PK=]5qn~ucm2/USB-Audio/MOTU/M4.confnu[Comment "MOTU M4" SectionUseCase."HiFi" { Comment "Analog Stereo Outputs + Inputs" File "/USB-Audio/MOTU/M4-HiFi.conf" } Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 4 Include.dhw.File "/common/direct.conf" PK=] 22.ucm2/USB-Audio/Focusrite/Scarlett-2i-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "scarlett2i_mono_in" Direction Capture Format S32_LE Channels 1 HWChannels 2 HWChannelPos0 MONO HWChannelPos1 MONO } } ] If.2i4 { Condition { Type String String1 "${var:PlaybackChannels}" String2 "4" } True.Macro [ { SplitPCM { Name "scarlett2i_stereo_out" Direction Playback Format S32_LE Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } ] } SectionDevice."Line1" { Comment "${var:Playback1Name}" Value { PlaybackPriority 200 } If.2i4 { Condition { Type String String1 "${var:PlaybackChannels}" String2 "4" } True.Macro.pcm_split.SplitPCMDevice { Name "scarlett2i_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } False.Value { PlaybackPCM "hw:${CardId}" } } } If.2i4 { Condition { Type String String1 "${var:PlaybackChannels}" String2 "4" } True.SectionDevice."Line2" { Comment "${var:Playback2Name}" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "scarlett2i_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } } SectionDevice."Mic1" { Comment "${var:Capture1Name}" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "scarlett2i_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "${var:Capture2Name}" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "scarlett2i_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 1 ChannelPos0 MONO } } PK=]Ҵss)ucm2/USB-Audio/Focusrite/Scarlett-2i.confnu[Define { PlaybackChannels 2 DirectPlaybackChannels 2 DirectCaptureChannels 2 Model "2i2" Playback1Name "Headphones / Line 1-2" Playback2Name "Line 3-4" Capture1Name "Input 1 Mic/Inst/Line" Capture2Name "Input 2 Mic/Inst/Line" Generation "1st" } If.solo { Condition { Type RegexMatch String "${CardComponents}" Regex "USB1235:8(01c|2(05|11))" } True.Define { Model "Solo" Capture1Name "Input 1 Mic" Capture2Name "Input 2 Inst/Line" } } If.2i4 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB1235:8(00a|200)" } True.Define { PlaybackChannels 4 DirectPlaybackChannels 4 Model "2i4" Playback1Name "Line 1-2" } } If.gen2 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB1235:820[025]" } True.Define.Generation "2nd" } If.gen3 { Condition { Type RegexMatch String "${CardComponents}" Regex "USB1235:821[01]" } True.Define.Generation "3rd" } Comment "Focusrite Scarlett ${var:Model} ${var:Generation} Gen" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Focusrite/Scarlett-2i-HiFi.conf" } Include.dhw.File "/common/direct.conf" PK=]s,ucm2/USB-Audio/Audient/Audient-iD4-0009.confnu[Comment "Audient iD4 USB-Audio" SectionUseCase."HiFi" { Comment "Default Alsa Profile" File "/USB-Audio/Audient/Audient-iD4-HiFi-0009.conf" } Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 4 Include.dhw.File "/common/direct.conf" PK=](1ucm2/USB-Audio/Audient/Audient-iD4-HiFi-0009.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "id4_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "id4_stereo_in" Direction Capture Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } ] SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "id4_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Headphones" { Comment "Headphones / Monitor" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "id4_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Mic" { Comment "XLR Microphone" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "id4_stereo_in" Direction Capture HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line1" { Comment "Line Input" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "id4_stereo_in" Direction Capture HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } PK=]`~ J,ucm2/USB-Audio/Audient/Audient-iD4-0003.confnu[Comment "Audient iD4 USB-Audio" SectionUseCase."HiFi" { Comment "Default Alsa Profile" File "/USB-Audio/Audient/Audient-iD4-HiFi-0003.conf" } Define.DirectPlaybackChannels 2 Define.DirectCaptureChannels 2 Include.dhw.File "/common/direct.conf" PK=]71ucm2/USB-Audio/Audient/Audient-iD4-HiFi-0003.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "id4_mono_in" Direction Capture Channels 1 HWChannels 2 HWChannelPos0 FL HWChannelPos1 FR } } ] SectionDevice."Headphones" { Comment "Headphones / Monitor" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } SectionDevice."Mic" { Comment "XLR Microphone" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "id4_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Line" { Comment "DI Input" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "id4_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 1 ChannelPos0 MONO } } PK=]9ucm2/USB-Audio/Gigabyte/Aorus-Master-Main-Audio-HiFi.confnu[Define.SecondaryCardId "$${find-card:field=name,return=id,regex='Aorus Master Front Headphone'}" SectionDevice."Speaker" { Comment "Speakers" Value { PlaybackChannels 8 PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Line Out Jack" PlaybackMixerElem "Line Out" } } SectionDevice."Headphones" { Comment "Front Headphones" Value { PlaybackPriority 300 PlaybackPCM "hw:${var:SecondaryCardId}" JackCTL "hw:${var:SecondaryCardId}" JackControl "Headphone - Output Jack" } } SectionDevice."SPDIF" { Comment "S/PDIF Out" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" # PlaybackMixerElem "IEC958" } } SectionDevice."Line" { Comment "Line In" Value { CapturePriority 100 CapturePCM "hw:${CardId}" JackControl "Line Jack" CaptureMixerElem "Line" } } SectionDevice."Mic1" { Comment "Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Mic Jack" CaptureMixerElem "Mic" } } SectionDevice."Mic2" { Comment "Front Microphone" Value { CapturePriority 300 CapturePCM "hw:${CardId},2" JackControl "Front Mic Jack" CaptureMixerElem "Front Mic" } } PK=]4ucm2/USB-Audio/Gigabyte/Aorus-Master-Main-Audio.confnu[Comment "Gigabyte Aorus Integrated Audio" SectionUseCase."HiFi" { File "/USB-Audio/Gigabyte/Aorus-Master-Main-Audio-HiFi.conf" Comment "Default Alsa Profile" } PK=]ij&ucm2/USB-Audio/Behringer/UMC204HD.confnu[Comment "Behringer UMC204HD" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Behringer/UMC204HD-HiFi.conf" } Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 2 Include.dhw.File "/common/direct.conf" PK=]Yr:Z2ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "flow8_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "flow8_stereo_in" Direction Capture Channels 2 HWChannels 10 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR HWChannelPos6 FL HWChannelPos7 FR HWChannelPos8 FL HWChannelPos9 FR } } { SplitPCM { Name "flow8_mono_in" Direction Capture Channels 1 HWChannels 10 HWChannelPos0 MONO HWChannelPos1 MONO HWChannelPos2 MONO HWChannelPos3 MONO HWChannelPos4 MONO HWChannelPos5 MONO HWChannelPos6 MONO HWChannelPos7 MONO HWChannelPos8 MONO HWChannelPos9 MONO } } ] SectionDevice."Line1" { Comment "USB-12 L/R" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "USB-34 L/R" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Mic1" { Comment "Mic 1" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "Mic 2" Value { CapturePriority 101 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 1 ChannelPos0 MONO } } SectionDevice."Mic3" { Comment "Mic 3" Value { CapturePriority 102 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 2 ChannelPos0 MONO } } SectionDevice."Mic4" { Comment "Mic 4" Value { CapturePriority 103 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 3 ChannelPos0 MONO } } SectionDevice."Line5" { Comment "Line/Inst 5 (L)" ConflictingDevice [ "Line56" ] Value { CapturePriority 104 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 4 ChannelPos0 MONO } } SectionDevice."Line6" { Comment "Line/Inst(HiZ) 6 (R)" ConflictingDevice [ "Line56" ] Value { CapturePriority 105 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 5 ChannelPos0 MONO } } SectionDevice."Line7" { Comment "Line/Inst 7 (L)" ConflictingDevice [ "Line78" ] Value { CapturePriority 106 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 6 ChannelPos0 MONO } } SectionDevice."Line8" { Comment "Line/Inst(HiZ) 8 (R)" ConflictingDevice [ "Line78" ] Value { CapturePriority 107 } Macro.pcm_split.SplitPCMDevice { Name "flow8_mono_in" Direction Capture HWChannels 10 Channels 1 Channel0 7 ChannelPos0 MONO } } SectionDevice."Line56" { Comment "Line-56 L/R" Value { CapturePriority 108 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_in" Direction Capture HWChannels 10 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line78" { Comment "Line-78 L/R" Value { CapturePriority 109 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_in" Direction Capture HWChannels 10 Channels 2 Channel0 6 Channel1 7 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."LineMaster" { Comment "Master/Monitor L/R" Value { CapturePriority 110 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_in" Direction Capture HWChannels 10 Channels 2 Channel0 8 Channel1 9 ChannelPos0 FL ChannelPos1 FR } } PK=]P+ucm2/USB-Audio/Behringer/UMC204HD-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "umc204hd_stereo_out" Direction Playback Format S32_LE Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "umc204hd_mono_in" Direction Capture Format S32_LE Channels 1 HWChannels 2 HWChannelPos0 MONO HWChannelPos1 MONO } } ] Define.PCMCTLName "PCM Playback" If.pcm_controls { Condition { Type ControlExists Control "name='UMC204HD 192k Output Playback Switch'" } True.Define.PCMCTLName "UMC204HD 192k Output Playback" } Include.ctl_remap.File "/common/ctl/remap.conf" Macro [ { CtlRemapStereoVolSw { Dst "Line A Playback" Src "${var:PCMCTLName}" Index0 0 Index1 1 } } { CtlRemapStereoVolSw { Dst "Line B Playback" Src "${var:PCMCTLName}" Index0 2 Index1 3 } } { CtlRemapMonoVolSw { Dst "Input 1 Capture" Src "Mic Capture" Index 0 } } { CtlRemapMonoVolSw { Dst "Input 2 Capture" Src "Mic Capture" Index 1 } } ] SectionDevice."Line1" { Comment "Line A" Value { PlaybackPriority 200 PlaybackMixer "default:${CardId}" PlaybackMixerElem "Line A" } Macro.pcm_split.SplitPCMDevice { Name "umc204hd_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Line B" Value { PlaybackPriority 100 PlaybackMixer "default:${CardId}" PlaybackMixerElem "Line B" } Macro.pcm_split.SplitPCMDevice { Name "umc204hd_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Mic1" { Comment "Input 1" Value { CapturePriority 200 CaptureMixer "default:${CardId}" CaptureMixerElem "Input 1" } Macro.pcm_split.SplitPCMDevice { Name "umc204hd_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "Input 2" Value { CapturePriority 100 CaptureMixer "default:${CardId}" CaptureMixerElem "Input 2" } Macro.pcm_split.SplitPCMDevice { Name "umc204hd_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 1 ChannelPos0 MONO } } PK=]DHH-ucm2/USB-Audio/Behringer/Flow8-Streaming.confnu[Comment "Behringer Flow8 Streaming Mode" SectionUseCase."Streaming" { Comment "Streaming Mode (4 chan output, 2 chan input)" File "/USB-Audio/Behringer/Flow8-Streaming-Hifi.conf" } Define.DirectCardName "Flow8 Streaming" Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 2 Include.dhw.File "/common/direct.conf" PK=]+&ucm2/USB-Audio/Behringer/UMC202HD.confnu[Comment "Behringer UMC202HD" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Behringer/UMC202HD-HiFi.conf" } Define.DirectPlaybackChannels 2 Define.DirectCaptureChannels 2 Include.dhw.File "/common/direct.conf" PK=]$σ2ucm2/USB-Audio/Behringer/Flow8-Streaming-Hifi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "flow8_stereo_out" Direction Playback Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "flow8_stereo_in" Direction Capture Channels 2 HWChannels 2 HWChannelPos0 FL HWChannelPos1 FR } } ] SectionDevice."Line1" { Comment "USB-12 L/R" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "USB-34 L/R" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line3" { Comment "Master/Mon L/R" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "flow8_stereo_in" Direction Capture HWChannels 2 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } PK=]lvJJ-ucm2/USB-Audio/Behringer/Flow8-Recording.confnu[Comment "Behringer Flow8 Recording Mode" SectionUseCase."Recording" { Comment "Recording Mode (4 chan output, 10 chan input)" File "/USB-Audio/Behringer/Flow8-Recording-Hifi.conf" } Define.DirectCardName "Flow8 Recording" Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 10 Include.dhw.File "/common/direct.conf" PK=]`lMM+ucm2/USB-Audio/Behringer/UMC202HD-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "umc202hd_mono_in" Direction Capture Channels 1 HWChannels 2 HWChannelPos0 MONO HWChannelPos1 MONO } } ] Define.PCMMixerName "PCM" If.pcm_controls { Condition { Type ControlExists Control "name='UMC202HD 192k Output Playback Switch'" } True.Define.PCMMixerName "UMC202HD 192k Output" } Include.ctl_remap.File "/common/ctl/remap.conf" Macro [ { CtlRemapMonoVolSw { Dst "Input 1 Capture" Src "Mic Capture" Index 0 } } { CtlRemapMonoVolSw { Dst "Input 2 Capture" Src "Mic Capture" Index 1 } } ] SectionDevice."Line1" { Comment "Line A" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "${var:PCMMixerName}" } } SectionDevice."Mic1" { Comment "Input 1" Value { CapturePriority 200 CaptureMixer "default:${CardId}" CaptureMixerElem "Input 1" } Macro.pcm_split.SplitPCMDevice { Name "umc202hd_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "Input 2" Value { CapturePriority 100 CaptureMixer "default:${CardId}" CaptureMixerElem "Input 2" } Macro.pcm_split.SplitPCMDevice { Name "umc202hd_mono_in" Direction Capture HWChannels 2 Channels 1 Channel0 1 ChannelPos0 MONO } } PK=]jEHucm2/USB-Audio/GoXLR/GoXLR.confnu[Comment "GoXLR USB-Audio" SectionUseCase."HiFi" { Comment "Default Alsa Profile" File "/USB-Audio/GoXLR/GoXLR-HiFi.conf" } Define.DirectPlaybackChannels 10 Define.DirectCaptureChannels 23 Include.dhw.File "/common/direct.conf" PK=]sF $ucm2/USB-Audio/GoXLR/GoXLR-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "goxlr_stereo_out" Direction Playback Channels 2 HWChannels 10 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR HWChannelPos6 FL HWChannelPos7 FR HWChannelPos8 FL HWChannelPos9 FR } } { SplitPCM { Name "goxlr_stereo_in" Direction Capture Channels 2 HWChannels 23 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR HWChannelPos6 FL HWChannelPos7 FR HWChannelPos8 FL HWChannelPos9 FR HWChannelPos10 FL HWChannelPos11 FR HWChannelPos12 FL HWChannelPos13 FR HWChannelPos14 FL HWChannelPos15 FR HWChannelPos16 FL HWChannelPos17 FR HWChannelPos18 FL HWChannelPos19 FR HWChannelPos20 FL HWChannelPos21 FR HWChannelPos22 MONO } } ] SectionDevice."Speaker" { Comment "System" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_out" Direction Playback HWChannels 10 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line1" { Comment "Game" Value { PlaybackPriority 300 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_out" Direction Playback HWChannels 10 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Music" Value { PlaybackPriority 400 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_out" Direction Playback HWChannels 10 Channels 2 Channel0 6 Channel1 7 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Headphones" { Comment "Chat" Value { PlaybackPriority 200 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_out" Direction Playback HWChannels 10 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line3" { Comment "Sample" Value { PlaybackPriority 500 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_out" Direction Playback HWChannels 10 Channels 2 Channel0 8 Channel1 9 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line4" { Comment "Broadcast Stream Mix" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_in" Direction Capture HWChannels 23 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Headset" { Comment "Chat Mic" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_in" Direction Capture HWChannels 23 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line5" { Comment "Sampler" Value { CapturePriority 300 } Macro.pcm_split.SplitPCMDevice { Name "goxlr_stereo_in" Direction Capture HWChannels 23 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } PK=]jw&ucm2/USB-Audio/Dell/Desktop-Front.confnu[Syntax 2 Comment "USB-audio on the front of Dell Desktop" SectionUseCase."HiFi" { Comment "Internal Speaker/Front Headset" File "/USB-Audio/Dell/Desktop-Front-Speaker-Headset.conf" } PK=]E'ucm2/USB-Audio/Dell/WD15-Dock-HiFi.confnu[SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" If.Headphone_ctl { Condition { Type ControlExists Control "name='Headphone Playback Switch'" } True { PlaybackMixerElem "Headphone" PlaybackVolume "Headphone Playback Volume" PlaybackSwitch "Headphone Playback Switch" } } } } SectionDevice."Line" { Comment "Line Out" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},1" JackControl "Line Out Jack" If.Line_ctl { Condition { Type ControlExists Control "name='Line Playback Switch'" } True { PlaybackMixerElem "Line" PlaybackVolume "Line Playback Volume" PlaybackSwitch "Line Playback Switch" } } } } SectionDevice."Headset" { Comment "Headset Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" If.Mic_ctl { Condition { Type ControlExists Control "name='Mic Capture Switch'" } True { CaptureMixerElem "Mic" CaptureVolume "Mic Capture Volume" CaptureSwitch "Mic Capture Switch" } } } } PK=]2พ"ucm2/USB-Audio/Dell/WD15-Dock.confnu[Syntax 2 Comment "USB-audio on Dell WD15 docking station" SectionUseCase."HiFi" { File "/USB-Audio/Dell/WD15-Dock-HiFi.conf" Comment "Default" } PK=]uI[*ucm2/USB-Audio/Dell/Desktop-Rear-Line.confnu[SectionDevice."Line" { Comment "Line Out" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" JackControl "Line - Output Jack" PlaybackMixerElem "PCM" } } PK=]:!446ucm2/USB-Audio/Dell/Desktop-Front-Speaker-Headset.confnu[SectionDevice."Speaker" { Comment "Built-in Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" JackControl "Speaker - Output Jack" PlaybackMixerElem "Speaker" } } SectionDevice."Headphones" { Comment "Headset/Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},1" JackControl "Headphone - Output Jack" PlaybackMixerElem "Headphone" } } SectionDevice."Microphone" { Comment "Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Mic - Input Jack" CaptureMixerElem "Mic" } }PK=]ogç%ucm2/USB-Audio/Dell/Desktop-Rear.confnu[Syntax 2 Comment "USB-audio on the rear of Dell Desktop" SectionUseCase."Line" { Comment "Line Out" File "/USB-Audio/Dell/Desktop-Rear-Line.conf" } PK=] UAA"ucm2/USB-Audio/Rane/SL-1-HiFi.confnu[SectionDevice."Line1" { Comment "Line out 1" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},0" } } SectionDevice."Line2" { Comment "Line out 2" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Mic1" { Comment "Input 1" Value { CapturePriority 300 CapturePCM "hw:${CardId},0" } } SectionDevice."Mic2" { Comment "Input 2" Value { CapturePriority 200 CapturePCM "hw:${CardId},1" } } SectionDevice."Mic3" { Comment "Mic" Value { CapturePriority 100 CapturePCM "hw:${CardId},2" CaptureChannels 1 } } PK=]Govvucm2/USB-Audio/Rane/SL-1.confnu[Comment "Rane SL-1" SectionUseCase."HiFi" { Comment "Default Alsa Profile" File "/USB-Audio/Rane/SL-1-HiFi.conf" } PK=]41ucm2/USB-Audio/Lenovo/ThinkStation-P620-Rear.confnu[Comment "USB-audio on Lenovo ThinkStation P620 Rear Audio" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Lenovo/ThinkStation-P620-Rear-HiFi.conf" } PK=]ϙ6ucm2/USB-Audio/Lenovo/ThinkStation-P620-Main-HiFi.confnu[SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},1" JackControl "Headphone - Output Jack" } } SectionDevice."Mic" { Comment "Mic" Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Mic - Input Jack" CaptureMixerElem "Mic" } } SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" JackControl "Speaker - Output Jack" } } PK=],W`1ucm2/USB-Audio/Lenovo/ThinkStation-P620-Main.confnu[Comment "USB-audio on Lenovo ThinkStation P620 Main Audio" SectionUseCase."HiFi" { Comment "Default" File "/USB-Audio/Lenovo/ThinkStation-P620-Main-HiFi.conf" } PK=]  ,ucm2/USB-Audio/Arturia/Minifuse-12-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Define { HasLine3 "y" HasMic1 "y" HasMic2 "y" } If.minifuse1 { Condition { Type String Haystack "${CardComponents}" Needle "USB1c75:af80" } True.Define { HasLine3 "" HasMic2 "" } } Macro [ { SplitPCM { Name "minifuse12_stereo_out" Direction Playback Format S32_LE Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "minifuse12_stereo_in" Direction Capture Format S32_LE Channels 2 HWChannels 4 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR } } { SplitPCM { Name "minifuse12_mono_in" Direction Capture Format S32_LE Channels 1 HWChannels 4 HWChannelPos0 MONO HWChannelPos1 MONO HWChannelPos2 MONO HWChannelPos3 MONO } } ] DefineMacro.ConflictingLine3 { If.0 { Condition { Type String Empty "${var:HasLine3}" } False.ConflictingDevice [ "Line3" ] } } SectionDevice."Line1" { Comment "Main Output L/R" Value { PlaybackPriority 300 } Macro.pcm_split.SplitPCMDevice { Name "minifuse12_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Loopback L/R" Value { PlaybackPriority 200 CapturePriority 200 } Macro.pcm_split1.SplitPCMDevice { Name "minifuse12_stereo_out" Direction Playback HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } Macro.pcm_split2.SplitPCMDevice { Name "minifuse12_stereo_in" Direction Capture HWChannels 4 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } If.line3 { Condition { Type String Empty "${var:HasLine3}" } False.SectionDevice."Line3" { Comment "Stereo Input 1+2 L/R" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "minifuse12_stereo_in" Direction Capture HWChannels 4 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } } If.mic1 { Condition { Type String Empty "${var:HasMic1}" } False.SectionDevice."Mic1" { Comment "Mic/Line/Inst 1 (L)" Macro.conflict.ConflictingLine3 { } Value { CapturePriority 400 } Macro.pcm_split2.SplitPCMDevice { Name "minifuse12_mono_in" Direction Capture HWChannels 4 Channels 1 Channel0 0 ChannelPos0 MONO } } } If.mic2 { Condition { Type String Empty "${var:HasMic2}" } False.SectionDevice."Mic2" { Comment "Mic/Line/Inst 2 (R)" Macro.conflict.ConflictingLine3 { } Value { CapturePriority 300 } Macro.pcm_split2.SplitPCMDevice { Name "minifuse12_mono_in" Direction Capture HWChannels 4 Channels 1 Channel0 1 ChannelPos0 MONO } } } PK=]f@'ucm2/USB-Audio/Arturia/Minifuse-12.confnu[Comment "Arturia Minifuse 1/2" SectionUseCase."HiFi" { Comment "Default Alsa Profile" File "/USB-Audio/Arturia/Minifuse-12-HiFi.conf" } Define.DirectPlaybackChannels 4 Define.DirectCaptureChannels 4 Include.dhw.File "/common/direct.conf" PK=]+e&ucm2/USB-Audio/Arturia/Minifuse-4.confnu[Comment "Arturia Minifuse 4" SectionUseCase."HiFi" { Comment "Default Alsa Profile" File "/USB-Audio/Arturia/Minifuse-4-HiFi.conf" } Define.DirectPlaybackChannels 6 Define.DirectCaptureChannels 6 Include.dhw.File "/common/direct.conf" PK=]L9 +ucm2/USB-Audio/Arturia/Minifuse-4-HiFi.confnu[Include.pcm_split.File "/common/pcm/split.conf" Macro [ { SplitPCM { Name "minifuse4_stereo_out" Direction Playback Channels 2 HWChannels 6 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR } } { SplitPCM { Name "minifuse4_stereo_in" Direction Capture Channels 2 HWChannels 6 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR } } { SplitPCM { Name "minifuse4_mono_in" Direction Capture Channels 1 HWChannels 6 HWChannelPos0 MONO HWChannelPos1 MONO HWChannelPos2 MONO HWChannelPos3 MONO HWChannelPos4 MONO HWChannelPos5 MONO } } ] SectionDevice."Line1" { Comment "Main Output 1L/2R" Value { PlaybackPriority 100 } Macro.pcm_split.SplitPCMDevice { Name "minifuse4_stereo_out" Direction Playback HWChannels 6 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line2" { Comment "Stereo Output 3/4" Value { PlaybackPriority 300 } Macro.pcm_split.SplitPCMDevice { Name "minifuse4_stereo_out" Direction Playback HWChannels 6 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line3" { Comment "Loopback L/R" Value { PlaybackPriority 200 CapturePriority 200 } Macro.pcm_split1.SplitPCMDevice { Name "minifuse4_stereo_out" Direction Playback HWChannels 6 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } Macro.pcm_split2.SplitPCMDevice { Name "minifuse4_stereo_in" Direction Capture HWChannels 6 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line4" { Comment "Stereo Input 1+2 L/R" Value { CapturePriority 100 } Macro.pcm_split.SplitPCMDevice { Name "minifuse4_stereo_in" Direction Capture HWChannels 6 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line5" { Comment "Stereo Input 3+4 L/R" Value { CapturePriority 200 } Macro.pcm_split.SplitPCMDevice { Name "minifuse4_stereo_in" Direction Capture HWChannels 6 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Mic1" { Comment "Mic/Line/Inst 1 (L)" Value { CapturePriority 400 } Macro.pcm_split2.SplitPCMDevice { Name "minifuse4_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic2" { Comment "Mic/Line/Inst 2 (R)" Value { CapturePriority 300 } Macro.pcm_split2.SplitPCMDevice { Name "minifuse4_mono_in" Direction Capture HWChannels 6 Channels 1 Channel0 1 ChannelPos0 MONO } } PK=] %>;;ucm2/Rockchip/es8316/HiFi.confnu[# Reference: # https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/-/blob/4b4206c57b21044bf9c00848bd1f8b6f710d19eb/asound.state # https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-audio/-/blob/1f567db09495acc3beb5405c9ef85c3c07b86785/audio_jack_plugged_in.sh SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Playback Polarity' 'R Invert'" cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Headphone Mixer" PlaybackMasterElem "DAC" } } SectionDevice."Mic" { Comment "Internal Microphone" EnableSequence [ cset "name='Differential Mux' lin1-rin1" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" CaptureMixerElem "ADC PGA Gain" CaptureMasterElem "ADC" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Playback Polarity' 'Normal'" ] DisableSequence [ cset "name='Playback Polarity' 'R Invert'" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Headphone Mixer" PlaybackMasterElem "DAC" JackControl "Headphones Jack" JackHWMute "Speaker" } } PK=]߱ ucm2/Rockchip/es8316/es8316.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Rockchip/es8316/HiFi.conf" Comment "Play HiFi quality Music" } BootSequence [ # Disable all outputs cset "name='Speaker Switch' off" # Set HP vol to 0 dB (3/3) cset "name='Headphone Playback Volume' 3" # Set HP mixer vol to 0 dB cset "name='Headphone Mixer Volume' 11" # Set DAC vol to 0 dB (192/192) cset "name='DAC Playback Volume' 192" # Disable Auto Level Control cset "name='ALC Capture Switch' off" # Set ADC vol to 0 dB (192/192) cset "name='ADC Capture Volume' 192" # Set Mic amplifier to +16 dB cset "name='ADC PGA Gain Volume' 7" # Setup muxes / switches cset "name='Left Headphone Mixer Left DAC Switch' on" cset "name='Right Headphone Mixer Right DAC Switch' on" ] PK=]RRR%ucm2/Rockchip/rk3588-es8316/HiFi.confnu[SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Playback Polarity' 'Normal'" ] DisableSequence [ cset "name='Playback Polarity' 'R Invert'" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Headphone Mixer" PlaybackMasterElem "DAC" JackControl "Headphones Jack" } } SectionDevice."Headset" { Comment "Headset Microphone on IN2" EnableSequence [ cset "name='Differential Mux' lin2-rin2" cset "name='Left Headphone Mux' lin2-rin2" cset "name='Right Headphone Mux' lin2-rin2" ] DisableSequence [ cset "name='Differential Mux' lin1-rin1" cset "name='Left Headphone Mux' lin1-rin1" cset "name='Right Headphone Mux' lin1-rin1" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" CaptureMixerElem "ADC PGA Gain" CaptureMasterElem "ADC" } } PK=] U.ucm2/Rockchip/rk3588-es8316/rk3588-es8316.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Rockchip/rk3588-es8316/HiFi.conf" Comment "Play HiFi quality Music" } BootSequence [ # Set HP vol to 0 dB (3/3) cset "name='Headphone Playback Volume' 3" # Set HP mixer vol to 0 dB cset "name='Headphone Mixer Volume' 11" # Set DAC vol to 0 dB (192/192) cset "name='DAC Playback Volume' 192" # Disable Auto Level Control cset "name='ALC Capture Switch' off" # Set ADC vol to 0 dB (192/192) cset "name='ADC Capture Volume' 192" # Set Mic amplifier to +16 dB cset "name='ADC PGA Gain Volume' 7" # Setup muxes / switches cset "name='Left Headphone Mixer Left DAC Switch' on" cset "name='Right Headphone Mixer Right DAC Switch' on" ] PK=]F(ucm2/Rockchip/rk3399-gru-sound/HiFi.confnu[SectionVerb { Value { MinBufferLevel "512" } EnableSequence [ cset "name='Stereo1 DMIC Mux' DMIC1" cset "name='Sto1 ADC MIXL DMIC Switch' on" cset "name='Sto1 ADC MIXR DMIC Switch' on" cset "name='Mixer Out FilterL DACL Switch' on" cset "name='Mixer Out FilterR DACR Switch' on" cset "name='Playback Digital Switch' on" cset "name='Headphone Switch' on" cset "name='Mixin Volume' 11" cset "name='Mixin Switch' on" cset "name='Mixer In Mic Switch' on" cset "name='Out DAIL Mux' ADC" cset "name='Out DAIR Mux' ADC" cset "name='ADC1 Capture Volume' 51" cset "name='Mic Volume' 6" cset "name='Capture Digital Switch' on" cset "name='Mic Switch' on" cset "name='Speakers Switch' off" cset "name='Int Mic Switch' off" cset "name='Headphones Switch' off" cset "name='Headset Mic Switch' off" ] } SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Speakers" } EnableSequence [ cset "name='Speakers Switch' on" ] DisableSequence [ cset "name='Speakers Switch' off" ] ConflictingDevice [ "Headphones" ] } SectionDevice."Mic" { Comment "Internal Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId},1" CaptureMixerElem "ADC1" } EnableSequence [ cset "name='Int Mic Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" ] ConflictingDevice [ "Headset" ] } SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},2" PlaybackMixerElem "Headphone" JackControl "Headphones Jack" } EnableSequence [ cset "name='Headphones Switch' on" cset "name='DAC Soft Mute Switch' off" cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" cset "name='DAC Soft Mute Switch' on" cset "name='Headphones Switch' off" ] ConflictingDevice [ "Speaker" ] } SectionDevice."Headset" { Comment "Headset Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId},2" CaptureMixerElem "Mic" JackControl "Headset Mic Jack" } EnableSequence [ cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" ] ConflictingDevice [ "Mic" ] } PK=]]EpG G ucm2/Rockchip/max98090/HiFi.confnu[SectionVerb { Value { MinBufferLevel "512" } EnableSequence [ cset "name='Left Speaker Mixer Left DAC Switch' on" cset "name='Right Speaker Mixer Right DAC Switch' on" cset "name='Headphone Left Switch' off" cset "name='Headphone Right Switch' off" cset "name='Digital EQ 3 Band Switch' off" cset "name='Digital EQ 5 Band Switch' off" cset "name='Digital EQ 7 Band Switch' off" cset "name='Biquad Switch' off" cset "name='Filter Mode' Music" cset "name='ADC Oversampling Rate' 0" cset "name='DMIC Mux' DMIC" cset "name='MIC2 Mux' IN34" cset "name='Right ADC Mixer MIC2 Switch' on" cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='MIC2 Volume' 20" cset "name='Headset Mic Switch' off" cset "name='Int Mic Switch' on" cset "name='ADCR Boost Volume' 4" cset "name='ADCL Boost Volume' 4" cset "name='ADCR Volume' 11" cset "name='ADCL Volume' 11" cset "name='Left Speaker Mixer Left DAC Switch' on" cset "name='Right Speaker Mixer Right DAC Switch' on" cset "name='Speaker Left Mixer Volume' 2" cset "name='Speaker Right Mixer Volume' 2" cset "name='Record Path DC Blocking' on" cset "name='Playback Path DC Blocking' on" cset "name='Speaker Left Switch' on" cset "name='Speaker Right Switch' on" cset "name='Speaker Switch' on" ] } SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackVolume "Speaker Volume" } EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] } SectionDevice."Mic" { Comment "Internal Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId}" } EnableSequence [ cset "name='Int Mic Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" ] } SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" PlaybackVolume "Headphone Volume" } EnableSequence [ cset "name='Speaker Switch' off" cset "name='Headphone Left Switch' on" cset "name='Headphone Right Switch' on" ] DisableSequence [ cset "name='Headphone Left Switch' off" cset "name='Headphone Right Switch' off" cset "name='Speaker Switch' on" ] } SectionDevice."Headset" { Comment "Headset Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId}" } EnableSequence [ cset "name='Int Mic Switch' off" cset "name='DMIC Mux' ADC" cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" cset "name='DMIC Mux' DMIC" cset "name='Int Mic Switch' on" ] } SectionDevice."HDMI" { Comment "HDMI Jack" Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},1" JackControl "HDMI Jack" } EnableSequence [ cset "name='HDMI Switch' on" ] DisableSequence [ cset "name='HDMI Switch' off" ] } PK=]sxTT#ucm2/Rockchip/rk817-sound/HiFi.confnu[Define.pbk_mux "SPK" If.1 { Condition { Type ControlExists Control "name='Internal Speakers Switch'" } True { Define.pbk_mux "HP" SectionDevice."Speaker".EnableSequence [ cset "name='Internal Speakers Switch' on" ] SectionDevice."Speaker".DisableSequence [ cset "name='Internal Speakers Switch' off" ] } } SectionDevice."Speaker" { Comment "Internal Speaker" EnableSequence [ cset "name='Playback Mux' ${var:pbk_mux}" ] Value { PlaybackMixerElem "Master Playback Volume" PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } ConflictingDevice [ "Headphones" ] } SectionDevice."Mic" { Comment "Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId}" CaptureMixerElem "Mic Capture Gain" CaptureMasterElem "Master Capture Volume" } } SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Playback Mux' HP" ] Value { PlaybackMixerElem "Master Playback Volume" PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphones Jack" JackHWMute "Speaker" } ConflictingDevice [ "Speaker" ] } PK=]}U3oo*ucm2/Rockchip/rk817-sound/rk817-sound.confnu[Syntax 4 SectionUseCase."HiFi" { File "/Rockchip/rk817-sound/HiFi.conf" Comment "Play HiFi quality music" } PK=]=44ucm2/common/linked-card.confnu[Syntax 3 Include.linked.File "/common/linked.conf" PK=]U5"ucm2/common/ctl/led.confnu[# # Microphone/Speaker LED handling seems like an easy task, but # the expectations are different: # # Main question: Which state should LEDs follow (devices)? # # Case 1) set LEDs only for internal resources (speaker/microphone) # Case 2) set LEDs according the current stream (input/output) # Case 3) like case 1, but add analog headphones connected to laptop (analog jack) # # Discussion for Case 2: It is not possible to handle this in driver # (kernel). Usually, the sound server knowns the current stream (which may be routed to # bluetooth or a USB device, for example). Additionally, there is a security flaw if the # sound server directly controls the LEDs. # # Discussion for Case 3: Note that we have currently also USB/Bluetooth headphones which # do not follow this scenario. In this case, there is no clear LED mapping. It seems # that this case is somewhat controversional. Thus, analog headphones may be treated as # an external device. # # Result: For safety, simplicity and understable behaviour, only Case 1 should be # followed - LEDs should respond only to the internal (build-in) speaker output and # internal (build-in) microphone input in UCM. # # # Macro SetLED - attach or detach speaker or microphone LED to given control element # # Arguments: # LED - LED selection - "speaker" or "mic" # Action - action for given control - "attach" or "detach" # CtlId - control identifier (as for amixer, e.g. "Capture Switch" or "name='CaptureSwitch',index=1") # DefineMacro.SetLED { If.0 { Condition { Type String Empty "${var:-SndCtlLedModprobe}" } True { FixedBootSequence [ exec "-/sbin/modprobe snd_ctl_led" ] Define.SndCtlLedModprobe ok } } If.1 { Condition { Type AlwaysTrue } True.FixedBootSequence [ sysw "-/class/sound/ctl-led/${var:__LED}/card${CardNumber}/${var:__Action}:${var:__CtlId}" ] } } # # Macro CtlNew - helper to create new control elemend # # Arguments: # Arg - string for cset-new # DefineMacro.CtlNew.FixedBootSequence [ cset-new "${var:__Arg}" ] PK=]'O//ucm2/common/ctl/remap.confnu[# # Remap controls # # # Macro CtlRemapMonoVolSw # # Arguments: # Dst - Destination control name # Src - Source control name # Index - hardware index for value 0 (mono) # DefineMacro.CtlRemapMonoVolSw { LibraryConfig.pcm.SubstiConfig { ctl.default.map { "name='${var:__Dst} Volume'"."name='${var:__Src} Volume'" { vindex.0 "${evali:$__Index}" } "name='${var:__Dst} Switch'"."name='${var:__Src} Switch'" { vindex.0 "${evali:$__Index}" } } } } # # Macro CtlRemapStereoVolSw # # Arguments: # Dst - Destination control name # Src - Source control name # Index0 - hardware index for the application index 0 # Index1 - hardware index for the application index 1 # DefineMacro.CtlRemapStereoVolSw { LibraryConfig.pcm.SubstiConfig { ctl.default.map { "name='${var:__Dst} Volume'"."name='${var:__Src} Volume'" { vindex.0 "${evali:$__Index0}" vindex.1 "${evali:$__Index1}" } "name='${var:__Dst} Switch'"."name='${var:__Src} Switch'" { vindex.0 "${evali:$__Index0}" vindex.1 "${evali:$__Index1}" } } } } PK=])ucm2/common/direct-verb.confnu[SectionDevice."Direct" { Comment "Direct ${CardName}" Value { If.p { Condition { Type String Empty "${var:-DirectPlaybackChannels}" } False { PlaybackPriority 1000 PlaybackChannels "${var:DirectPlaybackChannels}" PlaybackPCM "hw:${CardId}" } } If.c { Condition { Type String Empty "${var:-DirectCaptureChannels}" } False { CapturePriority 1000 CaptureChannels "${var:DirectCaptureChannels}" CapturePCM "hw:${CardId}" } } } } PK=]ìmucm2/common/direct.confnu[If.direct { Condition { Type String Empty "${var:-DirectCardName}" } True.Define.DirectCardName "${CardName}" } SectionUseCase."Direct" { Comment "Direct ${var:DirectCardName}" File "/common/direct-verb.conf" } PK=]ucm2/common/linked.confnu[ValueDefaults { Linked 1 } PK=] 5p!p!ucm2/common/pcm/split.confnu[# # Split multichannel PCM stream to channel groups # # # Macro SplitPCM # # Application variable: # @SplitPCM - defined, return channel description using UCM values # # Arguments: # Name - PCM name (alsa-lib) # Direction - "Playback" or "Capture" # [Format] - sample format like S16_LE or S32_LE # Channels - application channels # HWChannels - hardware channels # HWChannelPos0 - channel position (MONO FR FL etc. - see alsa-lib's strings) # [HWChannelPos1] - channel position (MONO FR FL etc. - see alsa-lib's strings) # DefineMacro.SplitPCM.If.0 { Condition { Type String Empty "${var:@SplitPCM}" } True { If.period_time { Condition { Type String Empty "${var:-SplitPCMPeriodTime}" } True.Define.__period_time 20000 False.Define.__period_time "${var:SplitPCMPeriodTime}" } If.buffer_time { Condition { Type String Empty "${var:-SplitPCMBufferTime}" } True.Define.__buffer_time 500000 False.Define.__buffer_time "${var:SplitPCMBufferTime}" } If.format { Condition { Type String Empty "${var:-__Format}" } True.Define.__Format S16_LE } LibraryConfig.pcm.SubstiConfig.pcm."${var:__Name}" { @args [ CARD DEV CHN0 ] @args { CARD.type string DEV.type integer CHN0.type integer } ipc_key 6678293 type dshare slave { pcm { type hw card $CARD device $DEV chmap [ "${var:__HWChannelPos0}" ] } format "${var:__Format}" channels "${evali:$__HWChannels}" period_time "${evali:$__period_time}" buffer_time "${evali:$__buffer_time}" } bindings.0 $CHN0 } If.pos1 { Condition { Type String Empty "${var:__HWChannelPos1}" } False.LibraryConfig.pos1.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:__HWChannelPos1}" ] } } If.pos2 { Condition { Type String Empty "${var:-__HWChannelPos2}" } False.LibraryConfig.pos2.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos2}" ] } } If.pos3 { Condition { Type String Empty "${var:-__HWChannelPos3}" } False.LibraryConfig.pos3.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos3}" ] } } If.pos4 { Condition { Type String Empty "${var:-__HWChannelPos4}" } False.LibraryConfig.pos4.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos4}" ] } } If.pos5 { Condition { Type String Empty "${var:-__HWChannelPos5}" } False.LibraryConfig.pos4.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos5}" ] } } If.pos6 { Condition { Type String Empty "${var:-__HWChannelPos6}" } False.LibraryConfig.pos6.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos6}" ] } } If.pos7 { Condition { Type String Empty "${var:-__HWChannelPos7}" } False.LibraryConfig.pos7.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos7}" ] } } If.pos8 { Condition { Type String Empty "${var:-__HWChannelPos8}" } False.LibraryConfig.pos8.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos8}" ] } } If.pos9 { Condition { Type String Empty "${var:-__HWChannelPos9}" } False.LibraryConfig.pos9.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos9}" ] } } If.pos10 { Condition { Type String Empty "${var:-__HWChannelPos10}" } False.LibraryConfig.pos10.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos10}" ] } } If.pos11 { Condition { Type String Empty "${var:-__HWChannelPos11}" } False.LibraryConfig.pos11.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos11}" ] } } If.pos12 { Condition { Type String Empty "${var:-__HWChannelPos12}" } False.LibraryConfig.pos12.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos12}" ] } } If.pos13 { Condition { Type String Empty "${var:-__HWChannelPos13}" } False.LibraryConfig.pos13.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos13}" ] } } If.pos14 { Condition { Type String Empty "${var:-__HWChannelPos14}" } False.LibraryConfig.pos14.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos14}" ] } } If.pos15 { Condition { Type String Empty "${var:-__HWChannelPos15}" } False.LibraryConfig.pos15.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos15}" ] } } If.pos16 { Condition { Type String Empty "${var:-__HWChannelPos16}" } False.LibraryConfig.pos16.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos16}" ] } } If.pos17 { Condition { Type String Empty "${var:-__HWChannelPos17}" } False.LibraryConfig.pos17.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos17}" ] } } If.pos18 { Condition { Type String Empty "${var:-__HWChannelPos18}" } False.LibraryConfig.pos18.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos18}" ] } } If.pos19 { Condition { Type String Empty "${var:-__HWChannelPos19}" } False.LibraryConfig.pos19.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos19}" ] } } If.pos20 { Condition { Type String Empty "${var:-__HWChannelPos20}" } False.LibraryConfig.pos20.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos20}" ] } } If.pos21 { Condition { Type String Empty "${var:-__HWChannelPos21}" } False.LibraryConfig.pos21.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos21}" ] } } If.pos22 { Condition { Type String Empty "${var:-__HWChannelPos22}" } False.LibraryConfig.pos22.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos22}" ] } } If.pos23 { Condition { Type String Empty "${var:-__HWChannelPos23}" } False.LibraryConfig.pos23.SubstiConfig.pcm."${var:__Name}" { slave.pcm.chmap [ "${var:-__HWChannelPos23}" ] } } If.ch1 { Condition { Type RegexMatch Regex "^([2-9]|[1-9][0-9])$" String "${var:__Channels}" } True.LibraryConfig.ch1.SubstiConfig.pcm."${var:__Name}" { @args.3 CHN1 @args { CHN1.type integer } bindings.1 $CHN1 } } If.dir { Condition { Type String String1 "${var:__Direction}" String2 "Capture" } True.LibraryConfig.dir.Config.pcm."${var:__Name}".type dsnoop } } } # # Macro SplitPCMDevice # # Application variable: # @SplitPCM - defined, return channel description using UCM values # # Arguments: # Name - PCM name (alsa-lib) # Direction - "Playback" or "Capture" # Device - hardware PCM device number (optional - default 0) # Channels - count of application channels # HWChannels - total channels (in hardware) # Channel0 - channel index in stream for the destination channel 0 # [Channel1] - channel index in stream for the destination channel 1 (optional) # ChannelPos0 - channel position (MONO FR FL etc. - see alsa-lib's strings # [ChannelPos1] - channel position (MONO FR FL etc. - see alsa-lib's strings) # DefineMacro.SplitPCMDevice { If.0 { Condition { Type String Empty "${var:__Device}" } True.Define.__Device "0" } If.1 { Condition { Type String Empty "${var:@SplitPCM}" } False { Value { "${var:__Direction}Channels" "${var:__HWChannels}" "${var:__Direction}PCM" "hw:${CardId},${var:__Device}" "${var:__Direction}Channel0" "${var:__Channel0}" "${var:__Direction}ChannelPos0" "${var:__ChannelPos0}" } If.ch1 { Condition { Type String Empty "${var:-__Channel1}" } False.Value { "${var:__Direction}Channel1" "${var:__Channel1}" "${var:__Direction}ChannelPos1" "${var:__ChannelPos1}" } } } True { Define.__pcmdev "${var:__Name}:${CardId},${var:__Device},${var:__Channel0}" If.ch1 { Condition { Type String Empty "${var:-__Channel1}" } False.Define.__pcmdev "${var:__pcmdev},${var:__Channel1}" } Value { "${var:__Direction}Channels" "${var:__Channels}" "${var:__Direction}PCM" "${var:__pcmdev}" } } } } PK=]: ucm2/ucm.confnu[# # This is the toplevel file included from the alsa-lib. # # It allows to add extra lookups for the old kernels or so. # # You may specify the directory (relative to the toplevel) and # the master configuration file which defines the verbs. # # # Syntax version is reset for the master configuration file. # Syntax 4 Define.V1 "" # non-empty string to enable ucm v1 paths Define.V2ConfD yes # empty string to disable Define.V2Module "" # non-empty string to enable module name lookups (obsolete) Define.V2Name "" # non-empty string to enable driver & card name lookups (obsolete) Include.libgen.File "/lib/generic.conf" # private alsa-lib configuration If.driver { Condition { Type String Empty "${CardNumber}" } True { # # The probed path for no-hw-card: # # ucm2/conf.virt.d/${OpenName}.conf # ucm2/${OpenName}/${OpenName}.conf # UseCasePath { virt { Directory "conf.virt.d" File "${OpenName}.conf" } legacy { Directory "${OpenName}" File "${OpenName}.conf" } } } False { # # The probed path when hw-card is found: # # ucm2/conf.d/[${CardDriver}|${KernelDriver}]/${CardLongName}.conf # ucm2/conf.d/[${CardDriver}|${KernelDriver}]/[${CardDriver}|${KernelDriver}].conf # ucm2/${KernelModule}/${KernelModule}.conf (obsolete) # ucm2/${CardDriver}/${CardLongName}.conf (obsolete) # ucm2/${CardDriver}/${CardDriver}.conf (obsolete) # If.V2ConfD { Condition { Type String Empty "${var:V2ConfD}" } False { Define.Driver "${CardDriver}" If.nodrv { Condition { Type String Empty "${var:Driver}" } True.Define { KernelDriverPath "class/sound/card${CardNumber}/device/driver" Driver "${sys:$KernelDriverPath}" } } UseCasePath.confd1 { Directory "conf.d/${var:Driver}" File "${CardLongName}.conf" } UseCasePath.confd2 { Directory "conf.d/${var:Driver}" File "${var:Driver}.conf" } } } If.V2Module { Condition { Type String Empty "${var:V2Module}" } False { Define.KernelModulePath "class/sound/card${CardNumber}/device/driver/module" Define.KernelModule "$${sys:$KernelModulePath}" UseCasePath.module { Directory "module" File "${var:KernelModule}.conf" } } } If.V2Name { Condition { Type String Empty "${var:V2Name}" } False.UseCasePath { longname { Directory "${CardDriver}" File "${CardLongName}.conf" } driver { Directory "${CardDriver}" File "${CardDriver}.conf" } } } } } If.V1 { Condition { Type String Empty "${var:V1}" } False.If.v1_driver { Condition { Type String Empty "${CardNumber}" } True { # # The probed path for no-hw-card: # # ucm/${OpenName}/${OpenName}.conf # UseCasePath.v1_legacy { Version 1 Directory "${OpenName}" File "${OpenName}.conf" } } False { # # The ucm v1 probed path when hw-card is found: # # ucm/${CardLongName}/${CardLongName}.conf # ucm/${CardName}/${CardName}.conf or \ # ucm/${OpenName}/${OpenName}.conf # UseCasePath.v1_longname { Version 1 Directory "${CardLongName}" File "${CardLongName}.conf" } If.v1_hw { Condition { Type String Haystack "${OpenName}" Needle "hw:" } True.UseCasePath.v1_cardnamme { Version 1 Directory "${CardName}" File "${CardName}.conf" } False.UseCasePath.v1_openname { Version 1 Directory "${OpenName}" File "${OpenName}.conf" } } } } } PK=]Vݙucm2/sof-soundwire/cs42l45.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},0" PlaybackMixer "default:${CardId}" PlaybackMixerElem "cs42l45 Headphone" JackControl "cs42l45 OT 43 Headphone Jack" } } SectionDevice."Headset" { Comment "Jack Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId},1" CaptureMixer "default:${CardId}" CaptureMixerElem "cs42l45 Jack Microphone" JackControl "cs42l45 IT 31 Microphone Jack" } } PK=]pPX33ucm2/sof-soundwire/rt1318.confnu[# Use case Configuration for sof-soundwire card # # Arguments: # ForAmps - regex filter for var:SpeakerAmps # Amp - amplifier number (1,2 etc.) # Sel - channel selection (L,R L,L L,R L,L+R R,L R,R R,L+R L+R,L L+R,R L+R,L+R) # DefineMacro.rt1318spk.If.0 { Condition { Type RegexMatch Regex "${var:__ForAmps}" String "${var:SpeakerAmps}" } True { EnableSequence [ cset "name='rt1318-${var:__Amp} RX Channel Select' ${var:__Sel}" cset "name='rt1318-${var:__Amp} DAC Switch' 1" ] DisableSequence [ cset "name='rt1318-${var:__Amp} DAC Switch' 0" ] } } SectionDevice."Speaker" { Comment "Speaker" Macro.num1.rt1318spk { ForAmps "1" Amp 1 Sel "L,R" } Macro.num2.rt1318spk { ForAmps "2" Amp 1 Sel "L,L" } Macro.num3.rt1318spk { ForAmps "2" Amp 2 Sel "R,R" } EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" PlaybackMixer "default:${CardId}" PlaybackMixerElem "${var:SpeakerMixerElem}" } } PK=]e ucm2/sof-soundwire/acp-dmic.confnu[SectionDevice."Mic" { Comment "Digital Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureMixerElem "Mic ACP LED" CaptureSwitch "Mic ACP LED Capture Switch" } } PK=]Bۄ"ucm2/sof-soundwire/rt711-sdca.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='rt711 FU0F Capture Switch' 1" ] DisableSequence [ cset "name='rt711 FU0F Capture Switch' 0" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" CaptureSwitch "rt711 FU0F Capture Switch" CaptureVolume "rt711 FU0F Capture Volume" CaptureMixerElem "rt711 FU0F" } } PK=]###ucm2/sof-soundwire/cs42l43-spk.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Speaker" { Comment "Speaker" If.hs_present { Condition { Type String Haystack "${var:HeadsetCodec1}" Needle "cs42l43" } True.ConflictingDevice [ "Headphones" ] } EnableSequence [ cset "name='cs42l43 Speaker L Input 1' 'DP6RX1'" cset "name='cs42l43 Speaker R Input 1' 'DP6RX2'" ] DisableSequence [ cset "name='cs42l43 Speaker L Input 1' 'None'" cset "name='cs42l43 Speaker R Input 1' 'None'" ] If.0 { Condition { Type String Empty "${var:-@OutMix>0dB}" } True.Value { PlaybackMixer "default:${CardId}" PlaybackMixerElem "cs42l43 Speaker" } False.Value { PlaybackMixerElem "cs42l43 Speaker Digital" } } Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]43挃ucm2/sof-soundwire/HiFi.confnu[# Use case Configuration for sof-soundwire card SectionVerb { EnableSequence [ disdevall "" ] Value.TQ "HiFi" } If.spk { Condition { Type String Empty "${var:SpeakerCodecFile}" } False.Include.a.File "/sof-soundwire/${var:SpeakerCodecFile}.conf" } If.mic { Condition { Type String Empty "${var:MicCodecFile}" } False.If.dup { Condition { Type String String1 "${var:MicCodecFile}" String2 "${var:SpeakerCodecFile}" } False.Include.a.File "/sof-soundwire/${var:MicCodecFile}.conf" } } If.headset { Condition { Type String Empty "${var:HeadsetCodecFile}" } False.If.dup { Condition { Type String # guard with "=" to avoid empty string matching Needle "=${var:HeadsetCodecFile}=" Haystack "=${var:SpeakerCodecFile}=${var:MicCodecFile}=" } False.Include.a.File "/sof-soundwire/${var:HeadsetCodecFile}.conf" } } PK=]s]ucm2/sof-soundwire/rt700.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphones Switch' on" ] DisableSequence [ cset "name='Headphones Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='ADC 09 Capture Switch' 1" ] DisableSequence [ cset "name='ADC 09 Capture Switch' 0" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" } } PK=]w BB&ucm2/sof-soundwire/cs35l56-bridge.confnu[# Use case Configuration for sof-soundwire card LibraryConfig.remap.Config { ctl.default.map { "name='Speaker Playback Switch'" { "name='AMPL Speaker Switch'".vindex.0 0 "name='AMPR Speaker Switch'".vindex.1 0 } "name='Speaker Playback Volume'" { "name='AMPL Speaker Volume'".vindex.0 0 "name='AMPR Speaker Volume'".vindex.1 0 } } } SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='cs42l43 Speaker L Input 1' 'ASPRX1'" cset "name='cs42l43 Speaker R Input 1' 'ASPRX2'" cset "name='cs42l43 ASPTX1 Input' 'DP5RX1'" cset "name='cs42l43 ASPTX2 Input' 'DP5RX2'" cset "name='AMPL ASP1 TX1 Source' 'DSP1TX1'" cset "name='AMPL ASP1 TX2 Source' 'None'" cset "name='AMPL ASP1 TX3 Source' 'None'" cset "name='AMPL ASP1 TX4 Source' 'None'" cset "name='AMPR ASP1 TX1 Source' 'None'" cset "name='AMPR ASP1 TX2 Source' 'DSP1TX1'" cset "name='AMPR ASP1 TX3 Source' 'None'" cset "name='AMPR ASP1 TX4 Source' 'None'" cset "name='cs42l43 Speaker Digital Switch' 1" cset "name='cs42l43 Speaker Digital Volume' 128" ] DisableSequence [ cset "name='cs42l43 Speaker Digital Switch' 0" cset "name='AMPL ASP1 TX2 Source' 'None'" cset "name='AMPR ASP1 TX1 Source' 'None'" cset "name='cs42l43 ASPTX1 Input' 'None'" cset "name='cs42l43 ASPTX2 Input' 'None'" cset "name='cs42l43 Speaker L Input 1' 'None'" cset "name='cs42l43 Speaker R Input 1' 'None'" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},0" PlaybackMixer "default:${CardId}" PlaybackMixerElem "Speaker" } } PK=] c+ucm2/sof-soundwire/rt711.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='rt711 ADC 08 Capture Switch' 1" ] DisableSequence [ cset "name='rt711 ADC 08 Capture Switch' 0" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" CaptureSwitch "rt711 ADC 08 Capture Switch" CaptureVolume "rt711 ADC 08 Capture Volume" } } PK=]u"ucm2/sof-soundwire/rt715-sdca.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Mic" { Comment "SoundWire microphones" EnableSequence [ cset "name='rt714 FU02 Capture Switch' 1" ] DisableSequence [ cset "name='rt714 FU02 Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt714 FU02 Capture Switch" CaptureVolume "rt714 FU02 Capture Volume" CaptureMixerElem "rt714 FU02" CaptureMicInfoFile "${var:LibDir}/dmics-nhlt.json" } } PK=]곻ucm2/sof-soundwire/rt713.confnu[# Use case Configuration for sof-soundwire card If.codec_hs { Condition { Type RegexMatch Regex "(rt713(-sdca)?)" String "${var:HeadsetCodec1}" } True { SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='rt713 FU0F Capture Switch' 1" ] DisableSequence [ cset "name='rt713 FU0F Capture Switch' 0" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" CaptureSwitch "rt713 FU0F Capture Switch" CaptureVolume "rt713 FU0F Capture Volume" CaptureMixerElem "rt713 FU0F" } } } } If.codec_dmic { Condition { Type String String1 "rt713-dmic" String2 "${var:MicCodec1}" } True { SectionDevice."Mic" { Comment "SoundWire microphones" EnableSequence [ cset "name='rt713-dmic FU1E Capture Switch' 1" ] DisableSequence [ cset "name='rt713-dmic FU1E Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt713-dmic FU1E Capture Switch" CaptureVolume "rt713-dmic FU1E Capture Volume" CaptureMixerElem "rt713-dmic FU1E" } } } } If.codec_mic { Condition { Type String String1 "rt713" String2 "${var:MicCodec1}" } True { SectionDevice."Mic" { Comment "SoundWire Microphones" EnableSequence [ cset "name='rt713 FU1E Capture Switch' 1" ] DisableSequence [ cset "name='rt713 FU1E Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt713 FU1E Capture Switch" CaptureVolume "rt713 FU1E Capture Volume" CaptureMixerElem "rt713 FU1E" } } } } PK=](-ucm2/sof-soundwire/rt1320.confnu[# Use case Configuration for sof-soundwire card # # Arguments: # ForAmps - regex filter for var:SpeakerAmps # Amp - amplifier number (1,2 etc.) # Sel - channel selection (L,R R,L L,L R,R L,L+R R,L+R L+R,L L+R,R L+R,L+R) # DefineMacro.rt1320spk.If.0 { Condition { Type RegexMatch Regex "${var:__ForAmps}" String "${var:SpeakerAmps}" } True { EnableSequence [ cset "name='rt1320-${var:__Amp} RX Channel Select' ${var:__Sel}" cset "name='rt1320-${var:__Amp} OT23 L Switch' 1" cset "name='rt1320-${var:__Amp} OT23 R Switch' 1" ] DisableSequence [ cset "name='rt1320-${var:__Amp} OT23 L Switch' 0" cset "name='rt1320-${var:__Amp} OT23 R Switch' 0" ] } } SectionDevice."Speaker" { Comment "Speaker" Macro.num1.rt1320spk { ForAmps "1" Amp 1 Sel "L,R" } Macro.num2.rt1320spk { ForAmps "2" Amp 1 Sel "L,L" } Macro.num3.rt1320spk { ForAmps "2" Amp 2 Sel "R,R" } EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" PlaybackMixer "default:${CardId}" PlaybackMixerElem "${var:SpeakerMixerElem}" PlaybackSwitch "${var:SpeakerMixerElem} Playback Switch" } } # Use case Configuration for RT1320 SoundWire DMIC (microphone function) DefineMacro.rt1320dmic.If.0 { Condition { Type RegexMatch Regex "${var:__ForMics}" String "${var:Mics}" } True { EnableSequence [ cset "name='rt1320-${var:__Mic} FU Capture Switch' 1" ] DisableSequence [ cset "name='rt1320-${var:__Mic} FU Capture Switch' 0" ] } } If.codecmic { Condition { Type String Needle "rt1320" Haystack "${var:MicCodec1}" } True { SectionDevice."Mic" { Comment "Microphones" Macro.num1.rt1320dmic { ForMics "[12]" Mic 1 } Macro.num2.rt1320dmic { ForMics "2" Mic 2 } Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureMixerElem "${var:MicMixerElem}" CaptureSwitch "${var:MicMixerElem} Capture Switch" } } } } PK=]~òucm2/sof-soundwire/cs35l56.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" PlaybackMixer "default:${CardId}" PlaybackMixerElem "cs35l56 Speaker" } } PK=]~ucm2/sof-soundwire/rt1316.confnu[# Use case Configuration for sof-soundwire card # # Arguments: # ForAmps - regex filter for var:SpeakerAmps # Amp - amplifier number (1,2 etc.) # Sel - channel selection (L,R L,L L,R L,L+R R,L R,R R,L+R L+R,L L+R,R L+R,L+R) # DefineMacro.rt1316spk.If.0 { Condition { Type RegexMatch Regex "${var:__ForAmps}" String "${var:SpeakerAmps}" } True { EnableSequence [ cset "name='rt1316-${var:__Amp} RX Channel Select' ${var:__Sel}" ] If.lrswitch { Condition { Type ControlExists Control "name='rt1316-${var:__Amp} DAC L Switch'" } True { EnableSequence [ cset "name='rt1316-${var:__Amp} DAC L Switch' 1" cset "name='rt1316-${var:__Amp} DAC R Switch' 1" ] DisableSequence [ cset "name='rt1316-${var:__Amp} DAC L Switch' 0" cset "name='rt1316-${var:__Amp} DAC R Switch' 0" ] } False { EnableSequence [ cset "name='rt1316-${var:__Amp} DAC Switch' 1" ] DisableSequence [ cset "name='rt1316-${var:__Amp} DAC Switch' 0" ] } } } } SectionDevice."Speaker" { Comment "Speaker" Macro.num1.rt1316spk { ForAmps "1" Amp 1 Sel "L,R" } Macro.num2.rt1316spk { ForAmps "2" Amp 1 Sel "L,L" } Macro.num3.rt1316spk { ForAmps "2" Amp 2 Sel "R,R" } EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]5n^ucm2/sof-soundwire/rt715.confnu[# Use case Configuration for sof-soundwire card If.hwctl { Condition { Type ControlExists Control "name='rt715 Capture Volume'" } True.Define.rt715ctl "rt715 Capture" False.Define.rt715ctl "PGA5.0 5 Master Capture" } SectionDevice."Mic" { Comment "SoundWire microphones" EnableSequence [ cset "name='${var:rt715ctl} Switch' 1" ] DisableSequence [ cset "name='${var:rt715ctl} Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "${var:rt715ctl} Switch" CaptureVolume "${var:rt715ctl} Volume" CaptureMixerElem "${var:rt715ctl}" CaptureMicInfoFile "${var:LibDir}/dmics-nhlt.json" } } PK=]M}ucm2/sof-soundwire/rt5682.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" cset "name='rt5682 HPOL Playback Switch' 1" cset "name='rt5682 HPOR Playback Switch' 1" ] DisableSequence [ cset "name='rt5682 HPOL Playback Switch' 0" cset "name='rt5682 HPOR Playback Switch' 0" cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='rt5682 STO1 ADC Capture Switch' 1" cset "name='rt5682 RECMIX1L CBJ Switch' 1" cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 1" cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 1" ] DisableSequence [ cset "name='rt5682 STO1 ADC Capture Switch' 0" cset "name='rt5682 RECMIX1L CBJ Switch' 0" cset "name='rt5682 Stereo1 ADC MIXL ADC1 Switch' 0" cset "name='rt5682 Stereo1 ADC MIXR ADC1 Switch' 0" cset "name='Headset Mic Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" } } PK=]p-%ucm2/sof-soundwire/sof-soundwire.confnu[Syntax 6 SectionUseCase."HiFi" { File "/sof-soundwire/HiFi.conf" Comment "Play HiFi quality Music" } Include.led.File "/common/ctl/led.conf" Include.card-init.File "/lib/card-init.conf" Include.ctl-remap.File "/lib/ctl-remap.conf" Define { SpeakerCodec1 "" SpeakerChannels1 "2" SpeakerAmps1 "0" HeadsetCodec1 "" MicCodec1 "" Mics1 "0" MultiCodec1 "" MultiCodecRegex "rt712|rt713|rt721|rt722|rt1320" SpeakerCodecFile "" MicCodecFile "" HeadsetCodecFile "" } DefineRegex { SpeakerCodec { Regex " spk:([a-z0-9]+((-sdca)|(-spk)|(-bridge))?(\\+[a-z0-9]+((-spk)?))?)" String "${CardComponents}" } SpeakerChannels { Regex " cfg-spk:([0-9]+)" String "${CardComponents}" } SpeakerAmps { Regex " cfg-amp:([0-9]+)" String "${CardComponents}" } HeadsetCodec { Regex " hs:([a-z0-9]+(-sdca)?)" String "${CardComponents}" } MicCodec { Regex " mic:([a-z0-9]+(-dmic)?+(-sdca)?)" String "${CardComponents}" } Mics { Regex " cfg-mics:([1-9][0-9]*)" String "${CardComponents}" } MultiCodec { Regex "(${var:MultiCodecRegex})" String "${var:SpeakerCodec1} ${var:HeadsetCodec1} ${var:MicCodec1}" } } # set default file variables after regex evaluation If.codec_default { Condition { Type String Empty "non-empty-string-so-this-is-always-false" } False.Define { SpeakerCodecFile "${var:SpeakerCodec1}" MicCodecFile "${var:MicCodec1}" HeadsetCodecFile "${var:HeadsetCodec1}" } } # check to keep compatibility with older kernels that have two separate spk: tags If.old_multi_spk { Condition { Type RegexMatch Regex "(spk:cs42l43-spk .*spk:cs35l56( |$))|(spk:cs35l56 .*spk:cs42l43-spk( |$))" String "${CardComponents}" } True.Define.SpeakerCodec1 "cs42l43-spk+cs35l56" } DefineMacro.MultiCodecInit.If.a { Condition { Type String # guard with "=" to not match the codec name in the middle Haystack "=${var:SpeakerCodec1}=${var:HeadsetCodec1}=${var:MicCodec1}" Needle "=${var:__CodecId}" } True { If.spk { Condition { Type RegexMatch # guard with "=" to avoid empty string matching Regex "=(${var:__CodecId}(-sdca)?)=" String "=${var:SpeakerCodec1}=" } True.Define.SpeakerCodecFile "${var:__CodecId}" } If.headset { Condition { Type RegexMatch # guard with "=" to avoid empty string matching Regex "=(${var:__CodecId}(-sdca)?)=" String "=${var:HeadsetCodec1}=" } True.Define.HeadsetCodecFile "${var:__CodecId}" } If.mic { Condition { Type RegexMatch # guard with "=" to avoid empty string matching Regex "=(${var:__CodecId}(-sdca|-dmic)?)=" String "=${var:MicCodec1}=" } True.Define.MicCodecFile "${var:__CodecId}" } } } # probe codecs with multiple functions, modify file variables If.multi_init { Condition { Type String Empty "${var:MultiCodec1}" } False { Macro.rt712.MultiCodecInit "CodecId=rt712" Macro.rt713.MultiCodecInit "CodecId=rt713" Macro.rt721.MultiCodecInit "CodecId=rt721" Macro.rt722.MultiCodecInit "CodecId=rt722" Macro.rt1320.MultiCodecInit "CodecId=rt1320" } } If.spk { Condition { Type String Empty "${var:SpeakerCodecFile}" } False.If.filter { Condition { Type RegexMatch Regex "(${var:MultiCodecRegex}|rt1318|cs42l43-spk(\\+cs35l56)?|cs35l56((-bridge)|(\\+cs42l43-spk))?)" String "${var:SpeakerCodecFile}" } True.Include.a.File "/codecs/${var:SpeakerCodecFile}/init.conf" } } If.mic { Condition { Type String Empty "${var:MicCodecFile}" } False.If.dup { Condition { Type String String1 "${var:MicCodecFile}" String2 "${var:SpeakerCodecFile}" } False.If.filter { Condition { Type RegexMatch Regex "(${var:MultiCodecRegex}|(acp|cs42l43|cs42l45|cs47l47)-dmic|rt715(-sdca)?)" String "${var:MicCodecFile}" } True.Include.a.File "/codecs/${var:MicCodecFile}/init.conf" } } } If.headset { Condition { Type String Empty "${var:HeadsetCodecFile}" } False.If.dup { Condition { Type String # guard with "=" to avoid empty string matching Needle "=${var:HeadsetCodecFile}=" Haystack "=${var:SpeakerCodecFile}=${var:MicCodecFile}=" } False.If.filter { Condition { Type RegexMatch Regex "(${var:MultiCodecRegex}|cs42l43|cs42l45|cs47l47|rt5682|rt700|rt711)" String "${var:HeadsetCodecFile}" } True.Include.a.File "/codecs/${var:HeadsetCodecFile}/init.conf" } } } If.mic_init_rt715 { Condition { Type String Needle "rt715" Haystack "${var:MicCodec1}" } True.Macro [{ SetLED { LED="mic" Action="detach" CtlId="PGA5.0 5 Master Capture Switch" } }] } If.pga_init_pga2 { Condition { Type ControlExists Control "name='PGA2.0 2 Master Capture Switch'" } True.BootSequence [ cset "name='PGA2.0 2 Master Capture Switch' 1" ] } If.pga_init_pga5 { Condition { Type ControlExists Control "name='PGA5.0 5 Master Capture Switch'" } True.BootSequence [ cset "name='PGA5.0 5 Master Capture Switch' 1" ] } If.mics-array { Condition { Type String Empty "${var:Mics1}" } False.FixedBootSequence [ # dmic array info exec "-nhlt-dmic-info -o ${var:LibDir}/dmics-nhlt.json" ] } PK=] ucm2/sof-soundwire/cs42l43.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='cs42l43 Headphone L Input 1' 'DP5RX1'" cset "name='cs42l43 Headphone R Input 1' 'DP5RX2'" ] DisableSequence [ cset "name='cs42l43 Headphone L Input 1' 'None'" cset "name='cs42l43 Headphone R Input 1' 'None'" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},0" PlaybackVolume "cs42l43 Headphone Digital Volume" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='cs42l43 ADC1 Input' 'IN1'" cset "name='cs42l43 DP2TX1 Input' 'Decimator 1'" cset "name='cs42l43 DP2TX2 Input' 'Decimator 1'" ] If.CS42L43B { Condition { Type ControlExists Control "name='cs42l43 Decimator 5 Switch'" } False { EnableSequence [ cset "name='cs42l43 Decimator 1 Mode' 'ADC'" ] } } DisableSequence [ cset "name='cs42l43 DP2TX1 Input' 'None'" cset "name='cs42l43 DP2TX2 Input' 'None'" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" CaptureMixer "default:${CardId}" CaptureMixerElem "cs42l43 Headset Microphone" JackControl "Headset Mic Jack" } } PK=]N/%%$ucm2/sof-soundwire/rt721+rt1320.confnu[# Use case Configuration for sof-soundwire card # # Arguments: # Amp - amplifier number (1,2 etc.) # Sel - channel selection (L,R R,L L,L R,R L,L+R R,L+R L+R,L L+R,R L+R,L+R) # DefineMacro.rt1320spk { EnableSequence [ cset "name='rt1320-${var:__Amp} RX Channel Select' ${var:__Sel}" cset "name='rt1320-${var:__Amp} OT23 L Switch' 1" cset "name='rt1320-${var:__Amp} OT23 R Switch' 1" ] DisableSequence [ cset "name='rt1320-${var:__Amp} OT23 L Switch' 0" cset "name='rt1320-${var:__Amp} OT23 R Switch' 0" ] } DefineMacro.rt1320AmpNum.If.0 { Condition { Type ControlExists Control "name='rt1320-2 OT23 L Switch'" } True { Macro.num1.rt1320spk { Amp 1 Sel "L,L" } Macro.num2.rt1320spk { Amp 2 Sel "R,R" } } False { Macro.num1.rt1320spk { Amp 1 Sel "L,R" } } } SectionDevice."Speaker" { Comment "Speaker" Macro.num1.rt1320AmpNum { } EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]٬:$ucm2/sof-soundwire/cs42l45-dmic.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Mic" { Comment "Microphones" ConflictingDevice [ "Headset" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureMixer "default:${CardId}" CaptureMixerElem "cs42l45 Microphone" } } PK=]Y``$ucm2/sof-soundwire/cs42l43-dmic.confnu[# Use case Configuration for sof-soundwire card SectionDevice."Mic" { Comment "Microphones" If.hs_present { Condition { Type String Haystack "${var:HeadsetCodec1}" Needle "cs42l43" } True.ConflictingDevice [ "Headset" ] } DisableSequence [ cset "name='cs42l43 DP1TX1 Input' 'None'" cset "name='cs42l43 DP1TX2 Input' 'None'" ] If.CS42L43B { Condition { Type ControlExists Control "name='cs42l43 Decimator 5 Switch'" } True { EnableSequence [ cset "name='cs42l43 DP1TX1 Input' 'Decimator 5'" cset "name='cs42l43 DP1TX2 Input' 'Decimator 6'" cset "name='cs42l43 DP1TX3 Input' 'Decimator 3'" cset "name='cs42l43 DP1TX4 Input' 'Decimator 4'" ] DisableSequence [ cset "name='cs42l43 DP1TX3 Input' 'None'" cset "name='cs42l43 DP1TX4 Input' 'None'" ] } False { EnableSequence [ cset "name='cs42l43 DP1TX1 Input' 'Decimator 3'" cset "name='cs42l43 DP1TX2 Input' 'Decimator 4'" ] } } Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureMixer "default:${CardId}" CaptureMixerElem "cs42l43 Microphone" } } PK=]|Xuffucm2/sof-soundwire/rt721.confnu[# Use case Configuration for sof-soundwire card If.codecmic { Condition { Type RegexMatch Regex "(rt721(-sdca)?)" String "${var:MicCodec1}" } True { SectionDevice."Mic" { Comment "SoundWire microphones" EnableSequence [ cset "name='rt721 FU1E Capture Switch' 1" ] DisableSequence [ cset "name='rt721 FU1E Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt721 FU1E Capture Switch" CaptureVolume "rt721 FU1E Capture Volume" CaptureMixerElem "rt721 FU1E" } } } } If.codecspk { Condition { Type RegexMatch Regex "(rt721(-sdca)?)" String "${var:SpeakerCodec1}" } True { SectionDevice."Speaker" { Comment "Speaker" EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } } } SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='rt721 FU0F Capture Switch' 1" ] DisableSequence [ cset "name='rt721 FU0F Capture Switch' 0" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" CaptureSwitch "rt721 FU0F Capture Switch" CaptureVolume "rt721 FU0F Capture Volume" CaptureMixerElem "rt721 FU0F" } } PK=]t$ucm2/sof-soundwire/dmic.confnu[SectionDevice."Mic" { Comment "Digital Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId},${find-device:type=pcm,stream=capture,field=id,regex='DMIC '}" If.chn { Condition { Type RegexMatch Regex "[34]" String "${var:Mics1}" } True { CaptureChannels 4 } } CaptureMixerElem "Dmic0" CaptureVolume "Dmic0 Capture Volume" CaptureSwitch "Dmic0 Capture Switch" CaptureMicInfoFile "${var:LibDir}/dmics-nhlt.json" } } PK=]i ucm2/sof-soundwire/rt712.confnu[# Use case Configuration for sof-soundwire card If.codec_spk { Condition { Type RegexMatch Regex "(rt712(-sdca)?)" String "${var:SpeakerCodec1}" } True { SectionDevice."Speaker" { Comment "Speaker" If.lrswitch { Condition { Type ControlExists Control "name='rt712 OT23 L Switch'" } True { EnableSequence [ cset "name='rt712 OT23 L Switch' on" cset "name='rt712 OT23 R Switch' on" cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='rt712 OT23 L Switch' off" cset "name='rt712 OT23 R Switch' off" cset "name='Speaker Switch' off" ] } False { EnableSequence [ cset "name='rt712 FU06 Switch' on" cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='rt712 FU06 Switch' off" cset "name='Speaker Switch' off" ] } } Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } } } If.codec_hs { Condition { Type RegexMatch Regex "(rt712(-sdca)?)" String "${var:HeadsetCodec1}" } True { SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Mono Microphone" EnableSequence [ cset "name='rt712 FU0F Capture Switch' on" ] DisableSequence [ cset "name='rt712 FU0F Capture Switch' off" ] Value { CapturePriority 300 CapturePCM "hw:${CardId},1" CaptureSwitch "rt712 FU0F Capture Switch" CaptureVolume "rt712 FU0F Capture Volume" CaptureMixerElem "rt712 FU0F" JackControl "Headset Mic Jack" } } } } If.codec_dmic { Condition { Type String String1 "rt712-dmic" String2 "${var:MicCodec1}" } True { SectionDevice."Mic" { Comment "SoundWire microphones" EnableSequence [ cset "name='rt712-dmic FU1E Capture Switch' 1" ] DisableSequence [ cset "name='rt712-dmic FU1E Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt712-dmic FU1E Capture Switch" CaptureVolume "rt712-dmic FU1E Capture Volume" CaptureMixerElem "rt712-dmic FU1E" } } } } If.codec_mic { Condition { Type RegexMatch # guard with '=' to avoid empty or rt712-dmic string matching Regex "=(rt712(-sdca)?)=" String "=${var:MicCodec1}=" } True { SectionDevice."Mic" { Comment "SoundWire Microphones" EnableSequence [ cset "name='rt712 FU1E Capture Switch' 1" ] DisableSequence [ cset "name='rt712 FU1E Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt712 FU1E Capture Switch" CaptureVolume "rt712 FU1E Capture Volume" CaptureMixerElem "rt712 FU1E" } } } } PK=]Zuucm2/sof-soundwire/Hdmi.confnu[# Use case Configuration for sof-soundwire 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.hdmi2.HDMI { Number 3 Device 7 Priority 700 } } PK=][ucm2/sof-soundwire/rt722.confnu[# Use case Configuration for sof-soundwire card If.codecmic { Condition { Type RegexMatch Regex "(rt722(-sdca)?)" String "${var:MicCodec1}" } True { SectionDevice."Mic" { Comment "SoundWire microphones" EnableSequence [ cset "name='rt722 FU1E Capture Switch' 1" ] DisableSequence [ cset "name='rt722 FU1E Capture Switch' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},4" CaptureSwitch "rt722 FU1E Capture Switch" CaptureVolume "rt722 FU1E Capture Volume" CaptureMixerElem "rt722 FU1E" } } } } If.codecspk { Condition { Type RegexMatch Regex "(rt722(-sdca)?)" String "${var:SpeakerCodec1}" } True { SectionDevice."Speaker" { Comment "Speaker" EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" PlaybackMixerElem "rt722 FU06" PlaybackSwitch "rt722 FU06 Playback Switch" PlaybackVolume "rt722 FU06 Playback Volume" } } } } SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='rt722 FU0F Capture Switch' 1" ] DisableSequence [ cset "name='rt722 FU0F Capture Switch' 0" ] If.hsmicsw { Condition { Type ControlExists Control "name='Headset Mic Switch'" } True { EnableSequence [ cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" ] } } Value { CapturePriority 200 CapturePCM "hw:${CardId},1" JackControl "Headset Mic Jack" CaptureSwitch "rt722 FU0F Capture Switch" CaptureVolume "rt722 FU0F Capture Volume" CaptureMixerElem "rt722 FU0F" } } PK=]=6ucm2/sof-soundwire/rt1308.confnu[# Use case Configuration for sof-soundwire card # # Arguments: # ForAmps - regex filter for var:SpeakerAmps # Amp - amplifier number (1,2 etc.) # Sel - channel selection (LR LL RL RR) # DefineMacro.rt1308spk.If.0 { Condition { Type RegexMatch Regex "${var:__ForAmps}" String "${var:SpeakerAmps}" } True { EnableSequence [ cset "name='rt1308-${var:__Amp} RX Channel Select' ${var:__Sel}" cset "name='rt1308-${var:__Amp} DAC L Switch' 1" cset "name='rt1308-${var:__Amp} DAC R Switch' 1" ] DisableSequence [ cset "name='rt1308-${var:__Amp} DAC L Switch' 0" cset "name='rt1308-${var:__Amp} DAC R Switch' 0" ] } } SectionDevice."Speaker" { Comment "Speaker" Macro.num1.rt1308spk { ForAmps "1" Amp 1 Sel LR } Macro.num2.rt1308spk { ForAmps "2" Amp 1 Sel LL } Macro.num3.rt1308spk { ForAmps "2" Amp 2 Sel RR } EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=],&ucm2/README.mdnu[Use Case Configuration files ---------------------------- Library directories: platforms/ codecs/ dsps/ Those directories are not inspected for the list of available UCM configurations. They contain files included from other UCMs. UCM master configuration path lookup is defined in the top level ucm.conf file. This file allows custom directory layout. The new ucm2 layout is based on the ALSA driver name with the kernel driver name as fallback. The virtual cards (no direct hw bound) lookups are placed to the separate conf.virt.d directory. The lookup configuration: https://git.alsa-project.org/?p=alsa-ucm-conf.git;a=blob;f=ucm2/ucm.conf Example paths - new conf.d scheme: - conf.d/USB-Audio/Dell-WD15-Dock.conf -- special configuration for the Dell docking station with USB soundcard - conf.virt.d/TwoCardsMix.conf -- virtual UCM from two soundcards Example paths - no conf.d scheme (may be invalidated): - USB-Audio/Dell-WD15-Dock.conf -- special configuration for the Dell docking station with USB soundcard - TwoCardsMix/TwoCardsMix.conf -- virtual UCM from two soundcards Note: For the driver configurations, use always the ALSA driver name or the real kernel driver name - not the ucm card name configuration paths! The kernel driver name is obtained using sysfs like (last part of the path is used from the symlink): ```` /sys/class/sound/card0/device/driver ```` The ALSA driver name can be obtained using procfs like: ```` cat /proc/asound/cards 1 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xb5080000 irq 17 driver name: HDA-Intel card short name: HDA NVidia card long name: HDA NVidia at 0xb5080000 irq 17 ```` Syntax, value names ------------------- https://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=include/use-case.h PK=]tucm2/PinePhone/VoiceCall.confnu[SectionVerb { EnableSequence [ cset "name='Headphone Playback Switch' off" cset "name='Headphone Source Playback Route' DAC" cset "name='Line In Playback Switch' off" cset "name='Line Out Playback Switch' off" cset "name='Line Out Source Playback Route' Mono Differential" cset "name='Mic1 Playback Switch' off" cset "name='Mic2 Playback Switch' off" cset "name='AIF1 DA0 Playback Volume' 160" cset "name='AIF2 DAC Playback Volume' 160" cset "name='AIF2 DAC Stereo Playback Route' Mix Mono" cset "name='AIF3 ADC Source Capture Route' None" cset "name='AIF2 DAC Source Playback Route' AIF2" cset "name='DAC Playback Switch' on" cset "name='DAC Playback Volume' 160" cset "name='ADC Digital DAC Playback Switch' off" cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on" cset "name='AIF2 Digital DAC Playback Switch' on" cset "name='DAC Reversed Playback Switch' off" cset "name='Earpiece Playback Switch' off" cset "name='Earpiece Source Playback Route' DACL" 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" cset "name='ADC Capture Volume' 160" cset "name='AIF1 AD0 Capture Volume' 160" cset "name='AIF1 Data Digital ADC Capture Switch' on" cset "name='AIF2 ADC Capture Volume' 160" cset "name='AIF2 ADC Mixer ADC Capture Switch' on" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" cset "name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" ] DisableSequence [ ] Value { PlaybackRate 8000 } } SectionDevice."Speaker" { Comment "Internal speaker" EnableSequence [ cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono" cset "name='Line Out Playback Switch' on" cset "name='Line Out Playback Volume' 100%" ] DisableSequence [ cset "name='Line Out Playback Switch' off" ] Value { PlaybackVolume "Line Out Playback Volume" PlaybackSwitch "Line Out Playback Switch" PlaybackChannels "2" PlaybackPriority 100 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" cset "name='Earpiece Playback Volume' 100%" ] DisableSequence [ cset "name='Earpiece Playback Switch' off" ] Value { PlaybackVolume "Earpiece Playback Volume" PlaybackSwitch "Earpiece Playback Switch" PlaybackChannels "2" PlaybackPriority 300 PlaybackPCM "hw:${CardId},0" } } SectionDevice."DigitalMic" { Comment "Internal Microphone" ConflictingDevice [ "HeadsetMic" ] EnableSequence [ cset "name='Mic1 Capture Switch' on" ] DisableSequence [ cset "name='Mic1 Capture Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},0" CaptureChannels "2" } } SectionDevice."HeadsetMic" { Comment "Headset Microphone" ConflictingDevice [ "DigitalMic" ] EnableSequence [ cset "name='Mic2 Capture Switch' on" ] DisableSequence [ cset "name='Mic2 Capture Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},0" CaptureChannels "2" JackControl "Headset Microphone Jack" } } SectionDevice."Headphone" { Comment "Headset" EnableSequence [ cset "name='AIF1 DA0 Stereo Playback Route' Stereo" cset "name='Headphone Playback Switch' on" cset "name='Headphone Playback Volume' 100%" ] DisableSequence [ cset "name='Headphone Playback Switch' off" ] Value { PlaybackVolume "Headphone Playback Volume" PlaybackSwitch "Headphone Playback Switch" PlaybackChannels "2" PlaybackPriority 500 PlaybackPCM "hw:${CardId},0" JackControl "Headphone Jack" } } PK=]ggucm2/PinePhone/HiFi.confnu[SectionVerb { EnableSequence [ cset "name='Headphone Playback Switch' off" cset "name='Headphone Source Playback Route' DAC" cset "name='Line In Playback Switch' off" cset "name='Line Out Playback Switch' off" cset "name='Line Out Source Playback Route' Mono Differential" cset "name='Mic1 Playback Switch' off" cset "name='Mic2 Playback Switch' off" cset "name='AIF1 DA0 Playback Volume' 160" cset "name='AIF3 ADC Source Capture Route' None" cset "name='AIF2 DAC Source Playback Route' AIF2" cset "name='DAC Playback Switch' on" cset "name='DAC Playback Volume' 160" cset "name='ADC Digital DAC Playback Switch' off" cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on" cset "name='AIF2 Digital DAC Playback Switch' off" cset "name='DAC Reversed Playback Switch' off" cset "name='Earpiece Playback Switch' off" cset "name='Earpiece Source Playback Route' DACL" 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" cset "name='ADC Capture Volume' 160" cset "name='AIF1 AD0 Capture Volume' 160" cset "name='AIF1 Data Digital ADC Capture Switch' on" cset "name='AIF2 ADC Mixer ADC Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" cset "name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" ] DisableSequence [ ] Value { } } SectionDevice."Speaker" { Comment "Internal speaker" EnableSequence [ cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono" cset "name='Line Out Playback Switch' on" cset "name='Line Out Playback Volume' 100%" ] DisableSequence [ cset "name='Line Out Playback Switch' off" ] Value { PlaybackVolume "Line Out Playback Volume" PlaybackSwitch "Line Out Playback Switch" PlaybackChannels "2" 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" cset "name='Earpiece Playback Volume' 100%" ] DisableSequence [ cset "name='Earpiece Playback Switch' off" ] Value { PlaybackVolume "Earpiece Playback Volume" PlaybackSwitch "Earpiece Playback Switch" PlaybackChannels "2" PlaybackPriority 100 PlaybackPCM "hw:${CardId},0" } } SectionDevice."DigitalMic" { Comment "Internal Microphone" ConflictingDevice [ "HeadsetMic" ] EnableSequence [ cset "name='Mic1 Capture Switch' on" ] DisableSequence [ cset "name='Mic1 Capture Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},0" CaptureChannels "2" } } SectionDevice."HeadsetMic" { Comment "Headset Microphone" ConflictingDevice [ "DigitalMic" ] EnableSequence [ cset "name='Mic2 Capture Switch' on" ] DisableSequence [ cset "name='Mic2 Capture Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},0" CaptureChannels "2" JackControl "Headset Microphone Jack" } } SectionDevice."Headphone" { Comment "Headphones" EnableSequence [ cset "name='AIF1 DA0 Stereo Playback Route' Stereo" cset "name='Headphone Playback Switch' on" cset "name='Headphone Playback Volume' 100%" ] DisableSequence [ cset "name='Headphone Playback Switch' off" ] Value { PlaybackVolume "Headphone Playback Volume" PlaybackSwitch "Headphone Playback Switch" PlaybackChannels "2" PlaybackPriority 500 PlaybackPCM "hw:${CardId},0" JackControl "Headphone Jack" } } PK=]ޠ޳ucm2/PinePhone/PinePhone.confnu[Syntax 2 SectionUseCase."HiFi" { File "HiFi.conf" Comment "Default" } SectionUseCase."Voice Call" { File "VoiceCall.conf" Comment "Phone call" } PK=]lNNucm2/lib/ctl-remap.confnu[# # This is generic UCM configuration for alsa-lib # Users are not allowed to overwrite this configuration # LibraryConfig.generic.Config { ctl.default { @args [ CARD ] @args.CARD.type string type remap child { type hw card $CARD } } } FixedBootSequence [ cfg-save "${var:LibDir}/ctl-remap.conf:+ctl.default" ] PK=]#Wucm2/lib/card-init.confnu[# # Manage directory for the card specific configuration # Define.LibDir "/var/lib/alsa/card${CardNumber}.conf.d" FixedBootSequence [ exec "/bin/rm -rf ${var:LibDir}" exec "/bin/mkdir -p -m 0755 ${var:LibDir}" ] PK=]_nucm2/lib/generic.confnu[# # This is generic UCM configuration for alsa-lib # Only hw devices are exposed to the UCM application # Users are not allowed to overwrite this configuration # LibraryConfig.generic.Config { ctl.hw { @args [ CARD ] @args.CARD.type string type hw card $CARD } pcm.hw { @args [ CARD DEV SUBDEV ] @args { CARD.type string DEV.type integer SUBDEV.type integer } type hw card $CARD device $DEV subdevice $SUBDEV } } PK=]ҋ ucm2/NXP/iMX8/Librem_5/HiFi.confnu[SectionVerb { EnableSequence [ disdevall "" ] Value.TQ "HiFi" } SectionDevice."Handset" { Comment "Handset" ConflictingDevice [ "Headphones" "Speaker" ] EnableSequence [ cset "name='Speaker Switch' off,on" cset "name='DAC L/R Swap Switch' on" cset "name='DAC Monomix Switch' on" cset "name='SPKOUTR PGA' DAC" cset "name='Speaker Boost Volume' 2" ] DisableSequence [ cset "name='Speaker Switch' off,off" cset "name='DAC L/R Swap Switch' off" cset "name='DAC Monomix Switch' off" cset "name='SPKOUTR PGA' Mixer" ] Value { PlaybackPriority "100" PlaybackVolume "name='Speaker Volume'" PlaybackSwitch "name='Speaker Switch'" PlaybackMixerElem "Speaker" PlaybackPCM "hw:${CardId}" } } SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Handset" "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on,off" cset "name='DAC Monomix Switch' on" cset "name='SPKOUTL PGA' DAC" cset "name='Speaker Boost Volume' 6" ] DisableSequence [ cset "name='Speaker Switch' off,off" cset "name='DAC Monomix Switch' off" cset "name='SPKOUTL PGA' Mixer" ] Value { PlaybackPriority "500" PlaybackVolume "name='Speaker Volume'" PlaybackSwitch "name='Speaker Switch'" PlaybackMixerElem "Speaker" PlaybackPCM "hw:${CardId}" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Handset" "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on,on" cset "name='HPOUTL PGA' 0 unmute" cset "name='HPOUTR PGA' 0 unmute" ] DisableSequence [ cset "name='Headphone Switch' off off" cset "name='HPOUTL PGA' 0 mute" cset "name='HPOUTR PGA' 0 mute" ] Value { PlaybackPriority "1000" PlaybackVolume "name='Headphone Volume'" PlaybackSwitch "name='Headphone Switch'" PlaybackMixerElem "Headphone" PlaybackPCM "hw:${CardId}" JackControl "Headphones Jack" } } SectionDevice."Mic" { Comment "Internal Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='ADC L/R Swap Switch' on" cset "name='Input Mode' Digital" ] DisableSequence [ cset "name='ADC L/R Swap Switch' off" ] Value { CapturePriority "500" CaptureVolume "name='Digital Capture Volume'" CaptureMixerElem "Digital" CapturePCM "hw:${CardId}" } } SectionDevice."Headset" { Comment "Headset Microphone" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Input Mode' Analog" cset "name='MIXINR PGA Switch' on,on" cset "name='Capture Switch' on,on" ] DisableSequence [ cset "name='Capture Switch' off,off" cset "name='MIXINR PGA Switch' off,off" cset "name='Input Mode' Digital" ] Value { CapturePriority "100" CaptureVolume "name='Capture Volume'" CaptureMixerElem "Capture" CapturePCM "hw:${CardId}" JackControl "Headphones Jack" } } PK=]3g$ucm2/NXP/iMX8/Librem_5/Librem 5.confnu[Syntax 2 SectionUseCase."HiFi" { File "HiFi.conf" Comment "Default" } BootSequence [ cset "name='Digital Playback Volume' 100,100" cset "name='MIXINL IN2L Switch' off" cset "name='MIXINL IN3L Switch' off" cset "name='MIXINR IN2R Switch' off" cset "name='MIXINR IN3R Switch' off" cset "name='INPGAR IN1R Switch' off" cset "name='INPGAR IN2R Switch' off" cset "name='INPGAR IN3R Switch' on" cset "name='INPGAR IN4R Switch' off" cset "name='INPGAL IN1L Switch' off" cset "name='INPGAL IN2L Switch' off" cset "name='INPGAL IN3L Switch' off" cset "name='INPGAL IN4L Switch' off" cset "name='Input Mixer Switch' off,on" cset "name='SPKOUTL PGA' Mixer" cset "name='SPKOUTR PGA' Mixer" ] PK=]}uB662ucm2/NXP/iMX8/Librem_5_Devkit/Librem 5 Devkit.confnu[Syntax 2 SectionUseCase."HiFi" { File "HiFi.conf" } PK=]m]0'ucm2/NXP/iMX8/Librem_5_Devkit/HiFi.confnu[SectionVerb { EnableSequence [ cset "name='Digital Input Mux' I2S" cset "name='PCM Playback Volume' 144" cset "name='AVC Switch' off" cset "name='Headphone Playback ZC Switch' off" cset "name='Capture Attenuate Switch (-6dB)' off" cset "name='Capture Mux' MIX_IN" cset "name='Capture ZC Switch' off" cset "name='Capture Switch' On" cset "name='Capture Volume' 15,15" ] DisableSequence [ cset "name='PCM Playback Volume' 0" ] } SectionDevice."Handset" { Comment "Handset" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Mic Mux MUX' Input 2" cset "name='Lineout Playback Switch' on" cset "name='Lineout Playback Volume' 18" cset "name='Mic Volume' 2" ] DisableSequence [ cset "name='Lineout Playback Switch' off" cset "name='Mic Volume' 0" ] Value { PlaybackPriority "1000" PlaybackPCM "hw:${CardId}" PlaybackVolume "name='Lineout Playback Volume'" PlaybackSwitch "name='Lineout Playback Switch'" PlaybackMixerElem "Lineout" CapturePriority "1000" CapturePCM "hw:${CardId}" } } SectionDevice."Headset" { Comment "Headset" ConflictingDevice [ "Handset" ] EnableSequence [ cset "name='Mic Mux MUX' Input 1" cset "name='Headphone Mux' DAC" cset "name='Headphone Playback Volume' 63" cset "name='Headphone Playback Switch' on" ] DisableSequence [ cset "name='Headphone Playback Switch' off" ] Value { PlaybackPriority "700" PlaybackPCM "hw:${CardId}" PlaybackVolume "name='Headphone Playback Volume'" PlaybackSwitch "name='Headphone Playback Switch'" PlaybackMixerElem "Headphone" CapturePriority "700" CapturePCM "hw:${CardId}" JackControl "Headphones Jack" } } PK=] - - $ucm2/Tegra/max98089/lge-x3-HiFi.confnu[# Use case Configuration for MAX98089 on LG Optimus 4X HD/Vu P880/P895 SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on" cset "name='Int Spk Switch' on" cset "name='Left SPK Mixer Left DAC1 Switch' on" cset "name='Left SPK Mixer Left DAC2 Switch' on" cset "name='Left SPK Mixer Right DAC1 Switch' on" cset "name='Left SPK Mixer Right DAC2 Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" cset "name='Int Spk Switch' off" cset "name='Left SPK Mixer Left DAC1 Switch' off" cset "name='Left SPK Mixer Left DAC2 Switch' off" cset "name='Left SPK Mixer Right DAC1 Switch' off" cset "name='Left SPK Mixer Right DAC2 Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 300 PlaybackMixerElem "Speaker" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" cset "name='Left HP Mixer Left DAC1 Switch' on" cset "name='Left HP Mixer Left DAC2 Switch' on" cset "name='Right HP Mixer Right DAC1 Switch' on" cset "name='Right HP Mixer Right DAC2 Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" cset "name='Left HP Mixer Left DAC1 Switch' off" cset "name='Left HP Mixer Left DAC2 Switch' off" cset "name='Right HP Mixer Right DAC1 Switch' off" cset "name='Right HP Mixer Right DAC2 Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 100 PlaybackMixerElem "Headphone" JackControl "Headphone Jack" } } SectionDevice."Mic1" { Comment "Internal Microphone" ConflictingDevice [ "Mic2" ] EnableSequence [ # Main MIC cset "name='Internal Mic 1 Switch' on" cset "name='DAI1 ADC Filter' fc=258/fs=16k" cset "name='Left ADC Mixer MIC1 Switch' on" cset "name='Right ADC Mixer MIC1 Switch' on" # Secondary MIC cset "name='Int Mic Switch' on" cset "name='Internal Mic 2 Switch' on" cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='Right ADC Mixer MIC2 Switch' on" ] DisableSequence [ # Main MIC cset "name='Internal Mic 1 Switch' off" cset "name='DAI1 ADC Filter' off" cset "name='Left ADC Mixer MIC1 Switch' off" cset "name='Right ADC Mixer MIC1 Switch' off" # Secondary MIC cset "name='Int Mic Switch' off" cset "name='Internal Mic 2 Switch' off" cset "name='Left ADC Mixer MIC2 Switch' off" cset "name='Right ADC Mixer MIC2 Switch' off" ] Value { CapturePCM "hw:${CardId}" CaptureChannels 2 CapturePriority 200 } } SectionDevice."Mic2" { Comment "External Microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='Mic Jack Switch' on" cset "name='Left ADC Mixer INA1 Switch' on" cset "name='Right ADC Mixer INA1 Switch' on" ] DisableSequence [ cset "name='Mic Jack Switch' off" cset "name='Left ADC Mixer INA1 Switch' off" cset "name='Right ADC Mixer INA1 Switch' off" ] Value { CapturePCM "hw:${CardId}" CapturePriority 100 JackControl "Mic Jack" } } PK=]I )ucm2/Tegra/max98089/lge-x3-VoiceCall.confnu[# Use case Configuration for MAX98089 on LG Optimus 4X HD/Vu P880/P895 SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Earpiece" ] EnableSequence [ cset "name='Speaker Switch' on" cset "name='Int Spk Switch' on" cset "name='Left SPK Mixer Left DAC1 Switch' on" cset "name='Left SPK Mixer Left DAC2 Switch' on" cset "name='Left SPK Mixer Right DAC1 Switch' on" cset "name='Left SPK Mixer Right DAC2 Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" cset "name='Int Spk Switch' off" cset "name='Left SPK Mixer Left DAC1 Switch' off" cset "name='Left SPK Mixer Left DAC2 Switch' off" cset "name='Left SPK Mixer Right DAC1 Switch' off" cset "name='Left SPK Mixer Right DAC2 Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 100 PlaybackMixerElem "Speaker" } } SectionDevice."Earpiece" { Comment "Earpiece" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Receiver Switch' on" cset "name='Earpiece Switch' on" cset "name='Left REC Mixer Left DAC1 Switch' on" cset "name='Left REC Mixer Left DAC2 Switch' on" cset "name='Left REC Mixer Right DAC1 Switch' on" cset "name='Left REC Mixer Right DAC2 Switch' on" cset "name='Right REC Mixer Left DAC1 Switch' on" cset "name='Right REC Mixer Left DAC2 Switch' on" cset "name='Right REC Mixer Right DAC1 Switch' on" cset "name='Right REC Mixer Right DAC2 Switch' on" ] DisableSequence [ cset "name='Receiver Switch' off" cset "name='Earpiece Switch' off" cset "name='Left REC Mixer Left DAC1 Switch' off" cset "name='Left REC Mixer Left DAC2 Switch' off" cset "name='Left REC Mixer Right DAC1 Switch' off" cset "name='Left REC Mixer Right DAC2 Switch' off" cset "name='Right REC Mixer Left DAC1 Switch' off" cset "name='Right REC Mixer Left DAC2 Switch' off" cset "name='Right REC Mixer Right DAC1 Switch' off" cset "name='Right REC Mixer Right DAC2 Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 200 PlaybackMixerElem "Receiver" } } SectionDevice."Mic1" { Comment "Internal Microphone" EnableSequence [ # Main MIC cset "name='Internal Mic 1 Switch' on" cset "name='DAI1 ADC Filter' fc=258/fs=16k" cset "name='Left ADC Mixer MIC1 Switch' on" cset "name='Right ADC Mixer MIC1 Switch' on" # Secondary MIC cset "name='Int Mic Switch' on" cset "name='Internal Mic 2 Switch' on" cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='Right ADC Mixer MIC2 Switch' on" ] DisableSequence [ # Main MIC cset "name='Internal Mic 1 Switch' off" cset "name='DAI1 ADC Filter' off" cset "name='Left ADC Mixer MIC1 Switch' off" cset "name='Right ADC Mixer MIC1 Switch' off" # Secondary MIC cset "name='Int Mic Switch' off" cset "name='Internal Mic 2 Switch' off" cset "name='Left ADC Mixer MIC2 Switch' off" cset "name='Right ADC Mixer MIC2 Switch' off" ] Value { CapturePCM "hw:${CardId}" CaptureChannels 2 CapturePriority 200 } } PK=]J ȴucm2/Tegra/max98089/lge-x3.confnu[# Use case Configuration for MAX98089 on LG Optimus 4X HD/Vu P880/P895 Syntax 4 BootSequence [ cset "name='MIC1 Volume' 10" cset "name='MIC1 Boost Volume' 1" cset "name='MIC2 Volume' 10" cset "name='MIC2 Boost Volume' 1" cset "name='INA Volume' 5" cset "name='INB Volume' 5" cset "name='ADCL Volume' 15" cset "name='ADCR Volume' 15" cset "name='DAI1 Filter Mode' Music" cset "name='EQ1 Switch' off" cset "name='EQ2 Switch' off" cset "name='Speaker Switch' off" cset "name='Int Spk Switch' off" cset "name='Headphone Switch' off" cset "name='Earpiece Switch' off" cset "name='Receiver Switch' off" cset "name='Int Mic Switch' off" cset "name='Internal Mic 1 Switch' off" cset "name='Internal Mic 2 Switch' off" cset "name='Mic Jack Switch' off" cset "name='Right SPK Mixer Left DAC1 Switch' on" cset "name='Right SPK Mixer Left DAC2 Switch' on" cset "name='Right SPK Mixer Right DAC1 Switch' on" cset "name='Right SPK Mixer Right DAC2 Switch' on" ] SectionUseCase."HiFi" { File "/Tegra/max98089/lge-x3-HiFi.conf" Comment "Play HiFi quality Music" } SectionUseCase."Voice Call" { File "/Tegra/max98089/lge-x3-VoiceCall.conf" Comment "Make a phone call" } PK=],L(ucm2/Tegra/tegra-hda/tegra-hda-HiFi.confnu[Include.hdmi.File "/codecs/hda/hdmi.conf" If.hdmi { Condition { Type AlwaysTrue } True.Macro.hdmi.HDMI { Number 1 Device 3 Priority 1100 } } PK=]#ucm2/Tegra/tegra-hda/tegra-hda.confnu[# UCM for Nvidia Tegra30 HDMI Audio Syntax 6 SectionUseCase."HiFi" { File "/Tegra/tegra-hda/tegra-hda-HiFi.conf" Comment "Play HiFi quality Music" } PK=]>Eucm2/Tegra/alc5632/HiFi.confnu[SectionVerb { EnableSequence [ cset "name='Speaker Playback Switch' on" cset "name='Int Spk Switch' on" cset "name='Speaker Mix DAC2SPK Playback Switch' on" ] DisableSequence [ cset "name='Speaker Playback Switch' off" cset "name='Int Spk Switch' off" cset "name='Speaker Mix DAC2SPK Playback Switch' off" ] } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ # Internal speaker cset "name='Int Spk Switch' off" # Headphones cset "name='Headphone Playback Switch' on" cset "name='HPL Mix DACL2HP Playback Switch' on" cset "name='HPR Mix DACR2HP Playback Switch' on" ] DisableSequence [ # Headphones cset "name='Headphone Playback Switch' off" cset "name='HPL Mix DACL2HP Playback Switch' off" cset "name='HPR Mix DACR2HP Playback Switch' off" # Internal speaker cset "name='Int Spk Switch' on" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } PK=]cucm2/Tegra/alc5632/Record.confnu[SectionVerb { EnableSequence [ cset "name='Speaker Playback Switch' on" cset "name='Int Spk Switch' on" cset "name='Speaker Mix DAC2SPK Playback Switch' on" cset "name='DMICL Mix DMICL2ADC Capture Switch' on" cset "name='DMIC En Capture Switch' on" cset "name='DMIC PreFilter Capture Switch' on" ] DisableSequence [ cset "name='Speaker Playback Switch' off" cset "name='Int Spk Switch' off" cset "name='Speaker Mix DAC2SPK Playback Switch' off" cset "name='DMICL Mix DMICL2ADC Capture Switch' off" cset "name='DMIC En Capture Switch' off" cset "name='DMIC PreFilter Capture Switch' off" ] } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ # Internal speaker cset "name='Int Spk Switch' off" # Internal mic cset "name='DMIC En Capture Switch' off" # Headphones cset "name='Headphone Playback Switch' on" cset "name='HPL Mix DACL2HP Playback Switch' on" cset "name='HPR Mix DACR2HP Playback Switch' on" # External min cset "name='Left Capture Mix MIC12REC_L Capture Switch' on" ] DisableSequence [ # Headphones cset "name='Headphone Playback Switch' off" cset "name='HPL Mix DACL2HP Playback Switch' off" cset "name='HPR Mix DACR2HP Playback Switch' off" # External mic cset "name='Left Capture Mix MIC12REC_L Capture Switch' on" # Internal speaker cset "name='Int Spk Switch' on" # Internal mic cset "name='DMIC En Capture Switch' on" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]x*ucm2/Tegra/rt5640/Google-Nexus-7-HiFi.confnu[# Use case Configuration for ASUS Google Nexus 7 (2012) Define.HaveAif "1" Define.HaveSpeaker "2" Define.HaveHeadsetMic "" Define.HaveInternalMic "dmic" Define.StereoADC2Mux "DMIC1" Include.hp.File "/codecs/rt5640/HeadPhones.conf" Include.mspk.File "/codecs/rt5640/Speaker.conf" Include.dmic.File "/codecs/rt5640/DigitalMics.conf" SectionVerb { Include.e.File "/codecs/rt5640/EnableSeq.conf" } PK=]e=w%ucm2/Tegra/rt5640/Google-Nexus-7.confnu[# Use case Configuration for ASUS Google Nexus 7 (2012) Syntax 4 SectionUseCase."HiFi" { File "/Tegra/rt5640/Google-Nexus-7-HiFi.conf" Comment "Play HiFi quality Music" } PK=]/ucm2/Tegra/max98090/HiFi.confnu[SectionVerb { EnableSequence [ cset "name='Speakers Switch' off" cset "name='Headphones Switch' off" cset "name='Mic Jack Switch' off" cset "name='Int Mic Switch' off" ] } SectionDevice."Speakers" { Comment = "Speakers" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speakers Switch' on" ] DisableSequence [ cset "name='Speakers Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackVolume "Speaker Volume" } } SectionDevice."Headphones" { Comment = "Headphones" ConflictingDevice [ "Speakers" ] EnableSequence [ cset "name='Headphones Switch' on" ] DisableSequence [ cset "name='Headphones Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackVolume "Headphone Volume" JackControl "Headphone Jack" } } SectionDevice."Mic" { Comment "Internal Microphone" EnableSequence [ cset "name='Int Mic Switch' on" cset "name='DMIC Mux' DMIC" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='DMIC Mux' ADC" ] Value { CapturePCM "hw:${CardId}" CaptureChannels 2 CaptureVolume "MIC2 Volume" } } SectionDevice."Headset" { Comment = "Headset Microphone" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Mic Jack Switch' on" cset "name='DMIC Mux' ADC" ] DisableSequence [ cset "name='Mic Jack Switch' off" cset "name='DMIC Mux' DMIC" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" #CaptureControl "MIC2" JackControl "Mic Jack" } } PK=]-~ Ԥ ucm2/Tegra/wm8903/Acer-A500.confnu[# Use case Configuration for Acer Iconia Tab A500 Syntax 4 SectionUseCase."HiFi" { File "/Tegra/wm8903/Acer-A500-HiFi.conf" Comment "Play HiFi quality Music" } PK=]y+'ucm2/Tegra/wm8903/Asus-Transformer.confnu[# Use case Configuration for WM8903 based ASUS Transformers Syntax 4 BootSequence [ cset "name='HPF Switch' on" cset "name='HPF Mode' Voice 1" cset "name='DRC Switch' on" cset "name='Digital Capture Volume' 127" cset "name='Headphone Switch' off" cset "name='Headphone ZC Switch' off" cset "name='Headphone Volume' 45" cset "name='Line Out Switch' on" cset "name='Line Out ZC Switch' off" cset "name='Line Out Volume' 57" cset "name='Speaker Switch' off" cset "name='Speaker ZC Switch' off" cset "name='Speaker Volume' 60" cset "name='Int Spk Switch' on" cset "name='Int Mic Switch' off" cset "name='Mic Jack Switch' off" cset "name='ADC Input' DMIC" cset "name='Left Speaker Mixer DACL Switch' on" cset "name='Right Speaker Mixer DACR Switch' on" ] SectionUseCase."HiFi" { File "/Tegra/wm8903/Asus-Transformer-HiFi.conf" Comment "Play HiFi quality Music" } PK=]ޮ,ucm2/Tegra/wm8903/Asus-Transformer-HiFi.confnu[# Use case Configuration for WM8903 based ASUS Transformers SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on" cset "name='Int Spk Switch' on" ] DisableSequence [ cset "name='Int Spk Switch' off" cset "name='Speaker Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 200 PlaybackMixerElem "Speaker" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 100 PlaybackMixerElem "Headphone" JackControl "Headphone Jack" } } SectionDevice."Mic1" { Comment "Internal Microphone" ConflictingDevice [ "Mic2" ] EnableSequence [ cset "name='Int Mic Switch' on" cset "name='ADC Input' DMIC" ] DisableSequence [ cset "name='Int Mic Switch' off" ] Value { CapturePCM "hw:${CardId}" CapturePriority 200 } } SectionDevice."Mic2" { Comment "External Microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='Mic Jack Switch' on" cset "name='ADC Input' ADC" cset "name='Left Capture Mux' Left" cset "name='Left Input Mux' IN1L" cset "name='Left Input Inverting Mux' IN2L" cset "name='Left Input Mode Mux' Differential Mic" cset "name='Left Input PGA Switch' on" ] DisableSequence [ cset "name='Mic Jack Switch' off" cset "name='Left Input PGA Switch' off" ] Value { CapturePCM "hw:${CardId}" CapturePriority 100 JackControl "Mic Jack" } } PK=]t,d d %ucm2/Tegra/wm8903/Acer-A500-HiFi.confnu[# Use case Configuration for Acer Iconia Tab A500 SectionVerb { EnableSequence [ # WM8903 Output Configuration cset "name='Digital Playback Volume' 80" cset "name='Headphone Volume' 42" cset "name='Line Out Volume' 42" cset "name='DAC Boost Volume' 0" # WM8903 Output Routing cset "name='Left Output Mixer DACL Switch' on" cset "name='Left Output Mixer DACR Switch' off" cset "name='Right Output Mixer DACL Switch' off" cset "name='Right Output Mixer DACR Switch' on" # WM8903 Input Configuration cset "name='Digital Capture Volume' 120" cset "name='DRC Compressor Threshold Volume' 124" cset "name='DRC Compressor Slope R0' 1" cset "name='DRC Compressor Slope R1' 1" cset "name='DRC Maximum Gain Volume' 1" cset "name='DRC Minimum Gain Volume' 0" cset "name='DRC Volume' 13" # WM8903 Input Routing cset "name='Left Input PGA Switch' on" cset "name='Right Input PGA Switch' on" # Tegra-specific switches cset "name='Int Spk Switch' on" cset "name='Int Mic Switch' on" ] } SectionDevice."Speakers" { Comment "Speakers" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Headphone Switch' off" cset "name='Line Out Switch' on" ] Value { PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Line Out" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speakers" ] EnableSequence [ cset "name='Line Out Switch' off" cset "name='Headphone Switch' on" ] Value { PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Headphone" JackControl "Headphone Jack" } } SectionDevice."InternalMic" { Comment "Internal Microphone" ConflictingDevice [ "HeadsetMic" ] EnableSequence [ cset "name='Left Input PGA Volume' 31" cset "name='Right Input PGA Volume' 31" cset "name='Left Input Inverting Mux' IN1L" cset "name='Right Input Inverting Mux' IN1R" cset "name='DRC Switch' on" ] Value { CapturePCM "hw:${CardId}" CaptureMixerElem "Digital" } } SectionDevice."HeadsetMic" { Comment "Headset Microphone" ConflictingDevice [ "InternalMic" ] EnableSequence [ cset "name='Left Input PGA Volume' 25" cset "name='Right Input PGA Volume' 25" cset "name='Left Input Inverting Mux' IN2L" cset "name='Right Input Inverting Mux' IN2R" cset "name='DRC Switch' off" ] Value { CapturePCM "hw:${CardId}" CaptureMixerElem "Digital" JackControl "Mic Jack" } } PK=]{n++'ucm2/Tegra/rt5631/Asus-Transformer.confnu[# Use case Configuration for RT5631 based ASUS Transformers Syntax 4 BootSequence [ cset "name='HP Playback Switch' off" cset "name='Speaker Playback Switch' off" cset "name='PCM Playback Switch' on" cset "name='PCM Playback Volume' 255" cset "name='AXI Capture Volume' 23" cset "name='AXO2 Playback Switch' on" cset "name='AXO2MIX Mixer OUTVOLL Playback Switch' on" cset "name='DMIC Switch' off" cset "name='DMIC Capture Switch' off" cset "name='HPL Mux' Left HPVOL" cset "name='HPR Mux' Right HPVOL" cset "name='Mic Jack Switch' off" cset "name='Int Mic Switch' off" cset "name='Int Spk Switch' on" cset "name='Left HPVOL Mux' OUTMIXL" cset "name='Left OUTVOL Mux' OUTMIXL" cset "name='Left SPKVOL Mux' SPKMIXL" cset "name='MIC1 Boost Volume' 6" cset "name='MIC1 Mode Control' Differential" cset "name='MIC2 Boost Volume' 6" cset "name='MIC2 Mode Control' Single ended" cset "name='MONO Playback Switch' off" cset "name='MONO Mux' MONOMIX" cset "name='MONOIN Mode Control' Differential" cset "name='MONOIN_RX Capture Volume' 25" cset "name='OUTMIXL Mixer DACL Playback Switch' on" cset "name='OUTMIXR Mixer DACR Playback Switch' on" cset "name='OUTVOL Channel Switch' on" cset "name='RECMIXL Mixer MIC1_BST1 Capture Switch' on" cset "name='Right HPVOL Mux' OUTMIXR" cset "name='Right OUTVOL Mux' OUTMIXR" cset "name='Right SPKVOL Mux' SPKMIXR" cset "name='SPK Ratio Control' 1.99x" cset "name='SPKMIXL Mixer DACL Playback Switch' on" cset "name='SPKMIXR Mixer DACR Playback Switch' on" cset "name='SPOL Mux' SPOLMIX" cset "name='SPOLMIX Mixer SPKVOLL Playback Switch' on" cset "name='SPOR Mux' SPORMIX" cset "name='SPORMIX Mixer SPKVOLR Playback Switch' on" ] SectionUseCase."HiFi" { File "/Tegra/rt5631/Asus-Transformer-HiFi.conf" Comment "Play HiFi quality Music" } PK=]B,ucm2/Tegra/rt5631/Asus-Transformer-HiFi.confnu[# Use case Configuration for RT5631 based ASUS Transformers SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Playback Switch' on" cset "name='Int Spk Switch' on" ] DisableSequence [ cset "name='Int Spk Switch' off" cset "name='Speaker Playback Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 200 PlaybackMixerElem "Speaker" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='HP Playback Switch' on" ] DisableSequence [ cset "name='HP Playback Switch' off" ] Value { PlaybackPCM "hw:${CardId}" PlaybackChannels 2 PlaybackPriority 100 PlaybackMixerElem "HP" JackControl "Headphone Jack" } } SectionDevice."Mic1" { Comment "Internal Microphone" ConflictingDevice [ "Mic2" ] EnableSequence [ cset "name='DMIC Capture Switch' on" cset "name='DMIC Switch' on" cset "name='Int Mic Switch' on" ] DisableSequence [ cset "name='DMIC Capture Switch' off" cset "name='DMIC Switch' off" cset "name='Int Mic Switch' off" ] Value { CapturePCM "hw:${CardId}" CapturePriority 200 } } SectionDevice."Mic2" { Comment "External Microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='Mic Jack Switch' on" ] DisableSequence [ cset "name='Mic Jack Switch' off" ] Value { CapturePCM "hw:${CardId}" CapturePriority 100 JackControl "Mic Jack" } } PK=]'Wg%% ucm2/DEBUG.mdnu[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. PK=]Ah  0ucm2/MediaTek/sof-mt8395-evk/sof-mt8395-evk.confnu[Syntax 4 SectionUseCase."HiFi" { File "/MediaTek/sof-mt8395-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='ADC_R_Mux' Right Preamplifier" cset "name='ADC_3_Mux' Preamplifier" cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys" cset "name='PGA_L_Mux' AIN1" cset "name='PGA_R_Mux' AIN2" cset "name='PGA_3_Mux' AIN3" cset "name='HDMI_OUT_MUX' Connect" cset "name='DPTX_OUT_MUX' Disconnect" cset "name='Lineout Volume' 10" cset "name='Headset Volume' 2" cset "name='PGA1 Volume' 4" cset "name='PGA2 Volume' 4" cset "name='PGA3 Volume' 4" cset "name='O000 I000 Switch' on" cset "name='O001 I001 Switch' on" cset "name='O034 I168 Switch' on" cset "name='O035 I169 Switch' on" cset "name='O040 I002 Switch' on" cset "name='O041 I003 Switch' on" cset "name='O176 I070 Switch' on" cset "name='O177 I071 Switch' on" ] PK=]b늾EEGucm2/Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.confnu[Comment "SC7180 RT5682 MAX98357A single microphone sound card" Syntax 4 SectionUseCase."HiFi" { File "/Qualcomm/sc7180/rt5682-max98357a/HiFi.conf" Comment "Default" } Include.card-init.File "/lib/card-init.conf" Include.ctl-remap.File "/lib/ctl-remap.conf" Include.init.File "/Qualcomm/sc7180/rt5682-max98357a/init.conf" PK=] r=ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.confnu[Syntax 3 SectionUseCase."HiFi" { File "/Qualcomm/sm8250/HiFi.conf" Comment "HiFi quality Music." } SectionUseCase."HDMI" { File "/Qualcomm/sm8250/HDMI.conf" Comment "HDMI output." } PK=]&ucm2/conf.d/mt8370-evk/mt8370-evk.confnu[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" ]PK=]̣rr(ucm2/MediaTek/mt8391-evk/mt8391-evk.confnu[Syntax 4 Define { PlayDevN "0" CapDevN "4" CapChanN "1" } Include.init.File "/MediaTek/mt8391-evk/init.conf" PK=]tt0ucm2/MediaTek/mt8390-evk/sof/sof-mt8390-evk.confnu[Syntax 4 Define { PlayDevN "16" CapDevN "18" CapChanN "2" } Include.init.File "/MediaTek/mt8390-evk/init.conf" PK=]$؟0ucm2/Qualcomm/sdm845/Lenovo-YOGA-C630-13Q50.confnu[Syntax 4 SectionUseCase."HiFi" { File "/Qualcomm/sdm845/HiFi-MM1.conf" Comment "HiFi quality Music." } Include.card-init.File "/lib/card-init.conf" Include.ctl-remap.File "/lib/ctl-remap.conf" Include.codec-init.File "/codecs/wcd934x/init.conf" PK=]}(ucm2/MediaTek/mt8395-evk/mt8395-evk.confnu[Syntax 4 SectionUseCase."HiFi" { File "/MediaTek/mt8395-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='ADC_R_Mux' Right Preamplifier" cset "name='ADC_3_Mux' Preamplifier" cset "name='PGA_L_Mux' AIN1" cset "name='PGA_R_Mux' AIN2" cset "name='PGA_3_Mux' AIN3" cset "name='HDMI_OUT_MUX' Connect" cset "name='DPTX_OUT_MUX' Disconnect" cset "name='MULTI_IN1_MUX' HDMI_RX_I2S" cset "name='Lineout Volume' 10" cset "name='Headset Volume' 2" cset "name='PGA1 Volume' 4" cset "name='PGA2 Volume' 4" cset "name='PGA3 Volume' 4" cset "name='O000 I000 Switch' on" cset "name='O001 I001 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" cset "name='O034 I168 Switch' on" cset "name='O035 I169 Switch' on" cset "name='O038 I168 Switch' on" cset "name='O039 I169 Switch' on" cset "name='O040 I002 Switch' on" cset "name='O041 I003 Switch' on" cset "name='O176 I070 Switch' on" cset "name='O177 I071 Switch' on" cset "name='O182 I170 Switch' on" cset "name='O183 I171 Switch' on" ] PK=];T/tt0ucm2/MediaTek/mt8365-evk/sof/sof-mt8365-evk.confnu[Syntax 4 Define { PlayDevN "16" CapDevN "18" CapChanN "2" } Include.init.File "/MediaTek/mt8365-evk/init.conf" PK=]kdLucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.confnu[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" PK=]#Rucm2/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/sof-mt8195-mt6359-rt1019-rt5682.confnu[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" PK=]߱z*ucm2/MediaTek/mt8195_demo/mt8195_demo.confnu[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" ] PK=]씎rr(ucm2/MediaTek/mt8365-evk/mt8365-evk.confnu[Syntax 4 Define { PlayDevN "0" CapDevN "2" CapChanN "1" } Include.init.File "/MediaTek/mt8365-evk/init.conf" PK=]ucm2/conf.d/sof-hda-dspnuȯPK=]T6$ucm2/Qualcomm/sc8280xp/sc8280xp.confnu[Syntax 4 If.LENOVOX13s { Condition { Type RegexMatch String "${sys:devices/virtual/dmi/id/board_vendor}-${sys:devices/virtual/dmi/id/product_family}" Regex "LENOVO.*ThinkPad X13s.*" } True.Include.x13s.File "/Qualcomm/sc8280xp/LENOVO-X13s.conf" False.Error "SC8280XP - ${sys:devices/virtual/dmi/id/board_vendor}-${sys:devices/virtual/dmi/id/product_family} model not supported" } PK=]s{[+ucm2/Allwinner/A64/PinePhone/PinePhone.confnu[Syntax 2 # https://wiki.pine64.org/index.php/PinePhone # https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf # https://xnux.eu/devices/feature/audio-pp.html 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" ]PK=]=44*ucm2/conf.d/acp-pdm-mach/acp-pdm-mach.confnu[Syntax 3 Include.linked.File "/common/linked.conf" PK=]0^ss(ucm2/MediaTek/mt8390-evk/mt8390-evk.confnu[Syntax 4 Define { PlayDevN "0" CapDevN "10" CapChanN "1" } Include.init.File "/MediaTek/mt8390-evk/init.conf" PK=]:*LL(ucm2/MediaTek/mtk-rt5650/mtk-rt5650.confnu[Comment "ALC5650 sound card on MediaTek SoC" Syntax 4 SectionUseCase."HiFi" { File "/MediaTek/mtk-rt5650/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" Include.init.File "/MediaTek/mtk-rt5650/init.conf" PK=] ucm2/PineTab/HiFi.confnu[SectionVerb { EnableSequence [ cset "name='Headphone Playback Switch' off" cset "name='Headphone Source Playback Route' DAC" cset "name='Line In Playback Switch' off" cset "name='Line Out Playback Switch' off" cset "name='Line Out Source Playback Route' Stereo" cset "name='Mic1 Playback Switch' off" cset "name='Mic2 Playback Switch' off" cset "name='AIF1 DA0 Playback Volume' 160" cset "name='AIF3 ADC Source Capture Route' None" cset "name='AIF2 DAC Source Playback Route' AIF2" cset "name='DAC Playback Switch' on" cset "name='DAC Playback Volume' 160" cset "name='ADC Digital DAC Playback Switch' off" cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on" cset "name='AIF2 Digital DAC Playback Switch' off" cset "name='DAC Reversed Playback Switch' off" cset "name='Earpiece Playback Switch' off" cset "name='Earpiece Source Playback Route' DACL" 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" cset "name='ADC Capture Volume' 160" cset "name='AIF1 AD0 Capture Volume' 160" cset "name='AIF1 Data Digital ADC Capture Switch' on" cset "name='AIF2 ADC Mixer ADC Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" cset "name='AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" cset "name='AIF2 ADC Mixer AIF1 DA0 Capture Switch' off" ] DisableSequence [ ] Value { PlaybackPCM "hw:${CardId},0" CapturePCM "hw:${CardId},0" } } SectionDevice."Speaker" { Comment "Internal speaker" EnableSequence [ cset "name='AIF1 DA0 Stereo Playback Route' Stereo" cset "name='Line Out Playback Switch' on" cset "name='Line Out Playback Volume' 100%" ] DisableSequence [ cset "name='Line Out Playback Switch' off" ] Value { PlaybackVolume "Line Out Playback Volume" PlaybackSwitch "Line Out Playback Switch" PlaybackChannels "2" PlaybackPriority 100 PlaybackPCM "hw:${CardId},0" } } SectionDevice."DigitalMic" { Comment "Internal Microphone" EnableSequence [ cset "name='Mic1 Capture Switch' on" cset "name='Mic2 Capture Switch' on" ] DisableSequence [ cset "name='Mic1 Capture Switch' off" cset "name='Mic2 Capture Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},0" CaptureChannels "2" } } SectionDevice."Headphone" { Comment "Headphones" EnableSequence [ cset "name='AIF1 DA0 Stereo Playback Route' Stereo" cset "name='Headphone Playback Switch' on" cset "name='Headphone Playback Volume' 100%" ] DisableSequence [ cset "name='Headphone Playback Switch' off" ] Value { PlaybackVolume "Headphone Playback Volume" PlaybackSwitch "Headphone Playback Switch" PlaybackChannels "2" PlaybackPriority 200 PlaybackPCM "hw:${CardId},0" JackControl "Headphone Jack" } } PK=]IIucm2/PineTab/PineTab.confnu[Syntax 2 SectionUseCase."HiFi" { File "HiFi.conf" Comment "Default" } PK=]RR+ucm2/platforms/bytcr/PlatformEnableSeq.confnu[EnableSequence [ # media mixer settings # compress cset "name='media0_in Gain 0 Switch' on" cset "name='media0_in Gain 0 Volume' 0" # normal cset "name='media1_in Gain 0 Switch' on" cset "name='media1_in Gain 0 Volume' 0" # swm loopback cset "name='media2_in Gain 0 Switch' off" cset "name='media2_in Gain 0 Volume' 0%" # deep buffer cset "name='media3_in Gain 0 Switch' on" cset "name='media3_in Gain 0 Volume' 0" cset "name='media0_out mix 0 media0_in Switch' on" cset "name='media0_out mix 0 media1_in Switch' on" cset "name='media0_out mix 0 media2_in Switch' off" cset "name='media0_out mix 0 media3_in Switch' on" cset "name='media1_out mix 0 media0_in Switch' off" cset "name='media1_out mix 0 media1_in Switch' off" cset "name='media1_out mix 0 media2_in Switch' off" cset "name='media1_out mix 0 media3_in Switch' off" cset "name='pcm0_in Gain 0 Switch' on" cset "name='pcm0_in Gain 0 Volume' 0" cset "name='pcm1_in Gain 0 Switch' off" cset "name='pcm1_in Gain 0 Volume' 0%" # codec0_out settings (used if SSP2 is connected) cset "name='codec_out0 mix 0 codec_in0 Switch' off" cset "name='codec_out0 mix 0 codec_in1 Switch' off" cset "name='codec_out0 mix 0 media_loop1_in Switch' off" cset "name='codec_out0 mix 0 media_loop2_in Switch' off" cset "name='codec_out0 mix 0 pcm0_in Switch' on" cset "name='codec_out0 mix 0 pcm1_in Switch' off" cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" cset "name='codec_out0 Gain 0 Switch' on" cset "name='codec_out0 Gain 0 Volume' 0" # modem_out settings (used if SSP0 is connected) cset "name='modem_out mix 0 codec_in0 Switch' off" cset "name='modem_out mix 0 codec_in1 Switch' off" cset "name='modem_out mix 0 media_loop1_in Switch' off" cset "name='modem_out mix 0 media_loop2_in Switch' off" cset "name='modem_out mix 0 pcm0_in Switch' on" cset "name='modem_out mix 0 pcm1_in Switch' off" cset "name='modem_out mix 0 sprot_loop_in Switch' off" cset "name='modem_out Gain 0 Switch' on" cset "name='modem_out Gain 0 Volume' 0" # input settings # input used when SSP2 is connected cset "name='codec_in0 Gain 0 Switch' on" cset "name='codec_in0 Gain 0 Volume' 0" # input used when SSP0 is connected cset "name='modem_in Gain 0 Switch' on" cset "name='modem_in Gain 0 Volume' 0" # pcm1_out settings cset "name='pcm1_out mix 0 codec_in0 Switch' on" cset "name='pcm1_out mix 0 modem_in Switch' on" cset "name='pcm1_out mix 0 codec_in1 Switch' off" cset "name='pcm1_out mix 0 media_loop1_in Switch' off" cset "name='pcm1_out mix 0 media_loop2_in Switch' off" cset "name='pcm1_out mix 0 pcm0_in Switch' off" cset "name='pcm1_out mix 0 pcm1_in Switch' off" cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" cset "name='pcm1_out Gain 0 Switch' on" cset "name='pcm1_out Gain 0 Volume' 0" # disable codec_out1 cset "name='codec_out1 mix 0 codec_in0 Switch' off" cset "name='codec_out1 mix 0 codec_in1 Switch' off" cset "name='codec_out1 mix 0 media_loop1_in Switch' off" cset "name='codec_out1 mix 0 media_loop2_in Switch' off" cset "name='codec_out1 mix 0 pcm0_in Switch' off" cset "name='codec_out1 mix 0 pcm1_in Switch' off" cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" cset "name='codec_out1 Gain 0 Switch' off" cset "name='codec_out1 Gain 0 Volume' 0%" # disable codec_in1 cset "name='codec_in1 Gain 0 Switch' off" cset "name='codec_in1 Gain 0 Volume' 0%" # disable all loops cset "name='media_loop1_out mix 0 codec_in0 Switch' off" cset "name='media_loop1_out mix 0 codec_in1 Switch' off" cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" cset "name='media_loop1_out mix 0 pcm0_in Switch' off" cset "name='media_loop1_out mix 0 pcm1_in Switch' off" cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" cset "name='media_loop2_out mix 0 codec_in0 Switch' off" cset "name='media_loop2_out mix 0 codec_in1 Switch' off" cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" cset "name='media_loop2_out mix 0 pcm0_in Switch' off" cset "name='media_loop2_out mix 0 pcm1_in Switch' off" cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" ] PK=]',ucm2/platforms/bytcr/PlatformDisableSeq.confnu[# disable audio output path DisableSequence [ cset "name='codec_out0 mix 0 pcm0_in Switch' off" cset "name='modem_out mix 0 pcm0_in Switch' off" cset "name='media0_out mix 0 media0_in Switch' off" cset "name='media0_out mix 0 media1_in Switch' off" cset "name='media0_out mix 0 media3_in Switch' off" cset "name='media0_in Gain 0 Switch' off" cset "name='media1_in Gain 0 Switch' off" cset "name='media3_in Gain 0 Switch' off" cset "name='pcm0_in Gain 0 Switch' off" cset "name='codec_out0 Gain 0 Switch' off" cset "name='modem_out Gain 0 Switch' off" # disable audio input path cset "name='pcm1_out Gain 0 Switch' off" cset "name='codec_in0 Gain 0 Switch' off" cset "name='modem_in Gain 0 Switch' off" ] PK=] mucm2/codecs/rt722/init.confnu[# RT722-sdca specific volume control settings BootSequence [ cset "name='rt722 ADC 24 Mux' 'DMIC1'" cset "name='rt722 ADC 25 Mux' 'DMIC2'" cset "name='rt722 ADC 22 Mux' 'MIC2'" cset "name='rt722 FU1E Capture Volume' 63" cset "name='rt722 FU06 Playback Volume' 60" cset "name='rt722 FU05 Playback Volume' 87" cset "name='rt722 FU0F Capture Volume' 63" ] If.spk_init_rt722 { Condition { Type String Needle "rt722" Haystack "${var:SpeakerCodec1}" } True.Macro [{ SetLED { LED="speaker" Action="attach" CtlId="rt722 FU06 Playback Switch" } }] } If.mic_init_rt722 { Condition { Type String Needle "rt722" Haystack "${var:MicCodec1}" } True.Macro [{ SetLED { LED="mic" Action="attach" CtlId="rt722 FU1E Capture Switch" } }] } PK=]Ǔ"ucm2/codecs/cs42l43-dmic/init.confnu[# cs42l43 specific control settings BootSequence [ cset "name='cs42l43 Decimator 3 Switch' 0" cset "name='cs42l43 Decimator 4 Switch' 0" ] Macro [ { SetLED { LED="mic" Action="attach" CtlId="cs42l43 Decimator 3 Switch" } } { SetLED { LED="mic" Action="attach" CtlId="cs42l43 Decimator 4 Switch" } } ] If.CS42L43B { Condition { Type ControlExists Control "name='cs42l43 Decimator 5 Switch'" } True { LibraryConfig.remap.Config { ctl.default.map { "name='cs42l43 Microphone Capture Switch'" { "name='cs42l43 Decimator 5 Switch'".vindex.0 0 "name='cs42l43 Decimator 6 Switch'".vindex.1 0 "name='cs42l43 Decimator 3 Switch'".vindex.2 0 "name='cs42l43 Decimator 4 Switch'".vindex.3 0 } "name='cs42l43 Microphone Capture Volume'" { "name='cs42l43 Decimator 5 Volume'".vindex.0 0 "name='cs42l43 Decimator 6 Volume'".vindex.1 0 "name='cs42l43 Decimator 3 Volume'".vindex.2 0 "name='cs42l43 Decimator 4 Volume'".vindex.3 0 } } } BootSequence [ cset "name='cs42l43 Decimator 5 Switch' 0" cset "name='cs42l43 Decimator 6 Switch' 0" ] Macro [ { SetLED { LED="mic" Action="attach" CtlId="cs42l43 Decimator 5 Switch" } } { SetLED { LED="mic" Action="attach" CtlId="cs42l43 Decimator 6 Switch" } } ] } False { LibraryConfig.remap.Config { ctl.default.map { "name='cs42l43 Microphone Capture Switch'" { "name='cs42l43 Decimator 3 Switch'".vindex.0 0 "name='cs42l43 Decimator 4 Switch'".vindex.1 0 } "name='cs42l43 Microphone Capture Volume'" { "name='cs42l43 Decimator 3 Volume'".vindex.0 0 "name='cs42l43 Decimator 4 Volume'".vindex.1 0 } } } } } PK=]4ucm2/codecs/rt700/init.confnu[# RT700 specific volume control settings BootSequence [ cset "name='DAC Front Playback Volume' 87" cset "name='HPO Mux' 'Front'" cset "name='ADC 09 Capture Volume' 63" cset "name='ADC 22 Mux' 'MIC2'" cset "name='AMIC Volume' 1" ] PK=]/?*ucm2/codecs/rt5651/HeadPhones-swapped.confnu[SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ # Swap left and right cset "name='Stereo DAC MIXL DAC R1 Switch' on" cset "name='Stereo DAC MIXL DAC L1 Switch' off" cset "name='Stereo DAC MIXR DAC L1 Switch' on" cset "name='Stereo DAC MIXR DAC R1 Switch' off" cset "name='Headphone Switch' on" cset "name='HPO L Playback Switch' on" cset "name='HPO R Playback Switch' on" # Done after turning the HP on to keep the bias and clk on cset "name='Speaker Switch' off" cset "name='LOUT L Playback Switch' off" cset "name='LOUT R Playback Switch' off" ] DisableSequence [ # Disabling the HP switches is done by the Speaker EnableSeq # Unswap left and right cset "name='Stereo DAC MIXL DAC L1 Switch' on" cset "name='Stereo DAC MIXL DAC R1 Switch' off" cset "name='Stereo DAC MIXR DAC R1 Switch' on" cset "name='Stereo DAC MIXR DAC L1 Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } PK=]NM"ucm2/codecs/rt5651/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" cset "name='HPO L Playback Switch' on" cset "name='HPO R Playback Switch' on" # Done after turning the HP on to keep the bias and clk on cset "name='Speaker Switch' off" cset "name='LOUT L Playback Switch' off" cset "name='LOUT R Playback Switch' off" ] # DisableSequence [ # This is done by the Speaker EnableSequence, so that the # Platform Clock and BIAS do not temporarily get turned off # as that breaks audio-streams which are playing when # switching between Speaker/Headphone # ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } PK=]!IO"ucm2/codecs/rt5651/DigitalMic.confnu[SectionDevice."Mic" { Comment "Internal Digital Microphone" EnableSequence [ cset "name='Stereo1 ADC MIXL ADC2 Switch' on" cset "name='Stereo1 ADC MIXR ADC2 Switch' on" cset "name='DMIC ASRC Switch' on" cset "name='Internal Mic Switch' on" ] DisableSequence [ cset "name='Stereo1 ADC MIXL ADC2 Switch' off" cset "name='Stereo1 ADC MIXR ADC2 Switch' off" cset "name='DMIC ASRC Switch' off" cset "name='Internal Mic Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]Jsl&ucm2/codecs/rt5651/IN3-HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone on IN3" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='RECMIXL BST3 Switch' on" cset "name='RECMIXR BST3 Switch' on" cset "name='Stereo1 ADC MIXL ADC1 Switch' on" cset "name='Stereo1 ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo1 ADC MIXL ADC1 Switch' off" cset "name='Stereo1 ADC MIXR ADC1 Switch' off" cset "name='Headset Mic Switch' off" cset "name='RECMIXL BST3 Switch' off" cset "name='RECMIXR BST3 Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" } } PK=]2 )ff!ucm2/codecs/rt5651/EnableSeq.confnu[EnableSequence [ # default state cset "name='HPO MIX DAC1 Switch' on" cset "name='HPO MIX HPVOL Switch' off" cset "name='HPO L Playback Switch' off" cset "name='HPO R Playback Switch' off" cset "name='HPOVOL L Switch' on" cset "name='HPOVOL R Switch' on" cset "name='LOUT MIX DAC L1 Switch' on" cset "name='LOUT MIX DAC R1 Switch' on" cset "name='IF1 ASRC Switch' on" cset "name='LOUT L Playback Switch' off" cset "name='LOUT R Playback Switch' off" cset "name='Stereo DAC MIXL DAC L1 Switch' on" cset "name='Stereo DAC MIXL DAC R1 Switch' off" cset "name='Stereo DAC MIXR DAC L1 Switch' off" cset "name='Stereo DAC MIXR DAC R1 Switch' on" cset "name='Stereo1 ADC MIXL ADC1 Switch' off" cset "name='Stereo1 ADC MIXR ADC1 Switch' off" cset "name='Stereo1 ADC MIXL ADC2 Switch' off" cset "name='Stereo1 ADC MIXR ADC2 Switch' off" cset "name='Stereo2 ADC MIXL ADC1 Switch' off" cset "name='Stereo2 ADC MIXR ADC1 Switch' off" cset "name='Stereo2 ADC MIXL ADC2 Switch' off" cset "name='Stereo2 ADC MIXR ADC2 Switch' off" cset "name='Headphone Switch' off" cset "name='Speaker Switch' off" # volumes cset "name='OUT Playback Volume' 31" cset "name='HP Playback Volume' 31" cset "name='DAC1 Playback Volume' 175" cset "name='IN Capture Volume' 23" # 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics cset "name='ADC Capture Volume' 63" cset "name='ADC Capture Switch' on" # Set ADC Boost Gain to 3dB higher vals result in too much noise cset "name='ADC Boost Gain' 1" # Set IN1, IN2 and IN3 internal mic boost to 1 cset "name='IN1 Boost' 1" cset "name='IN2 Boost' 1" cset "name='IN3 Boost' 1" # input cset "name='Stereo1 ADC L1 Mux' ADC" cset "name='Stereo1 ADC R1 Mux' ADC" cset "name='Stereo1 ADC L2 Mux' DMIC" cset "name='Stereo1 ADC R2 Mux' DMIC" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='RECMIXL BST3 Switch' off" cset "name='RECMIXR BST3 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" cset "name='Headset Mic Switch' off" cset "name='Internal Mic Switch' off" cset "name='Line In Switch' off" ] PK=]ZA#ucm2/codecs/rt5651/MonoSpeaker.confnu[SectionDevice."Speaker" { Comment "Mono Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ # On most (all?) devices with a single / mono speaker an # amplifier with a differential input connected between LOUT # right and left is used. We deal with this by silencing the # right output and mixing left + right to the left output. # # An alternative approach for devices using the differential # setup would be to set bit 15 of register 5 in the codec, # which turns the stereo unbalanced line out into a mono # balanced line out. # # This possibility was discovered after we already shipped the # current solution and the current solution has the advantage # of also working on devices which only use LOUT left in # unbalanced mode. The net result is the same for devices using # the differential setup, so we just stick with what we have. cset "name='Stereo DAC MIXR DAC R1 Switch' off" cset "name='Stereo DAC MIXL DAC R1 Switch' on" cset "name='Speaker Switch' on" cset "name='LOUT L Playback Switch' on" # Done after turning the speaker on to keep the bias and clk on cset "name='Headphone Switch' off" cset "name='HPO L Playback Switch' off" cset "name='HPO R Playback Switch' off" ] DisableSequence [ # Disabling the switches is done by the Speaker EnableSeq # Undo mono mapping cset "name='Stereo DAC MIXL DAC R1 Switch' off" cset "name='Stereo DAC MIXR DAC R1 Switch' on" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } PK=]dن&ucm2/codecs/rt5651/IN2-HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone on IN2" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" cset "name='Stereo1 ADC MIXL ADC1 Switch' on" cset "name='Stereo1 ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo1 ADC MIXL ADC1 Switch' off" cset "name='Stereo1 ADC MIXR ADC1 Switch' off" cset "name='Headset Mic Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" } } PK=]oM(ucm2/codecs/rt5651/IN12-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphones on IN1 and IN2" EnableSequence [ cset "name='Internal Mic Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" cset "name='Stereo1 ADC MIXL ADC1 Switch' on" cset "name='Stereo1 ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo1 ADC MIXL ADC1 Switch' off" cset "name='Stereo1 ADC MIXR ADC1 Switch' off" cset "name='Internal Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]vSwucm2/codecs/rt5651/Speaker.confnu[SectionDevice."Speaker" { Comment "Speakers" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on" cset "name='LOUT L Playback Switch' on" cset "name='LOUT R Playback Switch' on" # Done after turning the speaker on to keep the bias and clk on cset "name='Headphone Switch' off" cset "name='HPO L Playback Switch' off" cset "name='HPO R Playback Switch' off" ] # DisableSequence [ # This is done by the Headphones EnableSequence, so that the # Platform Clock and BIAS do not temporarily get turned off # as that breaks audio-streams which are playing when # switching between Speaker/Headphone # ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } PK=]Ov[[ucm2/codecs/rt5651/init.confnu[LibraryConfig.remap.Config { ctl.default.remap { "name='ADC Boost Gain'" "name='ADC Boost Capture Volume'" "name='IN1 Boost'" "name='IN1 Boost Capture Volume'" "name='IN2 Boost'" "name='IN2 Boost Capture Volume'" "name='IN3 Boost'" "name='IN3 Boost Capture Volume'" "name='HP Playback Volume'" "name='Headphone Playback Volume'" } } PK=]xYY'ucm2/codecs/rt5651/IN1-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone on IN1" EnableSequence [ cset "name='Internal Mic Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" cset "name='Stereo1 ADC MIXL ADC1 Switch' on" cset "name='Stereo1 ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo1 ADC MIXL ADC1 Switch' off" cset "name='Stereo1 ADC MIXR ADC1 Switch' off" cset "name='Internal Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]M؋YY'ucm2/codecs/rt5651/IN2-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone on IN2" EnableSequence [ cset "name='Internal Mic Switch' on" cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" cset "name='Stereo1 ADC MIXL ADC1 Switch' on" cset "name='Stereo1 ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo1 ADC MIXL ADC1 Switch' off" cset "name='Stereo1 ADC MIXR ADC1 Switch' off" cset "name='Internal Mic Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]뢢t""ucm2/codecs/da7219/init.confnu[# DA7219 specific volume control settings BootSequence [ cset "name='Playback Digital Volume' 111" cset "name='Playback Digital Switch' 1" cset "name='Out DACL Mux' DAIL" cset "name='Out DACR Mux' DAIR" cset "name='Mixer Out FilterL DACL Switch' 1" cset "name='Mixer Out FilterR DACR Switch' 1" cset "name='ST Mixer Out FilterL Out FilterL Switch' 1" cset "name='ST Mixer Out FilterR Out FilterR Switch' 1" cset "name='Headphone Jack Switch' off" cset "name='Headset Mic Switch' off" cset "name='Mic Volume' 5" cset "name='Capture Digital Volume' 111" cset "name='Capture Digital Switch' 1" cset "name='Mixin Volume' 10" cset "name='Mixin Switch' 1" cset "name='Mixer In Mic Switch' 1" cset "name='Out DAIL Mux' ADC" cset "name='Out DAIR Mux' ADC" cset "name='Gain Ramp Rate' 1" ] PK=]'ucm2/codecs/rt721/init.confnu[# RT721-sdca specific volume control settings BootSequence [ cset "name='rt721 ADC 07 R Mux' 'DMIC1 FE'" cset "name='rt721 ADC 07 L Mux' 'DMIC1 RE'" cset "name='rt721 ADC 10 R Mux' 'DMIC2 FE'" cset "name='rt721 ADC 10 L Mux' 'DMIC2 RE'" cset "name='rt721 ADC 09 Mux' 'MIC2'" cset "name='rt721 FU1E Capture Volume' 63" cset "name='rt721 FU06 Playback Volume' 87" cset "name='rt721 FU05 Playback Volume' 87" cset "name='rt721 FU0F Capture Volume' 63" cset "name='rt721 FU33 Boost Volume' 1" ] PK=],|\\ucm2/codecs/rt712/init.confnu[# RT712 specific volume control settings BootSequence [ cset "name='rt712 FU05 Playback Volume' 87" cset "name='rt712 ADC 23 Mux' 'MIC2'" cset "name='rt712 FU0F Capture Volume' 57" cset "name='rt712 FU0F Capture Switch' 1" ] If.rt712dmic_init { Condition { Type String String1 "rt712-dmic" String2 "${var:MicCodec1}" } True.BootSequence [ cset "name='rt712-dmic ADC 25 Mux' 'DMIC1'" cset "name='rt712-dmic FU1E Capture Switch' 1" ] } If.rt712vb_init { Condition { Type RegexMatch # guard with '=' to avoid empty or rt712-dmic string matching Regex "=(rt712(-sdca)?)=" String "=${var:MicCodec1}=" } True.BootSequence [ # RT712-VB integrated with DMIC cset "name='rt712 FU1E Capture Switch' 1" cset "name='rt712 FU1E Capture Volume' 47" cset "name='rt712 ADC 0A Mux' 'DMIC1'" cset "name='rt712 ADC 0B Mux' 'DMIC2'" ] } PK=]o"qucm2/codecs/rt5682/init.confnu[# RT5682 specific volume control settings LibraryConfig.remap.Config { ctl.default.remap { "name='STO1 ADC Boost Gain Volume'" "name='STO1 ADC Boost Capture Volume'" } } BootSequence [ cset "name='rt5682 Stereo1 DAC MIXL DAC L1 Switch' 1" cset "name='rt5682 Stereo1 DAC MIXR DAC R1 Switch' 1" cset "name='rt5682 DAC L Mux' 1" cset "name='rt5682 DAC R Mux' 1" cset "name='rt5682 IF1 01 ADC Swap Mux' 2" cset "name='rt5682 CBJ Boost Volume' 3" cset "name='rt5682 Stereo1 ADC L Mux' 0" cset "name='rt5682 Stereo1 ADC R Mux' 0" cset "name='rt5682 Stereo1 ADC L1 Mux' 1" cset "name='rt5682 Stereo1 ADC R1 Mux' 1" cset "name='rt5682 Stereo1 ADC MIXL ADC2 Switch' 0" cset "name='rt5682 Stereo1 ADC MIXR ADC2 Switch' 0" ] PK=]e9 ucm2/codecs/rt711-sdca/init.confnu[# RT711-sdca specific volume control settings BootSequence [ cset "name='rt711 FU05 Playback Volume' 87" cset "name='rt711 ADC 22 Mux' 'MIC2'" cset "name='rt711 FU0F Capture Volume' 57" cset "name='rt711 FU0F Capture Switch' 1" ] PK=][)ucm2/codecs/cs42l43-spk+cs35l56/init.confnu[# cs42l43+cs35l56 specific control settings # # Arguments: # Amp - amplifier number 1-8 # DefineMacro.cs35l56spkInit.If.0 { Condition { Type ControlExists Control "name='AMP${var:__Amp} Speaker Switch'" } True { LibraryConfig.remap.Config.ctl.default.map { "name='cs42l43 Speaker Playback Switch'" { "name='AMP${var:__Amp} Speaker Switch'".vindex.0 0 } } FixedBootSequence [ cset "name='AMP${var:__Amp} Speaker Switch' 0" ] Macro [{ SetLED { LED="speaker" Action="attach" CtlId="AMP${var:__Amp} Speaker Switch" } }] } } LibraryConfig.remap.Config { ctl.default.map { "name='cs42l43 Speaker Playback Switch'" { "name='cs42l43 Speaker Digital Switch'".vindex.0 [ 0 1 ] } } } Macro [ { SetLED { LED="speaker" Action="attach" CtlId="cs42l43 Speaker Digital Switch" } } { cs35l56spkInit { Amp 1 } } { cs35l56spkInit { Amp 2 } } { cs35l56spkInit { Amp 3 } } { cs35l56spkInit { Amp 4 } } { cs35l56spkInit { Amp 5 } } { cs35l56spkInit { Amp 6 } } { cs35l56spkInit { Amp 7 } } { cs35l56spkInit { Amp 8 } } ] PK=]?c"ucm2/codecs/es8316/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Headphone Mixer" PlaybackMasterElem "DAC" JackControl "Headphone Jack" JackHWMute "Speaker" } } PK=]z8&ucm2/codecs/es8316/IN1-HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone on IN1" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Differential Mux' lin1-rin1" cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" CaptureMixerElem "ADC PGA Gain" CaptureMasterElem "ADC" JackControl "Headset Mic Jack" } } PK=]ۆt!ucm2/codecs/es8316/EnableSeq.confnu[EnableSequence [ # Disable all inputs / outputs cset "name='Speaker Switch' off" cset "name='Headphone Switch' off" cset "name='Headset Mic Switch' off" cset "name='Internal Mic Switch' off" # Set HP vol to 0 dB (3/3) cset "name='Headphone Playback Volume' 3" # Set HP mixer vol to 0 dB cset "name='Headphone Mixer Volume' 11" # Set DAC vol to 0 dB (192/192) cset "name='DAC Playback Volume' 192" # Disable Auto Level Control cset "name='ALC Capture Switch' off" # Set ADC vol to 0 dB (192/192) cset "name='ADC Capture Volume' 192" # Set Mic amplifier to +16 dB cset "name='ADC PGA Gain Volume' 7" # Setup muxes / switches cset "name='Left Headphone Mixer Left DAC Switch' on" cset "name='Right Headphone Mixer Right DAC Switch' on" ] PK=]Q(  #ucm2/codecs/es8316/MonoSpeaker.confnu[SectionDevice."Speaker" { Comment "Mono Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ # BYT/CHT devices with an ES8316 codec use a single speaker # connected between the headhpone LOUT and ROUT pins, expecting # the output to be in a mono differential mode. Presumably this # is done to use the power of both the left and right headphone # amplifier channels to allow the speaker to be louder. # # The ES8316 codec does not have a differential output mode, but # we can emulate one by making both channels output the exact # same signal by setting the "DAC Mono Mix Switch", combined # with setting the "Playback Polarity" control to "R Invert", # which applies a 180 degrees phase inversion to the right chan. cset "name='DAC Mono Mix Switch' on" cset "name='Playback Polarity' 1" cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" # DAC settings back to normal for stereo headphones output cset "name='Playback Polarity' 0" cset "name='DAC Mono Mix 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" } } PK=]/ A&ucm2/codecs/es8316/IN2-HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone on IN2" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Differential Mux' lin2-rin2" cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" CaptureMixerElem "ADC PGA Gain" CaptureMasterElem "ADC" JackControl "Headset Mic Jack" } } PK=]Ϯ%ucm2/codecs/es8316/Speaker.confnu[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" } } PK=]'ucm2/codecs/es8316/IN1-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone on IN1" 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" } } PK=]iC'ucm2/codecs/es8316/IN2-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone on IN2" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Differential Mux' lin2-rin2" 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" } } PK=]I I ucm2/codecs/rt1320/init.confnu[# RT1320 amp specific switch control settings DefineMacro.rt1320spkled.If.0 { Condition { Type RegexMatch Regex "${var:__ForAmps}" String "${var:SpeakerAmps}" } True.Macro [ { SetLED { LED="speaker" Action="attach" CtlId="rt1320-${var:__Amp} OT23 L Switch" } } { SetLED { LED="speaker" Action="attach" CtlId="rt1320-${var:__Amp} OT23 R Switch" } } ] } If.spk_init_rt1320 { Condition { Type String Needle "rt1320" Haystack "${var:SpeakerCodec1}" } True { Macro.num1.rt1320spkled { ForAmps "[12]" Amp 1 } Macro.num2.rt1320spkled { ForAmps "2" Amp 2 } } } Define.SpeakerMixerElem "rt1320-1 OT23" If.oneAmp { Condition { Type RegexMatch Regex "1" String "${var:SpeakerAmps}" } True { Define.SpeakerMixerElem "rt1320 OT23" LibraryConfig.remap.Config { ctl.default.map { "name='rt1320 OT23 Playback Switch'" { "name='rt1320-1 OT23 L Switch'".vindex.0 0 "name='rt1320-1 OT23 R Switch'".vindex.1 0 } } } } } If.twoAmps { Condition { Type RegexMatch Regex "2" String "${var:SpeakerAmps}" } True { Define.SpeakerMixerElem "rt1320 OT23" LibraryConfig.remap.Config { ctl.default.map { "name='rt1320 OT23 Playback Switch'" { "name='rt1320-1 OT23 L Switch'".vindex.0 0 "name='rt1320-1 OT23 R Switch'".vindex.0 0 "name='rt1320-2 OT23 L Switch'".vindex.1 0 "name='rt1320-2 OT23 R Switch'".vindex.1 0 } } } } } # RT1320 DMIC specific switch control settings Define.MicMixerElem "rt1320-1 FU" DefineMacro.rt1320micled.If.0 { Condition { Type RegexMatch Regex "${var:__ForMics}" String "${var:Mics}" } True.Macro [{ SetLED { LED="mic" Action="attach" CtlId="rt1320-${var:__Mic} FU Capture Switch" } }] } If.mic_init_rt1320 { Condition { Type String Needle "rt1320" Haystack "${var:MicCodec1}" } True { Macro.num1.rt1320micled { ForMics "[12]" Mic 1 } Macro.num2.rt1320micled { ForMics "2" Mic 2 } If.twoMics { Condition { Type RegexMatch Regex "2" String "${var:Mics}" } True { Define.MicMixerElem "rt1320 FU" LibraryConfig.remap.Config { ctl.default.map { "name='rt1320 FU Capture Switch'" { "name='rt1320-1 FU Capture Switch'".vindex.0 0 "name='rt1320-1 FU Capture Switch'".vindex.1 1 "name='rt1320-1 FU Capture Switch'".vindex.2 2 "name='rt1320-1 FU Capture Switch'".vindex.3 3 "name='rt1320-2 FU Capture Switch'".vindex.4 0 "name='rt1320-2 FU Capture Switch'".vindex.5 1 "name='rt1320-2 FU Capture Switch'".vindex.6 2 "name='rt1320-2 FU Capture Switch'".vindex.7 3 } } } } } } } PK=] /Iucm2/codecs/cs35l56/init.confnu[# cs35l56 specific control settings # # Arguments: # ForAmps - regex filter for var:SpeakerAmps # Amp - amplifier number 1-8 # DefineMacro.cs35l56spkInit.If.0 { Condition { Type RegexMatch Regex "${var:__ForAmps}" String "${var:SpeakerAmps}" } True { LibraryConfig.remap.Config.ctl.default.map { "name='cs35l56 Speaker Playback Switch'" { "name='AMP${var:__Amp} Speaker Switch'".vindex."${eval:($__Amp-1)}" 0 } } FixedBootSequence [ cset "name='AMP${var:__Amp} Speaker Switch' 0" ] Macro [{ SetLED { LED="speaker" Action="attach" CtlId="AMP${var:__Amp} Speaker Switch" } }] } } Macro [ { cs35l56spkInit { ForAmps "[1-8]" Amp 1 } } { cs35l56spkInit { ForAmps "[2-8]" Amp 2 } } { cs35l56spkInit { ForAmps "[3-8]" Amp 3 } } { cs35l56spkInit { ForAmps "[4-8]" Amp 4 } } { cs35l56spkInit { ForAmps "[5-8]" Amp 5 } } { cs35l56spkInit { ForAmps "[6-8]" Amp 6 } } { cs35l56spkInit { ForAmps "[78]" Amp 7 } } { cs35l56spkInit { ForAmps "8" Amp 8 } } ] PK=]c.ucm2/codecs/cs42l43/init.confnu[# cs42l43-hs specific control settings LibraryConfig.remap.Config { ctl.default.map { "name='cs42l43 Headset Microphone Capture Switch'" { "name='cs42l43 Decimator 1 Switch'".vindex.0 0 } "name='cs42l43 Headset Microphone Capture Volume'" { "name='cs42l43 Decimator 1 Volume'".vindex.0 0 } } } If.0 { Condition { Type String Empty "${var:-@OutMix>0dB}" } True.BootSequence [ cset "name='cs42l43 Speaker Digital Volume' 128" ] } PK=]}}4ucm2/codecs/qcom-lpass/va-macro/DMIC1DisableSeq.confnu[DisableSequence [ cset "name='VA DMIC MUX1' ZERO" cset "name='VA_DEC1 Volume' 0" cset "name='VA_AIF1_CAP Mixer DEC1' 0" ] PK=]˚s3ucm2/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.confnu[EnableSequence [ cset "name='VA DEC0 MUX' VA_DMIC" cset "name='VA DMIC MUX0' DMIC0" cset "name='VA_AIF1_CAP Mixer DEC0' 1" cset "name='VA_DEC0 Volume' 100" ] PK=]Jբ3ucm2/codecs/qcom-lpass/va-macro/DMIC1EnableSeq.confnu[EnableSequence [ cset "name='VA DEC1 MUX' VA_DMIC" cset "name='VA DMIC MUX1' DMIC1" cset "name='VA_AIF1_CAP Mixer DEC1' 1" cset "name='VA_DEC1 Volume' 100" ] PK=]I}}4ucm2/codecs/qcom-lpass/va-macro/DMIC0DisableSeq.confnu[DisableSequence [ cset "name='VA DMIC MUX0' ZERO" cset "name='VA_DEC0 Volume' 0" cset "name='VA_AIF1_CAP Mixer DEC0' 0" ] PK=]f//6ucm2/codecs/qcom-lpass/wsa-macro/SpeakerEnableSeq.confnu[EnableSequence [ cset "name='WSA RX0 MUX' AIF1_PB" cset "name='WSA RX1 MUX' AIF1_PB" cset "name='WSA_RX0 INP0' RX0" cset "name='WSA_RX1 INP0' RX1" cset "name='WSA_COMP1 Switch' 1" cset "name='WSA_COMP2 Switch' 1" cset "name='WSA_RX0 Digital Volume' 68" cset "name='WSA_RX1 Digital Volume' 68" ] PK=]+M#**7ucm2/codecs/qcom-lpass/wsa-macro/SpeakerDisableSeq.confnu[DisableSequence [ cset "name='WSA_RX0 Digital Volume' 0" cset "name='WSA_RX1 Digital Volume' 0" cset "name='WSA_COMP1 Switch' 0" cset "name='WSA_COMP2 Switch' 0" cset "name='WSA_RX0 INP0' ZERO" cset "name='WSA_RX1 INP0' ZERO" cset "name='WSA RX0 MUX' ZERO" cset "name='WSA RX1 MUX' ZERO" ] PK=]/D7ucm2/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.confnu[EnableSequence [ cset "name='RX_HPH PWR Mode' LOHIFI" cset "name='RX HPH Mode' CLS_H_ULP" cset "name='RX_MACRO RX0 MUX' AIF1_PB" cset "name='RX_MACRO RX1 MUX' AIF1_PB" cset "name='RX INT0_1 MIX1 INP0' RX0" cset "name='RX INT1_1 MIX1 INP0' RX1" cset "name='RX INT0 DEM MUX' CLSH_DSM_OUT" cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" cset "name='RX_COMP1 Switch' 1" cset "name='RX_COMP2 Switch' 1" ] PK=]}qRuu8ucm2/codecs/qcom-lpass/rx-macro/HeadphoneDisableSeq.confnu[DisableSequence [ cset "name='RX_MACRO RX0 MUX' ZERO" cset "name='RX_MACRO RX1 MUX' ZERO" cset "name='RX INT0_1 MIX1 INP0' ZERO" cset "name='RX INT1_1 MIX1 INP0' ZERO" cset "name='RX INT0 DEM MUX' NORMAL_DSM_OUT" cset "name='RX INT1 DEM MUX' NORMAL_DSM_OUT" cset "name='RX_COMP1 Switch' 0" cset "name='RX_COMP2 Switch' 0" cset "name='RX HPH Mode' CLS_H_INVALID" ] PK=][L3ucm2/codecs/qcom-lpass/tx-macro/DMIC0EnableSeq.confnu[EnableSequence [ cset "name='TX DEC0 MUX' MSM_DMIC" cset "name='TX DMIC MUX0' DMIC0" cset "name='TX DMIC MUX1' DMIC1" cset "name='TX_AIF1_CAP Mixer DEC0' 1" cset "name='TX_AIF1_CAP Mixer DEC1' 1" cset "name='TX_DEC0 Volume' 100" cset "name='TX_DEC1 Volume' 100" ] PK=]õ:ucm2/codecs/qcom-lpass/tx-macro/HeadphoneMicEnableSeq.confnu[EnableSequence [ cset "name='TX DEC0 MUX' SWR_MIC" cset "name='TX SMIC MUX0' ADC1" cset "name='TX_AIF1_CAP Mixer DEC0' 1" cset "name='TX1 MODE' ADC_NORMAL" cset "name='TX_DEC0 Volume' 110" ] PK=]r;ucm2/codecs/qcom-lpass/tx-macro/HeadphoneMicDisableSeq.confnu[DisableSequence [ cset "name='TX SMIC MUX0' ZERO" cset "name='TX_AIF1_CAP Mixer DEC0' 0" cset "name='TX1 MODE' ADC_INVALID" ] PK=]]]4ucm2/codecs/qcom-lpass/tx-macro/DMIC0DisableSeq.confnu[DisableSequence [ cset "name='TX DMIC MUX0' ZERO" cset "name='TX_AIF1_CAP Mixer DEC0' 0" ] PK=]М,"ucm2/codecs/rt5640/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" If.have-spk { Condition { Type String Empty "${var:HaveSpeaker}" } False { ConflictingDevice [ "Speaker" ] } } EnableSequence [ cset "name='HPO MIX HPVOL Switch' on" cset "name='HP Channel Switch' on" cset "name='HP L Playback Switch' on" cset "name='HP R Playback Switch' on" ] DisableSequence [ cset "name='HP Channel Switch' off" cset "name='HP L Playback Switch' off" cset "name='HP R Playback Switch' off" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" PlaybackMixerElem "HP" PlaybackVolume "HP Playback Volume" If.HpAif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.PlaybackMasterElem "DAC1" } If.HpAif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.PlaybackMasterElem "DAC2" } } } PK=]so#ucm2/codecs/rt5640/DigitalMics.confnu[SectionDevice."Mic" { Comment "Internal Digital Microphones" If.have-headset { Condition { Type String Empty "${var:HaveHeadsetMic}" } False { ConflictingDevice [ "Headset" ] } } EnableSequence [ cset "name='Stereo ADC2 Mux' ${var:StereoADC2Mux}" cset "name='Mono ADC MIXL ADC2 Switch' on" cset "name='Mono ADC MIXR ADC2 Switch' on" cset "name='Stereo ADC MIXL ADC2 Switch' on" cset "name='Stereo ADC MIXR ADC2 Switch' on" ] DisableSequence [ cset "name='Mono ADC MIXL ADC2 Switch' off" cset "name='Mono ADC MIXR ADC2 Switch' off" cset "name='Stereo ADC MIXL ADC2 Switch' off" cset "name='Stereo ADC MIXR ADC2 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" If.DmicAif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True { CaptureMixerElem "ADC" CaptureVolume "ADC Capture Volume" CaptureSwitch "ADC Capture Switch" } } If.DmicAif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True { CaptureMixerElem "Mono ADC" CaptureVolume "Mono ADC Capture Volume" CaptureSwitch "Mono ADC Capture Switch" } } } } PK=]I-"ucm2/codecs/rt5640/HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone" If.have-mic { Condition { Type String Empty "${var:HaveInternalMic}" } False { ConflictingDevice [ "Mic" ] } } EnableSequence [ cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" cset "name='Stereo ADC MIXL ADC1 Switch' on" cset "name='Stereo ADC MIXR ADC1 Switch' on" cset "name='Mono ADC MIXL ADC1 Switch' on" cset "name='Mono ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo ADC MIXL ADC1 Switch' off" cset "name='Stereo ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" CaptureMixerElem "IN2 Boost" CaptureVolume "IN2 Boost" If.HSmicAif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.CaptureMasterElem "ADC" } If.HSmicAif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.CaptureMasterElem "Mono ADC" } } } PK=]fgU U !ucm2/codecs/rt5640/EnableSeq.confnu[EnableSequence [ # RT5640 default output routing cset "name='DAC MIXL INF1 Switch' on" cset "name='DAC MIXR INF1 Switch' on" cset "name='Stereo DAC MIXL DAC L1 Switch' on" cset "name='Stereo DAC MIXR DAC R1 Switch' on" cset "name='Stereo DAC MIXL DAC L2 Switch' on" cset "name='Stereo DAC MIXR DAC R2 Switch' on" cset "name='OUT MIXL DAC L1 Switch' on" cset "name='OUT MIXR DAC R1 Switch' on" cset "name='SPK MIXL DAC L1 Switch' on" cset "name='SPK MIXR DAC R1 Switch' on" # uncomment for loopback mic->speakers # cset "name='SPOL MIX BST1 Switch' on" # cset "name='SPOR MIX BST1 Switch' on" # uncomment for loopback playback -> capture # cset "name='RECMIXL OUT MIXL Switch' on" # cset "name='RECMIXR OUT MIXR Switch' on" # uncomment to enable swap between AIF1 and AIF2 # warning: can only work with SSP0 firmware enabled cset "name='SDI select' 0" cset "name='DAI select' 0" #cset "name='SDI select' 1" #cset "name='DAI select' 1" cset "name='DAC2 Playback Switch' on" # Input Configuration cset "name='Stereo ADC1 Mux' ADC" cset "name='ADC Capture Switch' on" cset "name='Mono ADC L1 Mux' ADCL" cset "name='Mono ADC R1 Mux' ADCR" cset "name='Mono ADC L2 Mux' DMIC L1" cset "name='Mono ADC R2 Mux' DMIC R1" cset "name='Mono ADC Capture Switch' on" # 47=0dB, 0.375 dB/step, set it to 9 dB to help with soft mics cset "name='ADC Capture Volume' 71" cset "name='Mono ADC Capture Volume' 71" # The second 'Mono ADC' path does not have a 'Boost Gain', # set this to 0dB so that the volume of the AIF1 and AIF2 paths is equal. cset "name='ADC Boost Gain' 0" # Set IN1/IN3 internal mic boost to 8 (max) # Set IN2 headset-mic boost to 1, headset mics are quite loud cset "name='IN1 Boost' 8" cset "name='IN2 Boost' 1" cset "name='IN3 Boost' 8" # Start with all controls which are used by the individual # input/output Enable/DisableSequences off cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" cset "name='RECMIXL BST3 Switch' off" cset "name='RECMIXR BST3 Switch' off" cset "name='Stereo ADC MIXL ADC1 Switch' off" cset "name='Stereo ADC MIXR ADC1 Switch' off" cset "name='Stereo ADC MIXL ADC2 Switch' off" cset "name='Stereo ADC MIXR ADC2 Switch' off" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC2 Switch' off" cset "name='Mono ADC MIXR ADC2 Switch' off" # Turn off playback switches by default, otherwise both Speaker # and headphones are playing audio initially until headphones are # re-inserted. cset "name='HP L Playback Switch' off" cset "name='HP R Playback Switch' off" cset "name='Speaker L Playback Switch' off" cset "name='Speaker R Playback Switch' off" cset "name='HP Playback Volume' 29" cset "name='Speaker Playback Volume' 35" ] PK=].!#ucm2/codecs/rt5640/MonoSpeaker.confnu[SectionDevice."Speaker" { Comment "Mono Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='SPOL MIX SPKVOL L Switch' on" # for mono speaker we apply left on right # cset "name='SPOR MIX SPKVOL R Switch' on" cset "name='SPOL MIX SPKVOL R Switch' on" cset "name='Speaker Channel Switch' on" cset "name='Speaker L Playback Switch' on" cset "name='Speaker R Playback Switch' on" ] DisableSequence [ cset "name='Speaker Channel Switch' off" cset "name='Speaker L Playback Switch' off" cset "name='Speaker R Playback Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Speaker" PlaybackVolume "Speaker Playback Volume" If.MonoSpkAif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.PlaybackMasterElem "DAC1" } If.MonoSpkAif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.PlaybackMasterElem "DAC2" } } } PK=] #ucm2/codecs/rt5640/HeadPhones2.confnu[# The 2nd headset jack uses lineout with an external HP-amp SectionDevice."Headphones2" { Comment "Headphones 2" ConflictingDevice [ "Speaker" "Headphones" ] EnableSequence [ cset "name='LOUT MIX OUTVOL L Switch' on" cset "name='LOUT MIX OUTVOL R Switch' on" cset "name='OUT Channel Switch' on" ] DisableSequence [ cset "name='LOUT MIX OUTVOL L Switch' off" cset "name='LOUT MIX OUTVOL R Switch' off" cset "name='OUT Channel Switch' off" ] Value { PlaybackPriority 400 PlaybackPCM "hw:${CardId}" JackControl "Line Out Jack" PlaybackMixerElem "OUT" PlaybackVolume "OUT Playback Volume" If.HpAif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.PlaybackMasterElem "DAC1" } If.HpAif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.PlaybackMasterElem "DAC2" } } } PK=]Ε#'ucm2/codecs/rt5640/IN3-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone on IN3" If.have-headset { Condition { Type String Empty "${var:HaveHeadsetMic}" } False { ConflictingDevice [ "Headset" ] } } EnableSequence [ cset "name='RECMIXL BST3 Switch' on" cset "name='RECMIXR BST3 Switch' on" cset "name='Stereo ADC MIXL ADC1 Switch' on" cset "name='Stereo ADC MIXR ADC1 Switch' on" cset "name='Mono ADC MIXL ADC1 Switch' on" cset "name='Mono ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo ADC MIXL ADC1 Switch' off" cset "name='Stereo ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='RECMIXL BST3 Switch' off" cset "name='RECMIXR BST3 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" CaptureMixerElem "IN3 Boost" CaptureVolume "IN3 Boost" If.In3Aif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.CaptureMasterElem "ADC" } If.In3Aif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.CaptureMasterElem "Mono ADC" } } } PK=]ttucm2/codecs/rt5640/Speaker.confnu[SectionDevice."Speaker" { Comment "Speakers" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='SPOL MIX SPKVOL L Switch' on" cset "name='SPOR MIX SPKVOL R Switch' on" # undo MonoSpeaker mixing of right channel to left speaker cset "name='SPOL MIX SPKVOL R Switch' off" cset "name='Speaker Channel Switch' on" cset "name='Speaker L Playback Switch' on" cset "name='Speaker R Playback Switch' on" ] DisableSequence [ cset "name='Speaker Channel Switch' off" cset "name='Speaker L Playback Switch' off" cset "name='Speaker R Playback Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Speaker" PlaybackVolume "Speaker Playback Volume" If.SpkAif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.PlaybackMasterElem "DAC1" } If.SpkAif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.PlaybackMasterElem "DAC2" } } } PK=]̹/ucm2/codecs/rt5640/init.confnu[LibraryConfig.remap.Config { ctl.default.remap { "name='ADC Boost Gain'" "name='ADC Boost Capture Volume'" "name='IN1 Boost'" "name='IN1 Boost Capture Volume'" "name='IN2 Boost'" "name='IN2 Boost Capture Volume'" "name='IN3 Boost'" "name='IN3 Boost Capture Volume'" # Rename the 'Headphone Switch' DAPM PIN switch to avoid it getting # grouped with 'Headphone Playback Volume' "name='Headphone Switch'" "name='Headphone Output Switch'" "name='HP Playback Volume'" "name='Headphone Playback Volume'" "name='HP Channel Switch'" "name='Headphone Playback Switch'" # Idem for the 'Speaker Switch' "name='Speaker Switch'" "name='Speaker Output Switch'" "name='Speaker Channel Switch'" "name='Speaker Playback Switch'" } } PK=]IzUU'ucm2/codecs/rt5640/HeadsetMic2-IN1.confnu[SectionDevice."Headset2" { Comment "Headset Microphone 2" ConflictingDevice [ "Mic" "Headset" ] EnableSequence [ cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" cset "name='Stereo ADC MIXL ADC1 Switch' on" cset "name='Stereo ADC MIXR ADC1 Switch' on" cset "name='Mono ADC MIXL ADC1 Switch' on" cset "name='Mono ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo ADC MIXL ADC1 Switch' off" cset "name='Stereo ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" ] Value { CapturePriority 300 CapturePCM "hw:${CardId}" JackControl "Headset Mic 2 Jack" CaptureMixerElem "IN1 Boost" CaptureVolume "IN1 Boost" If.In1Aif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.CaptureMasterElem "ADC" } If.In1Aif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.CaptureMasterElem "Mono ADC" } } } PK=]ǵI'ucm2/codecs/rt5640/IN1-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone on IN1" If.have-headset { Condition { Type String Empty "${var:HaveHeadsetMic}" } False { ConflictingDevice [ "Headset" ] } } EnableSequence [ cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" cset "name='Stereo ADC MIXL ADC1 Switch' on" cset "name='Stereo ADC MIXR ADC1 Switch' on" cset "name='Mono ADC MIXL ADC1 Switch' on" cset "name='Mono ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Stereo ADC MIXL ADC1 Switch' off" cset "name='Stereo ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" CaptureMixerElem "IN1 Boost" CaptureVolume "IN1 Boost" If.In1Aif1 { Condition { Type String String1 "${var:HaveAif}" String2 "1" } True.CaptureMasterElem "ADC" } If.In1Aif2 { Condition { Type String String1 "${var:HaveAif}" String2 "2" } True.CaptureMasterElem "Mono ADC" } } } PK=]htucm2/codecs/hda/hdmi.confnu[# # Macro HDMI # # Arguments: # # Number HDMI number # Device PCM device number # Priority UCM device priority # DefineMacro.HDMI.If.hdmi { Condition { Type ControlExists Control "iface=CARD,name='HDMI/DP,pcm=${var:__Device} Jack'" } True { SectionDevice."HDMI${var:__Number}" { Comment "HDMI / DisplayPort ${var:__Number} Output" EnableSequence [ cset "name='IEC958 Playback Switch',index=${eval:($__Number-1)} on" ] DisableSequence [ cset "name='IEC958 Playback Switch',index=${eval:($__Number-1)} off" ] Value { PlaybackPriority "${var:__Priority}" PlaybackPCM "hw:${CardId},${var:__Device}" JackControl "HDMI/DP,pcm=${var:__Device} Jack" } } } } PK=]kp(!ucm2/codecs/rt5645/AnalogMic.confnu[SectionDevice."Mic" { Comment "Internal Analog Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId}" } EnableSequence [ cset "name='Int Analog Mic Switch' on" cset "name='Sto1 ADC MIXL ADC1 Switch' on" cset "name='Sto1 ADC MIXR ADC1 Switch' on" 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" cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" ] DisableSequence [ cset "name='Sto1 ADC MIXL ADC1 Switch' off" cset "name='Sto1 ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" cset "name='Int Analog Mic Switch' off" ] } PK=]۪!ucm2/codecs/rt5645/EnableSeq.confnu[EnableSequence [ # Output Configuration cset "name='DAC1 L Mux' IF1 DAC" cset "name='DAC1 R Mux' IF1 DAC" cset "name='DAC1 MIXL DAC1 Switch' 1" cset "name='DAC1 MIXR DAC1 Switch' 1" cset "name='Stereo DAC MIXL DAC L1 Switch' 1" cset "name='Stereo DAC MIXR DAC R1 Switch' 1" cset "name='DAC L2 Mux' IF2 DAC" cset "name='DAC R2 Mux' IF2 DAC" cset "name='Mono DAC MIXL DAC L2 Switch' on" cset "name='Mono DAC MIXR DAC R2 Switch' on" cset "name='DAC2 Playback Switch' on" cset "name='HPOVOL MIXL DAC1 Switch' on" cset "name='HPOVOL MIXR DAC1 Switch' on" cset "name='HPOVOL MIXL DAC2 Switch' on" cset "name='HPOVOL MIXR DAC2 Switch' on" cset "name='HPO MIX HPVOL Switch' on" cset "name='HPOVOL L Switch' on" cset "name='HPOVOL R Switch' on" cset "name='SPK MIXL DAC L1 Switch' on" cset "name='SPK MIXR DAC R1 Switch' on" cset "name='SPK MIXL DAC L2 Switch' on" cset "name='SPK MIXR DAC R2 Switch' on" cset "name='SPOL MIX SPKVOL L Switch' on" cset "name='SPOR MIX SPKVOL R Switch' on" cset "name='SPKVOL L Switch' on" cset "name='SPKVOL R Switch' on" # Input Configuration cset "name='Stereo1 DMIC Mux' 0" cset "name='Stereo1 ADC2 Mux' 1" cset "name='ADC Capture Switch' on" # 55/63 cset "name='ADC Capture Volume' 55" # set ADC Boost to 0/3, higher vals cause a lot of white noise cset "name='ADC Boost Capture Volume' 0" # 55/63 cset "name='Mono ADC Capture Volume' 55" # 0/3 cset "name='Mono ADC Boost Capture Volume' 0" # 27/31 cset "name='IN Capture Volume' 27" ]PK=]~;,ucm2/codecs/rt5645/DigitalMicDisableSeq.confnu[DisableSequence [ cset "name='Sto1 ADC MIXL ADC2 Switch' off" cset "name='Sto1 ADC MIXR ADC2 Switch' off" cset "name='Mono ADC MIXL ADC2 Switch' off" cset "name='Mono ADC MIXR ADC2 Switch' off" cset "name='Int Mic Switch' off" ] PK=]F//"ucm2/codecs/rt5645/DisableSeq.confnu[DisableSequence [ # Disable audio output path cset "name='codec_out1 mix 0 pcm0_in Switch' off" cset "name='media0_out mix 0 media1_in Switch' off" cset "name='media1_in Gain 0 Switch' off" cset "name='pcm0_in Gain 0 Switch' off" cset "name='codec_out1 Gain 0 Switch' off" # Disable audio input path cset "name='pcm1_out mix 0 media_loop2_in Switch' off" cset "name='media_loop2_out mix 0 codec_in0 Switch' off" cset "name='media_loop2_out Gain 0 Switch' off" cset "name='pcm1_out Gain 0 Switch' off" cset "name='codec_in0 Gain 0 Switch' off" ]PK=]d(ucm2/codecs/rt5645/SpeakerEnableSeq.confnu[EnableSequence [ cset "name='Headphone Switch' off" cset "name='Headphone Channel Switch' off" cset "name='Ext Spk Switch' on" cset "name='Speaker Channel Switch' on" cset "name='Speaker Playback Volume' 31" ] PK=]ƙ+ucm2/codecs/rt5645/DigitalMicEnableSeq.confnu[EnableSequence [ cset "name='Int Mic Switch' on" cset "name='Sto1 ADC MIXL ADC1 Switch' off" cset "name='Sto1 ADC MIXR ADC1 Switch' off" cset "name='Sto1 ADC MIXL ADC2 Switch' on" cset "name='Sto1 ADC MIXR ADC2 Switch' on" cset "name='Mono ADC MIXL ADC1 Switch' off" cset "name='Mono ADC MIXR ADC1 Switch' off" cset "name='Mono ADC MIXL ADC2 Switch' on" cset "name='Mono ADC MIXR ADC2 Switch' on" ] PK=]Kh{G+ucm2/codecs/rt5645/HeadphonesEnableSeq.confnu[EnableSequence [ cset "name='Ext Spk Switch' off" cset "name='Speaker Channel Switch' off" cset "name='Headphone Switch' on" cset "name='Headphone Channel Switch' on" # 25/39 higher values cause crackling on some boards cset "name='Headphone Playback Volume' 25" ] PK=] 11ucm2/codecs/rt5645/init.confnu[LibraryConfig.remap.Config { ctl.default.remap { "name='IN1 Boost'" "name='IN1 Boost Capture Volume'" "name='IN2 Boost'" "name='IN2 Boost Capture Volume'" "name='Headphone Channel Switch'" "name='Headphone Playback Switch'" "name='Speaker Channel Switch'" "name='Speaker Playback Switch'" } } PK=]z'ucm2/codecs/rt5645/HSMicDisableSeq.confnu[DisableSequence [ cset "name='Headset Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='Sto1 ADC MIXL ADC1 Switch' off" cset "name='Sto1 ADC MIXR ADC1 Switch' off" ] PK=]D&ucm2/codecs/rt5645/HSMicEnableSeq.confnu[EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='Sto1 ADC MIXL ADC1 Switch' on" cset "name='Sto1 ADC MIXR ADC1 Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" ] PK=]MM)ucm2/codecs/wsa881x/DefaultEnableSeq.confnu[EnableSequence [ cset "name='SpkrLeft COMP Switch' 1" cset "name='SpkrLeft BOOST Switch' 1" cset "name='SpkrLeft DAC Switch' 1" cset "name='SpkrLeft VISENSE Switch' 0" cset "name='SpkrRight COMP Switch' 1" cset "name='SpkrRight BOOST Switch' 1" cset "name='SpkrRight DAC Switch' 1" cset "name='SpkrRight VISENSE Switch' 0" ] PK=]Z;])ucm2/codecs/wsa881x/SpeakerEnableSeq.confnu[EnableSequence [ cset "name='SpkrLeft COMP Switch' 1" cset "name='SpkrLeft BOOST Switch' 1" cset "name='SpkrLeft DAC Switch' 1" cset "name='SpkrLeft VISENSE Switch' 0" cset "name='SpkrLeft PA Volume' 12" cset "name='SpkrRight COMP Switch' 1" cset "name='SpkrRight BOOST Switch' 1" cset "name='SpkrRight DAC Switch' 1" cset "name='SpkrRight VISENSE Switch' 0" cset "name='SpkrRight PA Volume' 12" ] PK=]gNN*ucm2/codecs/wsa881x/SpeakerDisableSeq.confnu[DisableSequence [ cset "name='SpkrLeft COMP Switch' 0" cset "name='SpkrLeft BOOST Switch' 0" cset "name='SpkrLeft DAC Switch' 0" cset "name='SpkrLeft VISENSE Switch' 0" cset "name='SpkrRight COMP Switch' 0" cset "name='SpkrRight BOOST Switch' 0" cset "name='SpkrRight DAC Switch' 0" cset "name='SpkrRight VISENSE Switch' 0" ] PK=]Ɔ;00#ucm2/codecs/nau8824/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] } PK=]w  #ucm2/codecs/nau8824/HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone" Value { CapturePriority 300 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" } ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='ADC CH0 Select' 1" cset "name='ADC CH1 Select' 1" cset "name='Headset Mic Switch' on" cset "name='Right ADC HSMIC Switch' on" cset "name='Left ADC HSMIC Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" cset "name='Right ADC HSMIC Switch' off" cset "name='Left ADC HSMIC Switch' off" ] } PK=] G|s=="ucm2/codecs/nau8824/EnableSeq.confnu[EnableSequence [ # Playback TDM configuration cset "name='DACL Channel Source' 0" cset "name='DACR Channel Source' ${var:RightOutputChannel}" # Input Configuration cset "name='DMIC1 Enable Switch' off" cset "name='DMIC2 Enable Switch' off" cset "name='DMIC3 Enable Switch' off" cset "name='DMIC4 Enable Switch' off" cset "name='MIC1 Volume' 14" cset "name='MIC2 Volume' 14" # Button Configuration cset "name='THD for key media' 10" cset "name='THD for key voice command' 16" cset "name='THD for key volume up' 38" cset "name='THD for key volume down' 115" ] PK=]/z$ucm2/codecs/nau8824/MonoSpeaker.confnu[SectionDevice."Speaker" { Comment "Mono Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } ConflictingDevice [ "Headphones" ] EnableSequence [ # nau8824 mono speaker boards have the speaker on the right chan cset "name='Speaker Left DACL Volume' 0" cset "name='Speaker Left DACR Volume' 0" cset "name='Speaker Right DACL Volume' 1" cset "name='Speaker Right DACR Volume' 1" cset "name='Ext Spk Switch' on" ] DisableSequence [ cset "name='Ext Spk Switch' off" ] } PK=]1_$ucm2/codecs/nau8824/InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId}" } ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='ADC CH0 Select' 0" cset "name='ADC CH1 Select' 0" cset "name='Int Mic Switch' on" cset "name='Right ADC MIC Switch' on" cset "name='Left ADC MIC Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='Right ADC MIC Switch' off" cset "name='Left ADC MIC Switch' off" ] } PK=] v ucm2/codecs/nau8824/Speaker.confnu[SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Left DACL Volume' 1" cset "name='Speaker Left DACR Volume' 0" cset "name='Speaker Right DACL Volume' 0" cset "name='Speaker Right DACR Volume' 1" cset "name='Ext Spk Switch' on" ] DisableSequence [ cset "name='Ext Spk Switch' off" ] } PK=]ĹLXX ucm2/codecs/nau8824/DMIC1_2.confnu[# Stereo DMICs on the DMIC1 and DMIC2 inputs SectionDevice."Mic" { Comment "Internal Digital Microphones" Value { CapturePriority 200 CapturePCM "hw:${CardId}" } ConflictingDevice [ "Headset" ] EnableSequence [ # Note needs to be swapped / swap is deliberate! cset "name='ADC CH0 Select' 1" cset "name='ADC CH1 Select' 0" cset "name='Int Mic Switch' on" cset "name='DMIC1 Enable Switch' on" cset "name='DMIC2 Enable Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='DMIC1 Enable Switch' off" cset "name='DMIC2 Enable Switch' off" ] } PK=]zz)"ucm2/codecs/rt5672/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker1" "Speaker2" ] EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" PlaybackMixerElem "HP" PlaybackMasterElem "DAC1" PlaybackVolume "HP Playback Volume" } } PK=]2"ucm2/codecs/rt5672/HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone" ConflictingDevice [ "Mic1" "Mic2" ] EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='RECMIXL BST1 Switch' on" cset "name='RECMIXR BST1 Switch' on" cset "name='Sto1 ADC MIXL ADC1 Switch' on" cset "name='Sto1 ADC MIXR ADC1 Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='Sto1 ADC MIXL ADC1 Switch' off" cset "name='Sto1 ADC MIXR ADC1 Switch' off" ] Value { CapturePriority 300 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" CaptureMixerElem "IN1 Boost" CaptureMasterElem "ADC" CaptureVolume "IN1 Boost Volume" } } PK=]Vnc!ucm2/codecs/rt5672/EnableSeq.confnu[EnableSequence [ # Playback (I2S1) # common cset "name='DAC1 L Mux' IF1 DAC" cset "name='DAC1 R Mux' IF1 DAC" 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 MIXL DAC R1 Switch' off" cset "name='Stereo DAC MIXR DAC R1 Switch' on" cset "name='Stereo DAC MIXR DAC L1 Switch' off" # speaker cset "name='PDM1 L Mux' Stereo DAC" cset "name='PDM1 R Mux' Stereo DAC" # headphone cset "name='HPOVOL MIXL DAC1 Switch' on" cset "name='HPOVOL MIXR DAC1 Switch' on" cset "name='HPO MIX HPVOL Switch' on" # line out # cset "name='OUT MIXL DAC L1 Switch' on" # cset "name='OUT MIXR DAC R1 Switch' on" # cset "name='LOUT MIX OUTMIX L Switch' on" # cset "name='LOUT MIX OUTMIX R Switch' on" # Both the DMICs and the headset mic (even with the 20dB boost below) # are quite soft, set the default capture volume to +12dB # 47=0dB, 0.375dB/step, 79=+12dB cset "name='ADC Capture Volume' 79" cset "name='ADC Capture Switch' on" # 0=0dB cset "name='STO1 ADC Boost Gain Volume' 0" # Headset mic is quite soft, boost it a bit, 1 = 20dB which is the first # available boost step cset "name='IN1 Boost Volume' 1" # Start with all outputs / inputs disabled cset "name='Ext Spk Switch' off" cset "name='Headphone Switch' off" cset "name='Int Mic Switch' off" cset "name='Headset Mic Switch' off" cset "name='Sto1 ADC MIXL ADC1 Switch' off" cset "name='Sto1 ADC MIXR ADC1 Switch' off" cset "name='Sto1 ADC MIXL ADC2 Switch' off" cset "name='Sto1 ADC MIXR ADC2 Switch' off" cset "name='RECMIXL BST1 Switch' off" cset "name='RECMIXR BST1 Switch' off" cset "name='RECMIXL BST2 Switch' off" cset "name='RECMIXR BST2 Switch' off" ] PK=]w2#ucm2/codecs/rt5672/MonoSpeaker.confnu[SectionDevice."Speaker2" { Comment "Mono Speaker" ConflictingDevice [ "Speaker1" "Headphones" ] EnableSequence [ cset "name='Stereo DAC MIXR DAC R1 Switch' off" cset "name='Stereo DAC MIXL DAC R1 Switch' on" cset "name='Ext Spk Switch' on" ] DisableSequence [ cset "name='Ext Spk Switch' off" cset "name='Stereo DAC MIXL DAC R1 Switch' off" cset "name='Stereo DAC MIXR DAC R1 Switch' on" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" # The speaker ampl. path on the 5672 has no speaker vol control # Use the digital DAC1 master control as MixerElem PlaybackMixerElem "DAC1" PlaybackVolume "DAC1 Playback Volume" PlaybackSwitch "DAC1 Playback Switch" } } PK=])zucm2/codecs/rt5672/Speaker.confnu[SectionDevice."Speaker1" { Comment "Stereo Speakers" ConflictingDevice [ "Speaker2" "Headphones" ] EnableSequence [ cset "name='Ext Spk Switch' on" ] DisableSequence [ cset "name='Ext Spk Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" # The speaker ampl. path on the 5672 has no speaker vol control # Use the digital DAC1 master control as MixerElem PlaybackMixerElem "DAC1" PlaybackVolume "DAC1 Playback Volume" PlaybackSwitch "DAC1 Playback Switch" } } PK=]aucm2/codecs/rt5672/DMIC2.confnu[SectionDevice."Mic2" { Comment "Internal Digital Microphone on DMIC2" ConflictingDevice [ "Mic1" "Headset" ] EnableSequence [ cset "name='Int Mic Switch' on" cset "name='Stereo1 DMIC Mux' DMIC2" cset "name='Stereo1 ADC 2 Mux' DMIC" cset "name='Sto1 ADC MIXL ADC2 Switch' on" cset "name='Sto1 ADC MIXR ADC2 Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='Sto1 ADC MIXL ADC2 Switch' off" cset "name='Sto1 ADC MIXR ADC2 Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" # The DMIC ofcourse has no analog volume controls # Use the digital ADC master control as MixerElem CaptureMixerElem "ADC" CaptureVolume "ADC Capture Volume" CaptureSwitch "ADC Capture Switch" } } PK=]1ucm2/codecs/rt5672/DMIC1.confnu[SectionDevice."Mic1" { Comment "Internal Digital Microphone on DMIC1" ConflictingDevice [ "Mic2" "Headset" ] EnableSequence [ cset "name='Int Mic Switch' on" cset "name='Stereo1 DMIC Mux' DMIC1" cset "name='Stereo1 ADC 2 Mux' DMIC" cset "name='Sto1 ADC MIXL ADC2 Switch' on" cset "name='Sto1 ADC MIXR ADC2 Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='Sto1 ADC MIXL ADC2 Switch' off" cset "name='Sto1 ADC MIXR ADC2 Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" # The DMIC ofcourse has no analog volume controls # Use the digital ADC master control as MixerElem CaptureMixerElem "ADC" CaptureVolume "ADC Capture Volume" CaptureSwitch "ADC Capture Switch" } } PK=]nfucm2/codecs/cs42l45/init.confnu[# cs42l45 specific control settings LibraryConfig.remap.Config { ctl.default.map { "name='cs42l45 Jack Microphone Capture Switch'" { "name='cs42l45 FU 36 Channel Switch'".vindex.0 0 "name='cs42l45 FU 36 Channel Switch'".vindex.1 1 } "name='cs42l45 Jack Microphone Capture Volume'" { "name='cs42l45 FU 36 Channel Volume'".vindex.0 0 "name='cs42l45 FU 36 Channel Volume'".vindex.1 1 } } ctl.default.map { "name='cs42l45 Headphone Playback Switch'" { "name='cs42l45 FU 41 Channel Switch'".vindex.0 0 "name='cs42l45 FU 41 Channel Switch'".vindex.1 1 } "name='cs42l45 Headphone Playback Volume'" { "name='cs42l45 FU 41 Channel Volume'".vindex.0 0 "name='cs42l45 FU 41 Channel Volume'".vindex.1 1 } } }PK=]U00"ucm2/codecs/cs42l45-dmic/init.confnu[# cs42l45 specific control settings LibraryConfig.remap.Config { ctl.default.map { "name='cs42l45 Microphone Capture Switch'" { "name='cs42l45 FU 113 Channel Switch'".vindex.0 0 "name='cs42l45 FU 113 Channel Switch'".vindex.1 1 } "name='cs42l45 Microphone Capture Volume'" { "name='cs42l45 FU 113 Channel Volume'".vindex.0 0 "name='cs42l45 FU 113 Channel Volume'".vindex.1 1 } } } BootSequence [ cset "name='cs42l45 FU 113 Channel Switch' 0" ] Macro [ { SetLED { LED="mic" Action="attach" CtlId="cs42l45 FU 113 Channel Switch" } } ] PK=]j6 Sucm2/codecs/rt1318/init.confnu[# RT1318 specific switch control settings Define.SpeakerMixerElem "rt1318-1 DAC" If.twoAmpsStereoToOne { Condition { Type RegexMatch Regex "2" String "${var:SpeakerAmps}" } True { Define.SpeakerMixerElem "rt1318 DAC" LibraryConfig.remap.Config { ctl.default.map { "name='rt1318 DAC Playback Switch'" { "name='rt1318-1 DAC Switch'".vindex.0 [ 0 1 ] "name='rt1318-2 DAC Switch'".vindex.1 [ 0 1 ] } } } } } If.oneAmp { Condition { Type ControlExists Control "name='rt1318-1 DAC Switch'" } True { FixedBootSequence [ exec "-/sbin/modprobe snd_ctl_led" sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:rt1318-1 DAC Switch" ] } } If.twoAmps { Condition { Type ControlExists Control "name='rt1318-2 DAC Switch'" } True { FixedBootSequence [ sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:rt1318-2 DAC Switch" ] } } PK=]m/)ucm2/codecs/wcd938x/DefaultEnableSeq.confnu[EnableSequence [ cset "name='RX_RX0 Digital Volume' 80" cset "name='RX_RX1 Digital Volume' 80" cset "name='HPHR Volume' 20" cset "name='HPHL Volume' 20" ] PK=]+ucm2/codecs/wcd938x/HeadphoneEnableSeq.confnu[EnableSequence [ cset "name='HPHL_RDAC Switch' 1" cset "name='HPHR_RDAC Switch' 1" cset "name='HPHL Switch' 1" cset "name='HPHR Switch' 1" cset "name='CLSH Switch' 1" cset "name='LO Switch' 1" ] PK=]%.ucm2/codecs/wcd938x/HeadphoneMicEnableSeq.confnu[EnableSequence [ cset "name='ADC2_MIXER Switch' 1" cset "name='HDR12 MUX' NO_HDR12" cset "name='ADC2 MUX' INP2" cset "name='ADC2 Switch' 1" cset "name='ADC2 Volume' 10" ] PK=]mQTT/ucm2/codecs/wcd938x/HeadphoneMicDisableSeq.confnu[DisableSequence [ cset "name='ADC2_MIXER Switch' 0" cset "name='ADC2 Switch' 0" ] PK=]-Iucm2/codecs/wcd938x/init.confnu[# WCD938X specific volume control settings BootSequence [ cset "name='RX_RX0 Digital Volume' 80" cset "name='RX_RX1 Digital Volume' 80" cset "name='ADC2 Volume' 12" ] LibraryConfig.remap.Config { ctl.default.map { # Merge two mono controls into one stereo "name='HP Digital Volume'" { "name='RX_RX0 Digital Volume'".vindex.0 0 "name='RX_RX1 Digital Volume'".vindex.1 0 } } } PK=]>,ucm2/codecs/wcd938x/HeadphoneDisableSeq.confnu[DisableSequence [ cset "name='HPHL_RDAC Switch' 0" cset "name='HPHR_RDAC Switch' 0" cset "name='HPHL Switch' 0" cset "name='HPHR Switch' 0" cset "name='CLSH Switch' 0" cset "name='LO Switch' 0" ] PK=]##$ucm2/codecs/cs35l56-bridge/init.confnu[# cs35l56 specific control settings FixedBootSequence [ cset "name='AMPL Speaker Switch' 0" cset "name='AMPR Speaker Switch' 0" ] Macro [ { SetLED { LED="speaker" Action="attach" CtlId="AMPL Speaker Switch" } } { SetLED { LED="speaker" Action="attach" CtlId="AMPR Speaker Switch" } } ]PK=]+_{~ucm2/codecs/acp-dmic/init.confnu[Macro [ { CtlNew { Arg="name='Mic ACP LED Capture Switch' type=bool,count=1 off" } } { SetLED { LED="mic" Action="attach" CtlId="Mic ACP LED Capture Switch" } } ] PK=]f'"ucm2/codecs/wm5102/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='HPOUT1 Digital Switch' on" cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='HPOUT1 Digital Switch' off" cset "name='Headphone Switch' off" ] } PK=]I7&ucm2/codecs/wm5102/IN1-HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='AIF1TX1 Input 1' IN1L" cset "name='AIF1TX2 Input 1' IN1L" cset "name='Headset Mic Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" } } PK=]yP!ucm2/codecs/wm5102/EnableSeq.confnu[EnableSequence [ # Route AIF1 to the speakers and headphones cset "name='SPKOUTL Input 1' AIF1RX1" cset "name='SPKOUTR Input 1' AIF1RX2" cset "name='HPOUT1L Input 1' AIF1RX1" cset "name='HPOUT1R Input 1' AIF1RX2" # Both mics are quite soft by default, boost then cset "name='IN1L Volume' 28" cset "name='IN3L Volume' 28" cset "name='Headphone Switch' off" cset "name='Headset Mic Switch' off" cset "name='Internal Mic Switch' off" cset "name='Speaker Switch' off" ] PK=]bb'ucm2/codecs/wm5102/IN3-InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='AIF1TX1 Input 1' IN3L" cset "name='AIF1TX2 Input 1' IN3L" cset "name='Internal Mic Switch' on" ] DisableSequence [ cset "name='Internal Mic Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]cm``ucm2/codecs/wm5102/Speaker.confnu[SectionDevice."Speaker" { Comment "Speakers" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Digital Switch' on" cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Digital Switch' off" cset "name='Speaker Switch' off" ] } PK=]Y,ۿ$ucm2/codecs/max98090/HeadsetMic.confnu[# Headset Microphone via MIC2 SectionDevice."Headset" { Comment "Headset Microphone" Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" } ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='DMIC Mux' ADC" cset "name='Record Path DC Blocking' on" cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='Right ADC Mixer MIC2 Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" cset "name='DMIC Mux' DMIC" cset "name='Record Path DC Blocking' off" cset "name='Left ADC Mixer MIC2 Switch' off" cset "name='Right ADC Mixer MIC2 Switch' off" ] } PK=]f844#ucm2/codecs/max98090/EnableSeq.confnu[EnableSequence [ cset "name='Left Speaker Mixer Left DAC Switch' on" cset "name='Right Speaker Mixer Right DAC Switch' on" cset "name='Digital EQ 3 Band Switch' off" cset "name='Digital EQ 5 Band Switch' off" cset "name='Digital EQ 7 Band Switch' off" cset "name='Biquad Switch' off" cset "name='Filter Mode' Music" cset "name='ADC Oversampling Rate' 0" cset "name='DMIC Mux' DMIC" cset "name='MIC2 Mux' IN34" cset "name='MIC2 Volume' 10" cset "name='MIC2 Boost Volume' 0" cset "name='ADCR Boost Volume' 4" cset "name='ADCL Boost Volume' 4" cset "name='ADCR Volume' 11" cset "name='ADCL Volume' 11" cset "name='Headphone Volume' 10" cset "name='Speaker Volume' 10" cset "name='Speaker Left Mixer Volume' 3" cset "name='Speaker Right Mixer Volume' 3" cset "name='Playback Path DC Blocking' on" ] PK=]_p%ucm2/codecs/max98090/InternalMic.confnu[# internal microphone via DMIC SectionDevice."Mic" { Comment "Internal Microphone" Value { CapturePriority 100 CapturePCM "hw:${CardId}" } ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Int Mic Switch' on" cset "name='DMIC Mux' DMIC" cset "name='Record Path DC Blocking' off" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='DMIC Mux' ADC" cset "name='Record Path DC Blocking' on" ] } PK=]鮭!ucm2/codecs/max98090/Speaker.confnu[SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Speaker Left Switch' on" cset "name='Speaker Right Switch' on" cset "name='Ext Spk Switch' on" ] DisableSequence [ cset "name='Speaker Left Switch' off" cset "name='Speaker Right Switch' off" cset "name='Ext Spk Switch' off" ] } PK=]D~$ucm2/codecs/max98090/Headphones.confnu[SectionDevice."Headphones" { Comment "Headphones" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Left Switch' on" cset "name='Headphone Right Switch' on" cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Left Switch' off" cset "name='Headphone Right Switch' off" cset "name='Headphone Switch' off" ] } PK=]3xxucm2/codecs/rt715/init.confnu[# RT715 specific volume control settings BootSequence [ cset "name='rt715 DMIC3 Boost' 2" cset "name='rt715 DMIC4 Boost' 2" cset "name='rt715 ADC 24 Mux' 3" cset "name='rt715 ADC 25 Mux' 4" ] If.adcxx { Condition { Type ControlExists Control "name='rt715 ADC 07 Capture Switch'" } True.BootSequence [ cset "name='rt715 ADC 27 Capture Switch' 1" cset "name='rt715 ADC 07 Capture Switch' 1" cset "name='rt715 ADC 07 Capture Volume' 58" ] } If.capturesw { Condition { Type ControlExists Control "name='rt715 Capture Switch'" } Macro [{ SetLED { LED="mic" Action="attach" CtlId="rt715 Capture Switch" } }] } PK=]ucm2/codecs/cs42l43-spk+cs35l56nuȯPK=]ׂucm2/codecs/rt711/init.confnu[# RT711 specific volume control settings BootSequence [ cset "name='rt711 DAC Surr Playback Volume' 87" cset "name='rt711 ADC 08 Capture Volume' 63" cset "name='rt711 ADC 23 Mux' 'MIC2'" cset "name='rt711 ADC 08 Capture Switch' 1" cset "name='rt711 AMIC Volume' 1" ] PK=]<<)ucm2/codecs/wsa883x/DefaultEnableSeq.confnu[EnableSequence [ cset "name='SpkrLeft COMP Switch' 1" cset "name='SpkrLeft BOOST Switch' 1" cset "name='SpkrLeft DAC Switch' 1" cset "name='SpkrLeft VISENSE Switch' 0" cset "name='SpkrLeft WSA MODE' 0" cset "name='SpkrRight COMP Switch' 1" cset "name='SpkrRight BOOST Switch' 1" cset "name='SpkrRight DAC Switch' 1" cset "name='SpkrRight VISENSE Switch' 0" cset "name='SpkrRight WSA MODE' 0" ] PK=])ucm2/codecs/wsa883x/SpeakerEnableSeq.confnu[EnableSequence [ cset "name='SpkrLeft COMP Switch' 1" cset "name='SpkrLeft BOOST Switch' 1" cset "name='SpkrLeft DAC Switch' 1" cset "name='SpkrLeft VISENSE Switch' 0" cset "name='SpkrLeft WSA MODE' 0" cset "name='SpkrLeft PA Volume' 12" cset "name='SpkrRight COMP Switch' 1" cset "name='SpkrRight BOOST Switch' 1" cset "name='SpkrRight DAC Switch' 1" cset "name='SpkrRight VISENSE Switch' 0" cset "name='SpkrRight PA Volume' 12" cset "name='SpkrRight WSA MODE' 0" ] PK=]gNN*ucm2/codecs/wsa883x/SpeakerDisableSeq.confnu[DisableSequence [ cset "name='SpkrLeft COMP Switch' 0" cset "name='SpkrLeft BOOST Switch' 0" cset "name='SpkrLeft DAC Switch' 0" cset "name='SpkrLeft VISENSE Switch' 0" cset "name='SpkrRight COMP Switch' 0" cset "name='SpkrRight BOOST Switch' 0" cset "name='SpkrRight DAC Switch' 0" cset "name='SpkrRight VISENSE Switch' 0" ] PK=]~^#ucm2/codecs/cx2072x/HeadPhones.confnu[SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" cset "name='PortA Out En Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" cset "name='PortA Out En Switch' off" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" JackControl "Headphone Jack" } } PK=]t4#ucm2/codecs/cx2072x/HeadsetMic.confnu[SectionDevice."Headset" { Comment "Headset Microphone" ConflictingDevice [ "Mic" ] EnableSequence [ cset "name='Headset Mic Switch' on" cset "name='ADC1 Mux' 'PortD Switch'" cset "name='PortD In En Switch' on" ] DisableSequence [ cset "name='Headset Mic Switch' off" cset "name='PortD In En Switch' off" ] Value { CapturePriority 200 CapturePCM "hw:${CardId}" JackControl "Headset Mic Jack" } } PK=]E~~"ucm2/codecs/cx2072x/EnableSeq.confnu[EnableSequence [ # Disable all inputs / outputs cset "name='Ext Spk Switch' off" cset "name='Headphone Switch' off" cset "name='Headset Mic Switch' off" cset "name='Int Mic Switch' off" # Output Configuration cset "name='I2S DAC1L Switch' on" cset "name='I2S DAC1R Switch' on" # Input Configuration cset "name='I2S ADC1L Switch' on" cset "name='I2S ADC1R Switch' on" ] PK=]G#ucm2/codecs/cx2072x/DisableSeq.confnu[DisableSequence [ # Output Configuration cset "name='I2S DAC1L Switch' off" cset "name='I2S DAC1R Switch' off" # Input Configuration cset "name='I2S ADC1L Switch' off" cset "name='I2S ADC1R Switch' off" ] PK=]bm$ucm2/codecs/cx2072x/InternalMic.confnu[SectionDevice."Mic" { Comment "Internal Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Int Mic Switch' on" cset "name='ADC1 Mux' 'PortC Switch'" cset "name='PortC In En Switch' on" ] DisableSequence [ cset "name='Int Mic Switch' off" cset "name='PortC In En Switch' off" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]#$ZZ ucm2/codecs/cx2072x/Speaker.confnu[SectionDevice."Speaker" { Comment "Speakers" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Ext Spk Switch' on" cset "name='PortG Out En Switch' on" ] DisableSequence [ cset "name='Ext Spk Switch' off" cset "name='PortG Out En Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } PK=]J)ucm2/codecs/wcd934x/DefaultEnableSeq.confnu[EnableSequence [ cset "name='SLIM RX0 MUX' AIF1_PB" cset "name='SLIM RX1 MUX' AIF1_PB" cset "name='SLIM RX2 MUX' AIF2_PB" cset "name='SLIM RX3 MUX' AIF2_PB" cset "name='AIF1_CAP Mixer SLIM TX0' 1" cset "name='CDC_IF TX0 MUX' DEC0" ] PK=] +*ucm2/codecs/wcd934x/DefaultDisableSeq.confnu[DisableSequence [ cset "name='RX INT7_1 MIX1 INP0' ZERO" cset "name='RX INT8_1 MIX1 INP0' ZERO" cset "name='RX INT1_2 MUX' ZERO" cset "name='RX INT2_2 MUX' ZERO" cset "name='CDC_IF TX0 MUX' ZERO" ] PK=]5g+ucm2/codecs/wcd934x/HeadphoneEnableSeq.confnu[EnableSequence [ cset "name='COMP1 Switch' 1" cset "name='COMP2 Switch' 1" cset "name='RX INT1_1 MIX1 INP0' RX2" cset "name='RX INT2_1 MIX1 INP0' RX3" cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ] PK=]/;b)ucm2/codecs/wcd934x/SpeakerEnableSeq.confnu[EnableSequence [ cset "name='COMP7 Switch' 1" cset "name='COMP8 Switch' 1" cset "name='RX INT7_1 MIX1 INP0' RX0" cset "name='RX INT8_1 MIX1 INP0' RX1" ] PK=]NN.ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.confnu[EnableSequence [ cset "name='AMIC MUX0' ADC2" cset "name='ADC MUX0' AMIC" ] PK=]I7OO/ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.confnu[DisableSequence [ cset "name='AMIC MUX0' ZERO" cset "name='ADC2 Volume' 0" ] PK=]`Ӡ*ucm2/codecs/wcd934x/SpeakerDisableSeq.confnu[DisableSequence [ cset "name='COMP7 Switch' 0" cset "name='COMP8 Switch' 0" cset "name='RX INT7_1 MIX1 INP0' ZERO" cset "name='RX INT8_1 MIX1 INP0' ZERO" ] PK=]ZTFFucm2/codecs/wcd934x/init.confnu[# WCD934X specific volume control settings BootSequence [ cset "name='RX1 Digital Volume' 80" cset "name='RX2 Digital Volume' 80" cset "name='RX7 Digital Volume' 80" cset "name='RX8 Digital Volume' 80" cset "name='ADC2 Volume' 12" ] LibraryConfig.remap.Config { ctl.default.map { # Merge two mono controls into one stereo "name='HP Digital Volume'" { "name='RX1 Digital Volume'".vindex.0 0 "name='RX2 Digital Volume'".vindex.1 0 } "name='Speaker Digital Volume'" { "name='RX7 Digital Volume'".vindex.0 0 "name='RX8 Digital Volume'".vindex.1 0 } } } PK=]},ucm2/codecs/wcd934x/HeadphoneDisableSeq.confnu[DisableSequence [ cset "name='COMP1 Switch' 0" cset "name='COMP2 Switch' 0" cset "name='RX INT1_1 MIX1 INP0' ZERO" cset "name='RX INT2_1 MIX1 INP0' ZERO" cset "name='RX INT1 DEM MUX' NORMAL_DSM_OUT" cset "name='RX INT2 DEM MUX' NORMAL_DSM_OUT" ] PK=]uyMZZ!ucm2/codecs/cs42l43-spk/init.confnu[# cs42l43-spk specific control settings LibraryConfig.remap.Config { ctl.default.map { "name='cs42l43 Speaker Playback Switch'" { "name='cs42l43 Speaker Digital Switch'".vindex.0 0 "name='cs42l43 Speaker Digital Switch'".vindex.1 1 } } } Macro [ { SetLED { LED="speaker" Action="attach" CtlId="cs42l43 Speaker Digital Switch" } } ]PK=])2@rr ucm2/codecs/rt715-sdca/init.confnu[# RT715-sdca (aka RT714) specific volume control settings BootSequence [ cset "name='rt714 FU0A Capture Switch' 0" cset "name='rt714 ADC 22 Mux' 'DMIC3'" cset "name='rt714 ADC 23 Mux' 'DMIC4'" cset "name='rt714 FU02 Capture Switch' 1" cset "name='rt714 FU02 Capture Volume' 47" ] Macro [{ SetLED { LED="mic" Action="attach" CtlId="rt714 FU02 Capture Switch" } }] PK=]aaucm2/codecs/rt713/init.confnu[# RT713 specific volume control settings BootSequence [ cset "name='rt713 FU05 Playback Volume' 87" cset "name='rt713 ADC 23 Mux' 'MIC2'" cset "name='rt713 FU0F Capture Volume' 57" cset "name='rt713 FU0F Capture Switch' 1" ] If.rt713dmic_init { Condition { Type String String1 "rt713-dmic" String2 "${var:MicCodec1}" } True.BootSequence [ cset "name='rt713-dmic ADC 25 Mux' 'DMIC1'" cset "name='rt713-dmic FU1E Capture Switch' 1" ] } If.rt713vb_init { Condition { Type String String1 "rt713" String2 "${var:MicCodec1}" } True.BootSequence [ # RT713-VB integrated with DMIC cset "name='rt713 FU1E Capture Switch' 1" cset "name='rt713 FU1E Capture Volume' 47" cset "name='rt713 ADC 0A Mux' 'DMIC1'" cset "name='rt713 ADC 0B Mux' 'DMIC2'" ] } Macro [{ SetLED { LED="mic" Action="attach" CtlId="rt713 FU1E Capture Switch" } }] PK=]-j+ucm2/Allwinner/A64/PinePhone/VoiceCall.confnu[SectionVerb { EnableSequence [ cset "name='AIF2 Digital DAC Playback Switch' on" cset "name='AIF2 ADC Mixer ADC Capture Switch' on" ] 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" } } PK=]rr&ucm2/Allwinner/A64/PinePhone/HiFi.confnu[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" } } PK=] ucm2/Librem_5nuȯPK=]xBc(ucm2/OMAP/abe-twl6040/SDP4430/Voice.confnu[# Use case Configuration for TI SDP4430 HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='DL1 Mixer Voice' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Voice Playback Volume' 90,90" cset "name='SDT DL Volume' 120" ] DisableSequence [ cset "name='DL1 Mixer Voice' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Voice Playback Volume' 0,0" cset "name='SDT DL Volume' 0" ] Value { TQ "Voice" } } SectionDevice."Headset" { Comment "SDP4430 3.5mm Headset" EnableSequence [ cset "name='HS Left Playback' 1" cset "name='HS Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]T3b,ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.confnu[# Use case Configuration for TI SDP4430 HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='AMIC_UL PDM Switch' 1" cset "name='Sidetone Mixer Capture' 1" cset "name='MUX_VX0' 9" cset "name='MUX_VX1' 10" cset "name='DL1 Mixer Voice' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Voice Playback Volume' 90,90" cset "name='Capture Volume' 4" cset "name='Capture Mixer Voice Capture' 90,90" cset "name='SDT DL Volume' 120" ] DisableSequence [ cset "name='AMIC_UL PDM Switch' 0" cset "name='Sidetone Mixer Capture' 0" cset "name='MUX_VX0' 0" cset "name='MUX_VX1' 0" cset "name='DL1 Mixer Voice' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Voice Playback Volume' 0,0" cset "name='Capture Volume' 0" cset "name='DL1 Voice Playback Volume' 0,0" cset "name='SDT DL Volume' 0" ] Value { TQ "Voice" } } SectionDevice."Headset" { Comment "SDP4430 3.5mm Headset" EnableSequence [ cset "name='Analog Left Capture Route' 0" cset "name='Analog Right Capture Route' 0" cset "name='Capture Preamplifier Volume' 2" cset "name='HS Left Playback' 1" cset "name='HS Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},2" PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]2pp'ucm2/OMAP/abe-twl6040/SDP4430/HiFi.confnu[# Use case Configuration for TI SDP4430 HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='DL1 Mixer Multimedia' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Media Playback Volume' 90,90" cset "name='SDT DL Volume' 120" cset "name='HS Left Playback' 1" cset "name='HS Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='DL1 Mixer Multimedia' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Media Playback Volume' 0,0" cset "name='SDT DL Volume' 0" cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" cset "name='Headset Playback Volume' 0" ] # Optional TQ and ALSA PCMs # Value { # TQ "Music" # PlaybackPCM "hw:${CardId},0" # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" # PlaybackSwitch "name='DL1 PDM Switch' 1" # } } SectionDevice."Headset" { Comment "SDP4430 3.5mm Headset" EnableSequence [ cset "name='HS Left Playback' 1" cset "name='HS Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } } PK=]@*ucm2/OMAP/abe-twl6040/SDP4430/SDP4430.confnu[# UCM configuration for SDP4430 SectionUseCase."Record" { File "/OMAP/abe-twl6040/SDP4430/Record.conf" Comment "Record" } SectionUseCase."HiFi" { File "/OMAP/abe-twl6040/SDP4430/HiFi.conf" Comment "Play HiFi quality Music" } SectionUseCase."HiFi_Low_Power" { File "/OMAP/abe-twl6040/SDP4430/HiFiLP.conf" Comment "Play HiFi quality Music in Low Power Mode" } SectionUseCase."Voice" { File "/OMAP/abe-twl6040/SDP4430/Voice.conf" Comment "Playback Voice quality" } SectionUseCase."Voice_Low_Power" { File "/OMAP/abe-twl6040/SDP4430/Voice.conf" Comment "Playback Voice quality in Low Power Mode." } SectionUseCase."Voice_Call" { File "/OMAP/abe-twl6040/SDP4430/VoiceCall.conf" Comment "Capture and Playback in Voice quality" } SectionUseCase."Voice_Call_IP" { File "/OMAP/abe-twl6040/SDP4430/VoiceCall.conf" Comment "Capture and Playback in Voice quality" } SectionUseCase."FM_Analog_Radio" { File "/OMAP/abe-twl6040/SDP4430/FMAnalog.conf" Comment "Capture FM Analog Radio" } PK=]T-)ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.confnu[# Use case Configuration for TI SDP4430 HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='DL1 Mixer Multimedia' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Media Playback Volume' 90,90" cset "name='SDT DL Volume' 120" ] DisableSequence [ cset "name='DL1 Mixer Multimedia' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Media Playback Volume' 0,0" cset "name='SDT DL Volume' 0" ] Value { TQ "Music" } } SectionDevice."Headset" { Comment "SDP4430 3.5mm Headset" EnableSequence [ cset "name='HS Left Playback' 1" cset "name='HS Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},6" } } PK=]Ķi11+ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.confnu[# Use case Configuratio # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='AMIC_UL PDM Switch' 1" cset "name='MUX_UL00' 9" cset "name='MUX_UL01' 10" cset "name='Capture Volume' 4" ] DisableSequence [ cset "name='AMIC_UL PDM Switch' 0" cset "name='MUX_UL00' 0" cset "name='MUX_UL01' 0" cset "name='Capture Volume' 0" ] } SectionDevice."Headset" { Comment "SDP4430 3.5mm Headset" EnableSequence [ cset "name='Analog Left Capture Route' 2" cset "name='Analog Right Capture Route' 2" cset "name='Capture Preamplifier Volume' 2" ] DisableSequence [ cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=])ucm2/OMAP/abe-twl6040/SDP4430/Record.confnu[# Use case Configuration for TI SDP4430 HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='AMIC_UL PDM Switch' 1" cset "name='MUX_UL00' 9" cset "name='MUX_UL01' 10" cset "name='Capture Volume' 4" ] DisableSequence [ cset "name='AMIC_UL PDM Switch' 0" cset "name='MUX_UL00' 0" cset "name='MUX_UL01' 0" cset "name='Capture Volume' 0" ] # Optional TQ and ALSA PCMs Value { TQ "Music" } } SectionDevice."Headset" { Comment "SDP4430 3.5mm Headset" EnableSequence [ cset "name='Analog Left Capture Route' 0" cset "name='Analog Right Capture Route' 0" cset "name='Capture Preamplifier Volume' 2" ] DisableSequence [ cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]SIo+ucm2/OMAP/abe-twl6040/Pandaboard/Voice.confnu[# Use case Configuration for TI PandaBoard(ES) HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='DL1 Mixer Voice' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Voice Playback Volume' 90,90" cset "name='SDT DL Volume' 120" ] DisableSequence [ cset "name='DL1 Mixer Voice' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Voice Playback Volume' 0,0" cset "name='SDT DL Volume' 0" ] # Optional TQ Value { TQ "Voice" } } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ cset "name='Headset Left Playback' 1" cset "name='Headset Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='Headset Right Playback' 0" cset "name='Headset Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]/ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.confnu[# Use case Configuration for TI PandaBoard(ES) HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='AMIC_UL PDM Switch' 1" cset "name='Sidetone Mixer Capture' 1" cset "name='MUX_VX0' 9" cset "name='MUX_VX1' 10" cset "name='DL1 Mixer Voice' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Voice Playback Volume' 90,90" cset "name='Capture Volume' 4" cset "name='Capture Mixer Voice Capture' 90,90" cset "name='SDT DL Volume' 120" ] DisableSequence [ cset "name='AMIC_UL PDM Switch' 0" cset "name='Sidetone Mixer Capture' 0" cset "name='MUX_VX0' 0" cset "name='MUX_VX1' 0" cset "name='DL1 Mixer Voice' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Voice Playback Volume' 0,0" cset "name='Capture Volume' 0" cset "name='DL1 Voice Playback Volume' 0,0" cset "name='SDT DL Volume' 0" ] # Optional TQ Value { TQ "Voice" } } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ cset "name='Analog Left Capture Route' 0" cset "name='Analog Right Capture Route' 0" cset "name='Capture Preamplifier Volume' 2" cset "name='Headset Left Playback' 1" cset "name='Headset Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" cset "name='Headset Right Playback' 0" cset "name='Headset Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},2" PlaybackPriority 100 PlaybackPCM "hw:${CardId},2" } } PK=]LLL*ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.confnu[# Use case Configuration for TI PandaBoard(ES) HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='DL1 Mixer Multimedia' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Media Playback Volume' 90,90" cset "name='SDT DL Volume' 120" cset "name='Headset Left Playback' 1" cset "name='Headset Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='DL1 Mixer Multimedia' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Media Playback Volume' 0,0" cset "name='SDT DL Volume' 0" cset "name='Headset Right Playback' 0" cset "name='Headset Left Playback' 0" cset "name='Headset Playback Volume' 0" ] # Optional TQ Value { TQ "Music" } } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ cset "name='Headset Left Playback' 1" cset "name='Headset Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='Headset Right Playback' 0" cset "name='Headset Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" # PlaybackVolume "name='DL1 Media Playback Volume' 90,90" # PlaybackSwitch "name='DL1 PDM Switch' 1" } } PK=]}? ,ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.confnu[# Use case Configuration for TI PandaBoard(ES) HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='DL1 Mixer Multimedia' 1" cset "name='Sidetone Mixer Playback' 1" cset "name='DL1 PDM Switch' 1" cset "name='DL1 Media Playback Volume' 90,90" cset "name='SDT DL Volume' 120" ] DisableSequence [ cset "name='DL1 Mixer Multimedia' 0" cset "name='Sidetone Mixer Playback' 0" cset "name='DL1 PDM Switch' 0" cset "name='DL1 Media Playback Volume' 0,0" cset "name='SDT DL Volume' 0" ] # Optional TQ Value { TQ "Music" } } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ cset "name='Headset Left Playback' 1" cset "name='Headset Right Playback' 1" cset "name='Headset Playback Volume' 13" ] DisableSequence [ cset "name='Headset Right Playback' 0" cset "name='Headset Left Playback' 0" cset "name='Headset Playback Volume' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},6" } } PK=]%ss.ucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.confnu[# Use case Configurationfor TI PandaBoard(ES) HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ cset "name='AMIC_UL PDM Switch' 1" cset "name='MUX_UL00' 9" cset "name='MUX_UL01' 10" cset "name='Capture Volume' 4" ] DisableSequence [ cset "name='AMIC_UL PDM Switch' 0" cset "name='MUX_UL00' 0" cset "name='MUX_UL01' 0" cset "name='Capture Volume' 0" ] # Optional TQ Value { TQ "Music" } } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ cset "name='Analog Left Capture Route' 2" cset "name='Analog Right Capture Route' 2" cset "name='Capture Preamplifier Volume' 2" ] DisableSequence [ cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]E,ucm2/OMAP/abe-twl6040/Pandaboard/Record.confnu[# Use case Configuration for TI PandaBoard(ES) HiFi Music # By Liam Girdwood SectionVerb { EnableSequence [ # No more AMIC PDM Switch in current kernels #cset "name='AMIC_UL PDM Switch' 1" cset "name='MUX_UL00' 9" cset "name='MUX_UL01' 10" cset "name='Capture Volume' 4" ] DisableSequence [ # No more AMIC PDM Switch in current kernels #cset "name='AMIC_UL PDM Switch' 0" cset "name='MUX_UL00' 0" cset "name='MUX_UL01' 0" cset "name='Capture Volume' 0" ] # Optional TQ Value { TQ "Music" } } SectionDevice."Headset" { Comment "3.5mm Headset" EnableSequence [ cset "name='Analog Left Capture Route' 0" cset "name='Analog Right Capture Route' 0" cset "name='Capture Preamplifier Volume' 2" ] DisableSequence [ cset "name='Analog Left Capture Route' 3" cset "name='Analog Right Capture Route' 3" cset "name='Capture Preamplifier Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId}" } } PK=]N/0ucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.confnu[# UCM configuration for PandaBoard(ES) SectionUseCase."Record" { File "/OMAP/abe-twl6040/Pandaboard/Record.conf" Comment "Record" } SectionUseCase."HiFi" { File "/OMAP/abe-twl6040/Pandaboard/HiFi.conf" Comment "Play HiFi quality Music" } SectionUseCase."HiFi_Low_Power" { File "/OMAP/abe-twl6040/Pandaboard/HiFiLP.conf" Comment "Play HiFi quality Music in Low Power Mode" } SectionUseCase."Voice" { File "/OMAP/abe-twl6040/Pandaboard/Voice.conf" Comment "Playback Voice quality" } SectionUseCase."Voice_Low_Power" { File "/OMAP/abe-twl6040/Pandaboard/Voice.conf" Comment "Playback Voice quality in Low Power Mode" } SectionUseCase."Voice_Call" { File "/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf" Comment "Capture and Playback in Voice quality" } SectionUseCase."Voice_Call_IP" { File "/OMAP/abe-twl6040/Pandaboard/VoiceCall.conf" Comment "Capture and Playback in Voice quality" } SectionUseCase."FM_Analog_Radio" { File "/OMAP/abe-twl6040/Pandaboard/FMAnalog.conf" Comment "Capture FM Analog Radio" } PK=]qnnucm2/Qualcomm/sm8250/HiFi.confnu[# Use case configuration for Qualcomm RB5. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 1" cset "name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 1" ] Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf" DisableSequence [ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 0" cset "name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 0" ] Value { TQ "HiFi" } } SectionDevice."Speaker" { Comment "Speaker playback" Include.lpasswsae.File "/codecs/qcom-lpass/wsa-macro/SpeakerEnableSeq.conf" Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf" Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf" Include.lpasswsad.File "/codecs/qcom-lpass/wsa-macro/SpeakerDisableSeq.conf" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Mic" { Comment "Mic" Include.lpassvae.File "/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.conf" Include.lpassvad.File "/codecs/qcom-lpass/va-macro/DMIC0DisableSeq.conf" Value { CapturePriority 100 CapturePCM "hw:${CardId},2" } } PK=] JYucm2/Qualcomm/sm8250/HDMI.confnu[# Use case configuration for RB5 board. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='TERT_MI2S_RX Audio Mixer MultiMedia1' 1" ] DisableSequence [ cset "name='TERT_MI2S_RX Audio Mixer MultiMedia1' 0" ] Value { TQ "HiFi" } } SectionDevice."HDMI" { #Name "HDMI" Comment "HDMI Digital Stereo Output" Value { PlaybackPCM "hw:${CardId}" PlaybackPriority 200 } } PK=]K #ucm2/Qualcomm/apq8016-sbc/HiFi.confnu[# Use case configuration for DB410c board. # Author: Srinivas Kandagatla SectionDevice."Speaker" { Comment "Speaker playback" ConflictingDevice [ "Headphones" "Earpiece" ] EnableSequence [ cset "name='SPK DAC Switch' 1" cset "name='RX3 MIX1 INP1' RX1" ## gain to 0dB cset "name='RX3 Digital Volume' 128" ] DisableSequence [ cset "name='SPK DAC Switch' 0" cset "name='RX3 MIX1 INP1' ZERO" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Headphones" { Comment "Headphones playback" ConflictingDevice [ "Speaker" "Earpiece" ] EnableSequence [ cset "name='RX1 MIX1 INP1' RX1" cset "name='RX2 MIX1 INP1' RX2" cset "name='RDAC2 MUX' RX2" cset "name='HPHL' 1" cset "name='HPHR' 1" ## gain to 0dB cset "name='RX1 Digital Volume' 128" ## gain to 0dB cset "name='RX2 Digital Volume' 128" ] DisableSequence [ cset "name='RX1 Digital Volume' 0" cset "name='RX2 Digital Volume' 0" cset "name='HPHL' 0" cset "name='HPHR' 0" cset "name='RDAC2 MUX' ZERO" cset "name='RX1 MIX1 INP1' ZERO" cset "name='RX2 MIX1 INP1' ZERO" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Earpiece" { Comment "Earpiece playback" ConflictingDevice [ "Speaker" "Headphones" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Handset" { Comment "Headset Microphone" EnableSequence [ cset "name='DEC1 MUX' ADC2" cset "name='CIC1 MUX' AMIC" cset "name='ADC2 Volume' 8" cset "name='ADC2 MUX' INP2" ] DisableSequence [ cset "name='ADC2 MUX' ZERO" cset "name='ADC2 Volume' 0" cset "name='DEC1 MUX' ZERO" ] Value { CapturePriority 400 CapturePCM "hw:${CardId},2" } } SectionDevice."Mic1" { Comment "Primary Microphone" EnableSequence [ cset "name='DEC1 MUX' ADC1" cset "name='CIC1 MUX' AMIC" cset "name='ADC1 Volume' 8" ] DisableSequence [ cset "name='DEC1 MUX' ZERO" cset "name='ADC1 Volume' 0" ] Value { CapturePriority 300 CapturePCM "hw:${CardId},2" } } SectionDevice."Mic2" { Comment "Secondary Microphone" EnableSequence [ cset "name='DEC1 MUX' ADC2" cset "name='CIC1 MUX' AMIC" cset "name='ADC2 Volume' 8" cset "name='ADC2 MUX' INP2" ] DisableSequence [ cset "name='DEC1 MUX' ZERO" cset "name='ADC2 Volume' 0" cset "name='ADC2 MUX' ZERO" ] Value { CapturePriority 200 CapturePCM "hw:${CardId},2" } } SectionDevice."Mic3" { Comment "Digital Microphone" EnableSequence [ cset "name='DEC1 MUX' DMIC1" cset "name='CIC1 MUX' DMIC" ] DisableSequence [ cset "name='DEC1 MUX' ZERO" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},2" } } PK=]=N))#ucm2/Qualcomm/apq8016-sbc/HDMI.confnu[# Use case configuration for DB410c board. # Author: Srinivas Kandagatla SectionVerb { Value { TQ "HiFi" } } SectionDevice."HDMI" { # Name "HDMI-stereo" Comment "HDMI Digital Stereo Output" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" } } PK=]xc c ucm2/Qualcomm/apq8096/HiFi.confnu[# Use case configuration for DB820c board. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='SLIM RX0 MUX' ZERO" cset "name='SLIM RX1 MUX' ZERO" cset "name='SLIM RX2 MUX' ZERO" cset "name='SLIM RX3 MUX' ZERO" cset "name='SLIM RX4 MUX' ZERO" cset "name='SLIM RX5 MUX' AIF4_PB" cset "name='SLIM RX6 MUX' AIF4_PB" cset "name='SLIM RX7 MUX' ZERO" cset "name='RX INT1_2 MUX' RX5" cset "name='RX INT2_2 MUX' RX6" ## gain to 0dB cset "name='RX5 Digital Volume' 68" ## gain to 0dB cset "name='RX6 Digital Volume' 68" cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" cset "name='AIF1_CAP Mixer SLIM TX0' 1" cset "name='SLIM TX0 MUX' DEC0" cset "name='ADC2 Volume' 12" cset "name='ADC MUX0' AMIC" cset "name='AMIC MUX0' ADC2" ] DisableSequence [ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ] } SectionDevice."Headphones" { Comment "Headphones playback" EnableSequence [ cset "name='SLIM RX0 MUX' ZERO" cset "name='SLIM RX1 MUX' ZERO" cset "name='SLIM RX2 MUX' ZERO" cset "name='SLIM RX3 MUX' ZERO" cset "name='SLIM RX4 MUX' ZERO" cset "name='SLIM RX5 MUX' AIF4_PB" cset "name='SLIM RX6 MUX' AIF4_PB" cset "name='SLIM RX7 MUX' ZERO" cset "name='RX INT1_2 MUX' RX5" cset "name='RX INT2_2 MUX' RX6" ## gain to 0dB cset "name='RX5 Digital Volume' 68" ## gain to 0dB cset "name='RX6 Digital Volume' 68" cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ] DisableSequence [ cset "name='RX5 Digital Volume' 0" cset "name='RX6 Digital Volume' 0" cset "name='SLIM RX5 MUX' ZERO" cset "name='SLIM RX6 MUX' ZERO" cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" cset "name='AIF1_CAP Mixer SLIM TX0' 1" cset "name='SLIM TX0 MUX' DEC0" cset "name='ADC2 Volume' 12" cset "name='ADC MUX0' AMIC" cset "name='AMIC MUX0' ADC2" ] DisableSequence [ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" cset "name='AIF1_CAP Mixer SLIM TX0' 0" cset "name='AMIC MUX0' ZERO" cset "name='SLIM TX0 MUX' ZERO" cset "name='ADC2 Volume' 0" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},2" CaptureChannels 1 } } PK=]bыucm2/Qualcomm/apq8096/HDMI.confnu[# Use case configuration for DB820c board. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='HDMI Mixer MultiMedia1' 1" ] DisableSequence [ cset "name='HDMI Mixer MultiMedia1' 0" ] Value { TQ "HiFi" } } SectionDevice."HDMI" { Comment "HDMI Digital Stereo Output" EnableSequence [ cset "name='HDMI Mixer MultiMedia1' 1" ] DisableSequence [ cset "name='HDMI Mixer MultiMedia1' 0" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" } } PK=] Iucm2/Qualcomm/sdm845/HiFi.confnu[# Use case configuration for DB845c. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ] Include.wcde.File "/codecs/wcd934x/DefaultEnableSeq.conf" Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf" Include.wcdd { File "/codecs/wcd934x/DefaultDisableSeq.conf" Before.DisableSequence "0" } DisableSequence [ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" ] Value { TQ "HiFi" } } SectionDevice."Speaker" { Comment "Speaker playback" Include.wcde.File "/codecs/wcd934x/SpeakerEnableSeq.conf" Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf" Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf" Include.wcdd.File "/codecs/wcd934x/SpeakerDisableSeq.conf" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" PlaybackVolume "RX2 Digital Volume" } } PK=]VŽucm2/Qualcomm/sdm845/HDMI.confnu[# Use case configuration for DB845c board. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ] DisableSequence [ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" ] Value { TQ "HiFi" } } SectionDevice."HDMI" { #Name "HDMI" Comment "HDMI Digital Stereo Output" Value { PlaybackPCM "hw:${CardId}" PlaybackPriority 200 } } PK=]oZ##"ucm2/Qualcomm/sdm845/HiFi-MM1.confnu[# Use case configuration for LenovoYOGAC6301. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" cset "name='SLIMBUS_1_RX Audio Mixer MultiMedia3' 1" cset "name='MultiMedia2 Mixer SLIMBUS_0_TX' 1" ] Include.wcde.File "/codecs/wcd934x/DefaultEnableSeq.conf" Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf" Include.wcdd { File "/codecs/wcd934x/DefaultDisableSeq.conf" Before.DisableSequence "0" } DisableSequence [ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" cset "name='SLIMBUS_1_RX Audio Mixer MultiMedia3' 0" cset "name='MultiMedia2 Mixer SLIMBUS_0_TX' 0" ] Value { TQ "HiFi" } } SectionDevice."Speaker" { Comment "Speaker playback" Include.wcdspke.File "/codecs/wcd934x/SpeakerEnableSeq.conf" Include.wcdspkd.File "/codecs/wcd934x/SpeakerDisableSeq.conf" Include.wsaspke.File "/codecs/wsa881x/SpeakerEnableSeq.conf" Include.wsaspkd.File "/codecs/wsa881x/SpeakerDisableSeq.conf" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},0" PlaybackMixer "default:${CardId}" PlaybackMixerElem "Speaker Digital" } } SectionDevice."Headphones" { Comment "Headphones playback" Include.wcdhpe.File "/codecs/wcd934x/HeadphoneEnableSeq.conf" Include.wcdhpd.File "/codecs/wcd934x/HeadphoneDisableSeq.conf" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},2" PlaybackMixer "default:${CardId}" PlaybackMixerElem "HP Digital" } } SectionDevice."Mic" { Comment "Mic" Include.wcdmice.File "/codecs/wcd934x/HeadphoneMicEnableSeq.conf" Include.wcdmicd.File "/codecs/wcd934x/HeadphoneMicDisableSeq.conf" DisableSequence [ cset "name='AMIC MUX0' ZERO" ] Value { CapturePriority 100 CapturePCM "hw:${CardId},1" CaptureMixerElem "ADC2" } } PK=]E/ucm2/Qualcomm/sc7180/rt5682-max98357a/HiFi.confnu[# Use case configuration for ALC5682+MAX98357A on SC7180 SectionVerb { Value { TQ "HiFi" } } SectionDevice."Speaker" { Comment "Speaker" Value { PlaybackChannels 2 PlaybackPCM "hw:${CardId},1" PlaybackPriority 100 PlaybackMixerElem "Speaker" PlaybackVolume "Speaker Playback Volume" } } SectionDevice."Headphones" { Comment "Headphones" EnableSequence [ cset "name='HPOL Playback Switch' 1" cset "name='HPOR Playback Switch' 1" cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" ] DisableSequence [ cset "name='HPOL Playback Switch' 0" cset "name='HPOR Playback Switch' 0" cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" ] Value { PlaybackPCM "hw:${CardId},0" PlaybackPriority 200 PlaybackMasterElem "DAC1" PlaybackMixerElem "Headphone" PlaybackVolume "Headphone Playback Volume" } } SectionDevice."Mic" { Comment "Internal Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='IF1 01 ADC Swap Mux' 1" cset "name='Stereo1 ADC L2 Mux' 1" cset "name='Stereo1 ADC R2 Mux' 1" cset "name='Stereo1 ADC MIXL ADC2 Switch' 1" cset "name='Stereo1 ADC MIXR ADC2 Switch' 1" ] DisableSequence [ cset "name='Stereo1 ADC L2 Mux' 0" cset "name='Stereo1 ADC R2 Mux' 0" cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" ] Value { CapturePCM "hw:${CardId},0" CapturePriority 100 CaptureMixerElem "STO1 ADC" CaptureVolume "STO1 ADC Capture Volume" } } SectionDevice."Headset" { Comment "Headset Microphone" EnableSequence [ cset "name='IF1 01 ADC Swap Mux' 2" cset "name='Stereo1 ADC L1 Mux' 1" cset "name='Stereo1 ADC R1 Mux' 1" cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" ] DisableSequence [ cset "name='Stereo1 ADC L1 Mux' 0" cset "name='Stereo1 ADC R1 Mux' 0" cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" ] Value { CapturePCM "hw:${CardId},0" CapturePriority 200 CaptureMixerElem "STO1 ADC" CaptureVolume "STO1 ADC Capture Volume" } } PK=]er/ucm2/Qualcomm/sc7180/rt5682-max98357a/init.confnu[BootSequence [ # Headphone cset "name='HPOL Playback Switch' 0" cset "name='HPOR Playback Switch' 0" cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" # Headset mic cset "name='Stereo1 ADC L Mux' 0" cset "name='STO1 ADC Capture Switch' on" cset "name='RECMIX1L CBJ Switch' 1" cset "name='CBJ Boost Volume' 3" cset "name='Stereo1 ADC L1 Mux' 0" cset "name='Stereo1 ADC R1 Mux' 0" cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" # Internal mic on ALC5682 cset "name='IF1 01 ADC Swap Mux' 1" cset "name='Stereo1 ADC L2 Mux' 0" cset "name='Stereo1 ADC R2 Mux' 0" cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" ] PK=]S2 2 ucm2/Qualcomm/sc8280xp/HiFi.confnu[# Use case configuration for LenovoX13s. # Author: Srinivas Kandagatla SectionVerb { EnableSequence [ cset "name='RX_CODEC_DMA_RX_0 Audio Mixer MultiMedia1' 1" cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 1" cset "name='MultiMedia4 Mixer VA_CODEC_DMA_TX_0' 1" cset "name='MultiMedia3 Mixer TX_CODEC_DMA_TX_3' 1" ] Include.wcde.File "/codecs/wcd938x/DefaultEnableSeq.conf" Include.wsae.File "/codecs/wsa883x/DefaultEnableSeq.conf" Value { TQ "HiFi" } } SectionDevice."Speaker" { Comment "Speaker playback" Include.wcdspke.File "/codecs/qcom-lpass/wsa-macro/SpeakerEnableSeq.conf" Include.wcdspkd.File "/codecs/qcom-lpass/wsa-macro/SpeakerDisableSeq.conf" Include.wsaspke.File "/codecs/wsa883x/SpeakerEnableSeq.conf" Include.wsaspkd.File "/codecs/wsa883x/SpeakerDisableSeq.conf" Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId},1" PlaybackMixer "default:${CardId}" } } SectionDevice."Headphones" { Comment "Headphones playback" Include.wcdhpe.File "/codecs/wcd938x/HeadphoneEnableSeq.conf" Include.wcdhpd.File "/codecs/wcd938x/HeadphoneDisableSeq.conf" Include.rxmhpe.File "/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.conf" Include.rxmhpd.File "/codecs/qcom-lpass/rx-macro/HeadphoneDisableSeq.conf" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},0" PlaybackMixer "default:${CardId}" PlaybackMixerElem "HP Digital" JackControl "Headphone Jack" JackHWMute "Speaker" } } SectionDevice."Mic" { Comment "Mic" Include.wcdmice.File "/codecs/wcd938x/HeadphoneMicEnableSeq.conf" Include.wcdmicd.File "/codecs/wcd938x/HeadphoneMicDisableSeq.conf" Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/HeadphoneMicEnableSeq.conf" Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/HeadphoneMicDisableSeq.conf" Value { CapturePriority 100 CapturePCM "hw:${CardId},2" CaptureMixerElem "ADC2" JackControl "Mic Jack" JackHWMute "DMic01" } } SectionDevice."DMic01" { Comment "DMic01" Include.vadm0e.File "/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.conf" Include.vadm0d.File "/codecs/qcom-lpass/va-macro/DMIC0DisableSeq.conf" Include.vadm1e.File "/codecs/qcom-lpass/va-macro/DMIC1EnableSeq.conf" Include.vadm1d.File "/codecs/qcom-lpass/va-macro/DMIC1DisableSeq.conf" Value { CapturePriority 100 CapturePCM "hw:${CardId},3" } } PK=]̵'ucm2/Qualcomm/sc8280xp/LENOVO-X13s.confnu[Syntax 4 SectionUseCase."HiFi" { File "/Qualcomm/sc8280xp/HiFi.conf" Comment "HiFi quality Music." } Include.card-init.File "/lib/card-init.conf" Include.ctl-remap.File "/lib/ctl-remap.conf" Include.codec-init.File "/codecs/wcd938x/init.conf" PK=]q&ucm2/MediaTek/sof-mt8395-evk/HiFi.confnu[If.HDMI { Condition { Type ControlExists Control "iface=CARD,name='HDMI Jack'" } True { SectionDevice."HDMI1" { Comment "HDMI output" EnableSequence [ cset "name='HDMI_OUT_MUX' 1" ] DisableSequence [ cset "name='HDMI_OUT_MUX' 0" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},5" JackControl "HDMI Jack" } } } } SectionDevice."Headphones" { Comment "Earphone speaker" EnableSequence [ cset "name='HP Mux' Audio Playback" ] DisableSequence [ cset "name='HP Mux' Open" ] Value { PlaybackPriority 400 PlaybackChannels 2 PlaybackPCM "hw:${CardId},16" JackControl "Headphone Jack" } } PK=]4ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/HiFi.confnu[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 } } PK=]ԩPAA4ucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/init.confnu[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" ] PK=]ʪ "ucm2/MediaTek/mt8370-evk/HiFi.confnu[If.HDMI { Condition { Type ControlExists Control "iface=CARD,name='HDMI Jack'" } True { SectionDevice."HDMI1" { Comment "HDMI output" EnableSequence [ cset "name='HDMI_OUT_MUX' 1" ] DisableSequence [ cset "name='HDMI_OUT_MUX' 0" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},5" JackControl "HDMI Jack" } } } } If.DP { Condition { Type ControlExists Control "iface=CARD,name='DP Jack'" } True { SectionDevice."HDMI2" { Comment "DP output" EnableSequence [ cset "name='DPTX_OUT_MUX' 1" ] DisableSequence [ cset "name='DPTX_OUT_MUX' 0" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},5" JackControl "DP Jack" } } } } 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" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Earphone microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='PGA_L_Mux' AIN1" ] Value { CapturePriority 500 CaptureChannels 1 CapturePCM "hw:${CardId},10" JackControl "Headset Mic Jack" } } 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" } }PK=](ucm2/MediaTek/mt8370-evk/mt8370-evk.confnu[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" ]PK=]ڮ~@ @ "ucm2/MediaTek/mt8391-evk/HiFi.confnu[SectionDevice."Speaker" { Comment "Lineout speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='LOL Mux' Playback_L_DAC" ] DisableSequence [ cset "name='LOL Mux' Open" ] Value { PlaybackPriority 300 PlaybackChannels 1 PlaybackPCM "hw:${CardId},${var:PlayDevN}" } } SectionDevice."Headphones" { Comment "Earphone speaker" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='HP Mux' Audio Playback" ] DisableSequence [ cset "name='HP Mux' Open" ] Value { PlaybackPriority 400 PlaybackChannels 2 PlaybackPCM "hw:${CardId},${var:PlayDevN}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Earphone microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='MISO0_MUX' UL1_CH1" cset "name='ADC_L_Mux' Left Preamplifier" cset "name='PGA_L_Mux' AIN1" ] DisableSequence [ cset "name='ADC_L_Mux' Idle" cset "name='PGA_L_Mux' None" ] Value { CapturePriority 500 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" JackControl "Headset Mic Jack" } } SectionDevice."Mic1" { Comment "Analog microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='MISO0_MUX' UL1_CH1" cset "name='MISO1_MUX' UL1_CH2" cset "name='ADC_L_Mux' Left Preamplifier" cset "name='ADC_R_Mux' Right Preamplifier" cset "name='PGA_L_Mux' AIN0" cset "name='PGA_R_Mux' AIN2" ] DisableSequence [ cset "name='ADC_L_Mux' Idle" cset "name='ADC_R_Mux' Idle" cset "name='PGA_L_Mux' None" cset "name='PGA_R_Mux' None" ] Value { CapturePriority 400 CaptureChannels 2 CapturePCM "hw:${CardId},${var:CapDevN}" } } SectionDevice."Mic2" { Comment "Digital microphone" Value { CapturePriority 300 CaptureChannels 2 CapturePCM "hw:${CardId},2" } } SectionDevice."Line1" { Comment "PCM input" Value { CapturePriority 200 CaptureChannels 2 CapturePCM "hw:${CardId},20" } } SectionDevice."Line2" { Comment "PCM output" Value { PlaybackPriority 200 PlaybackChannels 2 PlaybackPCM "hw:${CardId},6" } } SectionDevice."Line3" { Comment "I2S input" Value { CapturePriority 100 CaptureChannels 2 CapturePCM "hw:${CardId},3" } } SectionDevice."Line4" { Comment "I2S output" Value { PlaybackPriority 100 PlaybackChannels 2 PlaybackPCM "hw:${CardId},1" } } PK=]0r~"ucm2/MediaTek/mt8391-evk/init.confnu[Syntax 4 SectionUseCase."HiFi" { File "/MediaTek/mt8391-evk/HiFi.conf" Comment "Play high quality music" } BootSequence [ cset "name='ADDA_DL_CH1 DL0_CH1' on" cset "name='ADDA_DL_CH2 DL0_CH2' on" cset "name='I2SOUT0_CH1 DL1_CH1' on" cset "name='I2SOUT0_CH2 DL1_CH2' on" cset "name='PCM_0_PB_CH1 DL2_CH1' on" cset "name='PCM_0_PB_CH2 DL2_CH2' on" cset "name='UL0_CH1 AP_DMIC_UL_CH1' on" cset "name='UL0_CH2 AP_DMIC_UL_CH2' on" cset "name='UL1_CH1 I2SIN0_CH1' on" cset "name='UL1_CH2 I2SIN0_CH2' on" cset "name='UL2_CH1 ADDA_UL_CH1' on" cset "name='UL2_CH2 ADDA_UL_CH2' on" cset "name='UL4_CH1 PCM_0_CAP_CH1' on" cset "name='UL4_CH2 PCM_0_CAP_CH2' on" cset "name='I2S_IN0_Mux' Dummy_Widget" cset "name='I2S_OUT0_Mux' Dummy_Widget" ] PK=])e7ucm2/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/HiFi.confnu[# 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 } } PK=]0E7ucm2/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/init.confnu[# 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" ] PK=]"ucm2/MediaTek/mt8195-sof/init.confnu[# 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" ] PK=]+C C "ucm2/MediaTek/mt8395-evk/HiFi.confnu[If.HDMI { Condition { Type ControlExists Control "iface=CARD,name='HDMI Jack'" } True { SectionDevice."HDMI1" { Comment "HDMI output" EnableSequence [ cset "name='HDMI_OUT_MUX' 1" ] DisableSequence [ cset "name='HDMI_OUT_MUX' 0" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},5" JackControl "HDMI Jack" } } } } If.DP { Condition { Type ControlExists Control "iface=CARD,name='DP Jack'" } True { SectionDevice."HDMI2" { Comment "DP output" EnableSequence [ cset "name='DPTX_OUT_MUX' 1" ] DisableSequence [ cset "name='DPTX_OUT_MUX' 0" ] Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},5" JackControl "DP Jack" } } } } SectionDevice."HDMI3" { Comment "HDMI RX" Value { CapturePriority 200 CapturePCM "hw:${CardId},7" } } SectionDevice."Speaker" { Comment "Lineout speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='LOL Mux' Playback_L_DAC" ] DisableSequence [ cset "name='LOL Mux' Open" ] Value { PlaybackPriority 300 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 400 PlaybackChannels 2 PlaybackPCM "hw:${CardId},0" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Earphone microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='PGA_L_Mux' AIN1" ] Value { CapturePriority 500 CaptureChannels 3 CapturePCM "hw:${CardId},15" JackControl "Headset Mic Jack" } } SectionDevice."Mic1" { Comment "Analog microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='PGA_L_Mux' AIN0" cset "name='O039 I169 Switch' on" cset "name='O182 I170 Switch' on" cset "name='MISO1_MUX' UL1_CH2" ] DisableSequence [ cset "name='O039 I169 Switch' off" cset "name='O182 I170 Switch' off" cset "name='MISO1_MUX' UL1_CH1" ] Value { CapturePriority 400 CaptureChannels 3 CapturePCM "hw:${CardId},15" } } SectionDevice."Mic2" { Comment "Digital microphone" Value { CapturePriority 300 CaptureChannels 2 CapturePCM "hw:${CardId},14" } } SectionDevice."Line1" { Comment "PCM input" Value { CapturePriority 100 CaptureChannels 2 CapturePCM "hw:${CardId},8" } } SectionDevice."Line2" { Comment "PCM output" Value { PlaybackPriority 100 PlaybackChannels 2 PlaybackPCM "hw:${CardId},2" } }PK=]9F] #ucm2/MediaTek/mt8195_demo/HiFi.confnu[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" } } PK=]H"ucm2/MediaTek/mt8365-evk/HiFi.confnu[SectionDevice."HDMI" { Comment "HDMI output" Value { PlaybackPriority 100 PlaybackChannels 2 PlaybackPCM "hw:${CardId},1" } } SectionDevice."Speaker" { Comment "Lineout speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Headphone Left Source' Open" cset "name='Headphone Right Source' Open" cset "name='Line Out Source' Playback" ] Value { PlaybackPriority 200 PlaybackChannels 2 PlaybackPCM "hw:${CardId},${var:PlayDevN}" } } SectionDevice."Headphones" { Comment "Earphone speaker" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Left Source' DAC" cset "name='Headphone Right Source' DAC" cset "name='Line Out Source' Open" ] Value { PlaybackPriority 300 PlaybackChannels 2 PlaybackPCM "hw:${CardId},${var:PlayDevN}" } } SectionDevice."Headset" { Comment "Earphone microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='PGA L Mux' AIN1" cset "name='PGA R Mux' AIN1" ] Value { CapturePriority 300 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" } } SectionDevice."Mic1" { Comment "Analog microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='PGA L Mux' AIN0" cset "name='PGA R Mux' AIN0" ] Value { CapturePriority 200 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" } } SectionDevice."Mic2" { Comment "Digital microphone" Value { CapturePriority 100 CaptureChannels 2 CapturePCM "hw:${CardId},3" } } PK=]!"ucm2/MediaTek/mt8365-evk/init.confnu[Syntax 4 SectionUseCase."HiFi" { File "/MediaTek/mt8365-evk/HiFi.conf" Comment "Default" } SectionUseCase."SOF" { File "/MediaTek/mt8365-evk/sof/SOF.conf" Comment "Enable SOF" } BootSequence [ cset "name='Headphone Left Source' DAC" cset "name='Headphone Right Source' DAC" cset "name='Line Out Source' Open" cset "name='PGA L Mux' AIN1" cset "name='PGA R Mux' AIN1" cset "name='Mic Type Mux' DCC" cset "name='INT ADDA O03_O04 Switch' on" cset "name='Headphone Volume' 10" cset "name='Lineout Volume' 10" cset "name='O00 I07 Switch' on" cset "name='O01 I08 Switch' on" 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" ] PK=]ML%ucm2/MediaTek/mt8365-evk/sof/SOF.confnu[SectionDevice."Speaker" { Comment "SOF Lineout speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ cset "name='Headphone Left Source' Open" cset "name='Headphone Right Source' Open" cset "name='Line Out Source' Playback" ] Value { PlaybackPriority 100 PlaybackChannels 2 PlaybackPCM "hw:${CardId},${var:PlayDevN}" } } SectionDevice."Headphones" { Comment "SOF Earphone speaker" ConflictingDevice [ "Speaker" ] EnableSequence [ cset "name='Headphone Left Source' DAC" cset "name='Headphone Right Source' DAC" cset "name='Line Out Source' Open" ] Value { PlaybackPriority 200 PlaybackChannels 2 PlaybackPCM "hw:${CardId},${var:PlayDevN}" } } SectionDevice."Headset" { Comment "SOF Earphone microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='PGA L Mux' AIN1" cset "name='PGA R Mux' AIN1" ] Value { CapturePriority 300 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" } } SectionDevice."Mic1" { Comment "SOF Analog microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='PGA L Mux' AIN0" cset "name='PGA R Mux' AIN0" ] Value { CapturePriority 200 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" } } SectionDevice."Mic2" { Comment "SOF Digital microphone" Value { CapturePriority 100 CaptureChannels 2 CapturePCM "hw:${CardId},19" } } PK=]K K "ucm2/MediaTek/mt8390-evk/HiFi.confnu[If.HDMI { Condition { Type ControlExists Control "iface=CARD,name='HDMI Jack'" } True { SectionDevice."HDMI1" { Comment "HDMI output" EnableSequence [ cset "name='HDMI_OUT_MUX' 1" ] DisableSequence [ cset "name='HDMI_OUT_MUX' 0" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},5" JackControl "HDMI Jack" } } } } If.DP { Condition { Type ControlExists Control "iface=CARD,name='DP Jack'" } True { SectionDevice."HDMI2" { Comment "DP output" EnableSequence [ cset "name='DPTX_OUT_MUX' 1" ] DisableSequence [ cset "name='DPTX_OUT_MUX' 0" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId},5" JackControl "DP Jack" } } } } 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},${var:PlayDevN}" } } 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},${var:PlayDevN}" JackControl "Headphone Jack" } } SectionDevice."Headset" { Comment "Earphone microphone" ConflictingDevice [ "Mic1" ] EnableSequence [ cset "name='PGA_L_Mux' AIN1" ] Value { CapturePriority 500 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" JackControl "Headset Mic Jack" } } SectionDevice."Mic1" { Comment "Analog microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='PGA_L_Mux' AIN0" ] Value { CapturePriority 400 CaptureChannels "${var:CapChanN}" CapturePCM "hw:${CardId},${var:CapDevN}" } } 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" } } PK=]"ucm2/MediaTek/mt8390-evk/init.confnu[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" ]PK=]h00"ucm2/MediaTek/mtk-rt5650/HiFi.confnu[# Use case configuration for mtk-rt5650 SectionVerb { Include.e.File "/codecs/rt5645/EnableSeq.conf" # ALSA PCM Value { TQ "HiFi" } } SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice [ "Headphones" ] Include.spk.File "/codecs/rt5645/SpeakerEnableSeq.conf" Value { PlaybackPCM "hw:${CardId},0" PlaybackPriority 100 PlaybackMixerElem "Speaker" PlaybackVolume "Speaker Playback Volume" } } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice [ "Speaker" ] Include.hse.File "/codecs/rt5645/HeadphonesEnableSeq.conf" DisableSequence [ cset "name='Headphone Switch' off" cset "name='Headphone Channel Switch' off" ] Value { PlaybackPCM "hw:${CardId},0" PlaybackPriority 200 PlaybackMixerElem "Headphone" PlaybackVolume "Headphone Playback Volume" JackHWMute "Speaker" } } Include.hdmi.File "/MediaTek/mtk-rt5650/HDMI.conf" SectionDevice."Mic" { Comment "Internal Microphone" Include.dmice.File "/codecs/rt5645/DigitalMicEnableSeq.conf" Include.dmicd.File "/codecs/rt5645/DigitalMicDisableSeq.conf" Value { CapturePCM "hw:${CardId},1" CapturePriority 100 CaptureMasterElem "ADC" CaptureMixerElem "IN" CaptureVolume "IN Capture Volume" } } SectionDevice."Headset" { Comment "Headset Microphone" Include.hsmice.File "/codecs/rt5645/HSMicEnableSeq.conf" Include.hsmicd.File "/codecs/rt5645/HSMicDisableSeq.conf" Value { CapturePCM "hw:${CardId},1" CapturePriority 200 CaptureMasterElem "ADC" CaptureMixerElem "IN" CaptureVolume "IN Capture Volume" JackHWMute "Mic" } } PK=]P"ucm2/MediaTek/mtk-rt5650/HDMI.confnu[SectionDevice."HDMI" { Comment "HDMI Audio" Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId},2" JackControl "mtk-rt5650 HDMI Jack" } } PK=]D|9"ucm2/MediaTek/mtk-rt5650/init.confnu[# mtk-rt5650 specific boot sequence BootSequence [ cset "name='O03 I05 Switch' 1" cset "name='O04 I06 Switch' 1" cset "name='O09 I17 Switch' 1" cset "name='O10 I18 Switch' 1" # Internal speaker amplification params cset "name='DAC1 Playback Volume' 69" cset "name='Speaker ClassD Playback Volume' 6" # Muxing cset "name='IF2 ADC Mux' IF_ADC1" cset "name='RT5650 IF1 ADC1 Swap Mux' L/R" cset "name='Stereo1 ADC1 Mux' ADC" ] PK=]A A cards/Aureon51.confnu[# # Configuration for the Aureon51 (Envy24HT) chip # # default with dmix & dsnoop Aureon51.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] } } } Aureon51.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } Aureon51.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 subdevice 1 } Aureon51.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 } Aureon51.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 subdevice 2 } Aureon51.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 4 } Aureon51.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 6 } Aureon51.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type linear slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "IEC958 Output Switch" lock true preserve true value true } { interface PCM name "IEC958 Playback Default" device 1 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } slave.format S32_LE } capture.pcm { type linear slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "IEC958 Capture Switch" lock true preserve true value true } ] } } slave.format S32_LE } } PK=]8YR cards/CS46xx.confnu[# # Configuration for the CS46xx chip # CS46xx.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with plughw # CS46xx supports multi-playback CS46xx.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "hw:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "hw:" $CARD ] } } } CS46xx.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { name "Duplicate Front" lock true preserve true value 0 optional true } ] } } CS46xx.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 3 } CS46xx.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.CS46xx.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CS46xx.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } CS46xx.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.CS46xx.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CS46xx.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CS46xx.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } CS46xx.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Output Switch" lock true preserve true value 1 } { interface PCM name "IEC958 Playback PCM Stream" device 2 lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { # for compatibility with older drivers interface PCM name "IEC958 Playback PCM Stream" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]t,MMcards/YMF744.confnu[# # Configuration for the YMF744 chip # YMF744.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } YMF744.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 } YMF744.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.YMF744.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.YMF744.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } YMF744.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback Switch" lock true preserve true value 1 } { interface PCM name "IEC958 Playback PCM Stream" device 1 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]UYcards/ATIIXP-SPDMA.confnu[# # Configuration for the ATI IXP 150/200/250 chips # ATIIXP-SPDMA.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop ATIIXP.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } ATIIXP-SPDMA.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } ATIIXP-SPDMA.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } ATIIXP-SPDMA.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type iec958 slave { pcm { type hw card $CARD device 1 } format IEC958_SUBFRAME_LE } status [ $AES0 $AES1 $AES2 $AES3 ] } PK=] cards/ICH.confnu[# # Configuration for the Intel ICH/ICH2/ICH3 chips # ICH.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop ICH.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } ICH.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } control { name "PCM Playback Volume" card $CARD } } ICH.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 slave.pcm { type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } slave.channels 6 } control { name "PCM Playback Volume" card $CARD } } ICH.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 0 optional true } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } ] } } PK=]vMMcards/FWSpeakers.confnu[# # Configuration for the LaCie Firewire speakers # FWSpeakers.pcm.default { @args [ CARD ] @args.CARD { type string } type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32" ] } } FWSpeakers.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } PK=]BGGcards/VXPocket.confnu[# # Configuration for Digigram VXpocket # VXPocket.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } VXPocket.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { # for compatibility with older drivers name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]wGcards/VIA686A.confnu[# # Configuration for the VIA686A chip # # SPDIF support is not complete - it might not work, especially with AC3 # passthru mode... # VIA686A.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop VIA686A.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } VIA686A.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 0 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } ] } } PK=]FŠ  cards/RME9636.confnu[# # Configuration for the RME9636 # RME9636.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # FIXME: This configuration is not valid for double-speed rates. RME9636.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type route slave { pcm { type hw card $CARD } channels 18 } ttable.0.16 1 ttable.1.17 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" lock true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=] cards/Aureon71.confnu[# # Configuration for the Aureon71 (Envy24HT) chip # # default with dmix & dsnoop Aureon71.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] } } } Aureon71.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } Aureon71.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 } Aureon71.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 subdevice 1 } Aureon71.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 subdevice 2 } Aureon71.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 4 } Aureon71.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 6 } Aureon71.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } Aureon71.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type linear slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "IEC958 Output Switch" lock true preserve true value true } { interface PCM name "IEC958 Playback Default" device 1 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } slave.format S32_LE } capture.pcm { type linear slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "IEC958 Capture Switch" lock true preserve true value true } ] } } slave.format S32_LE } } PK=]G cards/EMU10K1X.confnu[# # Configuration for the EMU10K1X chip # # default with dmix & dsnoop EMU10K1X.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } EMU10K1X.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } EMU10K1X.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } EMU10K1X.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 } EMU10K1X.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.EMU10K1X.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.EMU10K1X.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } EMU10K1X.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.EMU10K1X.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.EMU10K1X.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.EMU10K1X.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } EMU10K1X.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { name "Analog/Digital Output Jack" lock true preserve true value 0 } { interface PCM name "IEC958 Playback Default" index 0 lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { # for compatibility with older drivers name "IEC958 Playback Default" index 0 lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]ycards/GUS.confnu[# # Configuration for the GUS soundcards # GUS.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 slave.pcm { type hw card $CARD } } PK=] Echo_Echo3G.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 subdevice 0 } Echo_Echo3G.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 subdevice 4 } Echo_Echo3G.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 subdevice 2 } Echo_Echo3G.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 subdevice 6 } Echo_Echo3G.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } Echo_Echo3G.pcm.surround41.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } ] } Echo_Echo3G.pcm.surround50.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 1 } ] } Echo_Echo3G.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } Echo_Echo3G.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Echo_Echo3G.pcm.side.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } { slave 3 channel 0 } { slave 3 channel 1 } ] } Echo_Echo3G.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]5cards/AU8810.confnu[# # Configuration for the AU8810 chip # AU8810.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } AU8810.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hw card $CARD device 1 } PK=]j  cards/RME9652.confnu[# # Configuration for the RME9652 # RME9652.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # FIXME: This configuration is not valid for double-speed rates. RME9652.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type route slave { pcm { type hw card $CARD } channels 26 } ttable.0.24 1 ttable.1.25 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" lock true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]SQ@K K cards/ICE1724.confnu[# # Configuration for the ICE1724 (Envy24HT) chip # # default with dmix & dsnoop ICE1724.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] } } } ICE1724.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } ICE1724.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 subdevice 1 } ICE1724.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 } ICE1724.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 subdevice 2 } ICE1724.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 slave { channels 6 pcm { type hw card $CARD } } } ICE1724.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 slave { channels 6 pcm { type hw card $CARD } } } ICE1724.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 ttable.6.6 1 ttable.7.7 1 slave { channels 8 pcm { type hw card $CARD } } } ICE1724.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type linear slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "IEC958 Output Switch" lock true preserve true value true } { interface PCM name "IEC958 Playback Default" device 1 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } slave.format S32_LE } capture.pcm { type linear slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "IEC958 Capture Switch" lock true preserve true value true } ] } } slave.format S32_LE } } PK=]S<cards/AACI.confnu[# # ALSA library configuration for ARM AACI Primecell PL-041 # AACI.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } AACI.pcm.surround40.0 "cards.AACI.pcm.front.0" AACI.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.AACI.pcm.front.0:CARD=" $CARD ] } channels 6 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 0 channel 3 } { slave 0 channel 4 } { slave 0 channel 2 } { slave 0 channel 5 } ] } PK=]|)+&+&cards/USB-Audio.confnu[# # USB-Audio.conf - configuration for USB Audio devices # # # DO NO EDIT; this is an internal ALSA file. # If you want to add your own definitions, put them into /etc/asound.conf or # ~/.asoundrc, with "cards." before the "USB-Audio", e.g.: # # cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no # # If your device requires such a definition to work correctly, please report it # to . # If a device has sample formats not supported by dmix, dmix can be disabled # here. USB-Audio.pcm.use_dmix { "AudioPhile" no # uses big-endian 24-bit samples "Audiophile USB (tm)" no } # If a device does not have a four-channel mode for the front/rear outputs, # other modes can be selected here. # six_channels - for devices that route the last two of the four channels # to the center/LFE outputs # two_stereo_devices - for devices that have two stereo audio interfaces USB-Audio.pcm.surround40_type { "AudioPhile" two_stereo_devices "Audiophile USB (tm)" two_stereo_devices "ICUSBAUDIO7D" six_channels "OmniStudio" two_stereo_devices "Quattro" two_stereo_devices "SB Audigy 2 NX" six_channels "USB AudioSport Quattro (tm)" two_stereo_devices } # If a device does not use the first PCM device for digital data, the device # number for the iec958 device can be changed here. USB-Audio.pcm.iec958_device { # "NoiseBlaster 3000" 42 "USB Sound Blaster HD" 1 "SB Omni Surround 5.1" 1 "Xonar U7" 1 "Xonar U7 MKII" 1 "ASUS XONAR U5" 1 "XONAR U5" 1 "XONAR SOUND CARD" 1 "Xonar SoundCard" 2 # The below don't have digital in/out, so prevent them from being opened. "Andrea PureAudio USB-SA Headset" 999 "Blue Snowball" 999 "C-Media USB Headphone Set" 999 "Cmedia Audio" 999 "DELL PROFESSIONAL SOUND BAR AE5" 999 "HP Digital Stereo Headset" 999 "GN 9330" 999 "Logitech Speaker Lapdesk N700" 999 "Logitech G35 Headset" 999 "Logitech USB Headset" 999 "Logitech USB Headset H540" 999 "Logitech Wireless Headset" 999 "Plantronics Blackwire 3220 Seri" 999 "Plantronics GameCom 780" 999 "Plantronics USB Headset" 999 "Plantronics Wireless Audio" 999 "SB WoW Headset" 999 "Scarlett 2i2 USB" 999 "Scarlett 2i4 USB" 999 "Sennheiser USB headset" 999 "SWTOR Gaming Headset by Razer" 999 "ThinkStation P620 Main" 999 "ThinkStation P620 Rear" 999 "Thunderbolt Dock Audio Headset" 999 "Thunderbolt Dock Audio Module" 999 "USB Device 0x46d_0x821" 999 "USB Device 0x46d_0x992" 999 "WD15 Dock" 999 "WD19 Dock" 999 "ThinkPad USB-C Dock Gen2 USB Au" 999 } # Second iec958 device number, if any. USB-Audio.pcm.iec958_2_device { "PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF "PHIREE U2SX" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF } # If a device requires non-standard definitions for front, default, surround40, # surround51, surround71 or iec958, they can be defined here. # M-Audio AudioPhile USB: # device 0: analog output, digital input # device 1: digital output, analog input USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default" USB-Audio."Audiophile USB (tm)".pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type hw card $CARD device 0 } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:DEV=1,CARD=" $CARD ] } } } USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958" USB-Audio."Audiophile USB (tm)".pcm.iec958 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hw card $CARD device 1 } capture.pcm { type hw card $CARD device 0 } } # For this card we can (and must to get IEC61937) set AES bits USB-Audio."MicroII".pcm.iec958 "cards.USB-Audio.Audio Advantage MicroII.pcm.iec958" USB-Audio."Audio Advantage MicroII".pcm.iec958 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value 1 } ] } } ################################################################################ USB-Audio.pcm.front.0 { @args [ CARD ] @args.CARD { type string } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.front:CARD=" $CARD ] } default { # We could use softvol, but the driver might have guessed a # wrong name for the real volume control. type hw card $CARD device 0 } } USB-Audio.pcm.default { @args [ CARD ] @args.CARD { type string } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.default:CARD=" $CARD ] } default { type asym playback.pcm { type plug slave.pcm { @func refer name { @func concat strings [ "cards.USB-Audio.pcm.default_playback_dmix_" { @func refer name { @func concat strings [ "cards.USB-Audio.pcm.use_dmix." { @func card_name card $CARD } ] } default yes } ":CARD=" $CARD ] } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } } USB-Audio.pcm.default_playback_dmix_yes { @args [ CARD ] @args.CARD { type string } @func concat strings [ "dmix:" $CARD ] } USB-Audio.pcm.default_playback_dmix_no { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 } USB-Audio.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.surround40:CARD=" $CARD ] } default { @func refer name { @func concat strings [ "cards.USB-Audio.pcm.surround40_" { @func refer name { @func concat strings [ "cards.USB-Audio.pcm.surround40_type." { @func card_name card $CARD } ] } default default } ":CARD=" $CARD ] } } } USB-Audio.pcm.surround40_default { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 } USB-Audio.pcm.surround40_six_channels { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 slave { pcm { type hw card $CARD device 0 } channels 6 } } USB-Audio.pcm.surround40_two_stereo_devices { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.2 1 ttable.3.3 1 slave.pcm { type multi slaves { a { pcm { type hw card $CARD device 0 } channels 2 } b { pcm { type hw card $CARD device 1 } channels 2 } } bindings [ { slave a channel 0 } { slave a channel 1 } { slave b channel 0 } { slave b channel 1 } ] } } USB-Audio.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.surround51:CARD=" $CARD ] } default { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 slave { pcm { type hw card $CARD device 0 } channels 6 } } } USB-Audio.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.surround71:CARD=" $CARD ] } default { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 ttable.6.6 1 ttable.7.7 1 slave { pcm { type hw card $CARD device 0 } channels 8 } } } USB-Audio.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.iec958:CARD=" $CARD ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 ] } default { # FIXME: we cannot set the AES parameters type hw card $CARD device { @func refer name { @func concat strings [ "cards.USB-Audio.pcm.iec958_device." { @func card_name card $CARD } ] } default 0 } } } USB-Audio.pcm.iec958.1 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.USB-Audio." { @func card_name card $CARD } ".pcm.iec958_2:CARD=" $CARD ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 ] } default { # FIXME: we cannot set the AES parameters type hw card $CARD device { @func refer name { @func concat strings [ "cards.USB-Audio.pcm.iec958_2_device." { @func card_name card $CARD } ] } default 999 } } } # vim: ft=alsaconf PK=] ICH4.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop ICH4.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } ICH4.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } control { name "PCM Playback Volume" card $CARD } } ICH4.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } control { name "PCM Playback Volume" card $CARD } } ICH4.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 4 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 3 optional true } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } ] } } PK=]?cards/FM801.confnu[# # Configuration for the FM801 chip # FM801.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop FM801.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } FM801.pcm.surround40.0 "cards.FM801.pcm.front.0" FM801.pcm.surround51.0 "cards.FM801.pcm.front.0" FM801.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ # { # name "IEC958 Playback Default" # value [ $AES0 $AES1 $AES2 $AES3 ] # } { name "IEC958 Raw Data Playback Switch" preserve true value true } ] } } PK=]i i cards/ICE1712.confnu[# # Configuration for the ICE1712 (Envy24) chip # # default with dmix & dsnoop ICE1712.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] } } } ICE1712.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type route ttable.0.0 1 ttable.1.1 1 slave.pcm { type hw card $CARD } slave.channels 10 } capture.pcm { type route ttable.0.0 1 ttable.1.1 1 slave.pcm { type hw card $CARD } slave.channels 12 } } ICE1712.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.2 1 ttable.3.3 1 slave.pcm { type hw card $CARD } slave.channels 10 } ICE1712.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.2 1 ttable.3.3 1 ttable.4.4 1 ttable.5.5 1 slave.pcm { type hw card $CARD } slave.channels 10 } ICE1712.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.2 1 ttable.3.3 1 ttable.4.4 1 ttable.5.5 1 ttable.6.6 1 ttable.7.7 1 slave.pcm { type hw card $CARD } slave.channels 10 } ICE1712.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type route ttable.0.8 1 ttable.1.9 1 slave.pcm { type hw card $CARD } slave.format S32_LE slave.channels 10 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } capture.pcm { type route ttable.0.8 1 ttable.1.9 1 slave.pcm { type hw card $CARD } slave.format S32_LE slave.channels 12 } } PK=]s[iicards/CMI8788.confnu[# # Configuration for the CMI8788 chip # CMI8788.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix & dsnoop CMI8788.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] } } } CMI8788.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 4 } CMI8788.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 6 } CMI8788.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD channels 8 } CMI8788.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM device 1 name "IEC958 Playback PCM Stream" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } capture.pcm { type hw card $CARD device 1 } } # vim: ft=alsaconf PK=]Taacards/pistachio-card.confnu[# # Configuration for the pistachio chip. # # The data sheet of the chip and technical reference manual can be found at https://docs.creatordev.io/ci40/guides/hardwaredocs/cXT200_datasheet2.p df # and https://docs.creatordev.io/ci40/guides/hardwaredocs/MIPS_Creator_cXT200_Technical_Reference_Manual_1.0.112.pdf. # # The list of hardware devices is as per below: # # root@OpenWrt:/# arecord -l # **** List of CAPTURE Hardware Devices **** card 0: pistachiocard [pistachio-card], device 1: pistachio-spdif-in snd-soc-dummy-dai-1 [] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # card 0: pistachiocard [pistachio-card], device 4: pistachio-i2s-in-0 snd-soc-dummy-dai-4 [] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # # root@OpenWrt:/# aplay -l # **** List of PLAYBACK Hardware Devices **** card 0: pistachiocard [pistachio-card], device 0: pistachio-spdif-out snd-soc-dummy-dai-0 [] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # card 0: pistachiocard [pistachio-card], device 2: pistachio-parallel-out pistachio_internal_dac-2 [] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # card 0: pistachiocard [pistachio-card], device 3: pistachio-i2s-out snd-soc-dummy-dai-3 [] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # pistachio-card.pcm.default{ @args [ CARD ] @args.CARD { type string default "pistachio" } @args.DEVICE { type integer default 2 } type asym capture.pcm { type multi slaves.a.pcm "hw:0,4" slaves.a.channels 12 bindings.0.slave a bindings.0.channel 4 bindings.1.slave a bindings.1.channel 5 } playback.pcm { type hw card $CARD device $DEVICE PK=]ZYSScards/CMI8738-MC6.confnu[# # Configuration for the CMI8738 chip with 4/6 multi-channel support # CMI8738-MC6.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop CMI8738-MC6.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } # 2nd DAC # FIXME: we need a volume attenuator for rear channel. CMI8738-MC6.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } CMI8738-MC6.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } CMI8738-MC6.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } CMI8738-MC6.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" device 2 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Loop" lock true preserve true value off } ] } } capture.pcm { type hw card $CARD device 2 } } PK=]ecards/PMac.confnu[# # Configuration for PMac # PMac.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop PMac.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ] } } } PK=]Vcards/CMI8338-SWIEC.confnu[# # Configuration for the CMI8338/8738 chip (w/o multi-channel support) # using software IEC958 subframe conversion # CMI8338-SWIEC.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop CMI8338-SWIEC.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } # 2nd DAC # FIXME: we need a volume attenuator for rear channel. CMI8338-SWIEC.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } # for the old CM8738 with 2nd DAC for rear CMI8338-SWIEC.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi master 1 slaves [ { pcm { @func concat strings [ "cards.CMI8338-SWIEC.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CMI8338-SWIEC.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } CMI8338-SWIEC.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type iec958 slave.pcm { type hw card $CARD device 2 } status [ $AES0 $AES1 $AES2 $AES3 ] preamble.z 3 preamble.y 5 preamble.x 9 } capture.pcm { type hw card $CARD device 2 } } PK=][Ǵ`cards/Audigy2.confnu[# # Configuration for the Audigy2 chip # Audigy2.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ] } ] } } Audigy2.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "RL,RR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] } ] } } Audigy2.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "FC,LFE" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ] } ] } } Audigy2.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "SL,SR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 ] } ] } } Audigy2.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Audigy2.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy2.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } Audigy2.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Audigy2.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy2.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } Audigy2.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Audigy2.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy2.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy2.pcm.side.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } { slave 3 channel 0 } { slave 3 channel 1 } ] } Audigy2.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Optical Raw Playback Switch" lock true preserve true value [ 1 1 ] } { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ] } { name "Audigy Analog/Digital Output Jack" lock true preserve true value 1 } ] } } PK=]ݫ0cards/NFORCE.confnu[# # Configuration for the nVIDIA nForce/2/3 # NFORCE.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop NFORCE.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } NFORCE.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } control { name "PCM Playback Volume" card $CARD } } NFORCE.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 slave.pcm { type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } slave.channels 6 } control { name "PCM Playback Volume" card $CARD } } NFORCE.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 ttable.6.6 1 ttable.7.7 1 slave.pcm { type hooks slave.pcm { type hw card $CARD device 0 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "8ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } slave.channels 8 } control { name "PCM Playback Volume" card $CARD } } NFORCE.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 0 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } ] } } PK=]v cards/CA0106.confnu[# # Configuration for the CA0106 chip # # default with dmix & dsnoop CA0106.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } CA0106.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } CA0106.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } CA0106.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 } CA0106.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 3 } CA0106.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.CA0106.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CA0106.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } CA0106.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.CA0106.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CA0106.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } CA0106.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.CA0106.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CA0106.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CA0106.pcm.side.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } { slave 3 channel 0 } { slave 3 channel 1 } ] } CA0106.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Front Playback Volume" index 0 lock true preserve true value [ 207 207 ] # Puts 0x30303030 in the Volume register. 0xff - 0x30 = 0xcf = 207 } { name "IEC958 Playback Switch" lock true preserve true value 1 } { interface PCM name "IEC958 Playback Default" index 1 lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { # for compatibility with older drivers name "IEC958 Playback Default" index 1 lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]ڋTcards/vc4-hdmi.confnu[# # Configuration for the VC4-HDMI sound card using software IEC958 # subframe conversion # vc4-hdmi.pcm.hdmi.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type iec958 slave { format IEC958_SUBFRAME_LE pcm { type hooks slave.pcm { type hw card $CARD device 0 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback Default" interface PCM optional true lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } } status [ $AES0 $AES1 $AES2 $AES3 ] hdmi_mode true } # default with plug and softvol vc4-hdmi.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "cards.vc4-hdmi.pcm.hdmi.0:" "CARD=" $CARD "," "AES0=0x04," # IEC958_AES0_CON_NOT_COPYRIGHT | IEC958_AES0_CON_EMPHASIS_NONE "AES1=0x82," # IEC958_AES1_CON_ORIGINAL | IEC958_AES1_CON_PCM_CODER "AES2=0x00," # IEC958_AES2_CON_SOURCE_UNSPEC | IEC958_AES2_CON_CHANNEL_UNSPEC "AES3=0x01" # IEC958_AES3_CON_FS_NOTID (iec958 plugin will fill in actual rate) ] } control { name "PCM Playback Volume" card $CARD } } } } PK=]h'cards/aliases.confnu[# # Define aliases for various drivers # YMF724 cards.YMF744 YMF724F cards.YMF744 YMF740 cards.YMF744 YMF740C cards.YMF744 YMF754 cards.YMF744 CMIPCI cards.CMI8338 CMI8738 cards.CMI8338 CMI8738-SWIEC cards.CMI8338-SWIEC CMI8738-MC4 cards.CMI8738-MC6 'E-mu APS' cards.EMU10K1 'GUS MAX' cards.GUS 'GUS ACE' cards.GUS 'GUS Extreme' cards.GUS 'AMD InterWave' cards.GUS 'Dynasonic 3-D' cards.GUS 'InterWave STB' cards.GUS au8810 cards.AU8810 au8820 cards.AU8820 au8830 cards.AU8830 Prodigy71 cards.Aureon71 Prodigy71LT cards.Aureon71 Prodigy71HIFI cards.Aureon71 Aureon71Univ cards.Aureon71 VIA82XX-MODEM cards.ICH-MODEM 'MPU-401 UART' cards.MPU-401 'VX222/Old' cards.VX222 'VX222/v2' cards.VX222 'VX222/Mic' cards.VX222 'CMI8330/C3D' cards.CMI8330 'SB AWE' cards.SBAWE 'SB Pro' cards.SBPro 'PMac Burgundy' cards.PMac 'PMac DACA' cards.PMac 'PMac Tumbler' cards.PMac 'PMac Snapper' cards.PMac 'PMac Screamer' cards.PMac 'PMac AWACS' cards.PMac 'PMac Toonie' cards.PMacToonie AppleOnbdAudio cards.PMacToonie 'USB US-X2Y' cards.US-X2Y 'Serial MIDI' cards.SerialMIDI 'Prodif Plus' cards.ProdifPlus ESM1 cards.ES1968 ES1978 cards.ES1968 Allegro cards.Maestro3 Canyon3D-2 cards.Maestro3 Azalia cards.HDA-Intel aaci-pl041 cards.AACI AV66 cards.CMI8788 AV100 cards.CMI8788 AV200 cards.CMI8788 CMI8786 cards.CMI8788 CMI8787 cards.CMI8788 pistachio cards.pistachio-card VC4-HDMI cards.vc4-hdmi hda-acpi cards.HDA-Intel PK=]y cards/ATIIXP.confnu[# # Configuration for the ATI IXP 150/200/250 chips # ATIIXP.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop ATIIXP.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } ATIIXP.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } ATIIXP.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } ATIIXP.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 3 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } ] } } PK=]).WWcards/ENS1370.confnu[# # Configuration for the ENS1370 chip # ENS1370.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } # default with dmix/dsnoop ENS1370.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } ENS1370.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface CARD name "PCM 0 Output also on Line-In Jack" preserve true lock true value true } { name "PCM Switch" preserve true lock true value [ false false ] } ] } } ENS1370.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi master 1 slaves [ { pcm { @func concat strings [ "cards.ENS1370.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.ENS1370.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } PK=] cards/CMI8738-MC8.confnu[# # Configuration for the CMI8768 chip with 8 multi-channel support # CMI8738-MC8.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop CMI8738-MC8.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } # 2nd DAC CMI8738-MC8.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD device 1 } control { name "PCM Playback Volume" card $CARD } } CMI8738-MC8.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } control { name "PCM Playback Volume" card $CARD } } CMI8738-MC8.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } control { name "PCM Playback Volume" card $CARD } } CMI8738-MC8.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 channels 8 } hooks.0 { type ctl_elems hook_args [ { name "Four Channel Mode" lock true preserve true value false } ] } } control { name "PCM Playback Volume" card $CARD } } CMI8738-MC8.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" device 2 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Loop" lock true preserve true value off } ] } } capture.pcm { type hw card $CARD device 2 } } PK=]ecards/PC-Speaker.confnu[# # Configuration for PC-Speaker driver # PC-Speaker.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "Master Playback Volume" card $CARD } min_dB -10.0 max_dB 20.0 } # default with dmix & null PC-Speaker.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol control { name "Master Playback Volume" card $CARD } min_dB -10.0 max_dB 20.0 slave.pcm { @func concat strings [ "dmix:" $CARD ] } } } capture.pcm { type null } } PK=]D  cards/VIA8237.confnu[# # Configuration for the VIA8237 chip with 4/6 multi-channel support # VIA8237.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with softvol/dsnoop # VIA8237 supports multi-playback VIA8237.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } VIA8237.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } VIA8237.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 slave.pcm { type hooks slave.pcm { type hw card $CARD device 1 channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } slave.channels 6 } VIA8237.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD subdevice 3 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 3 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } { name "IEC958 Output Switch" lock true preserve true value true } ] } } PK=] ATIIXP-MODEM.pcm.modem.0 { @args [ CARD ] @args.CARD { type string } type route slave.pcm { type hw card $CARD } slave.channels 2 slave.format S16_LE ttable.0.1 1 ttable.1.0 0 hint.show off } PK=]!cards/TRID4DWAVENX.confnu[# # Configuration for the Trident 4D-Wave NX chip # TRID4DWAVENX.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] } TRID4DWAVENX.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "RL,RR" ] } hooks.0 { type ctl_elems hook_args [ { name "Rear Path" lock true preserve true value true } { name "PCM Front Playback Volume" index { @func private_pcm_subdevice } lock true preserve true value 0 } { name "PCM Reverb Playback Volume" index { @func private_pcm_subdevice } lock true preserve true value 127 } ] } } TRID4DWAVENX.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.TRID4DWAVENX.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.TRID4DWAVENX.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } TRID4DWAVENX.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" value [ $AES0 $AES1 $AES2 $AES3 ] device 2 lock true preserve true } ] } } PK=]˸cards/PS3.confnu[# # Configuration for PS3 # PS3.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD device 0 } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol PS3.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat #strings [ "dmix:CARD=" $CARD ] strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ] } control { name "PCM Playback Volume" card $CARD } } } } PS3.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]I[9cards/VXPocket440.confnu[# # Configuration for Digigram VXpocket440 # VXPocket440.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } VXPocket440.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } VXPocket440.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi master 1 slaves [ { pcm { @func concat strings [ "cards.VXPocket440.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.VXPocket440.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } VXPocket440.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { # for compatibility with older drivers name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]#>>cards/VX222.confnu[# # Configuration for Digigram VX222 # VX222.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } VX222.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { # for compatibility with older drivers name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]v cards/Audigy.confnu[# # Configuration for the Audigy chip # Audigy.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ] } ] } } Audigy.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "RL,RR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] } ] } } Audigy.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "FC,LFE" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ] } ] } } Audigy.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Audigy.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } Audigy.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.Audigy.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.Audigy.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } Audigy.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Optical Raw Playback Switch" lock true preserve true value [ 1 1 ] } { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } lock true optional true value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } lock true optional true value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ] } { name "Audigy Analog/Digital Output Jack" lock true preserve true value 1 } ] } } PK=]ox cards/VIA8233A.confnu[# # Configuration for the VIA8233A chip with 4/6 multi-channel support # VIA8233A.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop VIA8233A.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } VIA8233A.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Swap Surround Slot" lock true preserve true value false optional true } { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } VIA8233A.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Swap Surround Slot" lock true preserve true value true optional true } { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } VIA8233A.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 3 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } { name "IEC958 Output Switch" lock true preserve true value true } ] } } PK=]Wcards/HdmiLpeAudio.confnu[# # Configuration for the Intel HDMI/DP LPE audio # HdmiLpeAudio.pcm.hdmi.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" device 0 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } HdmiLpeAudio.pcm.hdmi.1 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" device 1 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } HdmiLpeAudio.pcm.hdmi.2 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" device 2 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]Hcards/ENS1371.confnu[# # Configuration for the ENS1370 chip # ENS1371.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop ENS1371.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } ENS1371.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface MIXER name "AC97 2ch->4ch Copy Switch" lock true preserve true value 0 } ] } } ENS1371.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.ENS1371.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.ENS1371.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } ENS1371.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } PK=]o cards/Loopback.confnu[# # Configuration for the virtual loopback driver (snd-aloop) # Loopback.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop Loopback.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } control { name "Digital Capture Volume" card $CARD } min_dB -30.0 max_dB 30.0 resolution 121 } # to avoid possible phase inversions with digital mics route_policy copy } hint.device 0 } Loopback.pcm.surround40.0 cards.Loopback.pcm.front.0 Loopback.pcm.surround51.0 cards.Loopback.pcm.front.0 Loopback.pcm.surround71.0 cards.Loopback.pcm.front.0 PK=]! DDcards/EMU10K1.confnu[# # Configuration for the EMU10K1 chip # EMU10K1.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } # lock true optional true value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } # lock true optional true value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] } ] } } capture.pcm { type hw card $CARD } } EMU10K1.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "RL,RR" ] } hooks.0 { type ctl_elems hook_args [ { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } # lock true optional true value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] } ] } } } EMU10K1.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "FC,LFE" ] } hooks.0 { type ctl_elems hook_args [ { name "Headphone Center Playback Switch" index 1 preserve true # lock true optional true value true } { name "Headphone LFE Playback Switch" index 1 preserve true # lock true optional true value true } # if you have a creative's digital receiver, you can get surround/center/lfe # output through the digital jack. so, the following is commented out. # pay attention in case of analog output from the shared center/digital # jack! # { # name "SB Live Analog/Digital Output Jack" # preserve true # lock true # value 0 # } { interface PCM name "EMU10K1 PCM Send Volume" index { @func private_pcm_subdevice } # lock true optional true value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] } { interface PCM name "EMU10K1 PCM Send Routing" index { @func private_pcm_subdevice } # lock true optional true value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] } ] } } } EMU10K1.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.EMU10K1.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.EMU10K1.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } EMU10K1.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.EMU10K1.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.EMU10K1.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } EMU10K1.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback Default" device 2 lock true preserve true optional true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Optical Raw Playback Switch" lock true preserve true value [ 1 1 ] } { name "SB Live Analog/Digital Output Jack" lock true preserve true value 1 } ] } } PK=] cards/VIA8233.confnu[# # Configuration for the VIA8233/VIA8233C/VIA8235 chip with 4/6 multi-channel support # VIA8233.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with softvol/dsnoop # VIA8233 supports multi-playback VIA8233.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } VIA8233.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } VIA8233.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD device 1 channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } VIA8233.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD subdevice 3 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 3 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } { name "IEC958 Output Switch" lock true preserve true value true } ] } } PK=]Vcards/AU8820.confnu[# # Configuration for the AU8820 chip # AU8820.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } PK=]8n?cards/PMacToonie.confnu[# # Configuration for PMac Toonie # PMacToonie.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop PMacToonie.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ] } } } PK=]yKwwcards/CMI8338.confnu[# # Configuration for the CMI8338/8738 chip (w/o multi-channel support) # CMI8338.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop CMI8338.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { @func concat strings [ "dmix:" $CARD ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } # 2nd DAC # FIXME: we need a volume attenuator for rear channel. CMI8338.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } # for the old CM8738 with 2nd DAC for rear CMI8338.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi master 1 slaves [ { pcm { @func concat strings [ "cards.CMI8338.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CMI8338.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } CMI8338.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" device 2 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Loop" lock true preserve true value off } ] } } capture.pcm { type hw card $CARD device 2 } } PK=]!qWcards/FireWave.confnu[# # Configuration for the Griffin FireWave Surround # FireWave.pcm.default { @args [ CARD ] @args.CARD { type string } type plug slave.pcm { @func concat strings [ "dmix:" $CARD ",FORMAT=S32" ] } } FireWave.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } FireWave.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type route ttable [ [ 1 0 0 0 0 0 ] [ 0 1 0 0 0 0 ] [ 0 0 0 0 1 0 ] [ 0 0 0 0 0 1 ] [ 0 0 1 0 0 0 ] [ 0 0 0 1 0 0 ] ] slave.pcm { type hw card $CARD } } PK=]Ye0cards/ES1968.confnu[# configuration for ESS Maestro2 ES1968.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } PK=]4$ ..cards/Maestro3.confnu[# configuration for ESS Maestro3 Maestro3.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } # default with dmix/dsnoop Maestro3.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { # we need to specify device and subdevice numbers # for a device with multiple substreams @func concat strings [ "dmix:" $CARD ",0,0" ] } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } PK=]? cards/ICH-MODEM.confnu[# # Configuration for the Intel/AMD modem controllers # ICH-MODEM.pcm.modem.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD hint.show off } PK=]kcards/AU8830.confnu[# # Configuration for the AU8830 chip # AU8830.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD } AU8830.pcm.surround40.0 "cards.AU8830.pcm.front.0" AU8830.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hw card $CARD device 1 } PK=]0cards/SI7018.confnu[# # Configuration for the SI7018 chip # # This configuration does not reflect hardware. # SI7018.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] } SI7018.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hooks slave.pcm { type hw card $CARD chmap [ "UNKNOWN" "RL,RR" ] } hooks.0 { type ctl_elems hook_args [ { name "PCM Playback Volume" preserve true lock true value [ 24 24 ] } ] } } SI7018.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.SI7018.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.SI7018.pcm.rear.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } SI7018.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.SI7018.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.SI7018.pcm.rear.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.SI7018.pcm.front.0:CARD=" $CARD ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 channel 1 } ] } SI7018.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" value [ $AES0 $AES1 $AES2 $AES3 ] device 1 lock true preserve true } ] } } PK=]]cards/HDA-Intel.confnu[# # Configuration for the Intel HD audio (ICH6/ICH7) # HDA-Intel.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type softvol slave.pcm { type hw card $CARD subdevice 0 } control { name "PCM Playback Volume" card $CARD } } capture.pcm { type hw card $CARD } } # default with dmix+softvol & dsnoop HDA-Intel.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } control { name "Digital Capture Volume" card $CARD } min_dB -30.0 max_dB 30.0 resolution 121 } # to avoid possible phase inversions with digital mics route_policy copy } hint.device 0 } HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0 HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0 HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0 HDA-Intel.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback Default" index 16 optional true lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" index 16 optional true value true # if this element is present, skip the rest skip_rest true } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" value true } ] } } capture.pcm { type hooks slave.pcm { type hw card $CARD device 1 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Capture Switch" lock true preserve true value true } ] } } hint.device 1 } HDA-Intel.pcm.hdmi.common { @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.DEVICE { type integer } @args.CTLINDEX { type integer } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device $DEVICE } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback Default" index $CTLINDEX lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" index $CTLINDEX value true } ] } hint.device $DEVICE } HDA-Intel.pcm.hdmi.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=3," "CTLINDEX=0," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.1 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=7," "CTLINDEX=1," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.2 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=8," "CTLINDEX=2," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.3 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=9," "CTLINDEX=3," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.4 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=10," "CTLINDEX=4," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.5 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=11," "CTLINDEX=5," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.6 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=12," "CTLINDEX=6," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.7 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=13," "CTLINDEX=7," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.8 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=14," "CTLINDEX=8," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.9 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=15," "CTLINDEX=9," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.hdmi.10 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } @func refer name { @func concat strings [ "cards.HDA-Intel.pcm.hdmi.common:" "CARD=" $CARD "," "DEVICE=16," "CTLINDEX=10," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } HDA-Intel.pcm.modem.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 6 hint.show off } PK=]cards/SB-XFi.confnu[# # Configuration for the SB X-Fi driver # SB-XFi.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 } SB-XFi.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 hint.device 1 } SB-XFi.pcm.center_lfe.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 2 hint.device 2 } SB-XFi.pcm.side.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 3 hint.device 3 } SB-XFi.pcm.surround40.0 cards.SB-XFi.pcm.front.0 SB-XFi.pcm.surround51.0 cards.SB-XFi.pcm.front.0 SB-XFi.pcm.surround71.0 cards.SB-XFi.pcm.front.0 SB-XFi.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type asym playback.pcm { type hooks slave.pcm { type hw card $CARD device 4 } hooks.0 { type ctl_elems hook_args [ { interface PCM name "IEC958 Playback PCM Stream" device 4 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } } hint.device 4 } PK=]y.topology/hda-dsp/skl_hda_dsp_generic-tplg.confnu[ SectionVendorTokens."skl_tokens" { SKL_TKN_UUID "1" SKL_TKN_U8_NUM_BLOCKS "2" SKL_TKN_U8_BLOCK_TYPE "3" SKL_TKN_U8_IN_PIN_TYPE "4" SKL_TKN_U8_OUT_PIN_TYPE "5" SKL_TKN_U8_DYN_IN_PIN "6" SKL_TKN_U8_DYN_OUT_PIN "7" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "9" SKL_TKN_U8_TIME_SLOT "10" SKL_TKN_U8_CORE_ID "11" SKL_TKN_U8_MODULE_TYPE "12" SKL_TKN_U8_CONN_TYPE "13" SKL_TKN_U8_DEV_TYPE "14" SKL_TKN_U8_HW_CONN_TYPE "15" SKL_TKN_U16_MOD_INST_ID "16" SKL_TKN_U16_BLOCK_SIZE "17" SKL_TKN_U32_MAX_MCPS "18" SKL_TKN_U32_MEM_PAGES "19" SKL_TKN_U32_OBS "20" SKL_TKN_U32_IBS "21" SKL_TKN_U32_VBUS_ID "22" SKL_TKN_U32_PARAMS_FIXUP "23" SKL_TKN_U32_CONVERTER "24" SKL_TKN_U32_PIPE_ID "25" SKL_TKN_U32_PIPE_CONN_TYPE "26" SKL_TKN_U32_PIPE_PRIORITY "27" SKL_TKN_U32_PIPE_MEM_PGS "28" SKL_TKN_U32_DIR_PIN_COUNT "29" SKL_TKN_U32_FMT_CH "30" SKL_TKN_U32_FMT_FREQ "31" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "33" SKL_TKN_U32_FMT_CH_CONFIG "34" SKL_TKN_U32_FMT_INTERLEAVE "35" SKL_TKN_U32_FMT_SAMPLE_TYPE "36" SKL_TKN_U32_FMT_CH_MAP "37" SKL_TKN_U32_PIN_MOD_ID "38" SKL_TKN_U32_PIN_INST_ID "39" SKL_TKN_U32_MOD_SET_PARAMS "40" SKL_TKN_U32_MOD_PARAM_ID "41" SKL_TKN_U32_CAPS_SET_PARAMS "42" SKL_TKN_U32_CAPS_PARAMS_ID "43" SKL_TKN_U32_CAPS_SIZE "44" SKL_TKN_U32_PROC_DOMAIN "45" SKL_TKN_U32_LIB_COUNT "46" SKL_TKN_STR_LIB_NAME "47" SKL_TKN_U32_PMODE "48" SKL_TKN_U32_D0I3_CAPS "49" SKL_TKN_U32_DMA_BUF_SIZE "50" SKL_TKN_U32_PIPE_DIRECTION "51" SKL_TKN_U32_PIPE_CONFIG_ID "52" SKL_TKN_U32_NUM_CONFIGS "53" SKL_TKN_U32_PATH_MEM_PGS "54" SKL_TKN_U32_CFG_FREQ "55" SKL_TKN_U8_CFG_CHAN "56" SKL_TKN_U8_CFG_BPS "57" SKL_TKN_CFG_MOD_RES_ID "58" SKL_TKN_CFG_MOD_FMT_ID "59" SKL_TKN_U8_NUM_MOD "60" SKL_TKN_MM_U8_MOD_IDX "61" SKL_TKN_MM_U8_NUM_RES "62" SKL_TKN_MM_U8_NUM_INTF "63" SKL_TKN_MM_U32_RES_ID "64" SKL_TKN_MM_U32_CPS "65" SKL_TKN_MM_U32_DMA_SIZE "66" SKL_TKN_MM_U32_CPC "67" SKL_TKN_MM_U32_RES_PIN_ID "68" SKL_TKN_MM_U32_INTF_PIN_ID "69" SKL_TKN_MM_U32_PIN_BUF "70" SKL_TKN_MM_U32_FMT_ID "71" SKL_TKN_MM_U32_NUM_IN_FMT "72" SKL_TKN_MM_U32_NUM_OUT_FMT "73" SKL_TKN_U32_ASTATE_IDX "74" SKL_TKN_U32_ASTATE_COUNT "75" SKL_TKN_U32_ASTATE_KCPS "76" SKL_TKN_U32_ASTATE_CLK_SRC "77" SKL_TKN_U32_DMACTRL_CFG_IDX "82" SKL_TKN_U32_DMACTRL_CFG_SIZE "83" SKL_TKN_U32_DMA_IDX "84" SKL_TKN_U32_DMA_TYPE "85" SKL_TKN_U32_DMA_SIZE "86" SKL_TKN_U32_DMA_MAX_SIZE "87" SKL_TKN_U32_DMA_MIN_SIZE "88" SKL_TKN_U32_SCH_TYPE "89" SKL_TKN_U32_SCH_SIZE "90" SKL_TKN_U32_SCH_SYS_TICK_MUL "91" SKL_TKN_U32_SCH_SYS_TICK_DIV "92" SKL_TKN_U32_SCH_SYS_TICK_LL_SRC "93" SKL_TKN_U32_SCH_SYS_TICK_CFG_LEN "94" SKL_TKN_U32_SCH_SYS_TICK_CFG "95" SKL_TKN_U32_FMT_CFG_IDX "96" } SectionVendorTuples."mod_type_data_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "6072" } } SectionData."mod_type_data_size_desc" { tuples "mod_type_data_size_desc" } SectionVendorTuples."mod_type_data" { tokens "skl_tokens" tuples."byte.u8_num_mod" { SKL_TKN_U8_NUM_MOD "4" } tuples."uuid.mod_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_mod_type_0" { SKL_TKN_MM_U8_MOD_IDX "0" SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "3" SKL_TKN_MM_U8_NUM_RES "2" SKL_TKN_MM_U8_NUM_INTF "2" } tuples."word.u32_mod_type_0_res_0" { SKL_TKN_MM_U32_RES_ID "0" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "2666000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "0" SKL_TKN_MM_U32_CPC "2666" } tuples."word.u32_mod_type_0_res_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_0_res_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_0_res_1" { SKL_TKN_MM_U32_RES_ID "1" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "2666000" SKL_TKN_U32_IBS "768" SKL_TKN_U32_OBS "768" SKL_TKN_MM_U32_DMA_SIZE "0" SKL_TKN_MM_U32_CPC "2666" } tuples."word.u32_mod_type_0_res_1_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_0_res_1_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_0_intf_0" { SKL_TKN_MM_U32_FMT_ID "0" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_0_intf_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_0_intf_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_0_intf_1" { SKL_TKN_MM_U32_FMT_ID "1" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_0_intf_1_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_0_intf_1_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."uuid.mod_1" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_mod_type_1" { SKL_TKN_MM_U8_MOD_IDX "1" SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_MM_U8_NUM_RES "2" SKL_TKN_MM_U8_NUM_INTF "2" } tuples."word.u32_mod_type_1_res_0" { SKL_TKN_MM_U32_RES_ID "0" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "1521000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "0" SKL_TKN_MM_U32_CPC "1521" } tuples."word.u32_mod_type_1_res_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_1_res_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_1_res_1" { SKL_TKN_MM_U32_RES_ID "1" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "2666000" SKL_TKN_U32_IBS "768" SKL_TKN_U32_OBS "768" SKL_TKN_MM_U32_DMA_SIZE "0" SKL_TKN_MM_U32_CPC "2666" } tuples."word.u32_mod_type_1_res_1_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_1_res_1_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_1_intf_0" { SKL_TKN_MM_U32_FMT_ID "0" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_1_intf_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_1_intf_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_1_intf_1" { SKL_TKN_MM_U32_FMT_ID "1" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_1_intf_1_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_1_intf_1_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."uuid.mod_2" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_mod_type_2" { SKL_TKN_MM_U8_MOD_IDX "2" SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "4" SKL_TKN_MM_U8_NUM_RES "15" SKL_TKN_MM_U8_NUM_INTF "15" } tuples."word.u32_mod_type_2_res_0" { SKL_TKN_MM_U32_RES_ID "0" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "2581000" SKL_TKN_U32_IBS "192" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "384" SKL_TKN_MM_U32_CPC "2581" } tuples."word.u32_mod_type_2_res_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_1" { SKL_TKN_MM_U32_RES_ID "1" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "1000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "1" } tuples."word.u32_mod_type_2_res_1_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_1_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_2" { SKL_TKN_MM_U32_RES_ID "2" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_2_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_2_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_3" { SKL_TKN_MM_U32_RES_ID "3" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "4473000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "4473" } tuples."word.u32_mod_type_2_res_3_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_3_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_4" { SKL_TKN_MM_U32_RES_ID "4" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "1000" SKL_TKN_U32_IBS "192" SKL_TKN_U32_OBS "192" SKL_TKN_MM_U32_DMA_SIZE "384" SKL_TKN_MM_U32_CPC "1" } tuples."word.u32_mod_type_2_res_4_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_4_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_5" { SKL_TKN_MM_U32_RES_ID "5" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "1000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "1" } tuples."word.u32_mod_type_2_res_5_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_5_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_6" { SKL_TKN_MM_U32_RES_ID "6" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "1000" SKL_TKN_U32_IBS "768" SKL_TKN_U32_OBS "768" SKL_TKN_MM_U32_DMA_SIZE "1536" SKL_TKN_MM_U32_CPC "1" } tuples."word.u32_mod_type_2_res_6_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_2_res_6_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_2_res_7" { SKL_TKN_MM_U32_RES_ID "7" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "1000" SKL_TKN_U32_IBS "1536" SKL_TKN_U32_OBS "1536" SKL_TKN_MM_U32_DMA_SIZE "3072" SKL_TKN_MM_U32_CPC "1" } tuples."word.u32_mod_type_2_res_7_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "1536" } tuples."word.u32_mod_type_2_res_7_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "1536" } tuples."word.u32_mod_type_2_res_8" { SKL_TKN_MM_U32_RES_ID "8" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "579000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "192" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "579" } tuples."word.u32_mod_type_2_res_8_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_8_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_9" { SKL_TKN_MM_U32_RES_ID "9" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_9_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_9_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_10" { SKL_TKN_MM_U32_RES_ID "10" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "192" SKL_TKN_U32_OBS "192" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_10_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_10_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_11" { SKL_TKN_MM_U32_RES_ID "11" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "192" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_11_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_11_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_12" { SKL_TKN_MM_U32_RES_ID "12" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "192" SKL_TKN_MM_U32_DMA_SIZE "768" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_12_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_12_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "192" } tuples."word.u32_mod_type_2_res_13" { SKL_TKN_MM_U32_RES_ID "13" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "768" SKL_TKN_MM_U32_DMA_SIZE "1536" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_13_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_res_13_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_2_res_14" { SKL_TKN_MM_U32_RES_ID "14" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "3812000" SKL_TKN_U32_IBS "768" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "1536" SKL_TKN_MM_U32_CPC "3812" } tuples."word.u32_mod_type_2_res_14_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "768" } tuples."word.u32_mod_type_2_res_14_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_2_intf_0" { SKL_TKN_MM_U32_FMT_ID "0" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_1" { SKL_TKN_MM_U32_FMT_ID "1" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_1_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_1_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_2" { SKL_TKN_MM_U32_FMT_ID "2" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_2_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_2_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_3" { SKL_TKN_MM_U32_FMT_ID "3" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_3_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_3_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_4" { SKL_TKN_MM_U32_FMT_ID "4" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_4_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_4_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_5" { SKL_TKN_MM_U32_FMT_ID "5" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_5_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_2_intf_5_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_2_intf_6" { SKL_TKN_MM_U32_FMT_ID "6" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_6_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "6" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "8" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4283707920" } tuples."word.u32_mod_type_2_intf_6_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "6" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "8" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4283707920" } tuples."word.u32_mod_type_2_intf_7" { SKL_TKN_MM_U32_FMT_ID "7" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_7_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "8" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "14" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "1985229328" } tuples."word.u32_mod_type_2_intf_7_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "8" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "14" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "1985229328" } tuples."word.u32_mod_type_2_intf_8" { SKL_TKN_MM_U32_FMT_ID "8" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_8_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_8_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_9" { SKL_TKN_MM_U32_FMT_ID "9" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_9_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_9_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_10" { SKL_TKN_MM_U32_FMT_ID "10" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_10_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_10_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_11" { SKL_TKN_MM_U32_FMT_ID "11" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_11_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_11_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_12" { SKL_TKN_MM_U32_FMT_ID "12" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_12_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_12_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_2_intf_13" { SKL_TKN_MM_U32_FMT_ID "13" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_13_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_2_intf_13_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_2_intf_14" { SKL_TKN_MM_U32_FMT_ID "14" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_2_intf_14_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."word.u32_mod_type_2_intf_14_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "16" SKL_TKN_U32_FMT_CH_CONFIG "5" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "16" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294914576" } tuples."uuid.mod_3" { SKL_TKN_UUID "12, 6, 248, 66, 47, 131, 191, 77, 178, 71, 81, 233, 97, 153, 123, 52" } tuples."byte.u8_mod_type_3" { SKL_TKN_MM_U8_MOD_IDX "3" SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_MM_U8_NUM_RES "1" SKL_TKN_MM_U8_NUM_INTF "1" } tuples."word.u32_mod_type_3_res_0" { SKL_TKN_MM_U32_RES_ID "0" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_MM_U32_CPS "100000" SKL_TKN_U32_IBS "384" SKL_TKN_U32_OBS "384" SKL_TKN_MM_U32_DMA_SIZE "0" SKL_TKN_MM_U32_CPC "2106" } tuples."word.u32_mod_type_3_res_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_3_res_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_RES_PIN_ID "0" SKL_TKN_MM_U32_PIN_BUF "384" } tuples."word.u32_mod_type_3_intf_0" { SKL_TKN_MM_U32_FMT_ID "0" SKL_TKN_MM_U32_NUM_IN_FMT "1" SKL_TKN_MM_U32_NUM_OUT_FMT "1" } tuples."word.u32_mod_type_3_intf_0_input_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } tuples."word.u32_mod_type_3_intf_0_output_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_MM_U32_INTF_PIN_ID "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_CH_CONFIG "1" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "4294967056" } } SectionData."mod_type_data" { tuples "mod_type_data" } SectionVendorTuples."media0_in cpr 0 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media0_in cpr 0 num_desc" { tuples "media0_in cpr 0 num_desc" } SectionVendorTuples."media0_in cpr 0_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "500" } } SectionData."media0_in cpr 0_size_desc" { tuples "media0_in cpr 0_size_desc" } SectionVendorTuples."media0_in cpr 0" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "0" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "8" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "7" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "12, 6, 248, 66, 47, 131, 191, 77, 178, 71, 81, 233, 97, 153, 123, 52" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."media0_in cpr 0" { tuples "media0_in cpr 0" } SectionWidget."media0_in cpr 0" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "media0_in cpr 0 num_desc" "media0_in cpr 0_size_desc" "media0_in cpr 0" ] } SectionVendorTuples."media0_in updwmix 0 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media0_in updwmix 0 num_desc" { tuples "media0_in updwmix 0 num_desc" } SectionVendorTuples."media0_in updwmix 0_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "388" } } SectionData."media0_in updwmix 0_size_desc" { tuples "media0_in updwmix 0_size_desc" } SectionVendorTuples."media0_in updwmix 0" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "12, 6, 248, 66, 47, 131, 191, 77, 178, 71, 81, 233, 97, 153, 123, 52" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "2" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "0" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "8" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } } SectionData."media0_in updwmix 0" { tuples "media0_in updwmix 0" } SectionWidget."media0_in updwmix 0" { index "0" type "pga" no_pm "true" event_type "4" data [ "media0_in updwmix 0 num_desc" "media0_in updwmix 0_size_desc" "media0_in updwmix 0" ] } SectionVendorTuples."media0_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media0_in mi num_desc" { tuples "media0_in mi num_desc" } SectionVendorTuples."media0_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "416" } } SectionData."media0_in mi_size_desc" { tuples "media0_in mi_size_desc" } SectionVendorTuples."media0_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "0" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "8" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "7" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "12, 6, 248, 66, 47, 131, 191, 77, 178, 71, 81, 233, 97, 153, 123, 52" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media0_in mi" { tuples "media0_in mi" } SectionWidget."media0_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "media0_in mi num_desc" "media0_in mi_size_desc" "media0_in mi" ] } SectionVendorTuples."codec0_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec0_out mo num_desc" { tuples "codec0_out mo num_desc" } SectionVendorTuples."codec0_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."codec0_out mo_size_desc" { tuples "codec0_out mo_size_desc" } SectionVendorTuples."codec0_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "1" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "1" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."codec0_out mo" { tuples "codec0_out mo" } SectionWidget."codec0_out mo" { index "0" type "mixer" no_pm "true" subseq "10" event_type "1" event_flags "15" mixer [ "media0_in mi Switch" ] data [ "codec0_out mo num_desc" "codec0_out mo_size_desc" "codec0_out mo" ] } SectionVendorTuples."codec0_out cpr 1 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec0_out cpr 1 num_desc" { tuples "codec0_out cpr 1 num_desc" } SectionVendorTuples."codec0_out cpr 1_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "440" } } SectionData."codec0_out cpr 1_size_desc" { tuples "codec0_out cpr 1_size_desc" } SectionVendorTuples."codec0_out cpr 1" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "1" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "1" SKL_TKN_CFG_MOD_FMT_ID "1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."codec0_out cpr 1" { tuples "codec0_out cpr 1" } SectionWidget."codec0_out cpr 1" { index "0" type "pga" no_pm "true" event_type "4" data [ "codec0_out cpr 1 num_desc" "codec0_out cpr 1_size_desc" "codec0_out cpr 1" ] } SectionWidget."codec0_out" { index "0" type "aif_out" no_pm "true" } SectionVendorTuples."media1_in cpr 2 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media1_in cpr 2 num_desc" { tuples "media1_in cpr 2 num_desc" } SectionVendorTuples."media1_in cpr 2_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "500" } } SectionData."media1_in cpr 2_size_desc" { tuples "media1_in cpr 2_size_desc" } SectionVendorTuples."media1_in cpr 2" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "2" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "1" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."media1_in cpr 2" { tuples "media1_in cpr 2" } SectionWidget."media1_in cpr 2" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "media1_in cpr 2 num_desc" "media1_in cpr 2_size_desc" "media1_in cpr 2" ] } SectionVendorTuples."media1_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media1_in mi num_desc" { tuples "media1_in mi num_desc" } SectionVendorTuples."media1_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "416" } } SectionData."media1_in mi_size_desc" { tuples "media1_in mi_size_desc" } SectionVendorTuples."media1_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "2" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "2" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media1_in mi" { tuples "media1_in mi" } SectionWidget."media1_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "media1_in mi num_desc" "media1_in mi_size_desc" "media1_in mi" ] } SectionVendorTuples."codec1_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec1_out mo num_desc" { tuples "codec1_out mo num_desc" } SectionVendorTuples."codec1_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."codec1_out mo_size_desc" { tuples "codec1_out mo_size_desc" } SectionVendorTuples."codec1_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "3" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "3" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."codec1_out mo" { tuples "codec1_out mo" } SectionWidget."codec1_out mo" { index "0" type "mixer" no_pm "true" subseq "10" event_type "1" event_flags "15" mixer [ "media1_in mi Switch" ] data [ "codec1_out mo num_desc" "codec1_out mo_size_desc" "codec1_out mo" ] } SectionVendorTuples."codec1_out cpr 3 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec1_out cpr 3 num_desc" { tuples "codec1_out cpr 3 num_desc" } SectionVendorTuples."codec1_out cpr 3_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "440" } } SectionData."codec1_out cpr 3_size_desc" { tuples "codec1_out cpr 3_size_desc" } SectionVendorTuples."codec1_out cpr 3" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "3" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "3" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "1" SKL_TKN_CFG_MOD_FMT_ID "1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "1" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."codec1_out cpr 3" { tuples "codec1_out cpr 3" } SectionWidget."codec1_out cpr 3" { index "0" type "pga" no_pm "true" event_type "4" data [ "codec1_out cpr 3 num_desc" "codec1_out cpr 3_size_desc" "codec1_out cpr 3" ] } SectionWidget."codec1_out" { index "0" type "aif_out" no_pm "true" } SectionVendorTuples."media2_in cpr 4 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media2_in cpr 4 num_desc" { tuples "media2_in cpr 4 num_desc" } SectionVendorTuples."media2_in cpr 4_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "500" } } SectionData."media2_in cpr 4_size_desc" { tuples "media2_in cpr 4_size_desc" } SectionVendorTuples."media2_in cpr 4" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "4" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "4" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "2" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."media2_in cpr 4" { tuples "media2_in cpr 4" } SectionWidget."media2_in cpr 4" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "media2_in cpr 4 num_desc" "media2_in cpr 4_size_desc" "media2_in cpr 4" ] } SectionVendorTuples."media2_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media2_in mi num_desc" { tuples "media2_in mi num_desc" } SectionVendorTuples."media2_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "416" } } SectionData."media2_in mi_size_desc" { tuples "media2_in mi_size_desc" } SectionVendorTuples."media2_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "4" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "1" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "4" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media2_in mi" { tuples "media2_in mi" } SectionWidget."media2_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "media2_in mi num_desc" "media2_in mi_size_desc" "media2_in mi" ] } SectionVendorTuples."codec2_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec2_out mo num_desc" { tuples "codec2_out mo num_desc" } SectionVendorTuples."codec2_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."codec2_out mo_size_desc" { tuples "codec2_out mo_size_desc" } SectionVendorTuples."codec2_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "5" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "5" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."codec2_out mo" { tuples "codec2_out mo" } SectionWidget."codec2_out mo" { index "0" type "mixer" no_pm "true" subseq "10" event_type "1" event_flags "15" mixer [ "media2_in mi Switch" ] data [ "codec2_out mo num_desc" "codec2_out mo_size_desc" "codec2_out mo" ] } SectionVendorTuples."codec2_out cpr 5 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec2_out cpr 5 num_desc" { tuples "codec2_out cpr 5 num_desc" } SectionVendorTuples."codec2_out cpr 5_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "440" } } SectionData."codec2_out cpr 5_size_desc" { tuples "codec2_out cpr 5_size_desc" } SectionVendorTuples."codec2_out cpr 5" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "5" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "5" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "1" SKL_TKN_CFG_MOD_FMT_ID "1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "2" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."codec2_out cpr 5" { tuples "codec2_out cpr 5" } SectionWidget."codec2_out cpr 5" { index "0" type "pga" no_pm "true" event_type "4" data [ "codec2_out cpr 5 num_desc" "codec2_out cpr 5_size_desc" "codec2_out cpr 5" ] } SectionWidget."codec2_out" { index "0" type "aif_out" no_pm "true" } SectionVendorTuples."codec0_in cpr 6 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec0_in cpr 6 num_desc" { tuples "codec0_in cpr 6 num_desc" } SectionVendorTuples."codec0_in cpr 6_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "500" } } SectionData."codec0_in cpr 6_size_desc" { tuples "codec0_in cpr 6_size_desc" } SectionVendorTuples."codec0_in cpr 6" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "6" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "6" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "9" SKL_TKN_CFG_MOD_FMT_ID "9" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "3" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."codec0_in cpr 6" { tuples "codec0_in cpr 6" } SectionWidget."codec0_in cpr 6" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "codec0_in cpr 6 num_desc" "codec0_in cpr 6_size_desc" "codec0_in cpr 6" ] } SectionVendorTuples."codec0_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec0_in mi num_desc" { tuples "codec0_in mi num_desc" } SectionVendorTuples."codec0_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "416" } } SectionData."codec0_in mi_size_desc" { tuples "codec0_in mi_size_desc" } SectionVendorTuples."codec0_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "3" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "6" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "6" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."codec0_in mi" { tuples "codec0_in mi" } SectionWidget."codec0_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "codec0_in mi num_desc" "codec0_in mi_size_desc" "codec0_in mi" ] } SectionWidget."codec0_in" { index "0" type "aif_in" no_pm "true" } SectionVendorTuples."media0_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media0_out mo num_desc" { tuples "media0_out mo num_desc" } SectionVendorTuples."media0_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."media0_out mo_size_desc" { tuples "media0_out mo_size_desc" } SectionVendorTuples."media0_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "3" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "7" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "7" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."media0_out mo" { tuples "media0_out mo" } SectionWidget."media0_out mo" { index "0" type "mixer" no_pm "true" subseq "10" event_type "1" event_flags "15" mixer [ "codec0_in mi Switch" ] data [ "media0_out mo num_desc" "media0_out mo_size_desc" "media0_out mo" ] } SectionVendorTuples."media0_out cpr 7 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media0_out cpr 7 num_desc" { tuples "media0_out cpr 7 num_desc" } SectionVendorTuples."media0_out cpr 7_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "440" } } SectionData."media0_out cpr 7_size_desc" { tuples "media0_out cpr 7_size_desc" } SectionVendorTuples."media0_out cpr 7" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "7" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "7" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "8" SKL_TKN_CFG_MOD_FMT_ID "8" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "3" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media0_out cpr 7" { tuples "media0_out cpr 7" } SectionWidget."media0_out cpr 7" { index "0" type "pga" no_pm "true" event_type "4" data [ "media0_out cpr 7 num_desc" "media0_out cpr 7_size_desc" "media0_out cpr 7" ] } SectionVendorTuples."codec1_in cpr 8 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec1_in cpr 8 num_desc" { tuples "codec1_in cpr 8 num_desc" } SectionVendorTuples."codec1_in cpr 8_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "500" } } SectionData."codec1_in cpr 8_size_desc" { tuples "codec1_in cpr 8_size_desc" } SectionVendorTuples."codec1_in cpr 8" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "8" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "8" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "2" SKL_TKN_CFG_MOD_FMT_ID "2" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "4" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."codec1_in cpr 8" { tuples "codec1_in cpr 8" } SectionWidget."codec1_in cpr 8" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "codec1_in cpr 8 num_desc" "codec1_in cpr 8_size_desc" "codec1_in cpr 8" ] } SectionVendorTuples."codec1_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec1_in mi num_desc" { tuples "codec1_in mi num_desc" } SectionVendorTuples."codec1_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "416" } } SectionData."codec1_in mi_size_desc" { tuples "codec1_in mi_size_desc" } SectionVendorTuples."codec1_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "4" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "8" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "8" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."codec1_in mi" { tuples "codec1_in mi" } SectionWidget."codec1_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "codec1_in mi num_desc" "codec1_in mi_size_desc" "codec1_in mi" ] } SectionWidget."codec1_in" { index "0" type "aif_in" no_pm "true" } SectionVendorTuples."media1_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media1_out mo num_desc" { tuples "media1_out mo num_desc" } SectionVendorTuples."media1_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."media1_out mo_size_desc" { tuples "media1_out mo_size_desc" } SectionVendorTuples."media1_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "4" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "9" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "9" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."media1_out mo" { tuples "media1_out mo" } SectionWidget."media1_out mo" { index "0" type "mixer" no_pm "true" subseq "10" event_type "1" event_flags "15" mixer [ "codec1_in mi Switch" ] data [ "media1_out mo num_desc" "media1_out mo_size_desc" "media1_out mo" ] } SectionVendorTuples."media1_out cpr 9 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media1_out cpr 9 num_desc" { tuples "media1_out cpr 9 num_desc" } SectionVendorTuples."media1_out cpr 9_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "440" } } SectionData."media1_out cpr 9_size_desc" { tuples "media1_out cpr 9_size_desc" } SectionVendorTuples."media1_out cpr 9" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "9" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "9" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "3" SKL_TKN_CFG_MOD_FMT_ID "3" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "4" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media1_out cpr 9" { tuples "media1_out cpr 9" } SectionWidget."media1_out cpr 9" { index "0" type "pga" no_pm "true" event_type "4" data [ "media1_out cpr 9 num_desc" "media1_out cpr 9_size_desc" "media1_out cpr 9" ] } SectionVendorTuples."codec2_in cpr 10 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec2_in cpr 10 num_desc" { tuples "codec2_in cpr 10 num_desc" } SectionVendorTuples."codec2_in cpr 10_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "500" } } SectionData."codec2_in cpr 10_size_desc" { tuples "codec2_in cpr 10_size_desc" } SectionVendorTuples."codec2_in cpr 10" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "10" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "10" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "2" SKL_TKN_CFG_MOD_FMT_ID "2" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "5" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."codec2_in cpr 10" { tuples "codec2_in cpr 10" } SectionWidget."codec2_in cpr 10" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "codec2_in cpr 10 num_desc" "codec2_in cpr 10_size_desc" "codec2_in cpr 10" ] } SectionVendorTuples."codec2_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."codec2_in mi num_desc" { tuples "codec2_in mi num_desc" } SectionVendorTuples."codec2_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "416" } } SectionData."codec2_in mi_size_desc" { tuples "codec2_in mi_size_desc" } SectionVendorTuples."codec2_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "5" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "10" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "10" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."codec2_in mi" { tuples "codec2_in mi" } SectionWidget."codec2_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "codec2_in mi num_desc" "codec2_in mi_size_desc" "codec2_in mi" ] } SectionWidget."codec2_in" { index "0" type "aif_in" no_pm "true" } SectionVendorTuples."media2_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media2_out mo num_desc" { tuples "media2_out mo num_desc" } SectionVendorTuples."media2_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."media2_out mo_size_desc" { tuples "media2_out mo_size_desc" } SectionVendorTuples."media2_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "5" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "11" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "11" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."media2_out mo" { tuples "media2_out mo" } SectionWidget."media2_out mo" { index "0" type "mixer" no_pm "true" subseq "10" event_type "1" event_flags "15" mixer [ "codec2_in mi Switch" ] data [ "media2_out mo num_desc" "media2_out mo_size_desc" "media2_out mo" ] } SectionVendorTuples."media2_out cpr 11 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."media2_out cpr 11 num_desc" { tuples "media2_out cpr 11 num_desc" } SectionVendorTuples."media2_out cpr 11_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "440" } } SectionData."media2_out cpr 11_size_desc" { tuples "media2_out cpr 11_size_desc" } SectionVendorTuples."media2_out cpr 11" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "11" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "11" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "1" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "1" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "32" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "24" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "3" SKL_TKN_CFG_MOD_FMT_ID "3" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "5" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media2_out cpr 11" { tuples "media2_out cpr 11" } SectionWidget."media2_out cpr 11" { index "0" type "pga" no_pm "true" event_type "4" data [ "media2_out cpr 11 num_desc" "media2_out cpr 11_size_desc" "media2_out cpr 11" ] } SectionVendorTuples."hdmi1_out cpr 12 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."hdmi1_out cpr 12 num_desc" { tuples "hdmi1_out cpr 12 num_desc" } SectionVendorTuples."hdmi1_out cpr 12_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "788" } } SectionData."hdmi1_out cpr 12_size_desc" { tuples "hdmi1_out cpr 12_size_desc" } SectionVendorTuples."hdmi1_out cpr 12" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "12" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "12" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "4" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "4" SKL_TKN_CFG_MOD_FMT_ID "4" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "5" SKL_TKN_CFG_MOD_FMT_ID "5" } tuples."word._pipe_2" { SKL_TKN_U32_PIPE_CONFIG_ID "2" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."word._pipe_u32_cfg_out_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."short.u16_pipe_mod_cfg_2" { SKL_TKN_CFG_MOD_RES_ID "6" SKL_TKN_CFG_MOD_FMT_ID "6" } tuples."word._pipe_3" { SKL_TKN_U32_PIPE_CONFIG_ID "3" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."word._pipe_u32_cfg_out_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."short.u16_pipe_mod_cfg_3" { SKL_TKN_CFG_MOD_RES_ID "7" SKL_TKN_CFG_MOD_FMT_ID "7" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "13" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."hdmi1_out cpr 12" { tuples "hdmi1_out cpr 12" } SectionWidget."hdmi1_out cpr 12" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi1_out cpr 12 num_desc" "hdmi1_out cpr 12_size_desc" "hdmi1_out cpr 12" ] } SectionVendorTuples."hdmi1_out cpr 13 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."hdmi1_out cpr 13 num_desc" { tuples "hdmi1_out cpr 13 num_desc" } SectionVendorTuples."hdmi1_out cpr 13_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "728" } } SectionData."hdmi1_out cpr 13_size_desc" { tuples "hdmi1_out cpr 13_size_desc" } SectionVendorTuples."hdmi1_out cpr 13" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "13" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "12" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "4" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "4" SKL_TKN_CFG_MOD_FMT_ID "4" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "5" SKL_TKN_CFG_MOD_FMT_ID "5" } tuples."word._pipe_2" { SKL_TKN_U32_PIPE_CONFIG_ID "2" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."word._pipe_u32_cfg_out_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."short.u16_pipe_mod_cfg_2" { SKL_TKN_CFG_MOD_RES_ID "6" SKL_TKN_CFG_MOD_FMT_ID "6" } tuples."word._pipe_3" { SKL_TKN_U32_PIPE_CONFIG_ID "3" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."word._pipe_u32_cfg_out_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."short.u16_pipe_mod_cfg_3" { SKL_TKN_CFG_MOD_RES_ID "7" SKL_TKN_CFG_MOD_FMT_ID "7" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "12" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."hdmi1_out cpr 13" { tuples "hdmi1_out cpr 13" } SectionWidget."hdmi1_out cpr 13" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "hdmi1_out cpr 13 num_desc" "hdmi1_out cpr 13_size_desc" "hdmi1_out cpr 13" ] } SectionControlEnum."hdmi1_out pcm cfg" { texts "enum_hdmi1_out pcm cfg" index "0" ops."ctl" { get "259" put "259" info "4" } access [ "read" "write" "read_write" ] data "hdmi1_out pcm cfg" } SectionText."enum_hdmi1_out pcm cfg" { values [ "IN:f48000-c2-b16 OUT:f48000-c2-b16" "IN:f48000-c4-b16 OUT:f48000-c4-b16" "IN:f48000-c6-b16 OUT:f48000-c6-b16" "IN:f48000-c8-b16 OUT:f48000-c8-b16" ] } SectionData."hdmi1_out pcm cfg" { bytes "0x0C, 0x00, 0x00, 0x00" } SectionWidget."iDisp1_out" { index "0" type "aif_out" no_pm "true" } SectionVendorTuples."hdmi2_out cpr 14 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."hdmi2_out cpr 14 num_desc" { tuples "hdmi2_out cpr 14 num_desc" } SectionVendorTuples."hdmi2_out cpr 14_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "788" } } SectionData."hdmi2_out cpr 14_size_desc" { tuples "hdmi2_out cpr 14_size_desc" } SectionVendorTuples."hdmi2_out cpr 14" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "14" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "13" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "4" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "4" SKL_TKN_CFG_MOD_FMT_ID "4" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "5" SKL_TKN_CFG_MOD_FMT_ID "5" } tuples."word._pipe_2" { SKL_TKN_U32_PIPE_CONFIG_ID "2" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."word._pipe_u32_cfg_out_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."short.u16_pipe_mod_cfg_2" { SKL_TKN_CFG_MOD_RES_ID "6" SKL_TKN_CFG_MOD_FMT_ID "6" } tuples."word._pipe_3" { SKL_TKN_U32_PIPE_CONFIG_ID "3" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."word._pipe_u32_cfg_out_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."short.u16_pipe_mod_cfg_3" { SKL_TKN_CFG_MOD_RES_ID "7" SKL_TKN_CFG_MOD_FMT_ID "7" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "15" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."hdmi2_out cpr 14" { tuples "hdmi2_out cpr 14" } SectionWidget."hdmi2_out cpr 14" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi2_out cpr 14 num_desc" "hdmi2_out cpr 14_size_desc" "hdmi2_out cpr 14" ] } SectionVendorTuples."hdmi2_out cpr 15 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."hdmi2_out cpr 15 num_desc" { tuples "hdmi2_out cpr 15 num_desc" } SectionVendorTuples."hdmi2_out cpr 15_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "728" } } SectionData."hdmi2_out cpr 15_size_desc" { tuples "hdmi2_out cpr 15_size_desc" } SectionVendorTuples."hdmi2_out cpr 15" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "15" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "13" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "4" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "4" SKL_TKN_CFG_MOD_FMT_ID "4" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "5" SKL_TKN_CFG_MOD_FMT_ID "5" } tuples."word._pipe_2" { SKL_TKN_U32_PIPE_CONFIG_ID "2" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."word._pipe_u32_cfg_out_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."short.u16_pipe_mod_cfg_2" { SKL_TKN_CFG_MOD_RES_ID "6" SKL_TKN_CFG_MOD_FMT_ID "6" } tuples."word._pipe_3" { SKL_TKN_U32_PIPE_CONFIG_ID "3" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."word._pipe_u32_cfg_out_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."short.u16_pipe_mod_cfg_3" { SKL_TKN_CFG_MOD_RES_ID "7" SKL_TKN_CFG_MOD_FMT_ID "7" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "14" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."hdmi2_out cpr 15" { tuples "hdmi2_out cpr 15" } SectionWidget."hdmi2_out cpr 15" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "hdmi2_out cpr 15 num_desc" "hdmi2_out cpr 15_size_desc" "hdmi2_out cpr 15" ] } SectionControlEnum."hdmi2_out pcm cfg" { texts "enum_hdmi2_out pcm cfg" index "0" ops."ctl" { get "259" put "259" info "4" } access [ "read" "write" "read_write" ] data "hdmi2_out pcm cfg" } SectionText."enum_hdmi2_out pcm cfg" { values [ "IN:f48000-c2-b16 OUT:f48000-c2-b16" "IN:f48000-c4-b16 OUT:f48000-c4-b16" "IN:f48000-c6-b16 OUT:f48000-c6-b16" "IN:f48000-c8-b16 OUT:f48000-c8-b16" ] } SectionData."hdmi2_out pcm cfg" { bytes "0x0D, 0x00, 0x00, 0x00" } SectionWidget."iDisp2_out" { index "0" type "aif_out" no_pm "true" } SectionVendorTuples."hdmi3_out cpr 16 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."hdmi3_out cpr 16 num_desc" { tuples "hdmi3_out cpr 16 num_desc" } SectionVendorTuples."hdmi3_out cpr 16_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "788" } } SectionData."hdmi3_out cpr 16_size_desc" { tuples "hdmi3_out cpr 16_size_desc" } SectionVendorTuples."hdmi3_out cpr 16" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "16" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "14" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "4" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "4" SKL_TKN_CFG_MOD_FMT_ID "4" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "5" SKL_TKN_CFG_MOD_FMT_ID "5" } tuples."word._pipe_2" { SKL_TKN_U32_PIPE_CONFIG_ID "2" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."word._pipe_u32_cfg_out_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."short.u16_pipe_mod_cfg_2" { SKL_TKN_CFG_MOD_RES_ID "6" SKL_TKN_CFG_MOD_FMT_ID "6" } tuples."word._pipe_3" { SKL_TKN_U32_PIPE_CONFIG_ID "3" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."word._pipe_u32_cfg_out_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."short.u16_pipe_mod_cfg_3" { SKL_TKN_CFG_MOD_RES_ID "7" SKL_TKN_CFG_MOD_FMT_ID "7" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "17" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."hdmi3_out cpr 16" { tuples "hdmi3_out cpr 16" } SectionWidget."hdmi3_out cpr 16" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi3_out cpr 16 num_desc" "hdmi3_out cpr 16_size_desc" "hdmi3_out cpr 16" ] } SectionVendorTuples."hdmi3_out cpr 17 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."hdmi3_out cpr 17 num_desc" { tuples "hdmi3_out cpr 17 num_desc" } SectionVendorTuples."hdmi3_out cpr 17_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "728" } } SectionData."hdmi3_out cpr 17_size_desc" { tuples "hdmi3_out cpr 17_size_desc" } SectionVendorTuples."hdmi3_out cpr 17" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "17" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "14" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "0" SKL_TKN_U32_NUM_CONFIGS "4" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "4" SKL_TKN_CFG_MOD_FMT_ID "4" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "5" SKL_TKN_CFG_MOD_FMT_ID "5" } tuples."word._pipe_2" { SKL_TKN_U32_PIPE_CONFIG_ID "2" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."word._pipe_u32_cfg_out_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_2" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "6" } tuples."short.u16_pipe_mod_cfg_2" { SKL_TKN_CFG_MOD_RES_ID "6" SKL_TKN_CFG_MOD_FMT_ID "6" } tuples."word._pipe_3" { SKL_TKN_U32_PIPE_CONFIG_ID "3" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."word._pipe_u32_cfg_out_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_3" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "8" } tuples."short.u16_pipe_mod_cfg_3" { SKL_TKN_CFG_MOD_RES_ID "7" SKL_TKN_CFG_MOD_FMT_ID "7" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "16" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."hdmi3_out cpr 17" { tuples "hdmi3_out cpr 17" } SectionWidget."hdmi3_out cpr 17" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "hdmi3_out cpr 17 num_desc" "hdmi3_out cpr 17_size_desc" "hdmi3_out cpr 17" ] } SectionControlEnum."hdmi3_out pcm cfg" { texts "enum_hdmi3_out pcm cfg" index "0" ops."ctl" { get "259" put "259" info "4" } access [ "read" "write" "read_write" ] data "hdmi3_out pcm cfg" } SectionText."enum_hdmi3_out pcm cfg" { values [ "IN:f48000-c2-b16 OUT:f48000-c2-b16" "IN:f48000-c4-b16 OUT:f48000-c4-b16" "IN:f48000-c6-b16 OUT:f48000-c6-b16" "IN:f48000-c8-b16 OUT:f48000-c8-b16" ] } SectionData."hdmi3_out pcm cfg" { bytes "0x0E, 0x00, 0x00, 0x00" } SectionWidget."iDisp3_out" { index "0" type "aif_out" no_pm "true" } SectionVendorTuples."mch_cap_in cpr 18 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."mch_cap_in cpr 18 num_desc" { tuples "mch_cap_in cpr 18 num_desc" } SectionVendorTuples."mch_cap_in cpr 18_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "596" } } SectionData."mch_cap_in cpr 18_size_desc" { tuples "mch_cap_in cpr 18_size_desc" } SectionVendorTuples."mch_cap_in cpr 18" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "1" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "18" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "0" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "15" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "2" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "11" SKL_TKN_CFG_MOD_FMT_ID "11" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "13" SKL_TKN_CFG_MOD_FMT_ID "13" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "6" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_1" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_2" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."uuid.out_pin_3" { SKL_TKN_UUID "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" } } SectionData."mch_cap_in cpr 18" { tuples "mch_cap_in cpr 18" } SectionWidget."mch_cap_in cpr 18" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" data [ "mch_cap_in cpr 18 num_desc" "mch_cap_in cpr 18_size_desc" "mch_cap_in cpr 18" ] } SectionVendorTuples."mch_cap_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."mch_cap_in mi num_desc" { tuples "mch_cap_in mi num_desc" } SectionVendorTuples."mch_cap_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "512" } } SectionData."mch_cap_in mi_size_desc" { tuples "mch_cap_in mi_size_desc" } SectionVendorTuples."mch_cap_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "6" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "15" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "2" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "1" SKL_TKN_CFG_MOD_FMT_ID "1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "18" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."mch_cap_in mi" { tuples "mch_cap_in mi" } SectionWidget."mch_cap_in mi" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "mch_cap_in mi num_desc" "mch_cap_in mi_size_desc" "mch_cap_in mi" ] } SectionControlEnum."mch_cap_in pcm cfg" { texts "enum_mch_cap_in pcm cfg" index "0" ops."ctl" { get "260" put "260" info "4" } access [ "read" ] data "mch_cap_in pcm cfg" } SectionText."enum_mch_cap_in pcm cfg" { values [ "IN:f48000-c2-b16 OUT:f48000-c2-b16" "IN:f48000-c4-b16 OUT:f48000-c4-b16" ] } SectionData."mch_cap_in pcm cfg" { bytes "0x0F, 0x00, 0x00, 0x00" } SectionWidget."DMIC01 Rx" { index "0" type "aif_in" no_pm "true" } SectionVendorTuples."mch_cap_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."mch_cap_out mo num_desc" { tuples "mch_cap_out mo num_desc" } SectionVendorTuples."mch_cap_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "632" } } SectionData."mch_cap_out mo_size_desc" { tuples "mch_cap_out mo_size_desc" } SectionVendorTuples."mch_cap_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "0" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "6" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "16" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "2" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "0" SKL_TKN_CFG_MOD_FMT_ID "0" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "1" SKL_TKN_CFG_MOD_FMT_ID "1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "2" SKL_TKN_U32_PIN_INST_ID "19" } tuples."uuid.out_pin_0" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } } SectionData."mch_cap_out mo" { tuples "mch_cap_out mo" } SectionWidget."mch_cap_out mo" { index "0" type "mixer" no_pm "true" event_type "3" event_flags "9" mixer [ "mch_cap_in mi Switch" ] data [ "mch_cap_out mo num_desc" "mch_cap_out mo_size_desc" "mch_cap_out mo" ] } SectionVendorTuples."mch_cap_out cpr 19 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."mch_cap_out cpr 19 num_desc" { tuples "mch_cap_out cpr 19 num_desc" } SectionVendorTuples."mch_cap_out cpr 19_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type" { SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc" { SKL_TKN_U16_BLOCK_SIZE "536" } } SectionData."mch_cap_out cpr 19_size_desc" { tuples "mch_cap_out cpr 19_size_desc" } SectionVendorTuples."mch_cap_out cpr 19" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_DYN_IN_PIN "0" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "19" } tuples."word.u32_data" { SKL_TKN_U32_VBUS_ID "4294967295" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "16" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PMODE "0" SKL_TKN_U32_D0I3_CAPS "0" SKL_TKN_U32_PROC_DOMAIN "0" SKL_TKN_U32_PIPE_DIRECTION "1" SKL_TKN_U32_NUM_CONFIGS "2" SKL_TKN_U32_DMA_BUF_SIZE "2" } tuples."word._pipe_0" { SKL_TKN_U32_PIPE_CONFIG_ID "0" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."word._pipe_u32_cfg_out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_0" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "2" } tuples."short.u16_pipe_mod_cfg_0" { SKL_TKN_CFG_MOD_RES_ID "12" SKL_TKN_CFG_MOD_FMT_ID "12" } tuples."word._pipe_1" { SKL_TKN_U32_PIPE_CONFIG_ID "1" SKL_TKN_U32_PATH_MEM_PGS "2" } tuples."word._pipe_u32_cfg_in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_in_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."word._pipe_u32_cfg_out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_CFG_FREQ "48000" } tuples."word._pipe_u8_cfg_out_fmt_1" { SKL_TKN_U8_CFG_BPS "16" SKL_TKN_U8_CFG_CHAN "4" } tuples."short.u16_pipe_mod_cfg_1" { SKL_TKN_CFG_MOD_RES_ID "14" SKL_TKN_CFG_MOD_FMT_ID "14" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "1" SKL_TKN_U32_PIN_INST_ID "6" } tuples."uuid.in_pin_0" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "33" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "49" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."mch_cap_out cpr 19" { tuples "mch_cap_out cpr 19" } SectionWidget."mch_cap_out cpr 19" { index "0" type "pga" no_pm "true" subseq "10" event_type "4" event_flags "9" data [ "mch_cap_out cpr 19 num_desc" "mch_cap_out cpr 19_size_desc" "mch_cap_out cpr 19" ] } SectionControlEnum."mch_cap_out pcm cfg" { texts "enum_mch_cap_out pcm cfg" index "0" ops."ctl" { get "260" put "260" info "4" } access [ "read" ] data "mch_cap_out pcm cfg" } SectionText."enum_mch_cap_out pcm cfg" { values [ "IN:f48000-c2-b16 OUT:f48000-c2-b16" "IN:f48000-c4-b16 OUT:f48000-c4-b16" ] } SectionData."mch_cap_out pcm cfg" { bytes "0x10, 0x00, 0x00, 0x00" } SectionControlMixer."media0_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionControlMixer."media1_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionControlMixer."media2_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionControlMixer."codec0_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionControlMixer."codec1_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionControlMixer."codec2_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionControlMixer."mch_cap_in mi Switch" { max "1" invert "false" index "0" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "1" } } SectionGraph."Pipeline 1 Graph" { index "0" lines [ "media0_in cpr 0, , hda-dsp-analog-playback" "media0_in updwmix 0, , media0_in cpr 0" "media0_in mi, , media0_in updwmix 0" "codec0_out cpr 1, , codec0_out mo" "codec0_out, , codec0_out cpr 1" "media1_in cpr 2, , hda-dsp-digital-playback" "media1_in mi, , media1_in cpr 2" "codec1_out cpr 3, , codec1_out mo" "codec1_out, , codec1_out cpr 3" "media2_in cpr 4, , hda-dsp-alt-analog-playback" "media2_in mi, , media2_in cpr 4" "codec2_out cpr 5, , codec2_out mo" "codec2_out, , codec2_out cpr 5" "codec0_in cpr 6, , codec0_in" "codec0_in mi, , codec0_in cpr 6" "media0_out cpr 7, , media0_out mo" "hda-dsp-audio-analog-capture, , media0_out cpr 7" "codec1_in cpr 8, , codec1_in" "codec1_in mi, , codec1_in cpr 8" "media1_out cpr 9, , media1_out mo" "hda-dsp-audio-digital-capture, , media1_out cpr 9" "codec2_in cpr 10, , codec2_in" "codec2_in mi, , codec2_in cpr 10" "media2_out cpr 11, , media2_out mo" "hda-dsp-audio-alt-analog-capture, , media2_out cpr 11" "hdmi1_out cpr 12, , HDMI1 Playback" "hdmi1_out cpr 13, , hdmi1_out cpr 12" "iDisp1_out, , hdmi1_out cpr 13" "hdmi2_out cpr 14, , HDMI2 Playback" "hdmi2_out cpr 15, , hdmi2_out cpr 14" "iDisp2_out, , hdmi2_out cpr 15" "hdmi3_out cpr 16, , HDMI3 Playback" "hdmi3_out cpr 17, , hdmi3_out cpr 16" "iDisp3_out, , hdmi3_out cpr 17" "mch_cap_in cpr 18, , DMIC01 Rx" "mch_cap_in mi, , mch_cap_in cpr 18" "mch_cap_out cpr 19, , mch_cap_out mo" "DMIC-Capture, , mch_cap_out cpr 19" "codec0_out mo, media0_in mi Switch, media0_in mi" "codec1_out mo, media1_in mi Switch, media1_in mi" "codec2_out mo, media2_in mi Switch, media2_in mi" "media0_out mo, codec0_in mi Switch, codec0_in mi" "media1_out mo, codec1_in mi Switch, codec1_in mi" "media2_out mo, codec2_in mi Switch, codec2_in mi" "mch_cap_out mo, mch_cap_in mi Switch, mch_cap_in mi" ] } SectionPCMCapabilities."hda-dsp-analog-playback" { formats "S16_LE" rates "48000" channels_min "2" channels_max "2" sig_bits "16" } SectionPCMCapabilities."hda-dsp-audio-analog-capture" { formats "S16_LE" rates "48000" channels_min "2" channels_max "2" sig_bits "16" } SectionPCM."Analog HDA DSP" { index "0" id "0" dai."hda-dsp-analog-dai" { id "0" } pcm."playback" { capabilities "hda-dsp-analog-playback" } pcm."capture" { capabilities "hda-dsp-audio-analog-capture" } } SectionPCMCapabilities."hda-dsp-digital-playback" { formats "S16_LE" rates "48000" channels_min "2" channels_max "2" sig_bits "16" } SectionPCMCapabilities."hda-dsp-audio-digital-capture" { formats "S24_LE" rates "48000" channels_min "2" channels_max "2" sig_bits "24" } SectionPCM."Digital HDA DSP" { index "0" id "0" dai."hda-dsp-digital-dai" { id "1" } pcm."playback" { capabilities "hda-dsp-digital-playback" } pcm."capture" { capabilities "hda-dsp-audio-digital-capture" } } SectionPCMCapabilities."hda-dsp-alt-analog-playback" { formats "S16_LE" rates "48000" channels_min "2" channels_max "2" sig_bits "16" } SectionPCMCapabilities."hda-dsp-audio-alt-analog-capture" { formats "S24_LE" rates "48000" channels_min "2" channels_max "2" sig_bits "24" } SectionPCM."Alt Analog HDA DSP" { index "0" id "0" dai."hda-dsp-alt-analog-dai" { id "2" } pcm."playback" { capabilities "hda-dsp-alt-analog-playback" } pcm."capture" { capabilities "hda-dsp-audio-alt-analog-capture" } } SectionPCMCapabilities."HDMI1 Playback" { formats "S16_LE" rates "48000" channels_min "2" channels_max "8" sig_bits "16" } SectionPCM."HDA DSP HDMI1" { index "0" id "255" dai."hdmi1" { id "3" } pcm."playback" { capabilities "HDMI1 Playback" } } SectionPCMCapabilities."HDMI2 Playback" { formats "S16_LE" rates "48000" channels_min "2" channels_max "8" sig_bits "16" } SectionPCM."HDA DSP HDMI2" { index "0" id "255" dai."hdmi2" { id "4" } pcm."playback" { capabilities "HDMI2 Playback" } } SectionPCMCapabilities."HDMI3 Playback" { formats "S16_LE" rates "48000" channels_min "2" channels_max "8" sig_bits "16" } SectionPCM."HDA DSP HDMI3" { index "0" id "255" dai."hdmi3" { id "5" } pcm."playback" { capabilities "HDMI3 Playback" } } SectionPCMCapabilities."DMIC-Capture" { formats "S16_LE" rates "48000" channels_min "2" channels_max "4" sig_bits "16" } SectionPCM."DMIC1" { index "0" id "0" dai."hda-dsp-dmic-dai" { id "6" } pcm."capture" { capabilities "DMIC-Capture" } } SectionVendorTuples."manifest_data num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionData."manifest_data num_desc" { tuples "manifest_data num_desc" } SectionManifest."manifest_data" { data [ "manifest_data num_desc" "mod_type_data_size_desc" "mod_type_data" ] } PK=]3""topology/bxtrt298/bxt_i2s.confnu[SectionVendorTokens."skl_tokens" { SKL_TKN_UUID "1" SKL_TKN_U8_NUM_BLOCKS "2" SKL_TKN_U8_BLOCK_TYPE "3" SKL_TKN_U8_IN_PIN_TYPE "4" SKL_TKN_U8_OUT_PIN_TYPE "5" SKL_TKN_U8_DYN_IN_PIN "6" SKL_TKN_U8_DYN_OUT_PIN "7" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "9" SKL_TKN_U8_TIME_SLOT "10" SKL_TKN_U8_CORE_ID "11" SKL_TKN_U8_MODULE_TYPE "12" SKL_TKN_U8_CONN_TYPE "13" SKL_TKN_U8_DEV_TYPE "14" SKL_TKN_U8_HW_CONN_TYPE "15" SKL_TKN_U16_MOD_INST_ID "16" SKL_TKN_U16_BLOCK_SIZE "17" SKL_TKN_U32_MAX_MCPS "18" SKL_TKN_U32_MEM_PAGES "19" SKL_TKN_U32_OBS "20" SKL_TKN_U32_IBS "21" SKL_TKN_U32_VBUS_ID "22" SKL_TKN_U32_PARAMS_FIXUP "23" SKL_TKN_U32_CONVERTER "24" SKL_TKN_U32_PIPE_ID "25" SKL_TKN_U32_PIPE_CONN_TYPE "26" SKL_TKN_U32_PIPE_PRIORITY "27" SKL_TKN_U32_PIPE_MEM_PGS "28" SKL_TKN_U32_DIR_PIN_COUNT "29" SKL_TKN_U32_FMT_CH "30" SKL_TKN_U32_FMT_FREQ "31" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "33" SKL_TKN_U32_FMT_CH_CONFIG "34" SKL_TKN_U32_FMT_INTERLEAVE "35" SKL_TKN_U32_FMT_SAMPLE_TYPE "36" SKL_TKN_U32_FMT_CH_MAP "37" SKL_TKN_U32_PIN_MOD_ID "38" SKL_TKN_U32_PIN_INST_ID "39" SKL_TKN_U32_MOD_SET_PARAMS "40" SKL_TKN_U32_MOD_PARAM_ID "41" SKL_TKN_U32_CAPS_SET_PARAMS "42" SKL_TKN_U32_CAPS_PARAMS_ID "43" SKL_TKN_U32_CAPS_SIZE "44" SKL_TKN_U32_PROC_DOMAIN "45" SKL_TKN_U32_LIB_COUNT "46" SKL_TKN_STR_LIB_NAME "47" } SectionVendorTuples."media0_in cpr 0 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_in cpr 0_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."media0_in cpr 0" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "1" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."media0_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "420" } } SectionVendorTuples."media0_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "1" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_in cpr 1 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_in cpr 1_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."codec0_in cpr 1" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "2" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x5" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "2" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "420" } } SectionVendorTuples."codec0_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "2" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "1092" } } SectionVendorTuples."codec0_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "3" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_out cpr 2 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_out cpr 2_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."codec0_out cpr 2" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "2" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x5" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "3" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."media0_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "1092" } } SectionVendorTuples."media0_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "4" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."media0_out cpr 3 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_out cpr 3_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."media0_out cpr 3" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "3" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "4" SKL_TKN_U32_CONVERTER "4" SKL_TKN_U32_PIPE_ID "4" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."dmic01_hifi_in cpr 4 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."dmic01_hifi_in cpr 4_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."dmic01_hifi_in cpr 4" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "1" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "4" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x0" SKL_TKN_U32_PARAMS_FIXUP "4" SKL_TKN_U32_CONVERTER "4" SKL_TKN_U32_PIPE_ID "5" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."dmic01_hifi_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."dmic01_hifi_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "420" } } SectionVendorTuples."dmic01_hifi_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "5" SKL_TKN_U32_PIPE_CONN_TYPE "0" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec1_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec1_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "1092" } } SectionVendorTuples."codec1_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "6" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec1_out cpr 5 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec1_out cpr 5_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."codec1_out cpr 5" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "2" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "5" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x5" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "6" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi1_pt_out cpr 6 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi1_pt_out cpr 6_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."hdmi1_pt_out cpr 6" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "6" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "7" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi1_pt_out cpr 7 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi1_pt_out cpr 7_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."hdmi1_pt_out cpr 7" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "7" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "7" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi2_pt_out cpr 8 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi2_pt_out cpr 8_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."hdmi2_pt_out cpr 8" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "8" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "8" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi2_pt_out cpr 9 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi2_pt_out cpr 9_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."hdmi2_pt_out cpr 9" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "9" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "8" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi3_pt_out cpr 10 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi3_pt_out cpr 10_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."hdmi3_pt_out cpr 10" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "10" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "9" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi3_pt_out cpr 11 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi3_pt_out cpr 11_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."hdmi3_pt_out cpr 11" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "11" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "9" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."mch_cap_in cpr 12 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."mch_cap_in cpr 12_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."mch_cap_in cpr 12" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "1" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "12" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "200000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "768" SKL_TKN_U32_IBS "768" SKL_TKN_U32_VBUS_ID "0x0" SKL_TKN_U32_PARAMS_FIXUP "4" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "10" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffff4320" SKL_TKN_U32_FMT_CH_CONFIG "0x5" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffff4320" SKL_TKN_U32_FMT_CH_CONFIG "0x5" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffff4320" SKL_TKN_U32_FMT_CH_CONFIG "0x5" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."mch_cap_in cpr 13 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."mch_cap_in cpr 13_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "516" } } SectionVendorTuples."mch_cap_in cpr 13" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "13" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "768" SKL_TKN_U32_IBS "768" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "4" SKL_TKN_U32_CONVERTER "4" SKL_TKN_U32_PIPE_ID "10" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" SKL_TKN_U32_PROC_DOMAIN "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffff4320" SKL_TKN_U32_FMT_CH_CONFIG "0x5" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffff4320" SKL_TKN_U32_FMT_CH_CONFIG "0x5" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "4" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffff4320" SKL_TKN_U32_FMT_CH_CONFIG "0x5" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."lib_data num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."lib_data_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "56" } } SectionVendorTuples."lib_data" { tokens "skl_tokens" tuples."word.lib_name" { SKL_TKN_U32_LIB_COUNT "1" } tuples."string.lib_name_0" { SKL_TKN_STR_LIB_NAME "base_fw" } } SectionData."media0_in cpr 0 num_desc" { tuples "media0_in cpr 0 num_desc" } SectionData."media0_in cpr 0_size_desc" { tuples "media0_in cpr 0_size_desc" } SectionData."media0_in cpr 0" { tuples "media0_in cpr 0" } SectionData."media0_in mi num_desc" { tuples "media0_in mi num_desc" } SectionData."media0_in mi_size_desc" { tuples "media0_in mi_size_desc" } SectionData."media0_in mi" { tuples "media0_in mi" } SectionData."codec0_in cpr 1 num_desc" { tuples "codec0_in cpr 1 num_desc" } SectionData."codec0_in cpr 1_size_desc" { tuples "codec0_in cpr 1_size_desc" } SectionData."codec0_in cpr 1" { tuples "codec0_in cpr 1" } SectionData."codec0_in mi num_desc" { tuples "codec0_in mi num_desc" } SectionData."codec0_in mi_size_desc" { tuples "codec0_in mi_size_desc" } SectionData."codec0_in mi" { tuples "codec0_in mi" } SectionData."codec0_out mo num_desc" { tuples "codec0_out mo num_desc" } SectionData."codec0_out mo_size_desc" { tuples "codec0_out mo_size_desc" } SectionData."codec0_out mo" { tuples "codec0_out mo" } SectionData."codec0_out cpr 2 num_desc" { tuples "codec0_out cpr 2 num_desc" } SectionData."codec0_out cpr 2_size_desc" { tuples "codec0_out cpr 2_size_desc" } SectionData."codec0_out cpr 2" { tuples "codec0_out cpr 2" } SectionData."media0_out mo num_desc" { tuples "media0_out mo num_desc" } SectionData."media0_out mo_size_desc" { tuples "media0_out mo_size_desc" } SectionData."media0_out mo" { tuples "media0_out mo" } SectionData."media0_out cpr 3 num_desc" { tuples "media0_out cpr 3 num_desc" } SectionData."media0_out cpr 3_size_desc" { tuples "media0_out cpr 3_size_desc" } SectionData."media0_out cpr 3" { tuples "media0_out cpr 3" } SectionData."dmic01_hifi_in cpr 4 num_desc" { tuples "dmic01_hifi_in cpr 4 num_desc" } SectionData."dmic01_hifi_in cpr 4_size_desc" { tuples "dmic01_hifi_in cpr 4_size_desc" } SectionData."dmic01_hifi_in cpr 4" { tuples "dmic01_hifi_in cpr 4" } SectionData."dmic01_hifi_in mi num_desc" { tuples "dmic01_hifi_in mi num_desc" } SectionData."dmic01_hifi_in mi_size_desc" { tuples "dmic01_hifi_in mi_size_desc" } SectionData."dmic01_hifi_in mi" { tuples "dmic01_hifi_in mi" } SectionData."codec1_out mo num_desc" { tuples "codec1_out mo num_desc" } SectionData."codec1_out mo_size_desc" { tuples "codec1_out mo_size_desc" } SectionData."codec1_out mo" { tuples "codec1_out mo" } SectionData."codec1_out cpr 5 num_desc" { tuples "codec1_out cpr 5 num_desc" } SectionData."codec1_out cpr 5_size_desc" { tuples "codec1_out cpr 5_size_desc" } SectionData."codec1_out cpr 5" { tuples "codec1_out cpr 5" } SectionData."hdmi1_pt_out cpr 6 num_desc" { tuples "hdmi1_pt_out cpr 6 num_desc" } SectionData."hdmi1_pt_out cpr 6_size_desc" { tuples "hdmi1_pt_out cpr 6_size_desc" } SectionData."hdmi1_pt_out cpr 6" { tuples "hdmi1_pt_out cpr 6" } SectionData."hdmi1_pt_out cpr 7 num_desc" { tuples "hdmi1_pt_out cpr 7 num_desc" } SectionData."hdmi1_pt_out cpr 7_size_desc" { tuples "hdmi1_pt_out cpr 7_size_desc" } SectionData."hdmi1_pt_out cpr 7" { tuples "hdmi1_pt_out cpr 7" } SectionData."hdmi2_pt_out cpr 8 num_desc" { tuples "hdmi2_pt_out cpr 8 num_desc" } SectionData."hdmi2_pt_out cpr 8_size_desc" { tuples "hdmi2_pt_out cpr 8_size_desc" } SectionData."hdmi2_pt_out cpr 8" { tuples "hdmi2_pt_out cpr 8" } SectionData."hdmi2_pt_out cpr 9 num_desc" { tuples "hdmi2_pt_out cpr 9 num_desc" } SectionData."hdmi2_pt_out cpr 9_size_desc" { tuples "hdmi2_pt_out cpr 9_size_desc" } SectionData."hdmi2_pt_out cpr 9" { tuples "hdmi2_pt_out cpr 9" } SectionData."hdmi3_pt_out cpr 10 num_desc" { tuples "hdmi3_pt_out cpr 10 num_desc" } SectionData."hdmi3_pt_out cpr 10_size_desc" { tuples "hdmi3_pt_out cpr 10_size_desc" } SectionData."hdmi3_pt_out cpr 10" { tuples "hdmi3_pt_out cpr 10" } SectionData."hdmi3_pt_out cpr 11 num_desc" { tuples "hdmi3_pt_out cpr 11 num_desc" } SectionData."hdmi3_pt_out cpr 11_size_desc" { tuples "hdmi3_pt_out cpr 11_size_desc" } SectionData."hdmi3_pt_out cpr 11" { tuples "hdmi3_pt_out cpr 11" } SectionData."mch_cap_in cpr 12 num_desc" { tuples "mch_cap_in cpr 12 num_desc" } SectionData."mch_cap_in cpr 12_size_desc" { tuples "mch_cap_in cpr 12_size_desc" } SectionData."mch_cap_in cpr 12" { tuples "mch_cap_in cpr 12" } SectionData."mch_cap_in cpr 13 num_desc" { tuples "mch_cap_in cpr 13 num_desc" } SectionData."mch_cap_in cpr 13_size_desc" { tuples "mch_cap_in cpr 13_size_desc" } SectionData."mch_cap_in cpr 13" { tuples "mch_cap_in cpr 13" } SectionData."lib_data num_desc" { tuples "lib_data num_desc" } SectionData."lib_data_size_desc" { tuples "lib_data_size_desc" } SectionData."lib_data" { tuples "lib_data" } SectionControlMixer."media0_in mi Switch" { index"0" invert "false" max "1" min"0" no_pm "true" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "64" } } SectionControlMixer."dmic01_hifi_in mi Switch" { index"0" invert "false" max "1" min"0" no_pm "true" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "64" } } SectionControlMixer."codec0_in mi Switch" { index"0" invert "false" max "1" min"0" no_pm "true" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "64" } } SectionWidget."media0_in cpr 0" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "media0_in cpr 0 num_desc" "media0_in cpr 0_size_desc" "media0_in cpr 0" ] } SectionWidget."media0_in mi" { index"0" type"pga" no_pm "true" event_type "4" event_flags "9" subseq "10" data [ "media0_in mi num_desc" "media0_in mi_size_desc" "media0_in mi" ] } SectionWidget."codec0_in cpr 1" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "codec0_in cpr 1 num_desc" "codec0_in cpr 1_size_desc" "codec0_in cpr 1" ] } SectionWidget."codec0_in mi" { index"0" type"pga" no_pm "true" event_type "4" event_flags "9" subseq "10" data [ "codec0_in mi num_desc" "codec0_in mi_size_desc" "codec0_in mi" ] } SectionWidget."codec0_in" { index"0" type"aif_in" no_pm "true" } SectionWidget."codec0_out mo" { index"0" type"mixer" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "codec0_out mo num_desc" "codec0_out mo_size_desc" "codec0_out mo" ] mixer [ "media0_in mi Switch" "dmic01_hifi_in mi Switch" "codec0_in mi Switch" ] } SectionWidget."codec0_out cpr 2" { index"0" type"pga" no_pm "true" event_type "4" data [ "codec0_out cpr 2 num_desc" "codec0_out cpr 2_size_desc" "codec0_out cpr 2" ] } SectionWidget."codec0_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."media0_out mo" { index"0" type"mixer" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "media0_out mo num_desc" "media0_out mo_size_desc" "media0_out mo" ] mixer [ "media0_in mi Switch" "dmic01_hifi_in mi Switch" "codec0_in mi Switch" ] } SectionWidget."media0_out cpr 3" { index"0" type"pga" no_pm "true" event_type "4" data [ "media0_out cpr 3 num_desc" "media0_out cpr 3_size_desc" "media0_out cpr 3" ] } SectionWidget."dmic01_hifi_in cpr 4" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "dmic01_hifi_in cpr 4 num_desc" "dmic01_hifi_in cpr 4_size_desc" "dmic01_hifi_in cpr 4" ] } SectionWidget."dmic01_hifi_in mi" { index"0" type"pga" no_pm "true" event_type "4" event_flags "9" subseq "10" data [ "dmic01_hifi_in mi num_desc" "dmic01_hifi_in mi_size_desc" "dmic01_hifi_in mi" ] } SectionWidget."dmic01_hifi" { index"0" type"aif_in" no_pm "true" } SectionWidget."codec1_out mo" { index"0" type"mixer" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "codec1_out mo num_desc" "codec1_out mo_size_desc" "codec1_out mo" ] mixer [ "media0_in mi Switch" "dmic01_hifi_in mi Switch" "codec0_in mi Switch" ] } SectionWidget."codec1_out cpr 5" { index"0" type"pga" no_pm "true" event_type "4" data [ "codec1_out cpr 5 num_desc" "codec1_out cpr 5_size_desc" "codec1_out cpr 5" ] } SectionWidget."codec1_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."hdmi1_pt_out cpr 6" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi1_pt_out cpr 6 num_desc" "hdmi1_pt_out cpr 6_size_desc" "hdmi1_pt_out cpr 6" ] } SectionWidget."hdmi1_pt_out cpr 7" { index"0" type"pga" no_pm "true" event_type "4" data [ "hdmi1_pt_out cpr 7 num_desc" "hdmi1_pt_out cpr 7_size_desc" "hdmi1_pt_out cpr 7" ] } SectionWidget."iDisp1_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."hdmi2_pt_out cpr 8" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi2_pt_out cpr 8 num_desc" "hdmi2_pt_out cpr 8_size_desc" "hdmi2_pt_out cpr 8" ] } SectionWidget."hdmi2_pt_out cpr 9" { index"0" type"pga" no_pm "true" event_type "4" data [ "hdmi2_pt_out cpr 9 num_desc" "hdmi2_pt_out cpr 9_size_desc" "hdmi2_pt_out cpr 9" ] } SectionWidget."iDisp2_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."hdmi3_pt_out cpr 10" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi3_pt_out cpr 10 num_desc" "hdmi3_pt_out cpr 10_size_desc" "hdmi3_pt_out cpr 10" ] } SectionWidget."hdmi3_pt_out cpr 11" { index"0" type"pga" no_pm "true" event_type "4" data [ "hdmi3_pt_out cpr 11 num_desc" "hdmi3_pt_out cpr 11_size_desc" "hdmi3_pt_out cpr 11" ] } SectionWidget."iDisp3_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."mch_cap_in cpr 12" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "mch_cap_in cpr 12 num_desc" "mch_cap_in cpr 12_size_desc" "mch_cap_in cpr 12" ] } SectionWidget."mch_cap_in cpr 13" { index"0" type"pga" no_pm "true" event_type "4" data [ "mch_cap_in cpr 13 num_desc" "mch_cap_in cpr 13_size_desc" "mch_cap_in cpr 13" ] } SectionManifest."lib_data" { data [ "lib_data num_desc" "lib_data_size_desc" "lib_data" ] } SectionGraph."Pipeline 1 Graph" { index"0" lines [ "media0_in mi, , media0_in cpr 0" "media0_in cpr 0, , System Playback" "codec0_in mi, , codec0_in cpr 1" "codec0_in cpr 1, , codec0_in" "codec0_out mo, media0_in mi Switch, media0_in mi" "codec0_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" "codec0_out mo, codec0_in mi Switch, codec0_in mi" "codec0_out cpr 2, , codec0_out mo" "codec0_out, , codec0_out cpr 2" "media0_out mo, media0_in mi Switch, media0_in mi" "media0_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" "media0_out mo, codec0_in mi Switch, codec0_in mi" "media0_out cpr 3, , media0_out mo" "System Capture, , media0_out cpr 3" "dmic01_hifi_in mi, , dmic01_hifi_in cpr 4" "dmic01_hifi_in cpr 4, , dmic01_hifi" "codec1_out mo, media0_in mi Switch, media0_in mi" "codec1_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" "codec1_out mo, codec0_in mi Switch, codec0_in mi" "codec1_out cpr 5, , codec1_out mo" "codec1_out, , codec1_out cpr 5" "hdmi1_pt_out cpr 7, , hdmi1_pt_out cpr 6" "hdmi1_pt_out cpr 6, , HDMI1 Playback" "iDisp1_out, , hdmi1_pt_out cpr 7" "hdmi2_pt_out cpr 9, , hdmi2_pt_out cpr 8" "hdmi2_pt_out cpr 8, , HDMI2 Playback" "iDisp2_out, , hdmi2_pt_out cpr 9" "hdmi3_pt_out cpr 11, , hdmi3_pt_out cpr 10" "hdmi3_pt_out cpr 10, , HDMI3 Playback" "iDisp3_out, , hdmi3_pt_out cpr 11" "mch_cap_in cpr 13, , mch_cap_in cpr 12" "DMIC Capture, , mch_cap_in cpr 13" "mch_cap_in cpr 12, , dmic01_hifi" ] } PK=]UlKKtopology/sklrt286/skl_i2s.confnu[SectionVendorTokens."skl_tokens" { SKL_TKN_UUID "1" SKL_TKN_U8_NUM_BLOCKS "2" SKL_TKN_U8_BLOCK_TYPE "3" SKL_TKN_U8_IN_PIN_TYPE "4" SKL_TKN_U8_OUT_PIN_TYPE "5" SKL_TKN_U8_DYN_IN_PIN "6" SKL_TKN_U8_DYN_OUT_PIN "7" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "9" SKL_TKN_U8_TIME_SLOT "10" SKL_TKN_U8_CORE_ID "11" SKL_TKN_U8_MODULE_TYPE "12" SKL_TKN_U8_CONN_TYPE "13" SKL_TKN_U8_DEV_TYPE "14" SKL_TKN_U8_HW_CONN_TYPE "15" SKL_TKN_U16_MOD_INST_ID "16" SKL_TKN_U16_BLOCK_SIZE "17" SKL_TKN_U32_MAX_MCPS "18" SKL_TKN_U32_MEM_PAGES "19" SKL_TKN_U32_OBS "20" SKL_TKN_U32_IBS "21" SKL_TKN_U32_VBUS_ID "22" SKL_TKN_U32_PARAMS_FIXUP "23" SKL_TKN_U32_CONVERTER "24" SKL_TKN_U32_PIPE_ID "25" SKL_TKN_U32_PIPE_CONN_TYPE "26" SKL_TKN_U32_PIPE_PRIORITY "27" SKL_TKN_U32_PIPE_MEM_PGS "28" SKL_TKN_U32_DIR_PIN_COUNT "29" SKL_TKN_U32_FMT_CH "30" SKL_TKN_U32_FMT_FREQ "31" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "33" SKL_TKN_U32_FMT_CH_CONFIG "34" SKL_TKN_U32_FMT_INTERLEAVE "35" SKL_TKN_U32_FMT_SAMPLE_TYPE "36" SKL_TKN_U32_FMT_CH_MAP "37" SKL_TKN_U32_PIN_MOD_ID "38" SKL_TKN_U32_PIN_INST_ID "39" SKL_TKN_U32_MOD_SET_PARAMS "40" SKL_TKN_U32_MOD_PARAM_ID "41" SKL_TKN_U32_CAPS_SET_PARAMS "42" SKL_TKN_U32_CAPS_PARAMS_ID "43" SKL_TKN_U32_CAPS_SIZE "44" } SectionVendorTuples."media0_in cpr 0 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_in cpr 0_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."media0_in cpr 0" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "1" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."media0_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "412" } } SectionVendorTuples."media0_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "1" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."media0_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "1084" } } SectionVendorTuples."media0_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "2" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "2" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."media0_out cpr 6 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."media0_out cpr 6_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."media0_out cpr 6" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "6" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "2" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "1084" } } SectionVendorTuples."codec0_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "0" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "3" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "4" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_out cpr 4 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_out cpr 4_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."codec0_out cpr 4" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "2" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "4" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x0" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "3" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "4" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec1_out mo num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec1_out mo_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "1084" } } SectionVendorTuples."codec1_out mo" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "8" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "4" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_fmt_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "16" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_2" { SKL_TKN_U32_DIR_PIN_COUNT "32" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_3" { SKL_TKN_U32_DIR_PIN_COUNT "48" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_4" { SKL_TKN_U32_DIR_PIN_COUNT "64" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_5" { SKL_TKN_U32_DIR_PIN_COUNT "80" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_6" { SKL_TKN_U32_DIR_PIN_COUNT "96" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.in_pin_7" { SKL_TKN_U32_DIR_PIN_COUNT "112" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec1_out cpr 5 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec1_out cpr 5_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."codec1_out cpr 5" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "2" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "2" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "5" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x0" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "4" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_in cpr 1 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_in cpr 1_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."codec0_in cpr 1" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "2" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x0" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "5" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."codec0_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."codec0_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "412" } } SectionVendorTuples."codec0_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "1" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "5" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."dmic01_hifi_in cpr 3 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."dmic01_hifi_in cpr 3_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."dmic01_hifi_in cpr 3" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "2" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "1" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "3" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0x0" SKL_TKN_U32_PARAMS_FIXUP "4" SKL_TKN_U32_CONVERTER "4" SKL_TKN_U32_PIPE_ID "6" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."dmic01_hifi_in mi num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."dmic01_hifi_in mi_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "412" } } SectionVendorTuples."dmic01_hifi_in mi" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "1" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "0" SKL_TKN_U8_CONN_TYPE "0" SKL_TKN_U8_HW_CONN_TYPE "2" SKL_TKN_U8_DEV_TYPE "6" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "3" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "0" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "6" SKL_TKN_U32_PIPE_CONN_TYPE "2" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi1_pt_out cpr 7 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi1_pt_out cpr 7_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."hdmi1_pt_out cpr 7" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "7" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "7" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi1_pt_out cpr 8 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi1_pt_out cpr 8_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."hdmi1_pt_out cpr 8" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "8" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "7" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi2_pt_out cpr 9 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi2_pt_out cpr 9_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."hdmi2_pt_out cpr 9" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "9" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "8" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi2_pt_out cpr 10 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi2_pt_out cpr 10_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."hdmi2_pt_out cpr 10" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "10" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "8" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi3_pt_out cpr 11 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi3_pt_out cpr 11_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."hdmi3_pt_out cpr 11" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "5" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "11" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "9" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "32" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionVendorTuples."hdmi3_pt_out cpr 12 num_desc" { tokens "skl_tokens" tuples."byte.u8_num_blocks" { SKL_TKN_U8_NUM_BLOCKS "1" } } SectionVendorTuples."hdmi3_pt_out cpr 12_size_desc" { tokens "skl_tokens" tuples."byte.u8_block_type"{ SKL_TKN_U8_BLOCK_TYPE "0" } tuples."short.u16_size_desc"{ SKL_TKN_U16_BLOCK_SIZE "508" } } SectionVendorTuples."hdmi3_pt_out cpr 12" { tokens "skl_tokens" tuples."uuid" { SKL_TKN_UUID "131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218" } tuples."byte.u8_data" { SKL_TKN_U8_IN_PIN_TYPE "0" SKL_TKN_U8_OUT_PIN_TYPE "0" SKL_TKN_U8_IN_QUEUE_COUNT "1" SKL_TKN_U8_OUT_QUEUE_COUNT "2" SKL_TKN_U8_DYN_IN_PIN "1" SKL_TKN_U8_DYN_OUT_PIN "1" SKL_TKN_U8_TIME_SLOT "0" SKL_TKN_U8_CORE_ID "0" SKL_TKN_U8_MODULE_TYPE "1" SKL_TKN_U8_CONN_TYPE "1" SKL_TKN_U8_HW_CONN_TYPE "1" SKL_TKN_U8_DEV_TYPE "4" } tuples."short.u16_data" { SKL_TKN_U16_MOD_INST_ID "12" } tuples."word.u32_data" { SKL_TKN_U32_MAX_MCPS "100000" SKL_TKN_U32_MEM_PAGES "1" SKL_TKN_U32_OBS "384" SKL_TKN_U32_IBS "384" SKL_TKN_U32_VBUS_ID "0xffffffff" SKL_TKN_U32_PARAMS_FIXUP "7" SKL_TKN_U32_CONVERTER "0" SKL_TKN_U32_PIPE_ID "9" SKL_TKN_U32_PIPE_CONN_TYPE "1" SKL_TKN_U32_PIPE_PRIORITY "0" SKL_TKN_U32_PIPE_MEM_PGS "2" SKL_TKN_U32_CAPS_SIZE "0" } tuples."word.in_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.out_fmt_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_FMT_CH "2" SKL_TKN_U32_FMT_FREQ "48000" SKL_TKN_U32_FMT_BIT_DEPTH "32" SKL_TKN_U32_FMT_SAMPLE_SIZE "24" SKL_TKN_U32_FMT_INTERLEAVE "0" SKL_TKN_U32_FMT_SAMPLE_TYPE "0" SKL_TKN_U32_FMT_CH_MAP "0xffffff10" SKL_TKN_U32_FMT_CH_CONFIG "0x1" } tuples."word.in_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "0" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_0" { SKL_TKN_U32_DIR_PIN_COUNT "1" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } tuples."word.out_pin_1" { SKL_TKN_U32_DIR_PIN_COUNT "17" SKL_TKN_U32_PIN_MOD_ID "0" SKL_TKN_U32_PIN_INST_ID "0" } } SectionData."media0_in cpr 0 num_desc" { tuples "media0_in cpr 0 num_desc" } SectionData."media0_in cpr 0_size_desc" { tuples "media0_in cpr 0_size_desc" } SectionData."media0_in cpr 0" { tuples "media0_in cpr 0" } SectionData."media0_in mi num_desc" { tuples "media0_in mi num_desc" } SectionData."media0_in mi_size_desc" { tuples "media0_in mi_size_desc" } SectionData."media0_in mi" { tuples "media0_in mi" } SectionData."media0_out mo num_desc" { tuples "media0_out mo num_desc" } SectionData."media0_out mo_size_desc" { tuples "media0_out mo_size_desc" } SectionData."media0_out mo" { tuples "media0_out mo" } SectionData."media0_out cpr 6 num_desc" { tuples "media0_out cpr 6 num_desc" } SectionData."media0_out cpr 6_size_desc" { tuples "media0_out cpr 6_size_desc" } SectionData."media0_out cpr 6" { tuples "media0_out cpr 6" } SectionData."codec0_out mo num_desc" { tuples "codec0_out mo num_desc" } SectionData."codec0_out mo_size_desc" { tuples "codec0_out mo_size_desc" } SectionData."codec0_out mo" { tuples "codec0_out mo" } SectionData."codec0_out cpr 4 num_desc" { tuples "codec0_out cpr 4 num_desc" } SectionData."codec0_out cpr 4_size_desc" { tuples "codec0_out cpr 4_size_desc" } SectionData."codec0_out cpr 4" { tuples "codec0_out cpr 4" } SectionData."codec1_out mo num_desc" { tuples "codec1_out mo num_desc" } SectionData."codec1_out mo_size_desc" { tuples "codec1_out mo_size_desc" } SectionData."codec1_out mo" { tuples "codec1_out mo" } SectionData."codec1_out cpr 5 num_desc" { tuples "codec1_out cpr 5 num_desc" } SectionData."codec1_out cpr 5_size_desc" { tuples "codec1_out cpr 5_size_desc" } SectionData."codec1_out cpr 5" { tuples "codec1_out cpr 5" } SectionData."codec0_in cpr 1 num_desc" { tuples "codec0_in cpr 1 num_desc" } SectionData."codec0_in cpr 1_size_desc" { tuples "codec0_in cpr 1_size_desc" } SectionData."codec0_in cpr 1" { tuples "codec0_in cpr 1" } SectionData."codec0_in mi num_desc" { tuples "codec0_in mi num_desc" } SectionData."codec0_in mi_size_desc" { tuples "codec0_in mi_size_desc" } SectionData."codec0_in mi" { tuples "codec0_in mi" } SectionData."dmic01_hifi_in cpr 3 num_desc" { tuples "dmic01_hifi_in cpr 3 num_desc" } SectionData."dmic01_hifi_in cpr 3_size_desc" { tuples "dmic01_hifi_in cpr 3_size_desc" } SectionData."dmic01_hifi_in cpr 3" { tuples "dmic01_hifi_in cpr 3" } SectionData."dmic01_hifi_in mi num_desc" { tuples "dmic01_hifi_in mi num_desc" } SectionData."dmic01_hifi_in mi_size_desc" { tuples "dmic01_hifi_in mi_size_desc" } SectionData."dmic01_hifi_in mi" { tuples "dmic01_hifi_in mi" } SectionData."hdmi1_pt_out cpr 7 num_desc" { tuples "hdmi1_pt_out cpr 7 num_desc" } SectionData."hdmi1_pt_out cpr 7_size_desc" { tuples "hdmi1_pt_out cpr 7_size_desc" } SectionData."hdmi1_pt_out cpr 7" { tuples "hdmi1_pt_out cpr 7" } SectionData."hdmi1_pt_out cpr 8 num_desc" { tuples "hdmi1_pt_out cpr 8 num_desc" } SectionData."hdmi1_pt_out cpr 8_size_desc" { tuples "hdmi1_pt_out cpr 8_size_desc" } SectionData."hdmi1_pt_out cpr 8" { tuples "hdmi1_pt_out cpr 8" } SectionData."hdmi2_pt_out cpr 9 num_desc" { tuples "hdmi2_pt_out cpr 9 num_desc" } SectionData."hdmi2_pt_out cpr 9_size_desc" { tuples "hdmi2_pt_out cpr 9_size_desc" } SectionData."hdmi2_pt_out cpr 9" { tuples "hdmi2_pt_out cpr 9" } SectionData."hdmi2_pt_out cpr 10 num_desc" { tuples "hdmi2_pt_out cpr 10 num_desc" } SectionData."hdmi2_pt_out cpr 10_size_desc" { tuples "hdmi2_pt_out cpr 10_size_desc" } SectionData."hdmi2_pt_out cpr 10" { tuples "hdmi2_pt_out cpr 10" } SectionData."hdmi3_pt_out cpr 11 num_desc" { tuples "hdmi3_pt_out cpr 11 num_desc" } SectionData."hdmi3_pt_out cpr 11_size_desc" { tuples "hdmi3_pt_out cpr 11_size_desc" } SectionData."hdmi3_pt_out cpr 11" { tuples "hdmi3_pt_out cpr 11" } SectionData."hdmi3_pt_out cpr 12 num_desc" { tuples "hdmi3_pt_out cpr 12 num_desc" } SectionData."hdmi3_pt_out cpr 12_size_desc" { tuples "hdmi3_pt_out cpr 12_size_desc" } SectionData."hdmi3_pt_out cpr 12" { tuples "hdmi3_pt_out cpr 12" } SectionControlMixer."media0_in mi Switch" { index"0" invert "false" max "1" min"0" no_pm "true" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "64" } } SectionControlMixer."codec0_in mi Switch" { index"0" invert "false" max "1" min"0" no_pm "true" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "64" } } SectionControlMixer."dmic01_hifi_in mi Switch" { index"0" invert "false" max "1" min"0" no_pm "true" channel."fl" { reg "-1" shift "0" } channel."fr" { reg "-1" shift "0" } ops."ctl" { get "64" put "64" info "64" } } SectionWidget."media0_in cpr 0" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "media0_in cpr 0 num_desc" "media0_in cpr 0_size_desc" "media0_in cpr 0" ] } SectionWidget."media0_in mi" { index"0" type"pga" no_pm "true" event_type "4" event_flags "9" subseq "10" data [ "media0_in mi num_desc" "media0_in mi_size_desc" "media0_in mi" ] } SectionWidget."media0_out mo" { index"0" type"mixer" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "media0_out mo num_desc" "media0_out mo_size_desc" "media0_out mo" ] mixer [ "media0_in mi Switch" "codec0_in mi Switch" "dmic01_hifi_in mi Switch" ] } SectionWidget."media0_out cpr 6" { index"0" type"pga" no_pm "true" event_type "4" data [ "media0_out cpr 6 num_desc" "media0_out cpr 6_size_desc" "media0_out cpr 6" ] } SectionWidget."codec0_out mo" { index"0" type"mixer" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "codec0_out mo num_desc" "codec0_out mo_size_desc" "codec0_out mo" ] mixer [ "media0_in mi Switch" "codec0_in mi Switch" "dmic01_hifi_in mi Switch" ] } SectionWidget."codec0_out cpr 4" { index"0" type"pga" no_pm "true" event_type "4" data [ "codec0_out cpr 4 num_desc" "codec0_out cpr 4_size_desc" "codec0_out cpr 4" ] } SectionWidget."codec0_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."codec1_out mo" { index"0" type"mixer" no_pm "true" event_type "1" event_flags "15" subseq "10" data [ "codec1_out mo num_desc" "codec1_out mo_size_desc" "codec1_out mo" ] mixer [ "media0_in mi Switch" "codec0_in mi Switch" "dmic01_hifi_in mi Switch" ] } SectionWidget."codec1_out cpr 5" { index"0" type"pga" no_pm "true" event_type "4" data [ "codec1_out cpr 5 num_desc" "codec1_out cpr 5_size_desc" "codec1_out cpr 5" ] } SectionWidget."codec1_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."codec0_in cpr 1" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "codec0_in cpr 1 num_desc" "codec0_in cpr 1_size_desc" "codec0_in cpr 1" ] } SectionWidget."codec0_in mi" { index"0" type"pga" no_pm "true" event_type "4" event_flags "9" subseq "10" data [ "codec0_in mi num_desc" "codec0_in mi_size_desc" "codec0_in mi" ] } SectionWidget."codec0_in" { index"0" type"aif_in" no_pm "true" } SectionWidget."dmic01_hifi_in cpr 3" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "dmic01_hifi_in cpr 3 num_desc" "dmic01_hifi_in cpr 3_size_desc" "dmic01_hifi_in cpr 3" ] } SectionWidget."dmic01_hifi_in mi" { index"0" type"pga" no_pm "true" event_type "4" event_flags "9" subseq "10" data [ "dmic01_hifi_in mi num_desc" "dmic01_hifi_in mi_size_desc" "dmic01_hifi_in mi" ] } SectionWidget."dmic01_hifi" { index"0" type"aif_in" no_pm "true" } SectionWidget."hdmi1_pt_out cpr 7" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi1_pt_out cpr 7 num_desc" "hdmi1_pt_out cpr 7_size_desc" "hdmi1_pt_out cpr 7" ] } SectionWidget."hdmi1_pt_out cpr 8" { index"0" type"pga" no_pm "true" event_type "4" data [ "hdmi1_pt_out cpr 8 num_desc" "hdmi1_pt_out cpr 8_size_desc" "hdmi1_pt_out cpr 8" ] } SectionWidget."iDisp1_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."hdmi2_pt_out cpr 9" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi2_pt_out cpr 9 num_desc" "hdmi2_pt_out cpr 9_size_desc" "hdmi2_pt_out cpr 9" ] } SectionWidget."hdmi2_pt_out cpr 10" { index"0" type"pga" no_pm "true" event_type "4" data [ "hdmi2_pt_out cpr 10 num_desc" "hdmi2_pt_out cpr 10_size_desc" "hdmi2_pt_out cpr 10" ] } SectionWidget."iDisp2_out" { index"0" type"aif_out" no_pm "true" } SectionWidget."hdmi3_pt_out cpr 11" { index"0" type"mixer" no_pm "true" event_type "3" event_flags "9" data [ "hdmi3_pt_out cpr 11 num_desc" "hdmi3_pt_out cpr 11_size_desc" "hdmi3_pt_out cpr 11" ] } SectionWidget."hdmi3_pt_out cpr 12" { index"0" type"pga" no_pm "true" event_type "4" data [ "hdmi3_pt_out cpr 12 num_desc" "hdmi3_pt_out cpr 12_size_desc" "hdmi3_pt_out cpr 12" ] } SectionGraph."Pipeline 1 Graph" { index"0" lines [ "media0_in mi, , media0_in cpr 0" "media0_in cpr 0, , System Playback" "media0_out mo, media0_in mi Switch, media0_in mi" "media0_out mo, codec0_in mi Switch, codec0_in mi" "media0_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" "media0_out cpr 6, , media0_out mo" "System Capture, , media0_out cpr 6" "codec0_out mo, media0_in mi Switch, media0_in mi" "codec0_out mo, codec0_in mi Switch, codec0_in mi" "codec0_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" "codec0_out cpr 4, , codec0_out mo" "codec0_out, , codec0_out cpr 4" "codec1_out mo, media0_in mi Switch, media0_in mi" "codec1_out mo, codec0_in mi Switch, codec0_in mi" "codec1_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" "codec1_out cpr 5, , codec1_out mo" "codec1_out, , codec1_out cpr 5" "codec0_in mi, , codec0_in cpr 1" "codec0_in cpr 1, , codec0_in" "dmic01_hifi_in mi, , dmic01_hifi_in cpr 3" "dmic01_hifi_in cpr 3, , dmic01_hifi" "hdmi1_pt_out cpr 8, , hdmi1_pt_out cpr 7" "hdmi1_pt_out cpr 7, , HDMI1 Playback" "iDisp1_out, , hdmi1_pt_out cpr 8" "hdmi2_pt_out cpr 10, , hdmi2_pt_out cpr 9" "hdmi2_pt_out cpr 9, , HDMI2 Playback" "iDisp2_out, , hdmi2_pt_out cpr 10" "hdmi3_pt_out cpr 12, , hdmi3_pt_out cpr 11" "hdmi3_pt_out cpr 11, , HDMI3 Playback" "iDisp1_out, , hdmi3_pt_out cpr 12" ] } PK=] @11!topology/broadwell/broadwell.confnu[# Dynamic Firmware Configuration for Broadwell # TLV SectionTLV."hsw_vol_tlv" { Comment "TLV used by both global and stream volumes" scale { min "-9000" step "300" mute "1" } } # Controls SectionControlMixer."Master Playback Volume" { Comment "Global DSP volume" # control belongs to this index group index "1" # Channel register and shift for Front Left/Right channel."FL" { reg "0" shift "0" } channel."FR" { reg "0" shift "8" } # max control value and whether value is inverted max "31" invert "false" # control uses bespoke driver get/put/info ID 0 ops."ctl" { info "volsw" get "256" put "256" } # uses TLV data above tlv "hsw_vol_tlv" } SectionControlMixer."Media0 Playback Volume" { Comment "Offload 0 volume" # control belongs to this index group index "1" # Channel register and shift for Front Left/Right channel."FL" { reg "1" shift "0" } channel."FR" { reg "1" shift "8" } # max control value and whether value is inverted max "31" invert "false" # control uses bespoke driver get/put/info ID 0 ops."ctl" { info "volsw" get "257" put "257" } # uses TLV data above tlv "hsw_vol_tlv" } SectionControlMixer."Media1 Playback Volume" { Comment "Offload 1 volume" # control belongs to this index group index "1" # Channel register and shift for Front Left/Right channel."FL" { reg "2" shift "0" } channel."FR" { reg "2" shift "8" } # max control value and whether value is inverted max "31" invert "false" # control uses bespoke driver get/put/info ID 0 ops."ctl" { info "volsw" get "257" put "257" } # uses TLV data above tlv "hsw_vol_tlv" } SectionControlMixer."Mic Capture Volume" { Comment "Mic Capture volume" # control belongs to this index group index "1" # Channel register and shift for Front Left/Right channel."FL" { reg "0" shift "0" } channel."FR" { reg "0" shift "8" } # max control value and whether value is inverted max "31" invert "false" # control uses bespoke driver get/put/info ID 0 ops."ctl" { info "volsw" get "257" put "257" } # uses TLV data above tlv "hsw_vol_tlv" } SectionWidget."SSP0 CODEC IN" { index "1" type "aif_in" no_pm "true" shift "0" invert "0" } SectionWidget."SSP0 CODEC OUT" { index "1" type "aif_out" no_pm "true" shift "0" invert "0" } SectionWidget."SSP1 BT IN" { index "1" type "aif_in" no_pm "true" shift "0" invert "0" } SectionWidget."SSP1 BT OUT" { index "1" type "aif_out" no_pm "true" shift "0" invert "0" } SectionWidget."Playback VMixer" { index "1" type "mixer" no_pm "true" shift "0" invert "0" } # PCM Configurations supported by FW SectionPCMConfig."PCM 48k Stereo 24bit" { config."playback" { format "S24_LE" rate "48000" channels "2" tdm_slot "0xf" } config."capture" { format "S24_LE" rate "48000" channels "2" tdm_slot "0xf" } } SectionPCMConfig."PCM 48k Stereo 16bit" { config."playback" { format "S16_LE" rate "48000" channels "2" tdm_slot "0xf" } config."capture" { format "S16_LE" rate "48000" channels "2" tdm_slot "0xf" } } SectionPCMConfig."PCM 48k 2P/4C 16bit" { config."playback" { format "S16_LE" rate "48000" channels "2" tdm_slot "0xf" } config."capture" { format "S16_LE" rate "48000" channels "4" tdm_slot "0xf" } } # PCM capabilities supported by FW SectionPCMCapabilities."System Playback" { formats "S24_LE,S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "2" } SectionPCMCapabilities."Analog Capture" { formats "S24_LE,S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "4" } SectionPCMCapabilities."Loopback Capture" { formats "S24_LE,S16_LE" rate_min "48000" rate_max "48000" channels_min "2" channels_max "2" } SectionPCMCapabilities."Offload0 Playback" { formats "S24_LE,S16_LE" rate_min "8000" rate_max "192000" channels_min "2" channels_max "2" } SectionPCMCapabilities."Offload1 Playback" { formats "S24_LE,S16_LE" rate_min "8000" rate_max "192000" channels_min "2" channels_max "2" } # PCM devices exported by Firmware SectionPCM."System Playback/Capture" { index "1" # used for binding to the PCM id "0" dai."System Pin" { id "0" } pcm."playback" { capabilities "System Playback" configs [ "PCM 48k Stereo 24bit" "PCM 48k Stereo 16bit" ] } pcm."capture" { capabilities "Analog Capture" configs [ "PCM 48k Stereo 24bit" "PCM 48k Stereo 16bit" "PCM 48k 2P/4C 16bit" ] } } SectionPCM."Offload0 Playback" { index "1" # used for binding to the PCM id "1" dai."Offload0 Pin" { id "1" } pcm."playback" { capabilities "Offload0 Playback" configs [ "PCM 48k Stereo 24bit" "PCM 48k Stereo 16bit" ] } } SectionPCM."Offload1 Playback" { index "1" # used for binding to the PCM id "2" dai."Offload1 Pin" { id "2" } pcm."playback" { capabilities "Offload1 Playback" configs [ "PCM 48k Stereo 24bit" "PCM 48k Stereo 16bit" ] } } SectionPCM."Loopback PCM" { index "1" # used for binding to the PCM id "3" dai."Loopback Pin" { id "3" } pcm."capture" { capabilities "Loopback Capture" configs [ "PCM 48k Stereo 24bit" "PCM 48k Stereo 16bit" ] } } SectionGraph."dsp" { index "1" lines [ "Playback VMixer, , System Playback" "Playback VMixer, , Offload0 Playback" "Playback VMixer, , Offload1 Playback" "SSP0 CODEC OUT, , Playback VMixer" "Loopback Capture, , Playback VMixer" "Analog Capture, , SSP0 CODEC IN" ] } SectionHWConfig."CodecHWConfig" { id "1" format "I2S" # physical audio format. bclk "codec_slave" # platform is master of bit clock (codec is slave) fsync "codec_slave" # platform is master of fsync (codec is slave) } SectionLink."Codec" { # used for binding to the physical link id "0" hw_configs [ "CodecHWConfig" ] default_hw_conf_id "1" } PK=]G'' alsa.confnu[# # ALSA library configuration file # # pre-load the configuration files @hooks [ { func load files [ "/var/lib/alsa/conf.d" "/usr/etc/alsa/conf.d" "/etc/alsa/conf.d" "/etc/asound.conf|||/usr/etc/asound.conf" "~/.asoundrc" { @func concat strings [ { @func getenv vars [ XDG_CONFIG_HOME ] default "~/.config" } "/alsa/asoundrc" ] } ] errors false } ] # load card-specific configuration files (on request) cards.@hooks [ { func load files [ { @func concat strings [ { @func datadir } "/cards/aliases.conf" ] } ] } { func load_for_all_cards files [ { @func concat strings [ { @func datadir } "/cards/" { @func private_string } ".conf" ] } { root { @func private_integer } file { @func concat strings [ "/var/lib/alsa/card" { @func private_integer } ".conf.d" ] } } ] table { id { @func concat strings [ { @func private_integer } ] } value { @func concat strings [ "cards." { @func private_string } ] } } errors false } ] # # defaults # # show all name hints also for definitions without hint {} section defaults.namehint.showall on # show just basic name hints defaults.namehint.basic on # show extended name hints defaults.namehint.extended on # defaults.ctl.card 0 defaults.pcm.card 0 defaults.pcm.device 0 defaults.pcm.subdevice -1 defaults.pcm.nonblock 1 defaults.pcm.compat 0 defaults.pcm.minperiodtime 5000 # in us defaults.pcm.ipc_key 5678293 defaults.pcm.ipc_gid audio defaults.pcm.ipc_perm 0660 defaults.pcm.tstamp_type default defaults.pcm.dmix.max_periods 0 defaults.pcm.dmix.channels 2 defaults.pcm.dmix.rate 48000 defaults.pcm.dmix.format unchanged defaults.pcm.dmix.card defaults.pcm.card defaults.pcm.dmix.device defaults.pcm.device defaults.pcm.dsnoop.card defaults.pcm.card defaults.pcm.dsnoop.device defaults.pcm.device defaults.pcm.front.card defaults.pcm.card defaults.pcm.front.device defaults.pcm.device defaults.pcm.rear.card defaults.pcm.card defaults.pcm.rear.device defaults.pcm.device defaults.pcm.center_lfe.card defaults.pcm.card defaults.pcm.center_lfe.device defaults.pcm.device defaults.pcm.side.card defaults.pcm.card defaults.pcm.side.device defaults.pcm.device defaults.pcm.surround21.card defaults.pcm.card defaults.pcm.surround21.device defaults.pcm.device defaults.pcm.surround40.card defaults.pcm.card defaults.pcm.surround40.device defaults.pcm.device defaults.pcm.surround41.card defaults.pcm.card defaults.pcm.surround41.device defaults.pcm.device defaults.pcm.surround50.card defaults.pcm.card defaults.pcm.surround50.device defaults.pcm.device defaults.pcm.surround51.card defaults.pcm.card defaults.pcm.surround51.device defaults.pcm.device defaults.pcm.surround71.card defaults.pcm.card defaults.pcm.surround71.device defaults.pcm.device defaults.pcm.iec958.card defaults.pcm.card defaults.pcm.iec958.device defaults.pcm.device defaults.pcm.modem.card defaults.pcm.card defaults.pcm.modem.device defaults.pcm.device defaults.pcm.file_format raw defaults.pcm.file_truncate true # truncate files via file or tee PCM defaults.rawmidi.card 0 defaults.rawmidi.device 0 defaults.rawmidi.subdevice -1 defaults.hwdep.card 0 defaults.hwdep.device 0 defaults.timer.class 2 defaults.timer.sclass 0 defaults.timer.card 0 defaults.timer.device 0 defaults.timer.subdevice 0 # # PCM interface # pcm.hw { @args [ CARD DEV SUBDEV ] @args.CARD { type string default { @func getenv vars [ ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_PCM_DEVICE ] default { @func refer name defaults.pcm.device } } } @args.SUBDEV { type integer default { @func refer name defaults.pcm.subdevice } } type hw card $CARD device $DEV subdevice $SUBDEV hint { show { @func refer name defaults.namehint.extended } description "Direct hardware device without any conversions" } } pcm.plughw { @args [ CARD DEV SUBDEV ] @args.CARD { type string default { @func getenv vars [ ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_PCM_DEVICE ] default { @func refer name defaults.pcm.device } } } @args.SUBDEV { type integer default { @func refer name defaults.pcm.subdevice } } type plug slave.pcm { type hw card $CARD device $DEV subdevice $SUBDEV } hint { show { @func refer name defaults.namehint.extended } description "Hardware device with all software conversions" } } pcm.plug { @args [ SLAVE ] @args.SLAVE { type string } type plug slave.pcm $SLAVE } pcm.shm { @args [ SOCKET PCM ] @args.SOCKET { type string } @args.PCM { type string } type shm server $SOCKET pcm $PCM } pcm.tee { @args [ SLAVE FILE FORMAT ] @args.SLAVE { type string } @args.FILE { type string } @args.FORMAT { type string default { @func refer name defaults.pcm.file_format } } type file slave.pcm $SLAVE file $FILE format $FORMAT truncate { @func refer name defaults.pcm.file_truncate } } pcm.file { @args [ FILE FORMAT ] @args.FILE { type string } @args.FORMAT { type string default { @func refer name defaults.pcm.file_format } } type file slave.pcm null file $FILE format $FORMAT truncate { @func refer name defaults.pcm.file_truncate } } pcm.null { type null hint { show { @func refer name defaults.namehint.basic } description "Discard all samples (playback) or generate zero samples (capture)" } } # redirect to load-on-demand extended pcm definitions pcm.cards cards.pcm pcm.default cards.pcm.default pcm.sysdefault cards.pcm.default pcm.front cards.pcm.front pcm.rear cards.pcm.rear pcm.center_lfe cards.pcm.center_lfe pcm.side cards.pcm.side pcm.surround21 cards.pcm.surround21 pcm.surround40 cards.pcm.surround40 pcm.surround41 cards.pcm.surround41 pcm.surround50 cards.pcm.surround50 pcm.surround51 cards.pcm.surround51 pcm.surround71 cards.pcm.surround71 pcm.iec958 cards.pcm.iec958 pcm.spdif iec958 pcm.hdmi cards.pcm.hdmi pcm.dmix cards.pcm.dmix pcm.dsnoop cards.pcm.dsnoop pcm.modem cards.pcm.modem pcm.phoneline cards.pcm.phoneline # # Control interface # ctl.default cards.ctl.default ctl.sysdefault cards.ctl.default ctl.hw { @args [ CARD ] @args.CARD { type string default { @func getenv vars [ ALSA_CTL_CARD ALSA_CARD ] default { @func refer name defaults.ctl.card } } } type hw card $CARD hint.description "Direct control device" } ctl.shm { @args [ SOCKET CTL ] @args.SOCKET { type string } @args.CTL { type string } type shm server $SOCKET ctl $CTL } # # RawMidi interface # rawmidi.default { type hw card { @func getenv vars [ ALSA_RAWMIDI_CARD ALSA_CARD ] default { @func refer name defaults.rawmidi.card } } device { @func igetenv vars [ ALSA_RAWMIDI_DEVICE ] default { @func refer name defaults.rawmidi.device } } hint.description "Default raw MIDI device" } rawmidi.hw { @args [ CARD DEV SUBDEV ] @args.CARD { type string default { @func getenv vars [ ALSA_RAWMIDI_CARD ALSA_CARD ] default { @func refer name defaults.rawmidi.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_RAWMIDI_DEVICE ] default { @func refer name defaults.rawmidi.device } } } @args.SUBDEV { type integer default -1 } type hw card $CARD device $DEV subdevice $SUBDEV hint { description "Direct rawmidi driver device" device $DEV } } rawmidi.virtual { @args [ MERGE ] @args.MERGE { type string default 1 } type virtual merge $MERGE } # # Sequencer interface # seq.default { type hw hint.description "Default sequencer device" } seq.hw { type hw } # # HwDep interface # hwdep.default { type hw card { @func getenv vars [ ALSA_HWDEP_CARD ALSA_CARD ] default { @func refer name defaults.hwdep.card } } device { @func igetenv vars [ ALSA_HWDEP_DEVICE ] default { @func refer name defaults.hwdep.device } } hint.description "Default hardware dependent device" } hwdep.hw { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_HWDEP_CARD ALSA_CARD ] default { @func refer name defaults.hwdep.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_HWDEP_DEVICE ] default { @func refer name defaults.hwdep.device } } } type hw card $CARD device $DEV hint { description "Direct hardware dependent device" device $DEV } } # # Timer interface # timer_query.default { type hw } timer_query.hw { type hw } timer.default { type hw class { @func refer name defaults.timer.class } sclass { @func refer name defaults.timer.sclass } card { @func refer name defaults.timer.card } device { @func refer name defaults.timer.device } subdevice { @func refer name defaults.timer.subdevice } hint.description "Default timer device" } timer.hw { @args [ CLASS SCLASS CARD DEV SUBDEV ] @args.CLASS { type integer default { @func refer name defaults.timer.class } } @args.SCLASS { type integer default { @func refer name defaults.timer.sclass } } @args.CARD { type string default { @func refer name defaults.timer.card } } @args.DEV { type integer default { @func refer name defaults.timer.device } } @args.SUBDEV { type integer default { @func refer name defaults.timer.subdevice } } type hw class $CLASS sclass $SCLASS card $CARD device $DEV subdevice $SUBDEV hint { description "Direct timer device" device $DEV } } PK=] ctl/default.confnu[# # Default control device # ctl.!default { @args [ CARD ] @args.CARD { type string default { @func getenv vars [ ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.ctl.card } } } type empty child { # use card-specific definition if exists @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".ctl.default:CARD=" $CARD ] } default { type hw card $CARD } } hint.description "Default Control Device" } PK=]kRN ucm/README.mdnu[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. PK=]\I66pcm/dsnoop.confnu[# # dsnoop # pcm.!dsnoop { @args [ CARD DEV SUBDEV FORMAT RATE ] @args.CARD { type string default { @func refer name defaults.pcm.dsnoop.card } } @args.DEV { type integer default { @func refer name defaults.pcm.dsnoop.device } } @args.SUBDEV { type integer default 0 } @args.FORMAT { type string default { @func refer name defaults.pcm.dmix.format } } @args.RATE { type integer default { @func refer name defaults.pcm.dmix.rate } } type dsnoop ipc_key { @func refer name defaults.pcm.ipc_key } ipc_gid { @func refer name defaults.pcm.ipc_gid } ipc_perm { @func refer name defaults.pcm.ipc_perm } tstamp_type { @func refer name defaults.pcm.tstamp_type } slave { pcm { type hw card $CARD device $DEV subdevice $SUBDEV } format $FORMAT rate $RATE period_size { @func refer name { @func concat strings [ "cards." { @func card_id card $CARD } ".pcm.dsnoop.period_size" ] } default 1024 } period_time { @func refer name { @func concat strings [ "cards." { @func card_id card $CARD } ".pcm.dsnoop.period_time" ] } default -1 } periods { @func refer name { @func concat strings [ "cards." { @func card_id card $CARD } ".pcm.dsnoop.periods" ] } default 16 } } hint { show { @func refer name defaults.namehint.extended } description "Direct sample snooping device" device_input $DEV } } PK=]G pcm/side.confnu[# # Hardware output from side speakers # pcm.!side { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SIDE_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.side.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SIDE_DEVICE ] default { @func refer name defaults.pcm.side.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.side." $DEV ":CARD=" $CARD ] } } hint { show { @func refer name defaults.namehint.basic } description "Side speakers" device $DEV } } PK=]5pcm/surround71.confnu[# # Hardware output from 7.1 speakers # Samples must be positioned: # chn0 - front left # chn1 - front right # chn2 - rear left # chn3 - rear right # chn4 - center # chn5 - lfe # chn6 - side left # chn7 - side right # pcm.!surround71 { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SURROUND71_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.surround71.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SURROUND71_DEVICE ] default { @func refer name defaults.pcm.surround71.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.surround71." $DEV ":CARD=" $CARD ] } } hint { description "7.1 Surround output to Front, Center, Side, Rear and Woofer speakers" device_output $DEV omit_noargs true } } PK=]pcm/surround41.confnu[# # Hardware output from 4.1 speakers. # Samples must be positioned: # chn0 - front left # chn1 - front right # chn2 - rear left # chn3 - rear right # chn4 - LFE # pcm.!surround41 { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SURROUND41_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.surround41.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SURROUND41_DEVICE ] default { @func refer name defaults.pcm.surround41.device } } } type route slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.surround51." $DEV ":CARD=" $CARD ] } } ttable.0.FL 1 ttable.1.FR 1 ttable.2.RL 1 ttable.3.RR 1 ttable.4.LFE 1 hint { description "4.1 Surround output to Front, Rear and Subwoofer speakers" device_output $DEV omit_noargs true } } PK=]Eׅ pcm/dpl.confnu[pcm.!dpl { @args [ SLAVE ] @args.SLAVE { type string } type route slave.pcm $SLAVE slave.channels 2 # input: FL/FR/SL/SR/C/LFE # S=SL+SR, LFE not used ttable.0.0 1 ttable.1.1 1 ttable.2.0 0.707 ttable.2.1 -0.707 ttable.3.0 0.707 ttable.3.1 -0.707 ttable.4.0 0.707 ttable.4.1 0.707 ttable.5.0 0 ttable.5.1 0 } pcm.!dpl2 { @args [SLAVE] @args.SLAVE { type string } type route slave.pcm $SLAVE slave.channels 2 # input: FL/FR/SL/SR/C/LFE # LFE not used ttable.0.0 1 ttable.1.1 1 ttable.2.0 0.866 ttable.2.1 -0.5 ttable.3.0 0.5 ttable.3.1 -0.866 ttable.4.0 0.707 ttable.4.1 0.707 ttable.5.0 0 ttable.5.1 0 } PK=]:""pcm/front.confnu[# # Hardware output from front speakers # pcm.!front { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_FRONT_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.front.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_FRONT_DEVICE ] default { @func refer name defaults.pcm.front.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.front." $DEV ":CARD=" $CARD ] } } hint { show { @func refer name defaults.namehint.basic } description "Front output / input" device_output $DEV device_input $DEV omit_noargs true } } PK=]" pcm/rear.confnu[# # Hardware output from rear speakers # pcm.!rear { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_REAR_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.rear.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_REAR_DEVICE ] default { @func refer name defaults.pcm.rear.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.rear." $DEV ":CARD=" $CARD ] } } hint { show { @func refer name defaults.namehint.basic } description "Rear speakers" device $DEV } } PK=] Qpcm/surround51.confnu[# # Hardware output from 5.1 speakers # Samples must be positioned: # chn0 - front left # chn1 - front right # chn2 - rear left # chn3 - rear right # chn4 - center # chn5 - lfe # pcm.!surround51 { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SURROUND51_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.surround51.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SURROUND51_DEVICE ] default { @func refer name defaults.pcm.surround51.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.surround51." $DEV ":CARD=" $CARD ] } } hint { description "5.1 Surround output to Front, Center, Rear and Subwoofer speakers" device_output $DEV omit_noargs true } } PK=]+pcm/surround21.confnu[# # Hardware output from 2.1 speakers. # Samples must be positioned: # chn0 - front left # chn1 - front right # chn2 - LFE # pcm.!surround21 { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SURROUND21_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.surround21.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SURROUND21_DEVICE ] default { @func refer name defaults.pcm.surround21.device } } } type route slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.surround51." $DEV ":CARD=" $CARD ] } } ttable.0.FL 1 ttable.1.FR 1 ttable.2.LFE 1 hint { description "2.1 Surround output to Front and Subwoofer speakers" device_output $DEV omit_noargs true } } PK=]"pcm/surround50.confnu[# # Hardware output from 5.0 speakers. # Samples must be positioned: # chn0 - front left # chn1 - front right # chn2 - rear left # chn3 - rear right # chn4 - center # pcm.!surround50 { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SURROUND50_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.surround50.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SURROUND50_DEVICE ] default { @func refer name defaults.pcm.surround50.device } } } type route slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.surround51." $DEV ":CARD=" $CARD ] } } ttable.0.FL 1 ttable.1.FR 1 ttable.2.RL 1 ttable.3.RR 1 ttable.4.FC 1 hint { description "5.0 Surround output to Front, Center and Rear speakers" device_output $DEV omit_noargs true } } PK=] pcm/dmix.confnu[# # dmix output # pcm.!dmix { @args [ CARD DEV SUBDEV FORMAT RATE CHANNELS ] @args.CARD { type string default { @func refer name defaults.pcm.dmix.card } } @args.DEV { type integer default { @func refer name defaults.pcm.dmix.device } } @args.SUBDEV { type integer default 0 } @args.FORMAT { type string default { @func refer name defaults.pcm.dmix.format } } @args.RATE { type integer default { @func refer name defaults.pcm.dmix.rate } } @args.CHANNELS { type integer default { @func refer name defaults.pcm.dmix.channels } } type dmix ipc_key { @func refer name defaults.pcm.ipc_key } ipc_gid { @func refer name defaults.pcm.ipc_gid } ipc_perm { @func refer name defaults.pcm.ipc_perm } tstamp_type { @func refer name defaults.pcm.tstamp_type } slave { pcm { type hw card $CARD device $DEV subdevice $SUBDEV } format $FORMAT rate $RATE channels $CHANNELS period_size { @func refer name { @func concat strings [ "defaults.dmix." { @func card_id card $CARD } ".period_size" ] } default 1024 } period_time { @func refer name { @func concat strings [ "defaults.dmix." { @func card_id card $CARD } ".period_time" ] } default -1 } periods { @func refer name { @func concat strings [ "defaults.dmix." { @func card_id card $CARD } ".periods" ] } default 16 } } hint { show { @func refer name defaults.namehint.extended } description "Direct sample mixing device" device_output $DEV } } PK=]Mâ pcm/hdmi.confnu[# # Hardware output from HDMI # pcm.!hdmi { @args [ CARD DEV AES0 AES1 AES2 AES3 ] @args.CARD { type string default { @func getenv vars [ ALSA_IEC958_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.iec958.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_IEC958_DEVICE ] default { @func refer name defaults.pcm.iec958.device } } } @args.AES0 { type integer # consumer, not-copyright, emphasis-none, mode=0 default 0x04 } @args.AES1 { type integer # original, PCM coder default 0x82 } @args.AES2 { type integer # source and channel default 0x00 } @args.AES3 { type integer # fs=48000Hz, clock accuracy=1000ppm default 0x02 } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.hdmi." $DEV ":" "CARD=" $CARD "," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } hint { show { @func refer name defaults.namehint.basic } description "HDMI Audio Output" device $DEV } } PK=]+pcm/surround40.confnu[# # Hardware output from 4.0 speakers. # Samples must be positioned: # chn0 - front left # chn1 - front right # chn2 - rear left # chn3 - rear right # pcm.!surround40 { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_SURROUND40_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.surround40.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_SURROUND40_DEVICE ] default { @func refer name defaults.pcm.surround40.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.surround40." $DEV ":CARD=" $CARD ] } } hint { description "4.0 Surround output to Front and Rear speakers" device_output $DEV omit_noargs true } } PK=]pcm/iec958.confnu[# # Hardware output from iec958 # pcm.!iec958 { @args [ CARD DEV AES0 AES1 AES2 AES3 ] @args.CARD { type string default { @func getenv vars [ ALSA_IEC958_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.iec958.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_IEC958_DEVICE ] default { @func refer name defaults.pcm.iec958.device } } } @args.AES0 { type integer # consumer, not-copyright, emphasis-none, mode=0 default 0x04 } @args.AES1 { type integer # original, PCM coder default 0x82 } @args.AES2 { type integer # source and channel default 0x00 } @args.AES3 { type integer # fs=48000Hz, clock accuracy=1000ppm default 0x02 } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.iec958." $DEV ":" "CARD=" $CARD "," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } hint { show { @func refer name defaults.namehint.basic } description "IEC958 (S/PDIF) Digital Audio Output" device_output $DEV } } PK=]pcm/default.confnu[# # Default output # pcm.!default { @args [ CARD ] @args.CARD { type string default { @func getenv vars [ ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.card } } } type empty slave.pcm { # use card-specific definition if exists @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.default:CARD=" $CARD ] } default { # use plughw as default type plug slave.pcm { type hw card $CARD } hint.device 0 } } hint { description "Default Audio Device" device_output { @func refer name defaults.pcm.dmix.device } device_input { @func refer name defaults.pcm.dsnoop.device } } } PK=]\7##pcm/center_lfe.confnu[# # Hardware output from center & lfe speakers # pcm.!center_lfe { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_CENTER_LFE_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.center_lfe.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_CENTER_LFE_DEVICE ] default { @func refer name defaults.pcm.center_lfe.device } } } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.center_lfe." $DEV ":CARD=" $CARD ] } } hint { show { @func refer name defaults.namehint.basic } description "Center and Subwoofer speakers" device $DEV } } PK=]@hQ  pcm/modem.confnu[# # "raw" modem - phoneline # pcm.!phoneline { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_MODEM_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.modem.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_MODEM_DEVICE ] default { @func refer name defaults.pcm.modem.device } } } @func refer name { @func concat strings [ "cards." { @func card_inum card $CARD } ".pcm.modem." $DEV ":CARD=" $CARD ] } hint.show off } # # "autohooked" modem # pcm.!modem { @args [ CARD DEV ] @args.CARD { type string default { @func getenv vars [ ALSA_MODEM_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.modem.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_MODEM_DEVICE ] default { @func refer name defaults.pcm.modem.device } } } type hooks slave { pcm { @func concat strings [ "cards.pcm.phoneline:CARD=" $CARD ",DEV=" $DEV ] } } hooks.0 { type ctl_elems hook_args [ { name "Off-hook Switch" preserve true value "on" lock false optional true } ] } hint.show off } PK=] ucm2/Intel/kblrt5660/HiFi.confnu[PK=] #fucm2/Intel/kblrt5660/kblrt5660.confnu[PK=]38 ucm2/Intel/kblrt5660/Hdmi1.confnu[PK=]٥L ucm2/Intel/kblrt5660/Hdmi2.confnu[PK=]* `ucm2/Intel/chtmax98090/HiFi.confnu[PK=]}9kk'ucm2/Intel/chtmax98090/chtmax98090.confnu[PK=]#6v\ucm2/Intel/hda-dsp/hda-dsp.confnu[PK=]tګ,ucm2/Intel/hda-dsp/HiFi.confnu[PK=]#ucm2/Intel/hda-dsp/Hdmi1.confnu[PK=]dGo6ucm2/Intel/hda-dsp/Hdmi2.confnu[PK=]c.## Hucm2/Intel/sof-hda-dsp/HiFi.confnu[PK=]1D)Iss'#ucm2/Intel/sof-hda-dsp/sof-hda-dsp.confnu[PK=]k% ,ucm2/Intel/sof-hda-dsp/Hdmi.confnu[PK=]% k!s.ucm2/Intel/bytcr-rt5640/HiFi.confnu[PK=]*I>ucm2/Intel/bytcr-rt5640/HiFi-LongName.confnu[PK=])uuτucm2/Intel/chtnau8824/HiFi.confnu[PK=]ZX%ucm2/Intel/chtnau8824/chtnau8824.confnu[PK=]=33"gucm2/Intel/broxton-rt298/HiFi.confnu[PK=]O}9''+ucm2/Intel/broxton-rt298/broxton-rt298.confnu[PK=]C"nucm2/Intel/broxton-rt298/Hdmi.confnu[PK=]R%Μucm2/Intel/sof-glkda7219max/HiFi.confnu[PK=]Hq1=ucm2/Intel/sof-glkda7219max/sof-glkda7219max.confnu[PK=] 2%Nucm2/Intel/sof-glkda7219max/Hdmi.confnu[PK=]I(]yFucm2/Intel/SOF/HiFi.confnu[PK=]&ucm2/Intel/SOF/SOF.confnu[PK=]J(nn+ucm2/Intel/bytcht-es8316/bytcht-es8316.confnu[PK=];--"]ucm2/Intel/bytcht-es8316/HiFi.confnu[PK=]*?  +ܲucm2/Intel/bytcht-es8316/HiFi-LongName.confnu[PK=]G[-Ducm2/Intel/bytcht-es8316/HiFi-Components.confnu[PK=]̬:+ucm2/Intel/skylake-rt286/skylake-rt286.confnu[PK=]J;"ucm2/Intel/skylake-rt286/HiFi.confnu[PK=]0.#ucm2/Intel/skylake-rt286/Hdmi1.confnu[PK=]M{  #"ucm2/Intel/skylake-rt286/Hdmi2.confnu[PK=]ik>{ { #ucm2/Intel/cht-bsw-rt5672/HiFi.confnu[PK=]7[-Pucm2/Intel/cht-bsw-rt5672/cht-bsw-rt5672.confnu[PK=]/  ,ucm2/Intel/chtrt5650/HiFi.confnu[PK=]4W,zz#ucm2/Intel/chtrt5650/chtrt5650.confnu[PK=]ںOucm2/Intel/chtrt5645/HiFi.confnu[PK=]Y~  #(ucm2/Intel/chtrt5645/chtrt5645.confnu[PK=]֏ն%ucm2/Intel/bdw-rt5677/bdw-rt5677.confnu[PK=]"Gucm2/Intel/bdw-rt5677/HiFi.confnu[PK=]988 ucm2/Samsung/snow/HiFi.confnu[PK=]gppWucm2/Samsung/snow/snow.confnu[PK=]IIucm2/Librem_5/Librem_5.confnu[PK=],6GGucm2/Librem_5/HiFi.confnu[PK=]/GG4 ucm2/HDA/HDA.confnu[PK=]<#%ucm2/HDA/DualCodecs/DualCodecs.confnu[PK=]QX 'ucm2/HDA/DualCodecs/HiFi.confnu[PK=]%2ucm2/HDA/HiFi.confnu[PK=]#ss&5ucm2/HDA/HDA-Capture-value.confnu[PK=]P5ucm2/HDA/HiFi-acp.confnu[PK=]#P6ucm2/HDA/init.confnu[PK=]Uff:ucm2/HDA/HiFi-analog.confnu[PK=]*U~Rucm2/HDA/Hdmi.confnu[PK=]Y "Uucm2/AMD/acp3xalc5682m98/HiFi.confnu[PK=]܇-`ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.confnu[PK=]`RDDgucm2/AMD/acp5x/acp5x.confnu[PK=]K K Emucm2/AMD/acp5x/HiFi.confnu[PK=]&wucm2/OMAP/abe-twl6040/abe-twl6040.confnu[PK=]уŵ4Kyucm2/Rockchip/rk3399-gru-sound/rk3399-gru-sound.confnu[PK=]_y"0zucm2/Qualcomm/apq8096/apq8096.confnu[PK=]$ >{ucm2/Qualcomm/sdm845/sdm845.confnu[PK=]||$J|ucm2/Rockchip/max98090/max98090.confnu[PK=]mucm2/USB-Audio/NativeInstruments/Traktor-Kontrol-Z1-Mixer.confnu[PK=]*pucm2/USB-Audio/Roland/BridgeCast-Hifi.confnu[PK=]2-ucm2/USB-Audio/USB-Audio.confnu[PK=]*ucm2/USB-Audio/Sony/Inzone-H9-H7-HiFi.confnu[PK=]6P%ucm2/USB-Audio/Sony/Inzone-H9-H7.confnu[PK=], u(ucm2/USB-Audio/Steinberg/UR24C-HiFi.confnu[PK=]h 'ucm2/USB-Audio/Steinberg/UR44-HiFi.confnu[PK=]\g"ucm2/USB-Audio/Steinberg/UR44.confnu[PK=]zQH#ucm2/USB-Audio/Steinberg/UR24C.confnu[PK=]?tmm("ucm2/USB-Audio/Realtek/ALC4080-HiFi.confnu[PK=] .ucm2/USB-Audio/Realtek/ALC1220-VB-Desktop.confnu[PK=]}ʣ#ucm2/USB-Audio/Realtek/ALC4080.confnu[PK=]/S3Kucm2/USB-Audio/Realtek/ALC1220-VB-Desktop-HiFi.confnu[PK=]g ucm2/USB-Audio/MOTU/M2-HiFi.confnu[PK=]v)) ) ucm2/USB-Audio/MOTU/M4-HiFi.confnu[PK=])?ucm2/USB-Audio/MOTU/M2.confnu[PK=]5qn~oucm2/USB-Audio/MOTU/M4.confnu[PK=] 22. ucm2/USB-Audio/Focusrite/Scarlett-2i-HiFi.confnu[PK=]Ҵss)/ucm2/USB-Audio/Focusrite/Scarlett-2i.confnu[PK=]s,ucm2/USB-Audio/Audient/Audient-iD4-0009.confnu[PK=](1Pucm2/USB-Audio/Audient/Audient-iD4-HiFi-0009.confnu[PK=]`~ J,Xucm2/USB-Audio/Audient/Audient-iD4-0003.confnu[PK=]71ucm2/USB-Audio/Audient/Audient-iD4-HiFi-0003.confnu[PK=]9 "ucm2/USB-Audio/Gigabyte/Aorus-Master-Main-Audio-HiFi.confnu[PK=]4&ucm2/USB-Audio/Gigabyte/Aorus-Master-Main-Audio.confnu[PK=]ij&'ucm2/USB-Audio/Behringer/UMC204HD.confnu[PK=]Yr:Z27)ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.confnu[PK=]P+9ucm2/USB-Audio/Behringer/UMC204HD-HiFi.confnu[PK=]DHH-Bucm2/USB-Audio/Behringer/Flow8-Streaming.confnu[PK=]+&Ducm2/USB-Audio/Behringer/UMC202HD.confnu[PK=]$σ2Eucm2/USB-Audio/Behringer/Flow8-Streaming-Hifi.confnu[PK=]lvJJ-Jucm2/USB-Audio/Behringer/Flow8-Recording.confnu[PK=]`lMM+hLucm2/USB-Audio/Behringer/UMC202HD-HiFi.confnu[PK=]jEHRucm2/USB-Audio/GoXLR/GoXLR.confnu[PK=]sF $GSucm2/USB-Audio/GoXLR/GoXLR-HiFi.confnu[PK=]jw&A_ucm2/USB-Audio/Dell/Desktop-Front.confnu[PK=]E'P`ucm2/USB-Audio/Dell/WD15-Dock-HiFi.confnu[PK=]2พ"2eucm2/USB-Audio/Dell/WD15-Dock.confnu[PK=]uI[*fucm2/USB-Audio/Dell/Desktop-Rear-Line.confnu[PK=]:!446gucm2/USB-Audio/Dell/Desktop-Front-Speaker-Headset.confnu[PK=]ogç%iucm2/USB-Audio/Dell/Desktop-Rear.confnu[PK=] UAA"jucm2/USB-Audio/Rane/SL-1-HiFi.confnu[PK=]Govv4mucm2/USB-Audio/Rane/SL-1.confnu[PK=]41mucm2/USB-Audio/Lenovo/ThinkStation-P620-Rear.confnu[PK=]ϙ6nucm2/USB-Audio/Lenovo/ThinkStation-P620-Main-HiFi.confnu[PK=],W`19qucm2/USB-Audio/Lenovo/ThinkStation-P620-Main.confnu[PK=]  ,tucm2/USB-Audio/Arturia/Minifuse-12-HiFi.confnu[PK=]f@'ucm2/USB-Audio/Arturia/Minifuse-12.confnu[PK=]+e&Aucm2/USB-Audio/Arturia/Minifuse-4.confnu[PK=]L9 +ucm2/USB-Audio/Arturia/Minifuse-4-HiFi.confnu[PK=] %>;;ucm2/Rockchip/es8316/HiFi.confnu[PK=]߱ +ucm2/Rockchip/es8316/es8316.confnu[PK=]RRR%`ucm2/Rockchip/rk3588-es8316/HiFi.confnu[PK=] U.ucm2/Rockchip/rk3588-es8316/rk3588-es8316.confnu[PK=]F(ucm2/Rockchip/rk3399-gru-sound/HiFi.confnu[PK=]]EpG G Mucm2/Rockchip/max98090/HiFi.confnu[PK=]sxTT#ucm2/Rockchip/rk817-sound/HiFi.confnu[PK=]}U3oo*ucm2/Rockchip/rk817-sound/rk817-sound.confnu[PK=]=44Tucm2/common/linked-card.confnu[PK=]U5"Էucm2/common/ctl/led.confnu[PK=]'O//ucm2/common/ctl/remap.confnu[PK=])ucm2/common/direct-verb.confnu[PK=]ìmucm2/common/direct.confnu[PK=]ucm2/common/linked.confnu[PK=] 5p!p![ucm2/common/pcm/split.confnu[PK=]: ucm2/ucm.confnu[PK=]Vݙaucm2/sof-soundwire/cs42l45.confnu[PK=]pPX33ucm2/sof-soundwire/rt1318.confnu[PK=]e Jucm2/sof-soundwire/acp-dmic.confnu[PK=]Bۄ"_ucm2/sof-soundwire/rt711-sdca.confnu[PK=]###ucm2/sof-soundwire/cs42l43-spk.confnu[PK=]43挃 ucm2/sof-soundwire/HiFi.confnu[PK=]s] ucm2/sof-soundwire/rt700.confnu[PK=]w BB&ucm2/sof-soundwire/cs35l56-bridge.confnu[PK=] c+aucm2/sof-soundwire/rt711.confnu[PK=]u"{ucm2/sof-soundwire/rt715-sdca.confnu[PK=]곻ucm2/sof-soundwire/rt713.confnu[PK=](-"ucm2/sof-soundwire/rt1320.confnu[PK=]~ò*ucm2/sof-soundwire/cs35l56.confnu[PK=]~,ucm2/sof-soundwire/rt1316.confnu[PK=]5n^2ucm2/sof-soundwire/rt715.confnu[PK=]M}4ucm2/sof-soundwire/rt5682.confnu[PK=]p-%9ucm2/sof-soundwire/sof-soundwire.confnu[PK=] Nucm2/sof-soundwire/cs42l43.confnu[PK=]N/%%$+Sucm2/sof-soundwire/rt721+rt1320.confnu[PK=]٬:$Wucm2/sof-soundwire/cs42l45-dmic.confnu[PK=]Y``$ Yucm2/sof-soundwire/cs42l43-dmic.confnu[PK=]|Xuff]ucm2/sof-soundwire/rt721.confnu[PK=]t$pducm2/sof-soundwire/dmic.confnu[PK=]i fucm2/sof-soundwire/rt712.confnu[PK=]Zurucm2/sof-soundwire/Hdmi.confnu[PK=][{tucm2/sof-soundwire/rt722.confnu[PK=]=6|ucm2/sof-soundwire/rt1308.confnu[PK=],&ucm2/README.mdnu[PK=]tWucm2/PinePhone/VoiceCall.confnu[PK=]ggucm2/PinePhone/HiFi.confnu[PK=]ޠ޳Zucm2/PinePhone/PinePhone.confnu[PK=]lNN>ucm2/lib/ctl-remap.confnu[PK=]#WӨucm2/lib/card-init.confnu[PK=]_nucm2/lib/generic.confnu[PK=]ҋ ucm2/NXP/iMX8/Librem_5/HiFi.confnu[PK=]3g$Tucm2/NXP/iMX8/Librem_5/Librem 5.confnu[PK=]}uB662ducm2/NXP/iMX8/Librem_5_Devkit/Librem 5 Devkit.confnu[PK=]m]0'ucm2/NXP/iMX8/Librem_5_Devkit/HiFi.confnu[PK=] - - $ucm2/Tegra/max98089/lge-x3-HiFi.confnu[PK=]I )aucm2/Tegra/max98089/lge-x3-VoiceCall.confnu[PK=]J ȴucm2/Tegra/max98089/lge-x3.confnu[PK=],L(ucm2/Tegra/tegra-hda/tegra-hda-HiFi.confnu[PK=]#ucm2/Tegra/tegra-hda/tegra-hda.confnu[PK=]>Eucm2/Tegra/alc5632/HiFi.confnu[PK=]cuucm2/Tegra/alc5632/Record.confnu[PK=]x*ucm2/Tegra/rt5640/Google-Nexus-7-HiFi.confnu[PK=]e=w%ucm2/Tegra/rt5640/Google-Nexus-7.confnu[PK=]/ucm2/Tegra/max98090/HiFi.confnu[PK=]-~ Ԥ ucm2/Tegra/wm8903/Acer-A500.confnu[PK=]y+'ucm2/Tegra/wm8903/Asus-Transformer.confnu[PK=]ޮ,ucm2/Tegra/wm8903/Asus-Transformer-HiFi.confnu[PK=]t,d d %ucm2/Tegra/wm8903/Acer-A500-HiFi.confnu[PK=]{n++'W ucm2/Tegra/rt5631/Asus-Transformer.confnu[PK=]B,ucm2/Tegra/rt5631/Asus-Transformer-HiFi.confnu[PK=]'Wg%% .ucm2/DEBUG.mdnu[PK=]Ah  0*ucm2/MediaTek/sof-mt8395-evk/sof-mt8395-evk.confnu[PK=]b늾EEG.ucm2/Qualcomm/sc7180/rt5682-max98357a/sc7180-rt5682-max98357a-1mic.confnu[PK=] r=0ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.confnu[PK=]&1ucm2/conf.d/mt8370-evk/mt8370-evk.confnu[PK=]̣rr(7ucm2/MediaTek/mt8391-evk/mt8391-evk.confnu[PK=]tt08ucm2/MediaTek/mt8390-evk/sof/sof-mt8390-evk.confnu[PK=]$؟0|9ucm2/Qualcomm/sdm845/Lenovo-YOGA-C630-13Q50.confnu[PK=]}(:ucm2/MediaTek/mt8395-evk/mt8395-evk.confnu[PK=];T/tt0@ucm2/MediaTek/mt8365-evk/sof/sof-mt8365-evk.confnu[PK=]kdLAucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/mt8192_mt6359_rt1015p_rt5682.confnu[PK=]#RCucm2/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/sof-mt8195-mt6359-rt1019-rt5682.confnu[PK=]߱z*Eucm2/MediaTek/mt8195_demo/mt8195_demo.confnu[PK=]씎rr(/Kucm2/MediaTek/mt8365-evk/mt8365-evk.confnu[PK=]Kucm2/conf.d/sof-hda-dspnuȯPK=]T6$@Lucm2/Qualcomm/sc8280xp/sc8280xp.confnu[PK=]s{[+Nucm2/Allwinner/A64/PinePhone/PinePhone.confnu[PK=]=44*,Wucm2/conf.d/acp-pdm-mach/acp-pdm-mach.confnu[PK=]0^ss(Wucm2/MediaTek/mt8390-evk/mt8390-evk.confnu[PK=]:*LL(Xucm2/MediaTek/mtk-rt5650/mtk-rt5650.confnu[PK=] )Zucm2/PineTab/HiFi.confnu[PK=]IIeucm2/PineTab/PineTab.confnu[PK=]RR+fucm2/platforms/bytcr/PlatformEnableSeq.confnu[PK=]',:yucm2/platforms/bytcr/PlatformDisableSeq.confnu[PK=] mk|ucm2/codecs/rt722/init.confnu[PK=]Ǔ"ucm2/codecs/cs42l43-dmic/init.confnu[PK=]4ucm2/codecs/rt700/init.confnu[PK=]/?*ucm2/codecs/rt5651/HeadPhones-swapped.confnu[PK=]NM"*ucm2/codecs/rt5651/HeadPhones.confnu[PK=]!IO"mucm2/codecs/rt5651/DigitalMic.confnu[PK=]Jsl&đucm2/codecs/rt5651/IN3-HeadsetMic.confnu[PK=]2 )ff!ucm2/codecs/rt5651/EnableSeq.confnu[PK=]ZA#mucm2/codecs/rt5651/MonoSpeaker.confnu[PK=]dن&ucm2/codecs/rt5651/IN2-HeadsetMic.confnu[PK=]oM(ucm2/codecs/rt5651/IN12-InternalMic.confnu[PK=]vSwucm2/codecs/rt5651/Speaker.confnu[PK=]Ov[['ucm2/codecs/rt5651/init.confnu[PK=]xYY'ήucm2/codecs/rt5651/IN1-InternalMic.confnu[PK=]M؋YY'~ucm2/codecs/rt5651/IN2-InternalMic.confnu[PK=]뢢t"".ucm2/codecs/da7219/init.confnu[PK=]'ucm2/codecs/rt721/init.confnu[PK=],|\\ݹucm2/codecs/rt712/init.confnu[PK=]o"qucm2/codecs/rt5682/init.confnu[PK=]e9 ucm2/codecs/rt711-sdca/init.confnu[PK=][)ucm2/codecs/cs42l43-spk+cs35l56/init.confnu[PK=]?c"^ucm2/codecs/es8316/HeadPhones.confnu[PK=]z8&8ucm2/codecs/es8316/IN1-HeadsetMic.confnu[PK=]ۆt!1ucm2/codecs/es8316/EnableSeq.confnu[PK=]Q(  #xucm2/codecs/es8316/MonoSpeaker.confnu[PK=]/ A&ucm2/codecs/es8316/IN2-HeadsetMic.confnu[PK=]Ϯ%ucm2/codecs/es8316/Speaker.confnu[PK=]'ucm2/codecs/es8316/IN1-InternalMic.confnu[PK=]iC'ucm2/codecs/es8316/IN2-InternalMic.confnu[PK=]I I ucm2/codecs/rt1320/init.confnu[PK=] /Iucm2/codecs/cs35l56/init.confnu[PK=]c.?ucm2/codecs/cs42l43/init.confnu[PK=]}}4Tucm2/codecs/qcom-lpass/va-macro/DMIC1DisableSeq.confnu[PK=]˚s35ucm2/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.confnu[PK=]Jբ3:ucm2/codecs/qcom-lpass/va-macro/DMIC1EnableSeq.confnu[PK=]I}}4?ucm2/codecs/qcom-lpass/va-macro/DMIC0DisableSeq.confnu[PK=]f//6 ucm2/codecs/qcom-lpass/wsa-macro/SpeakerEnableSeq.confnu[PK=]+M#**7ucm2/codecs/qcom-lpass/wsa-macro/SpeakerDisableSeq.confnu[PK=]/D7Fucm2/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.confnu[PK=]}qRuu8Cucm2/codecs/qcom-lpass/rx-macro/HeadphoneDisableSeq.confnu[PK=][L3 ucm2/codecs/qcom-lpass/tx-macro/DMIC0EnableSeq.confnu[PK=]õ:ucm2/codecs/qcom-lpass/tx-macro/HeadphoneMicEnableSeq.confnu[PK=]r;ucm2/codecs/qcom-lpass/tx-macro/HeadphoneMicDisableSeq.confnu[PK=]]]4ucm2/codecs/qcom-lpass/tx-macro/DMIC0DisableSeq.confnu[PK=]М,"mucm2/codecs/rt5640/HeadPhones.confnu[PK=]so#lucm2/codecs/rt5640/DigitalMics.confnu[PK=]I-"pucm2/codecs/rt5640/HeadsetMic.confnu[PK=]fgU U !sucm2/codecs/rt5640/EnableSeq.confnu[PK=].!#ucm2/codecs/rt5640/MonoSpeaker.confnu[PK=] #Nucm2/codecs/rt5640/HeadPhones2.confnu[PK=]Ε#' ucm2/codecs/rt5640/IN3-InternalMic.confnu[PK=]tt!ucm2/codecs/rt5640/Speaker.confnu[PK=]̹/F%ucm2/codecs/rt5640/init.confnu[PK=]IzUU'{(ucm2/codecs/rt5640/HeadsetMic2-IN1.confnu[PK=]ǵI''-ucm2/codecs/rt5640/IN1-InternalMic.confnu[PK=]ht2ucm2/codecs/hda/hdmi.confnu[PK=]kp(!:5ucm2/codecs/rt5645/AnalogMic.confnu[PK=]۪!O9ucm2/codecs/rt5645/EnableSeq.confnu[PK=]~;,?ucm2/codecs/rt5645/DigitalMicDisableSeq.confnu[PK=]F//"@ucm2/codecs/rt5645/DisableSeq.confnu[PK=]d(LCucm2/codecs/rt5645/SpeakerEnableSeq.confnu[PK=]ƙ+|Ducm2/codecs/rt5645/DigitalMicEnableSeq.confnu[PK=]Kh{G+pFucm2/codecs/rt5645/HeadphonesEnableSeq.confnu[PK=] 11Gucm2/codecs/rt5645/init.confnu[PK=]z'XIucm2/codecs/rt5645/HSMicDisableSeq.confnu[PK=]D&Jucm2/codecs/rt5645/HSMicEnableSeq.confnu[PK=]MM)Kucm2/codecs/wsa881x/DefaultEnableSeq.confnu[PK=]Z;])lMucm2/codecs/wsa881x/SpeakerEnableSeq.confnu[PK=]gNN*]Oucm2/codecs/wsa881x/SpeakerDisableSeq.confnu[PK=]Ɔ;00#Qucm2/codecs/nau8824/HeadPhones.confnu[PK=]w  #Rucm2/codecs/nau8824/HeadsetMic.confnu[PK=] G|s=="Tucm2/codecs/nau8824/EnableSeq.confnu[PK=]/z$Wucm2/codecs/nau8824/MonoSpeaker.confnu[PK=]1_$Yucm2/codecs/nau8824/InternalMic.confnu[PK=] v "\ucm2/codecs/nau8824/Speaker.confnu[PK=]ĹLXX *^ucm2/codecs/nau8824/DMIC1_2.confnu[PK=]zz)"`ucm2/codecs/rt5672/HeadPhones.confnu[PK=]2"bucm2/codecs/rt5672/HeadsetMic.confnu[PK=]Vnc! fucm2/codecs/rt5672/EnableSeq.confnu[PK=]w2#4mucm2/codecs/rt5672/MonoSpeaker.confnu[PK=])zLpucm2/codecs/rt5672/Speaker.confnu[PK=]arucm2/codecs/rt5672/DMIC2.confnu[PK=]1uucm2/codecs/rt5672/DMIC1.confnu[PK=]nf%yucm2/codecs/cs42l45/init.confnu[PK=]U00"W|ucm2/codecs/cs42l45-dmic/init.confnu[PK=]j6 S~ucm2/codecs/rt1318/init.confnu[PK=]m/)ucm2/codecs/wcd938x/DefaultEnableSeq.confnu[PK=]+ucm2/codecs/wcd938x/HeadphoneEnableSeq.confnu[PK=]%.Єucm2/codecs/wcd938x/HeadphoneMicEnableSeq.confnu[PK=]mQTT/ޅucm2/codecs/wcd938x/HeadphoneMicDisableSeq.confnu[PK=]-Iucm2/codecs/wcd938x/init.confnu[PK=]>,jucm2/codecs/wcd938x/HeadphoneDisableSeq.confnu[PK=]##$ucm2/codecs/cs35l56-bridge/init.confnu[PK=]+_{~ucm2/codecs/acp-dmic/init.confnu[PK=]f'"ucm2/codecs/wm5102/HeadPhones.confnu[PK=]I7&ύucm2/codecs/wm5102/IN1-HeadsetMic.confnu[PK=]yP!ucm2/codecs/wm5102/EnableSeq.confnu[PK=]bb'֑ucm2/codecs/wm5102/IN3-InternalMic.confnu[PK=]cm``ucm2/codecs/wm5102/Speaker.confnu[PK=]Y,ۿ$>ucm2/codecs/max98090/HeadsetMic.confnu[PK=]f844#5ucm2/codecs/max98090/EnableSeq.confnu[PK=]_p%ucm2/codecs/max98090/InternalMic.confnu[PK=]鮭!Нucm2/codecs/max98090/Speaker.confnu[PK=]D~$˟ucm2/codecs/max98090/Headphones.confnu[PK=]3xxucm2/codecs/rt715/init.confnu[PK=]ucm2/codecs/cs42l43-spk+cs35l56nuȯPK=]ׂ ucm2/codecs/rt711/init.confnu[PK=]<<)eucm2/codecs/wsa883x/DefaultEnableSeq.confnu[PK=])Rucm2/codecs/wsa883x/SpeakerEnableSeq.confnu[PK=]gNN*ucm2/codecs/wsa883x/SpeakerDisableSeq.confnu[PK=]~^#2ucm2/codecs/cx2072x/HeadPhones.confnu[PK=]t4#ucm2/codecs/cx2072x/HeadsetMic.confnu[PK=]E~~"ucm2/codecs/cx2072x/EnableSeq.confnu[PK=]G#ѱucm2/codecs/cx2072x/DisableSeq.confnu[PK=]bm$ucm2/codecs/cx2072x/InternalMic.confnu[PK=]#$ZZ δucm2/codecs/cx2072x/Speaker.confnu[PK=]J)xucm2/codecs/wcd934x/DefaultEnableSeq.confnu[PK=] +*·ucm2/codecs/wcd934x/DefaultDisableSeq.confnu[PK=]5g+ucm2/codecs/wcd934x/HeadphoneEnableSeq.confnu[PK=]/;b)7ucm2/codecs/wcd934x/SpeakerEnableSeq.confnu[PK=]NN.-ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.confnu[PK=]I7OO/ٻucm2/codecs/wcd934x/HeadphoneMicDisableSeq.confnu[PK=]`Ӡ*ucm2/codecs/wcd934x/SpeakerDisableSeq.confnu[PK=]ZTFFucm2/codecs/wcd934x/init.confnu[PK=]},ucm2/codecs/wcd934x/HeadphoneDisableSeq.confnu[PK=]uyMZZ!lucm2/codecs/cs42l43-spk/init.confnu[PK=])2@rr ucm2/codecs/rt715-sdca/init.confnu[PK=]aaucm2/codecs/rt713/init.confnu[PK=]-j+ucm2/Allwinner/A64/PinePhone/VoiceCall.confnu[PK=]rr&rucm2/Allwinner/A64/PinePhone/HiFi.confnu[PK=] :ucm2/Librem_5nuȯPK=]xBc(wucm2/OMAP/abe-twl6040/SDP4430/Voice.confnu[PK=]T3b,ucm2/OMAP/abe-twl6040/SDP4430/VoiceCall.confnu[PK=]2pp'ucm2/OMAP/abe-twl6040/SDP4430/HiFi.confnu[PK=]@*Zucm2/OMAP/abe-twl6040/SDP4430/SDP4430.confnu[PK=]T-)ucm2/OMAP/abe-twl6040/SDP4430/HiFiLP.confnu[PK=]Ķi11+ucm2/OMAP/abe-twl6040/SDP4430/FMAnalog.confnu[PK=])Fucm2/OMAP/abe-twl6040/SDP4430/Record.confnu[PK=]SIo+"ucm2/OMAP/abe-twl6040/Pandaboard/Voice.confnu[PK=]/^ucm2/OMAP/abe-twl6040/Pandaboard/VoiceCall.confnu[PK=]LLL*ucm2/OMAP/abe-twl6040/Pandaboard/HiFi.confnu[PK=]}? ,. ucm2/OMAP/abe-twl6040/Pandaboard/HiFiLP.confnu[PK=]%ss.uucm2/OMAP/abe-twl6040/Pandaboard/FMAnalog.confnu[PK=]E,Fucm2/OMAP/abe-twl6040/Pandaboard/Record.confnu[PK=]N/0vucm2/OMAP/abe-twl6040/Pandaboard/Pandaboard.confnu[PK=]qnnucm2/Qualcomm/sm8250/HiFi.confnu[PK=] JYucm2/Qualcomm/sm8250/HDMI.confnu[PK=]K #!ucm2/Qualcomm/apq8016-sbc/HiFi.confnu[PK=]=N))#,ucm2/Qualcomm/apq8016-sbc/HDMI.confnu[PK=]xc c .ucm2/Qualcomm/apq8096/HiFi.confnu[PK=]bы8ucm2/Qualcomm/apq8096/HDMI.confnu[PK=] I*;ucm2/Qualcomm/sdm845/HiFi.confnu[PK=]VŽ ?ucm2/Qualcomm/sdm845/HDMI.confnu[PK=]oZ##"Aucm2/Qualcomm/sdm845/HiFi-MM1.confnu[PK=]E/Hucm2/Qualcomm/sc7180/rt5682-max98357a/HiFi.confnu[PK=]er/{Qucm2/Qualcomm/sc7180/rt5682-max98357a/init.confnu[PK=]S2 2 Tucm2/Qualcomm/sc8280xp/HiFi.confnu[PK=]̵'S^ucm2/Qualcomm/sc8280xp/LENOVO-X13s.confnu[PK=]q&_ucm2/MediaTek/sof-mt8395-evk/HiFi.confnu[PK=]4bucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/HiFi.confnu[PK=]ԩPAA4hucm2/MediaTek/mt8192/mt6359-rt1015p-rt5682/init.confnu[PK=]ʪ "`kucm2/MediaTek/mt8370-evk/HiFi.confnu[PK=](uucm2/MediaTek/mt8370-evk/mt8370-evk.confnu[PK=]ڮ~@ @ "{ucm2/MediaTek/mt8391-evk/HiFi.confnu[PK=]0r~":ucm2/MediaTek/mt8391-evk/init.confnu[PK=])e7{ucm2/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/HiFi.confnu[PK=]0E7ucm2/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/init.confnu[PK=]"˒ucm2/MediaTek/mt8195-sof/init.confnu[PK=]+C C "ucm2/MediaTek/mt8395-evk/HiFi.confnu[PK=]9F] #ucm2/MediaTek/mt8195_demo/HiFi.confnu[PK=]H"ucm2/MediaTek/mt8365-evk/HiFi.confnu[PK=]!"ucm2/MediaTek/mt8365-evk/init.confnu[PK=]ML%Jucm2/MediaTek/mt8365-evk/sof/SOF.confnu[PK=]K K "9ucm2/MediaTek/mt8390-evk/HiFi.confnu[PK=]"ucm2/MediaTek/mt8390-evk/init.confnu[PK=]h00"ucm2/MediaTek/mtk-rt5650/HiFi.confnu[PK=]P"Rucm2/MediaTek/mtk-rt5650/HDMI.confnu[PK=]D|9";ucm2/MediaTek/mtk-rt5650/init.confnu[PK=]A A Bcards/Aureon51.confnu[PK=]8YR cards/CS46xx.confnu[PK=]t,MMcards/YMF744.confnu[PK=]UYcards/ATIIXP-SPDMA.confnu[PK=] cards/ICH.confnu[PK=]vMMFcards/FWSpeakers.confnu[PK=]BGGcards/VXPocket.confnu[PK=]wGb cards/VIA686A.confnu[PK=]FŠ  Scards/RME9636.confnu[PK=] cards/Aureon71.confnu[PK=]G cards/EMU10K1X.confnu[PK=]y&cards/GUS.confnu[PK=] cards/ICE1724.confnu[PK=]S< Jcards/AACI.confnu[PK=]|)+&+&Lcards/USB-Audio.confnu[PK=]>W.cards/VX222.confnu[PK=]v 1cards/Audigy.confnu[PK=]ox Bcards/VIA8233A.confnu[PK=]WWMcards/HdmiLpeAudio.confnu[PK=]HScards/ENS1371.confnu[PK=]o Zcards/Loopback.confnu[PK=]! DD`cards/EMU10K1.confnu[PK=] qcards/VIA8233.confnu[PK=]V|cards/AU8820.confnu[PK=]8n?z}cards/PMacToonie.confnu[PK=]yKwwcards/CMI8338.confnu[PK=]!qW9cards/FireWave.confnu[PK=]Ye0:cards/ES1968.confnu[PK=]4$ ..cards/Maestro3.confnu[PK=]? cards/ICH-MODEM.confnu[PK=]kcards/AU8830.confnu[PK=]0ёcards/SI7018.confnu[PK=]]cards/HDA-Intel.confnu[PK=]ƺcards/SB-XFi.confnu[PK=]y.topology/hda-dsp/skl_hda_dsp_generic-tplg.confnu[PK=]3"" topology/bxtrt298/bxt_i2s.confnu[PK=]UlKK\ topology/sklrt286/skl_i2s.confnu[PK=] @11! topology/broadwell/broadwell.confnu[PK=]G'' w alsa.confnu[PK=] 5"ctl/default.confnu[PK=]kRN $ucm/README.mdnu[PK=]\I66%pcm/dsnoop.confnu[PK=]G ,pcm/side.confnu[PK=]5+/pcm/surround71.confnu[PK=]X3pcm/surround41.confnu[PK=]Eׅ 7pcm/dpl.confnu[PK=]:""H:pcm/front.confnu[PK=]" =pcm/rear.confnu[PK=] Q@pcm/surround51.confnu[PK=]+Dpcm/surround21.confnu[PK=]"Hpcm/surround50.confnu[PK=] Lpcm/dmix.confnu[PK=]Mâ Spcm/hdmi.confnu[PK=]+Xpcm/surround40.confnu[PK=]d\pcm/iec958.confnu[PK=]eapcm/default.confnu[PK=]\7##dpcm/center_lfe.confnu[PK=]@hQ  hpcm/modem.confnu[PK$am