├── cht-bsw-rt5672 ├── cht-bsw-rt5672.conf └── HiFi ├── sof-cht-bsw-rt5672 ├── sof-cht-bsw-rt5672.conf └── HiFi ├── chtrt5645 ├── chtrt5645.conf └── HiFi.conf ├── byt-max98090 ├── byt-max98090.conf └── HiFi.conf ├── chtmax98090 ├── chtmax98090.conf └── HiFi.conf ├── chtnau8824 ├── chtnau8824.conf └── HiFi.conf ├── sof-bdw-rt5677 ├── sof-bdw-rt5677.conf └── HiFi.conf ├── sof-chtrt5645 ├── sof-chtrt5645.conf └── HiFi.conf ├── sof-bxtda7219max ├── sof-bxtda7219max.conf └── HiFi.conf ├── sof-chtmax98090 ├── sof-chtmax98090.conf └── HiFi.conf ├── byt-rt5640 ├── byt-rt5640.conf ├── README └── HiFi ├── bytcht-da7213 ├── bytcht-da7213.conf ├── README └── HiFi ├── bytcr-rt5640 ├── bytcr-rt5640.conf ├── README └── HiFi ├── skl_hda_card ├── skl_hda_card.conf └── HiFi ├── bytcht-nocodec ├── bytcht-nocodec.conf ├── README └── HiFi ├── bytcht-pcm512x ├── bytcht-pcm512x.conf ├── README └── HiFi ├── sof-bytcht-da7213 ├── sof-bytcht-da7213.conf ├── README └── HiFi ├── sof-bytcr-rt5640 ├── sof-bytcr-rt5640.conf ├── README └── HiFi ├── sof-bxt-pcm512x ├── README ├── sof-bxt-pcm512x.conf └── HiFi ├── bytcr-rt5651 ├── README ├── bytcr-rt5651.conf ├── HiFi.conf └── asound.state └── sof-bytcr-rt5651 ├── sof-bytcr-rt5651.conf └── HiFi.conf /cht-bsw-rt5672/cht-bsw-rt5672.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "HiFi Playback & Capture" 4 | } 5 | -------------------------------------------------------------------------------- /sof-cht-bsw-rt5672/sof-cht-bsw-rt5672.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "HiFi Playback & Capture" 4 | } 5 | -------------------------------------------------------------------------------- /chtrt5645/chtrt5645.conf: -------------------------------------------------------------------------------- 1 | Comment "Intel SoC Audio Device" 2 | SectionUseCase."HiFi" { 3 | File "HiFi.conf" 4 | Comment "Default" 5 | } 6 | -------------------------------------------------------------------------------- /byt-max98090/byt-max98090.conf: -------------------------------------------------------------------------------- 1 | Comment "Orco internal card" 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Default" 6 | } 7 | -------------------------------------------------------------------------------- /chtmax98090/chtmax98090.conf: -------------------------------------------------------------------------------- 1 | Comment "chtmax98090 internal card" 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Default" 6 | } 7 | -------------------------------------------------------------------------------- /chtnau8824/chtnau8824.conf: -------------------------------------------------------------------------------- 1 | Comment "chtnau8824 internal card" 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Default" 6 | } 7 | -------------------------------------------------------------------------------- /sof-bdw-rt5677/sof-bdw-rt5677.conf: -------------------------------------------------------------------------------- 1 | Comment "Samus internal card" 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Default" 6 | } 7 | -------------------------------------------------------------------------------- /sof-chtrt5645/sof-chtrt5645.conf: -------------------------------------------------------------------------------- 1 | Comment "SOF chtrt5645 audio device" 2 | SectionUseCase."HiFi" { 3 | File "HiFi.conf" 4 | Comment "Default" 5 | } 6 | -------------------------------------------------------------------------------- /sof-bxtda7219max/sof-bxtda7219max.conf: -------------------------------------------------------------------------------- 1 | Comment "sof-bxtda7219max internal card" 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Default" 6 | } 7 | -------------------------------------------------------------------------------- /sof-chtmax98090/sof-chtmax98090.conf: -------------------------------------------------------------------------------- 1 | Comment "sof-chtmax98090 internal card" 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Default" 6 | } 7 | -------------------------------------------------------------------------------- /byt-rt5640/byt-rt5640.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:bytrt5640" 8 | ] 9 | -------------------------------------------------------------------------------- /bytcht-da7213/bytcht-da7213.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:bytchtda7213" 8 | ] 9 | -------------------------------------------------------------------------------- /bytcr-rt5640/bytcr-rt5640.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:bytcrrt5640" 8 | ] 9 | -------------------------------------------------------------------------------- /skl_hda_card/skl_hda_card.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:sklhdacard" 8 | ] 9 | -------------------------------------------------------------------------------- /bytcht-nocodec/bytcht-nocodec.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:bytchtnocodec" 8 | ] 9 | -------------------------------------------------------------------------------- /bytcht-pcm512x/bytcht-pcm512x.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:bytchtpcm512x" 8 | ] 9 | -------------------------------------------------------------------------------- /sof-bytcht-da7213/sof-bytcht-da7213.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:bytchtda7213" 8 | ] 9 | -------------------------------------------------------------------------------- /sof-bytcr-rt5640/sof-bytcr-rt5640.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:sofbytcrrt5640" 8 | ] 9 | -------------------------------------------------------------------------------- /bytcht-da7213/README: -------------------------------------------------------------------------------- 1 | To enable UCM on DA7213 platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../bytcht-da7213 /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /bytcr-rt5640/README: -------------------------------------------------------------------------------- 1 | To enable UCM on RT5640 platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../bytcr-rt5640 /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /bytcht-nocodec/README: -------------------------------------------------------------------------------- 1 | To enable UCM on NOCODEC platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../bytcht-nocodec /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /bytcht-pcm512x/README: -------------------------------------------------------------------------------- 1 | To enable UCM on PCM512X platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../bytcht-pcm512x /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /sof-bytcr-rt5640/README: -------------------------------------------------------------------------------- 1 | To enable UCM on RT5640 platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../sof-bytcr-rt5640 /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /sof-bxt-pcm512x/README: -------------------------------------------------------------------------------- 1 | To enable UCM on PCM512X platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../sof-bxt-pcm512x /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above 7 | -------------------------------------------------------------------------------- /sof-bytcht-da7213/README: -------------------------------------------------------------------------------- 1 | lTo enable UCM on DA7213 platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../sof-bytcht-da7213 /usr/share/alsa/ucm 5 | 6 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /byt-rt5640/README: -------------------------------------------------------------------------------- 1 | To enable UCM on RT5640 platforms with older driver 2 | (added for backwards compatibility) 3 | 4 | 1. copy directory to UCM location 5 | sudo cp -rf ../byt-rt5640 /usr/share/alsa/ucm 6 | 7 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /sof-bxt-pcm512x/sof-bxt-pcm512x.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:sofbxtpcm512x" 8 | cset "name='Digital Playback Switch' off" 9 | cset "name='Digital Playback Volume' 120" 10 | ] 11 | -------------------------------------------------------------------------------- /bytcr-rt5651/README: -------------------------------------------------------------------------------- 1 | To enable UCM on RT5651 platforms, 2 | 3 | 1. copy directory to UCM location 4 | sudo cp -rf ../bytcr-rt5651 /usr/share/alsa/ucm 5 | 6 | 2. update asound.state 7 | sudo cp asound.state /var/lib/alsa 8 | 9 | UCM files should be detected and use with Pulseaudio 4.0 and above -------------------------------------------------------------------------------- /sof-bxt-pcm512x/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for bxt-pcm512x 2 | 3 | SectionVerb { 4 | EnableSequence [ 5 | cdev "hw:sofbxtpcm512x" 6 | exec "echo HiFi enable sequence" 7 | cset "name='Digital Playback Switch' off" 8 | cset "name='Digital Playback Volume' 120" 9 | ] 10 | 11 | DisableSequence [ 12 | cdev "hw:sofbxtpcm512x" 13 | exec "echo HiFi disable sequence" 14 | cset "name='Digital Playback Switch' on" 15 | ] 16 | 17 | Value { 18 | PlaybackPCM "hw:sofbxtpcm512x" 19 | } 20 | } 21 | 22 | SectionDevice."Ext Spk" { 23 | Comment "RCA Line output" 24 | 25 | EnableSequence [ 26 | cdev "hw:sofbxtpcm512x" 27 | ] 28 | 29 | DisableSequence [ 30 | cdev "hw:sofbxtpcm512x" 31 | ] 32 | 33 | Value { 34 | PlaybackChannels "2" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /skl_hda_card/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for skl-hda-card 2 | # alsaucm -c skl-hda-card set _verb HiFi set _enadev Playback 3 | 4 | SectionVerb { 5 | 6 | EnableSequence [ 7 | cdev "hw:sklhdacard" 8 | 9 | cset "name='codec0_out mo media2_in mi Switch' on" 10 | cset "name='media0_out mo codec0_in mi Switch' on" 11 | cset "name='Master Playback Switch' on" 12 | cset "name='Capture Switch' on" 13 | 14 | ] 15 | 16 | DisableSequence [ 17 | ] 18 | 19 | # ALSA PCM 20 | Value { 21 | # ALSA PCM device for HiFi 22 | PlaybackPCM "hw:sklhdacard" 23 | CapturePCM "hw:sklhdacard" 24 | } 25 | } 26 | 27 | SectionDevice."Playback" { 28 | Comment "playback" 29 | 30 | Value { 31 | PlaybackPCM "hw:sklhdacard,5" 32 | } 33 | 34 | EnableSequence [ 35 | cdev "hw:sklhdacard" 36 | ] 37 | 38 | DisableSequence [ 39 | cdev "hw:sklhdacard" 40 | 41 | ] 42 | 43 | Value { 44 | PlaybackChannels "2" 45 | } 46 | } 47 | 48 | SectionDevice."Capture" { 49 | Comment "Capture" 50 | 51 | Value { 52 | CapturePCM "hw:sklhdacard,5" 53 | } 54 | 55 | EnableSequence [ 56 | cdev "hw:sklhdacard" 57 | ] 58 | 59 | DisableSequence [ 60 | cdev "hw:sklhdacard" 61 | 62 | ] 63 | 64 | Value { 65 | CaptureChannels "2" 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /sof-bytcr-rt5651/sof-bytcr-rt5651.conf: -------------------------------------------------------------------------------- 1 | SectionUseCase."HiFi" { 2 | File "HiFi.conf" 3 | Comment "Play HiFi quality Music" 4 | } 5 | 6 | SectionDefaults [ 7 | cdev "hw:sofbytcrrt5651" 8 | 9 | # default state 10 | cset "name='HPO MIX DAC1 Switch' on" 11 | cset "name='HP Playback Volume' 0" 12 | cset "name='HPO L Playback Switch' off" 13 | cset "name='HPO R Playback Switch' off" 14 | cset "name='HPOVOL L Switch' on" 15 | cset "name='HPOVOL R Switch' on" 16 | cset "name='LOUT MIX DAC L1 Switch' on" 17 | cset "name='LOUT MIX DAC R1 Switch' on" 18 | cset "name='IN1 Boost' 1" 19 | cset "name='IN2 Boost' 1" 20 | cset "name='IF1 ASRC Switch' on" 21 | cset "name='LOUT L Playback Switch' off" 22 | cset "name='LOUT R Playback Switch' off" 23 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 24 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 25 | cset "name='Stereo1 ADC MIXR ADC1 Switch' on" 26 | cset "name='Stereo1 ADC MIXR ADC2 Switch' on" 27 | cset "name='Stereo2 ADC MIXL ADC1 Switch' on" 28 | cset "name='Stereo2 ADC MIXL ADC2 Switch' on" 29 | cset "name='Stereo2 ADC MIXR ADC1 Switch' on" 30 | cset "name='Stereo2 ADC MIXR ADC2 Switch' on" 31 | cset "name='Headphone Switch' off" 32 | cset "name='Speaker Switch' off" 33 | 34 | # volumes for 0dB 35 | cset "name='OUT Playback Volume' 31" 36 | cset "name='HP Playback Volume' 31" 37 | cset "name='IN Capture Volume' 23" 38 | cset "name='ADC Capture Volume' 47" 39 | cset "name='DAC1 Playback Volume' 175" 40 | 41 | # input 42 | cset "name='Stereo1 ADC L1 Mux' ADC" 43 | cset "name='Stereo1 ADC R1 Mux' ADC" 44 | cset "name='Stereo1 ADC MIXL ADC1 Switch' on" 45 | cset "name='Stereo1 ADC MIXR ADC1 Switch' on" 46 | cset "name='RECMIXL BST1 Switch' off" 47 | cset "name='RECMIXR BST1 Switch' off" 48 | cset "name='RECMIXL BST3 Switch' off" 49 | cset "name='RECMIXR BST3 Switch' off" 50 | cset "name='RECMIXL BST2 Switch' off" 51 | cset "name='RECMIXR BST2 Switch' off" 52 | ] 53 | 54 | # FIXME: check if those are needed? 55 | # cset "name='HPO MIX HPVOL Switch' on" 56 | -------------------------------------------------------------------------------- /sof-bxtda7219max/HiFi.conf: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c sof-bxtda7219max set _verb HiFi set _enadev Headphone 3 | # alsaucm -c sof-bxtda7219max set _verb HiFi set _enadev Speakers 4 | # alsaucm -c sof-bxtda7219max set _verb HiFi set _enadev HeadsetMic 5 | # alsaucm -c sof-bxtda7219max set _verb HiFi set _enadev InternalMic 6 | 7 | 8 | SectionVerb { 9 | # Value { 10 | # OutputDspName "speaker_eq" 11 | # FullySpecifiedUCM "1" 12 | # } 13 | 14 | EnableSequence [ 15 | cdev "hw:sofbxtda7219max" 16 | 17 | cset "name='Playback Digital Volume' 111" 18 | cset "name='Playback Digital Switch' 1" 19 | cset "name='Out DACL Mux' DAIL" 20 | cset "name='Out DACR Mux' DAIR" 21 | cset "name='Mixer Out FilterL DACL Switch' 1" 22 | cset "name='Mixer Out FilterR DACR Switch' 1" 23 | cset "name='ST Mixer Out FilterL Out FilterL Switch' 1" 24 | cset "name='ST Mixer Out FilterR Out FilterR Switch' 1" 25 | cset "name='Headphone Jack Switch' off" 26 | cset "name='Headset Mic Switch' off" 27 | cset "name='Mic Volume' 5" 28 | cset "name='Capture Digital Volume' 111" 29 | cset "name='Capture Digital Switch' 1" 30 | cset "name='Mixin Volume' 10" 31 | cset "name='Mixin Switch' 1" 32 | cset "name='Mixer In Mic Switch' 1" 33 | cset "name='Out DAIL Mux' ADC" 34 | cset "name='Out DAIR Mux' ADC" 35 | cset "name='Gain Ramp Rate' 1" 36 | ] 37 | DisableSequence [ 38 | ] 39 | } 40 | 41 | # SectionDevice."Speaker".0 { 42 | # Value { 43 | # PlaybackPCM "hw:sofbxtda7219max,0" 44 | # } 45 | # EnableSequence [ 46 | # cdev "hw:sofbxtda7219max" 47 | # cset "name='Spk Switch' on" 48 | # ] 49 | # DisableSequence [ 50 | # cdev "hw:sofbxtda7219max" 51 | # cset "name='Spk Switch' off" 52 | # ] 53 | # } 54 | 55 | SectionDevice."Headphone".0 { 56 | Value { 57 | PlaybackPCM "hw:sofbxtda7219max,0" 58 | MixerName "Headphone" 59 | JackName "sofbxtda7219max Headset Jack" 60 | JackType "gpio" 61 | JackSwitch "2" 62 | OutputDspName "" 63 | } 64 | EnableSequence [ 65 | cdev "hw:sofbxtda7219max" 66 | cset "name='Headphone Jack Switch' on" 67 | cset "name='Headphone Switch' 1" 68 | ] 69 | DisableSequence [ 70 | cdev "hw:sofbxtda7219max" 71 | cset "name='Headphone Jack Switch' off" 72 | cset "name='Headphone Switch' 0" 73 | ] 74 | } 75 | 76 | # SectionDevice."Internal Mic".0 { 77 | # Value { 78 | # CapturePCM "hw:sofbxtda7219max,3" 79 | # CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" 80 | # MaxSoftwareGain "2000" 81 | # } 82 | # EnableSequence [ 83 | # cdev "hw:sofbxtda7219max" 84 | # cset "name='media0_out mo dmic01_hifi_in mi Switch' on" 85 | # ] 86 | # DisableSequence [ 87 | # cdev "hw:sofbxtda7219max" 88 | # cset "name='media0_out mo dmic01_hifi_in mi Switch' off" 89 | # ] 90 | # } 91 | 92 | # SectionDevice."Mic".0 { 93 | # Value { 94 | # CapturePCM "hw:sofbxtda7219max,1" 95 | # MixerName "Headset Mic" 96 | # JackName "sofbxtda7219max Headset Jack" 97 | # JackType "gpio" 98 | # } 99 | # EnableSequence [ 100 | # cdev "hw:sofbxtda7219max" 101 | # cset "name='Headset Mic Switch' on" 102 | # cset "name='Mic Switch' on" 103 | # ] 104 | # DisableSequence [ 105 | # cdev "hw:sofbxtda7219max" 106 | # cset "name='Headset Mic Switch' off" 107 | # cset "name='Mic Switch' off" 108 | # ] 109 | # } 110 | -------------------------------------------------------------------------------- /byt-max98090/HiFi.conf: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c byt-max98090 set _verb HiFi set _enadev Headphone 3 | # alsaucm -c byt-max98090 set _verb HiFi set _enadev Speakers 4 | # alsaucm -c byt-max98090 set _verb HiFi set _enadev HeadsetMic 5 | # alsaucm -c byt-max98090 set _verb HiFi set _enadev InternalMic 6 | 7 | 8 | SectionVerb { 9 | 10 | EnableSequence [ 11 | cdev "hw:bytmax98090" 12 | 13 | cset "name='Left Speaker Mixer Left DAC Switch' on" 14 | cset "name='Right Speaker Mixer Right DAC Switch' on" 15 | cset "name='Digital EQ 3 Band Switch' off" 16 | cset "name='Digital EQ 5 Band Switch' off" 17 | cset "name='Digital EQ 7 Band Switch' off" 18 | cset "name='Biquad Switch' off" 19 | cset "name='Filter Mode' Music" 20 | cset "name='ADC Oversampling Rate' 0" 21 | 22 | cset "name='DMIC Mux' DMIC" 23 | cset "name='MIC2 Mux' IN34" 24 | cset "name='MIC2 Volume' 10" 25 | cset "name='MIC2 Boost Volume' 0" 26 | 27 | cset "name='ADCR Boost Volume' 4" 28 | cset "name='ADCL Boost Volume' 4" 29 | cset "name='ADCR Volume' 11" 30 | cset "name='ADCL Volume' 11" 31 | 32 | cset "name='Headphone Volume' 10" 33 | cset "name='Speaker Volume' 10" 34 | 35 | cset "name='Speaker Left Mixer Volume' 3" 36 | cset "name='Speaker Right Mixer Volume' 3" 37 | cset "name='Record Path DC Blocking' on" 38 | cset "name='Playback Path DC Blocking' on" 39 | 40 | cset "name='Headphone Left Switch' off" 41 | cset "name='Headphone Right Switch' off" 42 | cset "name='Headphone Switch' off" 43 | 44 | cset "name='Speaker Left Switch' off" 45 | cset "name='Speaker Right Switch' off" 46 | cset "name='Ext Spk Switch' off" 47 | 48 | cset "name='Headset Mic Switch' off" 49 | cset "name='Int Mic Switch' off" 50 | ] 51 | 52 | DisableSequence [ 53 | ] 54 | 55 | # ALSA PCM 56 | Value { 57 | # ALSA PCM device for HiFi 58 | PlaybackPCM "hw:bytmax98090" 59 | CapturePCM "hw:bytmax98090" 60 | } 61 | } 62 | 63 | SectionDevice."Headphone" { 64 | Comment "Headphone" 65 | 66 | ConflictingDevice [ 67 | "Speakers" 68 | ] 69 | 70 | Value { 71 | JackControl "Headphone Jack" 72 | JackHWMute "Speakers" 73 | } 74 | 75 | EnableSequence [ 76 | cdev "hw:bytmax98090" 77 | 78 | cset "name='Headphone Left Switch' on" 79 | cset "name='Headphone Right Switch' on" 80 | cset "name='Headphone Switch' on" 81 | 82 | ] 83 | DisableSequence [ 84 | cdev "hw:bytmax98090" 85 | 86 | cset "name='Headphone Left Switch' off" 87 | cset "name='Headphone Right Switch' off" 88 | cset "name='Headphone Switch' off" 89 | 90 | ] 91 | 92 | Value { 93 | PlaybackChannels 2 94 | } 95 | } 96 | 97 | SectionDevice."Speakers" { 98 | Comment "Speakers" 99 | 100 | ConflictingDevice [ 101 | "Headphone" 102 | ] 103 | 104 | EnableSequence [ 105 | cdev "hw:bytmax98090" 106 | 107 | cset "name='Speaker Left Switch' on" 108 | cset "name='Speaker Right Switch' on" 109 | cset "name='Ext Spk Switch' on" 110 | ] 111 | DisableSequence [ 112 | cdev "hw:bytmax98090" 113 | 114 | cset "name='Speaker Left Switch' off" 115 | cset "name='Speaker Right Switch' off" 116 | cset "name='Ext Spk Switch' off" 117 | ] 118 | 119 | Value { 120 | PlaybackChannels 2 121 | } 122 | } 123 | 124 | SectionDevice."HeadsetMic" { 125 | Comment "Headset Mic" 126 | 127 | Value { 128 | JackControl "Headset Mic Jack" 129 | #FIXME CaptureControl "MIC2" 130 | } 131 | 132 | ConflictingDevice [ 133 | "InternalMic" 134 | ] 135 | 136 | EnableSequence [ 137 | cdev "hw:bytmax98090" 138 | 139 | cset "name='Headset Mic Switch' on" 140 | cset "name='DMIC Mux' ADC" 141 | cset "name='Record Path DC Blocking' on" 142 | 143 | ] 144 | 145 | DisableSequence [ 146 | cdev "hw:bytmax98090" 147 | 148 | cset "name='Headset Mic Switch' off" 149 | cset "name='DMIC Mux' DMIC" 150 | cset "name='Record Path DC Blocking' off" 151 | ] 152 | 153 | Value { 154 | CaptureChannels 2 155 | } 156 | } 157 | 158 | SectionDevice."InternalMic" { 159 | Comment "Internal Mic" 160 | 161 | Value { 162 | #FIXME CaptureControl "MIC2" 163 | } 164 | 165 | ConflictingDevice [ 166 | "HeadsetMic" 167 | ] 168 | 169 | EnableSequence [ 170 | cdev "hw:bytmax98090" 171 | 172 | cset "name='Int Mic Switch' on" 173 | cset "name='DMIC Mux' DMIC" 174 | cset "name='Record Path DC Blocking' off" 175 | ] 176 | 177 | DisableSequence [ 178 | cdev "hw:bytmax98090" 179 | 180 | cset "name='Int Mic Switch' off" 181 | cset "name='DMIC Mux' ADC" 182 | cset "name='Record Path DC Blocking' on" 183 | ] 184 | 185 | Value { 186 | CaptureChannels 2 187 | } 188 | } 189 | -------------------------------------------------------------------------------- /sof-chtmax98090/HiFi.conf: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev Headphone 3 | # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev Speakers 4 | # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev HeadsetMic 5 | # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev InternalMic 6 | 7 | 8 | SectionVerb { 9 | 10 | EnableSequence [ 11 | cdev "hw:sofchtmax98090" 12 | 13 | cset "name='Left Speaker Mixer Left DAC Switch' on" 14 | cset "name='Right Speaker Mixer Right DAC Switch' on" 15 | cset "name='Digital EQ 3 Band Switch' off" 16 | cset "name='Digital EQ 5 Band Switch' off" 17 | cset "name='Digital EQ 7 Band Switch' off" 18 | cset "name='Biquad Switch' off" 19 | cset "name='Filter Mode' Music" 20 | cset "name='ADC Oversampling Rate' 0" 21 | 22 | cset "name='DMIC Mux' DMIC" 23 | cset "name='MIC2 Mux' IN34" 24 | cset "name='MIC2 Volume' 10" 25 | cset "name='MIC2 Boost Volume' 0" 26 | 27 | cset "name='ADCR Boost Volume' 4" 28 | cset "name='ADCL Boost Volume' 4" 29 | cset "name='ADCR Volume' 11" 30 | cset "name='ADCL Volume' 11" 31 | 32 | cset "name='Headphone Volume' 10" 33 | cset "name='Speaker Volume' 10" 34 | 35 | cset "name='Speaker Left Mixer Volume' 3" 36 | cset "name='Speaker Right Mixer Volume' 3" 37 | cset "name='Record Path DC Blocking' on" 38 | cset "name='Playback Path DC Blocking' on" 39 | 40 | cset "name='Headphone Left Switch' off" 41 | cset "name='Headphone Right Switch' off" 42 | cset "name='Headphone Switch' off" 43 | 44 | cset "name='Speaker Left Switch' off" 45 | cset "name='Speaker Right Switch' off" 46 | cset "name='Ext Spk Switch' off" 47 | 48 | cset "name='Headset Mic Switch' off" 49 | cset "name='Int Mic Switch' off" 50 | ] 51 | 52 | DisableSequence [ 53 | ] 54 | 55 | # ALSA PCM 56 | Value { 57 | # ALSA PCM device for HiFi 58 | PlaybackPCM "hw:sofchtmax98090" 59 | CapturePCM "hw:sofchtmax98090" 60 | } 61 | } 62 | 63 | SectionDevice."Headphone" { 64 | Comment "Headphone" 65 | 66 | ConflictingDevice [ 67 | "Speakers" 68 | ] 69 | 70 | Value { 71 | JackControl "Headphone Jack" 72 | JackHWMute "Speakers" 73 | } 74 | 75 | EnableSequence [ 76 | cdev "hw:sofchtmax98090" 77 | 78 | cset "name='Headphone Left Switch' on" 79 | cset "name='Headphone Right Switch' on" 80 | cset "name='Headphone Switch' on" 81 | 82 | ] 83 | DisableSequence [ 84 | cdev "hw:sofchtmax98090" 85 | 86 | cset "name='Headphone Left Switch' off" 87 | cset "name='Headphone Right Switch' off" 88 | cset "name='Headphone Switch' off" 89 | 90 | ] 91 | 92 | Value { 93 | PlaybackChannels 2 94 | } 95 | } 96 | 97 | SectionDevice."Speakers" { 98 | Comment "Speakers" 99 | 100 | ConflictingDevice [ 101 | "Headphone" 102 | ] 103 | 104 | EnableSequence [ 105 | cdev "hw:sofchtmax98090" 106 | 107 | cset "name='Speaker Left Switch' on" 108 | cset "name='Speaker Right Switch' on" 109 | cset "name='Ext Spk Switch' on" 110 | ] 111 | DisableSequence [ 112 | cdev "hw:sofchtmax98090" 113 | 114 | cset "name='Speaker Left Switch' off" 115 | cset "name='Speaker Right Switch' off" 116 | cset "name='Ext Spk Switch' off" 117 | ] 118 | 119 | Value { 120 | PlaybackChannels 2 121 | } 122 | } 123 | 124 | SectionDevice."HeadsetMic" { 125 | Comment "Headset Mic" 126 | 127 | Value { 128 | JackControl "Headset Mic Jack" 129 | #FIXME CaptureControl "MIC2" 130 | } 131 | 132 | ConflictingDevice [ 133 | "InternalMic" 134 | ] 135 | 136 | EnableSequence [ 137 | cdev "hw:sofchtmax98090" 138 | 139 | cset "name='Headset Mic Switch' on" 140 | cset "name='DMIC Mux' ADC" 141 | cset "name='Record Path DC Blocking' on" 142 | 143 | ] 144 | 145 | DisableSequence [ 146 | cdev "hw:sofchtmax98090" 147 | 148 | cset "name='Headset Mic Switch' off" 149 | cset "name='DMIC Mux' DMIC" 150 | cset "name='Record Path DC Blocking' off" 151 | ] 152 | 153 | Value { 154 | CaptureChannels 2 155 | } 156 | } 157 | 158 | SectionDevice."InternalMic" { 159 | Comment "Internal Mic" 160 | 161 | Value { 162 | #FIXME CaptureControl "MIC2" 163 | } 164 | 165 | ConflictingDevice [ 166 | "HeadsetMic" 167 | ] 168 | 169 | EnableSequence [ 170 | cdev "hw:sofchtmax98090" 171 | 172 | cset "name='Int Mic Switch' on" 173 | cset "name='DMIC Mux' DMIC" 174 | cset "name='Record Path DC Blocking' off" 175 | ] 176 | 177 | DisableSequence [ 178 | cdev "hw:sofchtmax98090" 179 | 180 | cset "name='Int Mic Switch' off" 181 | cset "name='DMIC Mux' ADC" 182 | cset "name='Record Path DC Blocking' on" 183 | ] 184 | 185 | Value { 186 | CaptureChannels 2 187 | } 188 | } 189 | -------------------------------------------------------------------------------- /sof-bytcht-da7213/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for sofbytchtda7213 2 | # alsaucm -c sof-bytcht-da7213 set _verb HiFi set _enadev Headphones 3 | # alsaucm -c sof-bytcht-da7213 set _verb HiFi set _enadev MIC1 4 | # alsaucm -c sof-bytcht-da7213 set _verb HiFi set _enadev MIC2 5 | # alsaucm -c sof-bytcht-da7213 set _verb HiFi set _enadev AUX 6 | 7 | SectionVerb { 8 | 9 | EnableSequence [ 10 | cdev "hw:sofbytchtda7213" 11 | 12 | 13 | # DA7213 default output routing 14 | 15 | # Ensure stream only goes to DAI 16 | cset "name='Mixout Left Mixin Left Switch' off" 17 | cset "name='Mixout Right Mixin Right Switch' off" 18 | cset "name='Mixout Left Aux Left Switch' off" 19 | cset "name='Mixout Right Aux Right Switch' off" 20 | 21 | ] 22 | 23 | DisableSequence [ 24 | ] 25 | 26 | # ALSA PCM 27 | Value { 28 | # ALSA PCM device for HiFi 29 | PlaybackPCM "hw:sofbytchtda7213" 30 | CapturePCM "hw:sofbytchtda7213" 31 | } 32 | } 33 | 34 | SectionDevice."MIC1" { 35 | Comment "MIC1 capture - headset" 36 | 37 | ConflictingDevice [ 38 | "MIC2" 39 | "AUX" 40 | ] 41 | 42 | EnableSequence [ 43 | cdev "hw:sofbytchtda7213" 44 | 45 | # cset "name='Mic 1 Amp Source MUX' Differential" 46 | # cset "name='Mic 1 Amp Source MUX' MIC_N" 47 | 48 | cset "name='Mic 1 Amp Source MUX' MIC_P" 49 | cset "name='Mic 1 Volume' 6" 50 | cset "name='Mixin PGA Volume' 47%" 51 | cset "name='ADC Volume' 112" 52 | 53 | cset "name='Mixin Left Mic 1 Switch' on" 54 | cset "name='Mixin Right Mic 1 Switch' on" 55 | cset "name='Mixin PGA Switch' on" 56 | cset "name='Mic 1 Switch' on" 57 | cset "name='ADC Switch' on" 58 | cset "name='Headset Mic Switch' on" 59 | ] 60 | 61 | DisableSequence [ 62 | cdev "hw:sofbytchtda7213" 63 | 64 | cset "name='Headset Mic Switch' off" 65 | cset "name='ADC Switch' off" 66 | cset "name='Mic 1 Switch' off" 67 | cset "name='Mixin PGA Switch' off" 68 | cset "name='Mixin Left Mic 1 Switch' off" 69 | cset "name='Mixin Right Mic 1 Switch' off" 70 | ] 71 | 72 | Value { 73 | CaptureChannels 2 74 | } 75 | } 76 | 77 | SectionDevice."MIC2" { 78 | Comment "MIC2 capture" 79 | 80 | ConflictingDevice [ 81 | "MIC1" 82 | "AUX" 83 | ] 84 | 85 | EnableSequence [ 86 | cdev "hw:sofbytchtda7213" 87 | 88 | # cset "name='Mic 2 Amp Source MUX' Differential" 89 | # cset "name='Mic 2 Amp Source MUX' MIC_N" 90 | 91 | cset "name='Mic 2 Amp Source MUX' MIC_P" 92 | cset "name='Mic 2 Volume' 6" 93 | cset "name='Mixin PGA Volume' 47%" 94 | cset "name='ADC Volume' 112" 95 | 96 | cset "name='Mixin Left Mic 2 Switch' on" 97 | cset "name='Mixin Right Mic 2 Switch' on" 98 | cset "name='Mixin PGA Switch' on" 99 | cset "name='Mic 2 Switch' on" 100 | cset "name='ADC Switch' on" 101 | cset "name='Mic Switch' on" 102 | 103 | ] 104 | 105 | DisableSequence [ 106 | cdev "hw:sofbytchtda7213" 107 | 108 | cset "name='Mic Switch' off" 109 | cset "name='ADC Switch' off" 110 | cset "name='Mic 1 Switch' off" 111 | cset "name='Mixin PGA Switch' off" 112 | cset "name='Mixin Left Mic 1 Switch' off" 113 | cset "name='Mixin Right Mic 1 Switch' off" 114 | ] 115 | 116 | Value { 117 | CaptureChannels 2 118 | } 119 | } 120 | 121 | SectionDevice."AUX" { 122 | Comment "AUX capture" 123 | 124 | ConflictingDevice [ 125 | "MIC1" 126 | "MIC2" 127 | ] 128 | 129 | EnableSequence [ 130 | cdev "hw:sofbytchtda7213" 131 | 132 | cset "name='Aux Volume' 78%" 133 | cset "name='ADC Volume' 76%" 134 | cset "name='Mixin PGA Volume' 47%" 135 | 136 | cset "name='Mixin Left Aux Left Switch' on" 137 | cset "name='Mixin Right Aux Right Switch' on" 138 | cset "name='Mixin PGA Switch' on" 139 | cset "name='ADC Switch' on" 140 | cset "name='Aux Switch' on" 141 | ] 142 | 143 | DisableSequence [ 144 | cdev "hw:sofbytchtda7213" 145 | 146 | cset "name='Aux Switch' off" 147 | cset "name='ADC Switch' off" 148 | cset "name='Mixin PGA Switch' off" 149 | cset "name='Mixin Left Aux Left Switch' off" 150 | cset "name='Mixin Right Aux Right Switch' off" 151 | ] 152 | 153 | Value { 154 | CaptureChannels 2 155 | } 156 | } 157 | 158 | SectionDevice."Headphones" { 159 | Comment "Headphones playback" 160 | 161 | EnableSequence [ 162 | cdev "hw:sofbytchtda7213" 163 | 164 | cset "name='Headphone Volume' 50%" 165 | cset "name='Mixout Left DAC Left Switch' on" 166 | cset "name='Mixout Right DAC Right Switch' on" 167 | cset "name='Headphone Switch' on" 168 | cset "name='Headphone Jack Switch' on" 169 | 170 | ] 171 | 172 | DisableSequence [ 173 | cdev "hw:sofbytchtda7213" 174 | 175 | cset "name='Headphone Jack Switch' off" 176 | cset "name='Headphone Switch' off" 177 | cset "name='Mixout Left DAC Left Switch' off" 178 | cset "name='Mixout Right DAC Right Switch' off" 179 | ] 180 | 181 | Value { 182 | PlaybackChannels "2" 183 | } 184 | } 185 | 186 | -------------------------------------------------------------------------------- /bytcht-pcm512x/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for bytcht-pcm512x 2 | 3 | SectionVerb { 4 | 5 | EnableSequence [ 6 | cdev "hw:bytchtpcm512x" 7 | 8 | # media mixer settings 9 | # compress 10 | cset "name='media0_in Gain 0 Switch' on" 11 | cset "name='media0_in Gain 0 Volume' 0" 12 | 13 | # normal 14 | cset "name='media1_in Gain 0 Switch' on" 15 | cset "name='media1_in Gain 0 Volume' 0" 16 | # swm loopback 17 | cset "name='media2_in Gain 0 Switch' off" 18 | cset "name='media2_in Gain 0 Volume' 0%" 19 | # deep buffer 20 | cset "name='media3_in Gain 0 Switch' on" 21 | cset "name='media3_in Gain 0 Volume' 0" 22 | 23 | cset "name='media0_out mix 0 media0_in Switch' on" 24 | cset "name='media0_out mix 0 media1_in Switch' on" 25 | cset "name='media0_out mix 0 media2_in Switch' off" 26 | cset "name='media0_out mix 0 media3_in Switch' on" 27 | 28 | cset "name='media1_out mix 0 media0_in Switch' off" 29 | cset "name='media1_out mix 0 media1_in Switch' off" 30 | cset "name='media1_out mix 0 media2_in Switch' off" 31 | cset "name='media1_out mix 0 media3_in Switch' off" 32 | 33 | cset "name='pcm0_in Gain 0 Switch' on" 34 | cset "name='pcm0_in Gain 0 Volume' 0" 35 | 36 | cset "name='pcm1_in Gain 0 Switch' off" 37 | cset "name='pcm1_in Gain 0 Volume' 0%" 38 | 39 | # codec0_out settings 40 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 41 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 42 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 43 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 44 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 45 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 46 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 47 | cset "name='codec_out0 Gain 0 Switch' on" 48 | cset "name='codec_out0 Gain 0 Volume' 0" 49 | 50 | # input settings 51 | # pcm1_out settings 52 | 53 | cset "name='codec_in0 Gain 0 Switch' on" 54 | cset "name='codec_in0 Gain 0 Volume' 0" 55 | 56 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 57 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 58 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 59 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 60 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 61 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 62 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 63 | 64 | cset "name='pcm1_out Gain 0 Switch' on" 65 | cset "name='pcm1_out Gain 0 Volume' 0" 66 | 67 | # disable codec_out1 68 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 69 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 70 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 71 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 72 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 73 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 74 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 75 | cset "name='codec_out1 Gain 0 Switch' off" 76 | cset "name='codec_out1 Gain 0 Volume' 0%" 77 | 78 | # disable codec_in1 79 | cset "name='codec_in1 Gain 0 Switch' off" 80 | cset "name='codec_in1 Gain 0 Volume' 0%" 81 | 82 | # disable all loops 83 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 84 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 85 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 86 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 87 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 88 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 89 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 90 | 91 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 92 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 93 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 94 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 95 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 96 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 97 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 98 | 99 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 100 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 101 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 102 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 103 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 104 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 105 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 106 | 107 | ] 108 | 109 | DisableSequence [ 110 | ] 111 | 112 | # ALSA PCM 113 | Value { 114 | # ALSA PCM device for HiFi 115 | PlaybackPCM "hw:bytchtpcm512x" 116 | } 117 | } 118 | 119 | SectionDevice."Speakers" { 120 | Comment "RCA Line output" 121 | 122 | EnableSequence [ 123 | cdev "hw:bytchtpcm512x" 124 | 125 | ] 126 | 127 | DisableSequence [ 128 | cdev "hw:bytchtpcm512x" 129 | 130 | ] 131 | 132 | Value { 133 | PlaybackChannels "2" 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /byt-rt5640/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for byt-rt5640 2 | 3 | SectionVerb { 4 | 5 | EnableSequence [ 6 | ] 7 | 8 | DisableSequence [ 9 | ] 10 | 11 | # ALSA PCM 12 | Value { 13 | # ALSA PCM device for HiFi 14 | PlaybackPCM "hw:bytrt5640" 15 | CapturePCM "hw:bytrt5640" 16 | } 17 | } 18 | 19 | SectionDevice."DigitalMics" { 20 | Comment "DigitalMics capture, NOT TESTED" 21 | 22 | ConflictingDevice [ 23 | "InternalMics" 24 | "HeadsetMic" 25 | ] 26 | 27 | EnableSequence [ 28 | cdev "hw:bytrt5640" 29 | 30 | cset "name='Stereo ADC2 Mux' DMIC1" 31 | cset "name='Stereo ADC MIXL ADC2 Switch' on" 32 | cset "name='Stereo ADC MIXR ADC2 Switch' on" 33 | cset "name='Internal Switch' on" 34 | 35 | ] 36 | 37 | DisableSequence [ 38 | cdev "hw:bytrt5640" 39 | 40 | cset "name='Stereo ADC MIXL ADC2 Switch' off" 41 | cset "name='Stereo ADC MIXR ADC2 Switch' off" 42 | cset "name='Internal Switch' on" 43 | 44 | ] 45 | 46 | Value { 47 | CaptureChannels 2 48 | } 49 | } 50 | 51 | SectionDevice."HeadsetMic" { 52 | Comment "Headset Mic capture" 53 | 54 | ConflictingDevice [ 55 | "InternalMics" 56 | "Headset Mic" 57 | ] 58 | 59 | EnableSequence [ 60 | cdev "hw:bytrt5640" 61 | 62 | cset "name='Headset Mic Switch' on" 63 | 64 | # default for IN2 Boost seems to saturate 65 | cset "name='IN2 Boost' 1" 66 | 67 | cset "name='RECMIXL BST2 Switch' on" 68 | cset "name='RECMIXR BST2 Switch' on" 69 | 70 | cset "name='Stereo ADC1 Mux' ADC" 71 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 72 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 73 | 74 | ] 75 | 76 | DisableSequence [ 77 | cdev "hw:bytrt5640" 78 | 79 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 80 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 81 | cset "name='Headset Mic Switch' off" 82 | 83 | ] 84 | 85 | Value { 86 | CaptureChannels 2 87 | } 88 | } 89 | 90 | SectionDevice."InternalMics" { 91 | Comment "Internal Mic capture" 92 | 93 | ConflictingDevice [ 94 | "DigitalMics" 95 | "Headset Mic" 96 | ] 97 | 98 | EnableSequence [ 99 | cdev "hw:bytrt5640" 100 | 101 | cset "name='Internal Mic Switch' on" 102 | 103 | # default for IN1 Boost seems to saturate 104 | cset "name='IN1 Boost' 1" 105 | 106 | cset "name='RECMIXL BST1 Switch' on" 107 | cset "name='RECMIXR BST1 Switch' on" 108 | 109 | cset "name='Stereo ADC1 Mux' ADC" 110 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 111 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 112 | 113 | ] 114 | 115 | DisableSequence [ 116 | cdev "hw:bytrt5640" 117 | 118 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 119 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 120 | cset "name='Internal Mic Switch' off" 121 | 122 | ] 123 | 124 | Value { 125 | CaptureChannels 2 126 | } 127 | } 128 | 129 | SectionDevice."Headphones" { 130 | Comment "Headphones playback" 131 | 132 | ConflictingDevice [ 133 | "Speaker" 134 | ] 135 | 136 | EnableSequence [ 137 | cdev "hw:bytrt5640" 138 | 139 | cset "name='DAC MIXL INF1 Switch' on" 140 | cset "name='DAC MIXR INF1 Switch' on" 141 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 142 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 143 | cset "name='HPO MIX HPVOL Switch' on" 144 | cset "name='Headphone Switch' on" 145 | cset "name='HP Channel Switch' on" 146 | cset "name='Speaker Switch' off" 147 | cset "name='HP L Playback Switch' on" 148 | cset "name='HP R Playback Switch' on" 149 | cset "name='HP Playback Volume' 29" 150 | 151 | ] 152 | 153 | DisableSequence [ 154 | cdev "hw:bytrt5640" 155 | cset "name='Headphone Switch' off" 156 | cset "name='HP Channel Switch' off" 157 | cset "name='HP L Playback Switch' off" 158 | cset "name='HP R Playback Switch' off" 159 | cset "name='HP Playback Volume' 0" 160 | ] 161 | 162 | Value { 163 | PlaybackChannels "2" 164 | } 165 | } 166 | 167 | SectionDevice."Speaker" { 168 | Comment "Speaker playback" 169 | 170 | ConflictingDevice [ 171 | "Headphones" 172 | ] 173 | 174 | EnableSequence [ 175 | cdev "hw:bytrt5640" 176 | 177 | cset "name='DAC MIXL INF1 Switch' on" 178 | cset "name='DAC MIXR INF1 Switch' on" 179 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 180 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 181 | cset "name='SPK MIXL DAC L1 Switch' on" 182 | cset "name='SPK MIXR DAC R1 Switch' on" 183 | cset "name='SPOL MIX SPKVOL L Switch' on" 184 | cset "name='SPOR MIX SPKVOL R Switch' on" 185 | cset "name='Speaker Switch' on" 186 | cset "name='Speaker Channel Switch' on" 187 | cset "name='Headphone Switch' off" 188 | cset "name='Speaker L Playback Switch' on" 189 | cset "name='Speaker R Playback Switch' on" 190 | cset "name='Speaker Playback Volume' 29" 191 | 192 | ] 193 | 194 | DisableSequence [ 195 | cdev "hw:bytrt5640" 196 | cset "name='Speaker Switch' off" 197 | cset "name='Speaker Channel Switch' off" 198 | cset "name='Speaker L Playback Switch' off" 199 | cset "name='Speaker R Playback Switch' off" 200 | cset "name='Speaker Playback Volume' 0" 201 | ] 202 | 203 | Value { 204 | PlaybackChannels "2" 205 | } 206 | } 207 | 208 | 209 | -------------------------------------------------------------------------------- /bytcht-nocodec/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for bytcht-nocodec 2 | 3 | SectionVerb { 4 | 5 | EnableSequence [ 6 | cdev "hw:bytchtnocodec" 7 | 8 | # media mixer settings 9 | # compress 10 | cset "name='media0_in Gain 0 Switch' on" 11 | cset "name='media0_in Gain 0 Volume' 0" 12 | 13 | # normal 14 | cset "name='media1_in Gain 0 Switch' on" 15 | cset "name='media1_in Gain 0 Volume' 0" 16 | # swm loopback 17 | cset "name='media2_in Gain 0 Switch' off" 18 | cset "name='media2_in Gain 0 Volume' 0%" 19 | # deep buffer 20 | cset "name='media3_in Gain 0 Switch' on" 21 | cset "name='media3_in Gain 0 Volume' 0" 22 | 23 | cset "name='media0_out mix 0 media0_in Switch' on" 24 | cset "name='media0_out mix 0 media1_in Switch' on" 25 | cset "name='media0_out mix 0 media2_in Switch' off" 26 | cset "name='media0_out mix 0 media3_in Switch' on" 27 | 28 | cset "name='media1_out mix 0 media0_in Switch' off" 29 | cset "name='media1_out mix 0 media1_in Switch' off" 30 | cset "name='media1_out mix 0 media2_in Switch' off" 31 | cset "name='media1_out mix 0 media3_in Switch' off" 32 | 33 | cset "name='pcm0_in Gain 0 Switch' on" 34 | cset "name='pcm0_in Gain 0 Volume' 0" 35 | 36 | cset "name='pcm1_in Gain 0 Switch' off" 37 | cset "name='pcm1_in Gain 0 Volume' 0%" 38 | 39 | # codec0_out settings 40 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 41 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 42 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 43 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 44 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 45 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 46 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 47 | cset "name='codec_out0 Gain 0 Switch' on" 48 | cset "name='codec_out0 Gain 0 Volume' 0" 49 | 50 | # input settings 51 | # pcm1_out settings 52 | 53 | cset "name='codec_in0 Gain 0 Switch' on" 54 | cset "name='codec_in0 Gain 0 Volume' 0" 55 | 56 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 57 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 58 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 59 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 60 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 61 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 62 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 63 | 64 | cset "name='pcm1_out Gain 0 Switch' on" 65 | cset "name='pcm1_out Gain 0 Volume' 0" 66 | 67 | # disable codec_out1 68 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 69 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 70 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 71 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 72 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 73 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 74 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 75 | cset "name='codec_out1 Gain 0 Switch' off" 76 | cset "name='codec_out1 Gain 0 Volume' 0%" 77 | 78 | # disable codec_in1 79 | cset "name='codec_in1 Gain 0 Switch' off" 80 | cset "name='codec_in1 Gain 0 Volume' 0%" 81 | 82 | # disable all loops 83 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 84 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 85 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 86 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 87 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 88 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 89 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 90 | 91 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 92 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 93 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 94 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 95 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 96 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 97 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 98 | 99 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 100 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 101 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 102 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 103 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 104 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 105 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 106 | 107 | ] 108 | 109 | DisableSequence [ 110 | ] 111 | 112 | # ALSA PCM 113 | Value { 114 | # ALSA PCM device for HiFi 115 | PlaybackPCM "hw:bytchtnocodec" 116 | CapturePCM "hw:bytchtnocodec" 117 | } 118 | } 119 | 120 | SectionDevice."I2S Audio" { 121 | Comment "I2S input/output" 122 | 123 | EnableSequence [ 124 | cdev "hw:bytchtnocodec" 125 | 126 | cset "name='Mic Switch' on" 127 | cset "name='Speaker Switch' on" 128 | 129 | ] 130 | 131 | DisableSequence [ 132 | cdev "hw:bytchtnocodec" 133 | 134 | cset "name='Mic Switch' off" 135 | cset "name='Speaker Switch' off" 136 | 137 | ] 138 | 139 | Value { 140 | PlaybackChannels "2" 141 | CaptureChannels "2" 142 | } 143 | } 144 | -------------------------------------------------------------------------------- /chtmax98090/HiFi.conf: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c chtmax98090 set _verb HiFi set _enadev Headphone 3 | # alsaucm -c chtmax98090 set _verb HiFi set _enadev Speakers 4 | # alsaucm -c chtmax98090 set _verb HiFi set _enadev HeadsetMic 5 | # alsaucm -c chtmax98090 set _verb HiFi set _enadev InternalMic 6 | 7 | 8 | SectionVerb { 9 | 10 | EnableSequence [ 11 | cdev "hw:chtmax98090" 12 | 13 | # media mixer settings 14 | # compress 15 | cset "name='media0_in Gain 0 Switch' on" 16 | cset "name='media0_in Gain 0 Volume' 0" 17 | 18 | # normal 19 | cset "name='media1_in Gain 0 Switch' on" 20 | cset "name='media1_in Gain 0 Volume' 0" 21 | 22 | # deep buffer 23 | cset "name='media3_in Gain 0 Switch' on" 24 | cset "name='media3_in Gain 0 Volume' 0" 25 | 26 | cset "name='media0_out mix 0 media0_in Switch' on" 27 | cset "name='media0_out mix 0 media1_in Switch' on" 28 | cset "name='media0_out mix 0 media2_in Switch' off" 29 | cset "name='media0_out mix 0 media3_in Switch' on" 30 | 31 | cset "name='pcm0_in Gain 0 Switch' on" 32 | cset "name='pcm0_in Gain 0 Volume' 0" 33 | 34 | cset "name='pcm1_in Gain 0 Switch' off" 35 | cset "name='pcm1_in Gain 0 Volume' 0%" 36 | 37 | # codec0_out settings (used if ssp2 is connected to aif1) 38 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 39 | cset "name='codec_out0 Gain 0 Switch' on" 40 | cset "name='codec_out0 Gain 0 Volume' 0" 41 | 42 | 43 | # input settings 44 | # pcm1_out settings 45 | 46 | # input used when SSP2 is connected 47 | cset "name='codec_in0 Gain 0 Switch' on" 48 | cset "name='codec_in0 Gain 0 Volume' 0" 49 | 50 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 51 | 52 | cset "name='pcm1_out Gain 0 Switch' on" 53 | cset "name='pcm1_out Gain 0 Volume' 0" 54 | 55 | cset "name='Left Speaker Mixer Left DAC Switch' on" 56 | cset "name='Right Speaker Mixer Right DAC Switch' on" 57 | cset "name='Digital EQ 3 Band Switch' off" 58 | cset "name='Digital EQ 5 Band Switch' off" 59 | cset "name='Digital EQ 7 Band Switch' off" 60 | cset "name='Biquad Switch' off" 61 | cset "name='Filter Mode' Music" 62 | cset "name='ADC Oversampling Rate' 0" 63 | 64 | cset "name='DMIC Mux' DMIC" 65 | cset "name='MIC2 Mux' IN34" 66 | cset "name='MIC2 Volume' 10" 67 | cset "name='MIC2 Boost Volume' 0" 68 | 69 | cset "name='ADCR Boost Volume' 4" 70 | cset "name='ADCL Boost Volume' 4" 71 | cset "name='ADCR Volume' 11" 72 | cset "name='ADCL Volume' 11" 73 | 74 | cset "name='Headphone Volume' 10" 75 | cset "name='Speaker Volume' 10" 76 | 77 | cset "name='Speaker Left Mixer Volume' 3" 78 | cset "name='Speaker Right Mixer Volume' 3" 79 | cset "name='Record Path DC Blocking' on" 80 | cset "name='Playback Path DC Blocking' on" 81 | 82 | cset "name='Headphone Left Switch' off" 83 | cset "name='Headphone Right Switch' off" 84 | cset "name='Headphone Switch' off" 85 | 86 | cset "name='Speaker Left Switch' off" 87 | cset "name='Speaker Right Switch' off" 88 | cset "name='Ext Spk Switch' off" 89 | 90 | cset "name='Headset Mic Switch' off" 91 | cset "name='Int Mic Switch' off" 92 | ] 93 | 94 | DisableSequence [ 95 | ] 96 | 97 | # ALSA PCM 98 | Value { 99 | # ALSA PCM device for HiFi 100 | PlaybackPCM "hw:chtmax98090" 101 | CapturePCM "hw:chtmax98090" 102 | } 103 | } 104 | 105 | SectionDevice."Headphone" { 106 | Comment "Headphone" 107 | 108 | ConflictingDevice [ 109 | "Speakers" 110 | ] 111 | 112 | Value { 113 | JackControl "Headphone Jack" 114 | JackHWMute "Speakers" 115 | } 116 | 117 | EnableSequence [ 118 | cdev "hw:chtmax98090" 119 | 120 | cset "name='Headphone Left Switch' on" 121 | cset "name='Headphone Right Switch' on" 122 | cset "name='Headphone Switch' on" 123 | 124 | ] 125 | DisableSequence [ 126 | cdev "hw:chtmax98090" 127 | 128 | cset "name='Headphone Left Switch' off" 129 | cset "name='Headphone Right Switch' off" 130 | cset "name='Headphone Switch' off" 131 | 132 | ] 133 | 134 | Value { 135 | PlaybackChannels 2 136 | } 137 | } 138 | 139 | SectionDevice."Speakers" { 140 | Comment "Speakers" 141 | 142 | ConflictingDevice [ 143 | "Headphone" 144 | ] 145 | 146 | EnableSequence [ 147 | cdev "hw:chtmax98090" 148 | 149 | cset "name='Speaker Left Switch' on" 150 | cset "name='Speaker Right Switch' on" 151 | cset "name='Ext Spk Switch' on" 152 | ] 153 | DisableSequence [ 154 | cdev "hw:chtmax98090" 155 | 156 | cset "name='Speaker Left Switch' off" 157 | cset "name='Speaker Right Switch' off" 158 | cset "name='Ext Spk Switch' off" 159 | ] 160 | 161 | Value { 162 | PlaybackChannels 2 163 | } 164 | } 165 | 166 | SectionDevice."HeadsetMic" { 167 | Comment "Headset Mic" 168 | 169 | Value { 170 | JackControl "Headset Mic Jack" 171 | #FIXME CaptureControl "MIC2" 172 | } 173 | 174 | ConflictingDevice [ 175 | "InternalMic" 176 | ] 177 | 178 | EnableSequence [ 179 | cdev "hw:chtmax98090" 180 | 181 | cset "name='Headset Mic Switch' on" 182 | cset "name='DMIC Mux' ADC" 183 | cset "name='Record Path DC Blocking' on" 184 | 185 | ] 186 | 187 | DisableSequence [ 188 | cdev "hw:chtmax98090" 189 | 190 | cset "name='Headset Mic Switch' off" 191 | cset "name='DMIC Mux' DMIC" 192 | cset "name='Record Path DC Blocking' off" 193 | ] 194 | 195 | Value { 196 | CaptureChannels 2 197 | } 198 | } 199 | 200 | SectionDevice."InternalMic" { 201 | Comment "Internal Mic" 202 | 203 | Value { 204 | #FIXME CaptureControl "MIC2" 205 | } 206 | 207 | ConflictingDevice [ 208 | "HeadsetMic" 209 | ] 210 | 211 | EnableSequence [ 212 | cdev "hw:chtmax98090" 213 | 214 | cset "name='Int Mic Switch' on" 215 | cset "name='DMIC Mux' DMIC" 216 | cset "name='Record Path DC Blocking' off" 217 | ] 218 | 219 | DisableSequence [ 220 | cdev "hw:chtmax98090" 221 | 222 | cset "name='Int Mic Switch' off" 223 | cset "name='DMIC Mux' ADC" 224 | cset "name='Record Path DC Blocking' on" 225 | ] 226 | 227 | Value { 228 | CaptureChannels 2 229 | } 230 | } 231 | -------------------------------------------------------------------------------- /sof-bdw-rt5677/HiFi.conf: -------------------------------------------------------------------------------- 1 | # Use case Configuration for sof-bdw-rt5677 2 | # command-line sequence to switch playback/capture 3 | # alsaucm -c sof-bdw-rt5677 set _verb HiFi 4 | # alsaucm -c sof-bdw-rt5677 set _verb HiFi set _enadev Headphones 5 | 6 | 7 | SectionVerb { 8 | 9 | EnableSequence [ 10 | cdev "hw:sofbdwrt5677" 11 | 12 | cset "name='PDM1 L Mux' STO1 DAC MIX" 13 | cset "name='PDM1 R Mux' STO1 DAC MIX" 14 | 15 | #cset "name='Master Playback Volume' 30" 16 | 17 | cset "name='OUT1 Playback Switch' off" 18 | cset "name='OUT2 Playback Switch' off" 19 | 20 | cset "name='DAC1 Playback Volume' 175" 21 | cset "name='DAC2 Playback Volume' 175" 22 | cset "name='DAC12 SRC Mux' STO1 DAC MIX" 23 | 24 | cset "name='Stereo DAC MIXL ST L Switch' off" 25 | cset "name='Stereo DAC MIXL DAC1 L Switch' off" 26 | cset "name='Stereo DAC MIXL DAC2 L Switch' off" 27 | cset "name='Stereo DAC MIXL DAC1 R Switch' on" 28 | 29 | cset "name='Stereo DAC MIXR ST R Switch' off" 30 | cset "name='Stereo DAC MIXR DAC1 R Switch' off" 31 | cset "name='Stereo DAC MIXR DAC2 R Switch' off" 32 | cset "name='Stereo DAC MIXR DAC1 L Switch' on" 33 | 34 | cset "name='DAC1 MIXL Stereo ADC Switch' off" 35 | cset "name='DAC1 MIXL DAC1 Switch' on" 36 | 37 | cset "name='DAC1 MIXR Stereo ADC Switch' off" 38 | cset "name='DAC1 MIXR DAC1 Switch' on" 39 | 40 | cset "name='DAC1 Mux' IF1 DAC 01" 41 | 42 | 43 | cset "name='Stereo1 DMIC Mux' DMIC1" 44 | cset "name='Stereo1 ADC2 Mux' DMIC" 45 | cset "name='Stereo1 ADC1 Mux' ADC1/2" 46 | 47 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 48 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 49 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 50 | 51 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 52 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 53 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 54 | 55 | cset "name='IF1 ADC1 Mux' STO1 ADC MIX" 56 | cset "name='IF1 ADC1 Swap Mux' L/R" 57 | 58 | #cset "name='Mic Capture Volume' 30" 59 | cset "name='ADC1 Capture Switch' on" 60 | cset "name='ADC1 Capture Volume' 31" 61 | cset "name='STO1 ADC Boost Volume' 2" 62 | 63 | cset "name='Headphone Switch' off" 64 | cset "name='Speaker Switch' on" 65 | 66 | cset "name='Remote DMICs Switch' on" 67 | cset "name='Mono DMIC L Mux' DMIC1" 68 | cset "name='Mono ADC2 L Mux' DMIC" 69 | cset "name='Mono ADC MIXL ADC1 Switch' off" 70 | cset "name='Mono ADC MIXL ADC2 Switch' on" 71 | cset "name='VAD ADC Mux' MONO ADC MIX L" 72 | cset "name='IB01 Mux' VAD ADC/DAC1 FS" 73 | cset "name='IB01 Bypass Mux' Bypass" 74 | cset "name='Mono ADC Boost Volume' 2" 75 | ] 76 | 77 | DisableSequence [ 78 | ] 79 | 80 | # ALSA PCM 81 | Value { 82 | # ALSA PCM device for HiFi 83 | PlaybackPCM "hw:sofbdwrt5677" 84 | CapturePCM "hw:sofbdwrt5677" 85 | } 86 | } 87 | 88 | SectionDevice."Speakers" { 89 | Comment "Speakers" 90 | 91 | ConflictingDevice [ 92 | "Headphones" 93 | ] 94 | 95 | EnableSequence [ 96 | cdev "hw:sofbdwrt5677" 97 | ] 98 | 99 | DisableSequence [ 100 | cdev "hw:sofbdwrt5677" 101 | ] 102 | 103 | Value { 104 | PlaybackChannels 2 105 | } 106 | } 107 | 108 | 109 | SectionDevice."Headphones" { 110 | Comment "Headphones" 111 | 112 | ConflictingDevice [ 113 | "Speakers" 114 | ] 115 | 116 | Value { 117 | JackControl "Headphone Jack" 118 | JackHWMute "Speakers" 119 | } 120 | 121 | EnableSequence [ 122 | cdev "hw:sofbdwrt5677" 123 | cset "name='Speaker Switch' off" 124 | cset "name='Stereo DAC MIXL DAC1 R Switch' off" 125 | cset "name='Stereo DAC MIXR DAC1 L Switch' off" 126 | cset "name='Stereo DAC MIXL DAC1 L Switch' on" 127 | cset "name='Stereo DAC MIXR DAC1 R Switch' on" 128 | cset "name='OUT1 Playback Switch' on" 129 | cset "name='OUT2 Playback Switch' on" 130 | cset "name='Headphone Switch' on" 131 | ] 132 | 133 | DisableSequence [ 134 | cdev "hw:sofbdwrt5677" 135 | cset "name='Headphone Switch' off" 136 | cset "name='OUT1 Playback Switch' off" 137 | cset "name='OUT2 Playback Switch' off" 138 | cset "name='Stereo DAC MIXL DAC1 L Switch' off" 139 | cset "name='Stereo DAC MIXR DAC1 R Switch' off" 140 | cset "name='Stereo DAC MIXL DAC1 R Switch' on" 141 | cset "name='Stereo DAC MIXR DAC1 L Switch' on" 142 | cset "name='Speaker Switch' on" 143 | ] 144 | 145 | Value { 146 | PlaybackChannels 2 147 | } 148 | 149 | } 150 | 151 | SectionDevice."Mic" { 152 | Comment "Internal Microphone" 153 | 154 | ConflictingDevice [ 155 | "Headset" 156 | ] 157 | 158 | EnableSequence [ 159 | cdev "hw:sofbdwrt5677" 160 | 161 | ] 162 | 163 | DisableSequence [ 164 | cdev "hw:sofbdwrt5677" 165 | 166 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 167 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 168 | cset "name='Headset Mic Switch' off" 169 | 170 | cset "name='IF1 ADC1 Swap Mux' L/R" 171 | 172 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 173 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 174 | cset "name='Local DMICs Switch' on" 175 | ] 176 | 177 | Value { 178 | CaptureChannels 2 179 | } 180 | } 181 | 182 | SectionDevice."Headset" { 183 | Comment "Headset Microphone" 184 | 185 | ConflictingDevice [ 186 | "Mic" 187 | ] 188 | 189 | Value { 190 | JackControl "Mic Jack" 191 | } 192 | 193 | EnableSequence [ 194 | cdev "hw:sofbdwrt5677" 195 | 196 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 197 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 198 | cset "name='Local DMICs Switch' off" 199 | 200 | cset "name='IF1 ADC1 Swap Mux' L/L" 201 | 202 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 203 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 204 | cset "name='Headset Mic Switch' on" 205 | ] 206 | 207 | DisableSequence [ 208 | cdev "hw:sofbdwrt5677" 209 | 210 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 211 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 212 | cset "name='Headset Mic Switch' off" 213 | 214 | cset "name='IF1 ADC1 Swap Mux' L/R" 215 | 216 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 217 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 218 | cset "name='Local DMICs Switch' on" 219 | ] 220 | 221 | Value { 222 | CaptureChannels 2 223 | } 224 | 225 | } 226 | -------------------------------------------------------------------------------- /bytcr-rt5651/bytcr-rt5651.conf: -------------------------------------------------------------------------------- 1 | # Adapted from https://github.com/plbossart/UCM/tree/master/bytcr-rt5651 2 | 3 | SectionUseCase."HiFi" { 4 | File "HiFi.conf" 5 | Comment "Play HiFi quality Music" 6 | } 7 | 8 | SectionDefaults [ 9 | cdev "hw:bytcrrt5651" 10 | 11 | # media mixer settings 12 | # compress 13 | cset "name='media0_in Gain 0 Switch' on" 14 | cset "name='media0_in Gain 0 Volume' 0" 15 | # normal 16 | cset "name='media1_in Gain 0 Switch' on" 17 | cset "name='media1_in Gain 0 Volume' 0" 18 | # swm loopback 19 | cset "name='media2_in Gain 0 Switch' off" 20 | cset "name='media2_in Gain 0 Volume' 0%" 21 | # deep buffer 22 | cset "name='media3_in Gain 0 Switch' on" 23 | cset "name='media3_in Gain 0 Volume' 0" 24 | cset "name='media0_out mix 0 media0_in Switch' on" 25 | cset "name='media0_out mix 0 media1_in Switch' on" 26 | cset "name='media0_out mix 0 media2_in Switch' off" 27 | cset "name='media0_out mix 0 media3_in Switch' on" 28 | cset "name='media1_out mix 0 media0_in Switch' off" 29 | cset "name='media1_out mix 0 media1_in Switch' off" 30 | cset "name='media1_out mix 0 media2_in Switch' off" 31 | cset "name='media1_out mix 0 media3_in Switch' off" 32 | cset "name='pcm0_in Gain 0 Switch' on" 33 | cset "name='pcm0_in Gain 0 Volume' 0" 34 | cset "name='pcm1_in Gain 0 Switch' off" 35 | cset "name='pcm1_in Gain 0 Volume' 0%" 36 | 37 | # codec0_out settings used when SSP2 is connected 38 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 39 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 40 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 41 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 42 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 43 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 44 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 45 | cset "name='codec_out0 Gain 0 Switch' on" 46 | cset "name='codec_out0 Gain 0 Volume' 0" 47 | 48 | # modem_out settings used when SSP0 is connected 49 | cset "name='modem_out mix 0 codec_in0 Switch' off" 50 | cset "name='modem_out mix 0 codec_in1 Switch' off" 51 | cset "name='modem_out mix 0 media_loop1_in Switch' off" 52 | cset "name='modem_out mix 0 media_loop2_in Switch' off" 53 | cset "name='modem_out mix 0 pcm0_in Switch' on" 54 | cset "name='modem_out mix 0 pcm1_in Switch' off" 55 | cset "name='modem_out mix 0 sprot_loop_in Switch' off" 56 | cset "name='modem_out Gain 0 Switch' on" 57 | cset "name='modem_out Gain 0 Volume' 0" 58 | 59 | # input settings 60 | # pcm1_out settings 61 | 62 | # input used when SSP2 is connected 63 | cset "name='codec_in0 Gain 0 Switch' on" 64 | cset "name='codec_in0 Gain 0 Volume' 0" 65 | 66 | # input used when SSP0 is connected 67 | cset "name='modem_in Gain 0 Switch' on" 68 | cset "name='modem_in Gain 0 Volume' 0" 69 | 70 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 71 | cset "name='pcm1_out mix 0 modem_in Switch' on" 72 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 73 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 74 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 75 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 76 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 77 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 78 | cset "name='pcm1_out Gain 0 Switch' on" 79 | cset "name='pcm1_out Gain 0 Volume' 0" 80 | 81 | # disable codec_out1 82 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 83 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 84 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 85 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 86 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 87 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 88 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 89 | cset "name='codec_out1 Gain 0 Switch' off" 90 | cset "name='codec_out1 Gain 0 Volume' 0%" 91 | 92 | # disable codec_in1 93 | cset "name='codec_in1 Gain 0 Switch' off" 94 | cset "name='codec_in1 Gain 0 Volume' 0%" 95 | 96 | # disable all loops 97 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 98 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 99 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 100 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 101 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 102 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 103 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 104 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 105 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 106 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 107 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 108 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 109 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 110 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 111 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 112 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 113 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 114 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 115 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 116 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 117 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 118 | 119 | # default state 120 | cset "name='HPO MIX DAC1 Switch' on" 121 | cset "name='HPO MIX HPVOL Switch' off" 122 | cset "name='HPO L Playback Switch' off" 123 | cset "name='HPO R Playback Switch' off" 124 | cset "name='HPOVOL L Switch' on" 125 | cset "name='HPOVOL R Switch' on" 126 | cset "name='LOUT MIX DAC L1 Switch' on" 127 | cset "name='LOUT MIX DAC R1 Switch' on" 128 | cset "name='IN1 Boost' 1" 129 | cset "name='IN2 Boost' 1" 130 | cset "name='IF1 ASRC Switch' on" 131 | cset "name='LOUT L Playback Switch' off" 132 | cset "name='LOUT R Playback Switch' off" 133 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 134 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 135 | cset "name='Stereo1 ADC MIXR ADC1 Switch' on" 136 | cset "name='Stereo1 ADC MIXR ADC2 Switch' on" 137 | cset "name='Stereo2 ADC MIXL ADC1 Switch' on" 138 | cset "name='Stereo2 ADC MIXL ADC2 Switch' on" 139 | cset "name='Stereo2 ADC MIXR ADC1 Switch' on" 140 | cset "name='Stereo2 ADC MIXR ADC2 Switch' on" 141 | cset "name='Headphone Switch' off" 142 | cset "name='Speaker Switch' off" 143 | 144 | # volumes for 0dB 145 | cset "name='OUT Playback Volume' 31" 146 | cset "name='HP Playback Volume' 31" 147 | cset "name='IN Capture Volume' 23" 148 | cset "name='ADC Capture Volume' 47" 149 | cset "name='DAC1 Playback Volume' 175" 150 | 151 | # input 152 | cset "name='Stereo1 ADC L1 Mux' ADC" 153 | cset "name='Stereo1 ADC R1 Mux' ADC" 154 | cset "name='Stereo1 ADC MIXL ADC1 Switch' on" 155 | cset "name='Stereo1 ADC MIXR ADC1 Switch' on" 156 | cset "name='RECMIXL BST1 Switch' off" 157 | cset "name='RECMIXR BST1 Switch' off" 158 | cset "name='RECMIXL BST3 Switch' off" 159 | cset "name='RECMIXR BST3 Switch' off" 160 | cset "name='RECMIXL BST2 Switch' off" 161 | cset "name='RECMIXR BST2 Switch' off" 162 | cset "name='Headset Mic Switch' off" 163 | cset "name='Internal Mic Switch' off" 164 | cset "name='Line In Switch' off" 165 | ] 166 | -------------------------------------------------------------------------------- /sof-cht-bsw-rt5672/HiFi: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c sof-cht-bsw-rt5672 set _verb HiFi set _enadev Headphones 3 | # alsaucm -c sof-cht-bsw-rt5672 set _verb HiFi set _enadev Speaker 4 | # alsaucm -c sof-cht-bsw-rt5672 set _verb HiFi set _enadev MonoSpeaker 5 | # alsaucm -c sof-cht-bsw-rt5672 set _verb HiFi set _enadev HeadsetMic 6 | # alsaucm -c sof-cht-bsw-rt5672 set _verb HiFi set _enadev DMIC1 7 | # alsaucm -c sof-cht-bsw-rt5672 set _verb HiFi set _enadev DMIC2 8 | 9 | SectionVerb { 10 | 11 | Value { 12 | TQ "HiFi" 13 | PlaybackPCM "hw:sofchtbswrt5672" 14 | CapturePCM "hw:sofchtbswrt5672" 15 | } 16 | 17 | EnableSequence [ 18 | cdev "hw:sofchtbswrt5672" 19 | 20 | 21 | # Playback (I2S1) 22 | 23 | # common 24 | cset "name='DAC1 L Mux' IF1 DAC" 25 | cset "name='DAC1 R Mux' IF1 DAC" 26 | cset "name='DAC1 MIXL DAC1 Switch' on" 27 | cset "name='DAC1 MIXR DAC1 Switch' on" 28 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 29 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 30 | cset "name='Stereo DAC MIXL DAC R1 Switch' off" 31 | cset "name='Stereo DAC MIXR DAC L1 Switch' off" 32 | 33 | # speaker 34 | cset "name='PDM1 L Mux' Stereo DAC" 35 | cset "name='PDM1 R Mux' Stereo DAC" 36 | 37 | # headphone 38 | cset "name='HPOVOL MIXL DAC1 Switch' on" 39 | cset "name='HPOVOL MIXR DAC1 Switch' on" 40 | cset "name='HPO MIX HPVOL Switch' on" 41 | 42 | # line out 43 | # cset "name='OUT MIXL DAC L1 Switch' on" 44 | # cset "name='OUT MIXR DAC R1 Switch' on" 45 | # cset "name='LOUT MIX OUTMIX L Switch' on" 46 | # cset "name='LOUT MIX OUTMIX R Switch' on" 47 | ] 48 | 49 | DisableSequence [ 50 | cdev "hw:sofchtbswrt5672" 51 | 52 | # disable audio output path 53 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 54 | cset "name='media0_out mix 0 media1_in Switch' off" 55 | 56 | cset "name='media1_in Gain 0 Switch' off" 57 | cset "name='pcm0_in Gain 0 Switch' off" 58 | cset "name='codec_out1 Gain 0 Switch' off" 59 | 60 | # disable audio input path 61 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 62 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 63 | 64 | cset "name='media_loop2_out Gain 0 Switch' off" 65 | cset "name='pcm1_out Gain 0 Switch' off" 66 | cset "name='codec_in0 Gain 0 Switch' off" 67 | ] 68 | 69 | } 70 | 71 | SectionDevice."Speaker" { 72 | Comment "Speaker" 73 | 74 | Value { 75 | PlaybackChannels "2" 76 | } 77 | 78 | ConflictingDevice [ 79 | "Headphones" 80 | "MonoSpeaker" 81 | ] 82 | 83 | EnableSequence [ 84 | cdev "hw:sofchtbswrt5672" 85 | cset "name='Ext Spk Switch' on" 86 | ] 87 | 88 | DisableSequence [ 89 | cdev "hw:sofchtbswrt5672" 90 | cset "name='Ext Spk Switch' off" 91 | ] 92 | } 93 | 94 | SectionDevice."MonoSpeaker" { 95 | Comment "MonoSpeaker" 96 | 97 | Value { 98 | PlaybackChannels "2" 99 | } 100 | 101 | ConflictingDevice [ 102 | "Headphones" 103 | "Speaker" 104 | ] 105 | 106 | EnableSequence [ 107 | cdev "hw:sofchtbswrt5672" 108 | cset "name='Ext Spk Switch' on" 109 | cset "name='Stereo DAC MIXL DAC R1 Switch' on" 110 | ] 111 | 112 | DisableSequence [ 113 | cdev "hw:sofchtbswrt5672" 114 | cset "name='Ext Spk Switch' off" 115 | cset "name='Stereo DAC MIXL DAC R1 Switch' off" 116 | ] 117 | } 118 | 119 | SectionDevice."Headphones" { 120 | Comment "Headphones" 121 | 122 | Value { 123 | PlaybackChannels "2" 124 | JackControl "Headphone Jack" 125 | } 126 | 127 | ConflictingDevice [ 128 | "Speaker" 129 | "MonoSpeaker" 130 | ] 131 | 132 | EnableSequence [ 133 | cdev "hw:sofchtbswrt5672" 134 | cset "name='Headphone Switch' on" 135 | ] 136 | 137 | DisableSequence [ 138 | cdev "hw:sofchtbswrt5672" 139 | cset "name='Headphone Switch' off" 140 | ] 141 | } 142 | 143 | SectionDevice."DMIC1" { 144 | Comment "DMIC1 Internal Microphones" 145 | 146 | Value { 147 | CaptureChannels "2" 148 | } 149 | 150 | ConflictingDevice [ 151 | "HeadsetMic" 152 | "DMIC2" 153 | ] 154 | 155 | EnableSequence [ 156 | cdev "hw:sofchtbswrt5672" 157 | cset "name='Int Mic Switch' on" 158 | cset "name='Stereo1 DMIC Mux' DMIC1" 159 | cset "name='Stereo1 ADC 2 Mux' DMIC" 160 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 161 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 162 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 163 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 164 | ] 165 | 166 | DisableSequence [ 167 | cdev "hw:sofchtbswrt5672" 168 | cset "name='Int Mic Switch' off" 169 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 170 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 171 | ] 172 | } 173 | 174 | SectionDevice."DMIC2" { 175 | Comment "DMIC2 Internal Microphones" 176 | 177 | Value { 178 | CaptureChannels "2" 179 | } 180 | 181 | ConflictingDevice [ 182 | "HeadsetMic" 183 | "DMIC1" 184 | ] 185 | 186 | EnableSequence [ 187 | cdev "hw:sofchtbswrt5672" 188 | cset "name='Int Mic Switch' on" 189 | cset "name='Stereo1 DMIC Mux' DMIC2" 190 | cset "name='Stereo1 ADC 2 Mux' DMIC" 191 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 192 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 193 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 194 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 195 | ] 196 | 197 | DisableSequence [ 198 | cdev "hw:sofchtbswrt5672" 199 | cset "name='Int Mic Switch' off" 200 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 201 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 202 | ] 203 | } 204 | 205 | SectionDevice."HeadsetMic" { 206 | Comment "Headset Mic" 207 | 208 | Value { 209 | JackControl "Headset Mic Jack" 210 | #FIXME CaptureControl "MIC2" 211 | } 212 | 213 | ConflictingDevice [ 214 | "DMIC1" 215 | "DMIC2" 216 | ] 217 | 218 | EnableSequence [ 219 | cdev "hw:sofchtbswrt5672" 220 | 221 | cset "name='Headset Mic Switch' on" 222 | cset "name='RECMIXL BST1 Switch' on" 223 | cset "name='RECMIXR BST1 Switch' on" 224 | cset "name='Mono ADC L1 Mux' ADC1" 225 | cset "name='Mono ADC R1 Mux' ADC1" 226 | cset "name='Mono ADC MIXL ADC2 Switch' off" 227 | cset "name='Mono ADC MIXR ADC2 Switch' off" 228 | cset "name='Mono ADC MIXL ADC1 Switch' on" 229 | cset "name='Mono ADC MIXR ADC1 Switch' on" 230 | ] 231 | 232 | DisableSequence [ 233 | cdev "hw:sofchtbswrt5672" 234 | 235 | cset "name='Headset Mic Switch' off" 236 | cset "name='RECMIXL BST1 Switch' off" 237 | cset "name='RECMIXR BST1 Switch' off" 238 | cset "name='Mono ADC L1 Mux' ADC1" 239 | cset "name='Mono ADC R1 Mux' ADC1" 240 | cset "name='Mono ADC MIXL ADC2 Switch' on" 241 | cset "name='Mono ADC MIXR ADC2 Switch' on" 242 | cset "name='Mono ADC MIXL ADC1 Switch' off" 243 | cset "name='Mono ADC MIXR ADC1 Switch' off" 244 | ] 245 | 246 | Value { 247 | CaptureChannels 2 248 | } 249 | } 250 | -------------------------------------------------------------------------------- /sof-bytcr-rt5651/HiFi.conf: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev Headphones 3 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev Speaker 4 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev HeadsetMic-IN1 5 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev HeadsetMic-IN3 6 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN1 7 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN2 8 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN12 9 | # alsaucm -c sof-bytcr-rt5651 set _verb HiFi set _enadev LineIn 10 | 11 | SectionVerb { 12 | EnableSequence [ 13 | cdev "hw:sofbytcrrt5651" 14 | exec "echo HiFi enable sequence" 15 | ] 16 | 17 | DisableSequence [ 18 | cdev "hw:sofbytcrrt5651" 19 | exec "echo HiFi disable sequence" 20 | ] 21 | 22 | Value { 23 | PlaybackPCM "hw:sofbytcrrt5651" 24 | CapturePCM "hw:sofbytcrrt5651" 25 | } 26 | } 27 | 28 | SectionDevice."Headphones" { 29 | Comment "Headphones playback" 30 | 31 | ConflictingDevice [ 32 | "Speaker" 33 | ] 34 | 35 | EnableSequence [ 36 | cdev "hw:sofbytcrrt5651" 37 | exec "echo Headphones playback enable sequence" 38 | cset "name='Headphone Switch' on" 39 | cset "name='HPO L Playback Switch' on" 40 | cset "name='HPO R Playback Switch' on" 41 | ] 42 | 43 | DisableSequence [ 44 | cdev "hw:sofbytcrrt5651" 45 | exec "echo Headphones playback disable sequence" 46 | cset "name='Headphone Switch' off" 47 | cset "name='HPO L Playback Switch' off" 48 | cset "name='HPO R Playback Switch' off" 49 | ] 50 | 51 | Value { 52 | PlaybackChannels "2" 53 | PlaybackPriority "2000" 54 | JackControl "Headphone Jack" 55 | } 56 | } 57 | 58 | SectionDevice."Speaker" { 59 | Comment "Speaker playback" 60 | 61 | ConflictingDevice [ 62 | "Headphones" 63 | ] 64 | 65 | EnableSequence [ 66 | cdev "hw:sofbytcrrt5651" 67 | exec "echo Speaker enable sequence" 68 | cset "name='Speaker Switch' on" 69 | cset "name='LOUT L Playback Switch' on" 70 | cset "name='LOUT R Playback Switch' on" 71 | ] 72 | 73 | DisableSequence [ 74 | cdev "hw:sofbytcrrt5651" 75 | exec "echo Speaker disable sequence" 76 | cset "name='Speaker Switch' off" 77 | cset "name='LOUT L Playback Switch' off" 78 | cset "name='LOUT R Playback Switch' off" 79 | ] 80 | 81 | Value { 82 | PlaybackChannels "2" 83 | } 84 | } 85 | 86 | SectionDevice."HeadsetMic-IN1" { 87 | Comment "HeadsetMic-IN1 Microphone" 88 | 89 | ConflictingDevice [ 90 | "InternalMic-IN1" 91 | "InternalMic-IN2" 92 | "InternalMic-IN12" 93 | "HeadsetMic-IN3" 94 | "LineIn" 95 | ] 96 | 97 | EnableSequence [ 98 | cdev "hw:sofbytcrrt5651" 99 | exec "echo HeadsetMic-IN1 Microphone enable sequence" 100 | cset "name='Headset Mic Switch' on" 101 | cset "name='RECMIXL BST1 Switch' on" 102 | cset "name='RECMIXR BST1 Switch' on" 103 | ] 104 | 105 | DisableSequence [ 106 | cdev "hw:sofbytcrrt5651" 107 | exec "echo HeadsetMic-IN1 Microphone disable sequence" 108 | cset "name='Headset Mic Switch' off" 109 | cset "name='RECMIXL BST1 Switch' off" 110 | cset "name='RECMIXR BST1 Switch' off" 111 | ] 112 | 113 | Value { 114 | CaptureChannels "2" 115 | JackControl "Headset Mic Jack" 116 | } 117 | } 118 | 119 | SectionDevice."HeadsetMic-IN3" { 120 | Comment "HeadsetMic-IN3 Microphone" 121 | 122 | ConflictingDevice [ 123 | "InternalMic-IN1" 124 | "InternalMic-IN2" 125 | "InternalMic-IN12" 126 | "HeadsetMic-IN1" 127 | "LineIn" 128 | ] 129 | 130 | EnableSequence [ 131 | cdev "hw:sofbytcrrt5651" 132 | exec "echo HeadsetMic-IN3 Microphone enable sequence" 133 | cset "name='Headset Mic Switch' on" 134 | cset "name='RECMIXL BST3 Switch' on" 135 | cset "name='RECMIXR BST3 Switch' on" 136 | ] 137 | 138 | DisableSequence [ 139 | cdev "hw:sofbytcrrt5651" 140 | exec "echo HeadsetMic-IN3 Microphone disable sequence" 141 | cset "name='Headset Mic Switch' off" 142 | cset "name='RECMIXL BST3 Switch' off" 143 | cset "name='RECMIXR BST3 Switch' off" 144 | ] 145 | 146 | Value { 147 | CaptureChannels "2" 148 | JackControl "Headset Mic Jack" 149 | } 150 | } 151 | 152 | SectionDevice."InternalMic-IN1" { 153 | Comment "Internal Mic IN1 Microphone" 154 | 155 | ConflictingDevice [ 156 | "HeadsetMic-IN1" 157 | "HeadsetMic-IN3" 158 | "InternalMic-IN2" 159 | "InternalMic-IN12" 160 | "LineIn" 161 | ] 162 | 163 | EnableSequence [ 164 | cdev "hw:sofbytcrrt5651" 165 | exec "echo Internal Mic IN1 Microphone enable sequence" 166 | cset "name='Internal Mic Switch' on" 167 | cset "name='RECMIXL BST1 Switch' on" 168 | cset "name='RECMIXR BST1 Switch' on" 169 | ] 170 | 171 | DisableSequence [ 172 | cdev "hw:sofbytcrrt5651" 173 | exec "echo Internal Mic IN1 Microphone disable sequence" 174 | cset "name='Internal Mic Switch' off" 175 | cset "name='RECMIXL BST1 Switch' off" 176 | cset "name='RECMIXR BST1 Switch' off" 177 | ] 178 | 179 | Value { 180 | CaptureChannels "2" 181 | } 182 | } 183 | 184 | SectionDevice."InternalMic-IN2" { 185 | Comment "Internal Mic IN2 Microphone" 186 | 187 | ConflictingDevice [ 188 | "HeadsetMic-IN1" 189 | "HeadsetMic-IN3" 190 | "InternalMic-IN1" 191 | "InternalMic-IN12" 192 | "LineIn" 193 | ] 194 | 195 | EnableSequence [ 196 | cdev "hw:sofbytcrrt5651" 197 | exec "echo Internal Mic IN2 Microphone enable sequence" 198 | cset "name='Internal Mic Switch' on" 199 | cset "name='RECMIXL BST2 Switch' on" 200 | cset "name='RECMIXR BST2 Switch' on" 201 | ] 202 | 203 | DisableSequence [ 204 | cdev "hw:sofbytcrrt5651" 205 | exec "echo Internal Mic IN2 Microphone disable sequence" 206 | cset "name='Internal Mic Switch' off" 207 | cset "name='RECMIXL BST2 Switch' off" 208 | cset "name='RECMIXR BST2 Switch' off" 209 | ] 210 | 211 | Value { 212 | CaptureChannels "2" 213 | } 214 | } 215 | 216 | SectionDevice."InternalMic-IN12" { 217 | Comment "Internal Mic IN12" 218 | 219 | ConflictingDevice [ 220 | "HeadsetMic-IN1" 221 | "HeadsetMic-IN3" 222 | "InternalMic-IN1" 223 | "InternalMic-IN2" 224 | "LineIn" 225 | ] 226 | 227 | EnableSequence [ 228 | cdev "hw:sofbytcrrt5651" 229 | exec "echo Internal Mic IN12 Microphone enable sequence" 230 | cset "name='Internal Mic Switch' on" 231 | cset "name='RECMIXL BST1 Switch' on" 232 | cset "name='RECMIXR BST1 Switch' on" 233 | cset "name='RECMIXL BST2 Switch' on" 234 | cset "name='RECMIXR BST2 Switch' on" 235 | 236 | ] 237 | 238 | DisableSequence [ 239 | cdev "hw:sofbytcrrt5651" 240 | exec "echo Internal Mic IN1 Microphone disable sequence" 241 | cset "name='Internal Mic Switch' off" 242 | cset "name='RECMIXL BST1 Switch' off" 243 | cset "name='RECMIXR BST1 Switch' off" 244 | cset "name='RECMIXL BST2 Switch' off" 245 | cset "name='RECMIXR BST2 Switch' off" 246 | 247 | ] 248 | 249 | Value { 250 | CaptureChannels "2" 251 | } 252 | } 253 | 254 | SectionDevice."LineIn" { 255 | Comment "Line-In input" 256 | 257 | ConflictingDevice [ 258 | "HeadsetMic-IN1" 259 | "HeadsetMic-IN3" 260 | "InternalMic-IN1" 261 | "InternalMic-IN2" 262 | "InternalMic-IN12" 263 | ] 264 | 265 | EnableSequence [ 266 | cdev "hw:sofbytcrrt5651" 267 | exec "echo Line In enable sequence" 268 | cset "name='Line In Switch' on" 269 | cset "name='RECMIXL INL1 Switch' on" 270 | cset "name='RECMIXR INR1 Switch' on" 271 | ] 272 | 273 | DisableSequence [ 274 | cdev "hw:sofbytcrrt5651" 275 | exec "echo Line In disable sequence" 276 | cset "name='Line In Switch' off" 277 | cset "name='RECMIXL INL1 Switch' off" 278 | cset "name='RECMIXR INR1 Switch' off" 279 | ] 280 | 281 | Value { 282 | CaptureChannels "2" 283 | } 284 | } 285 | -------------------------------------------------------------------------------- /bytcr-rt5651/HiFi.conf: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev Headphones 3 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev Speaker 4 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev HeadsetMic-IN1 5 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev HeadsetMic-IN3 6 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN1 7 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN2 8 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev InternalMic-IN12 9 | # alsaucm -c bytcr-rt5651 set _verb HiFi set _enadev LineIn 10 | 11 | SectionVerb { 12 | EnableSequence [ 13 | cdev "hw:bytcrrt5651" 14 | exec "echo HiFi enable sequence" 15 | ] 16 | 17 | DisableSequence [ 18 | cdev "hw:bytcrrt5651" 19 | exec "echo HiFi disable sequence" 20 | ] 21 | 22 | Value { 23 | PlaybackPCM "hw:bytcrrt5651" 24 | CapturePCM "hw:bytcrrt5651" 25 | } 26 | } 27 | 28 | SectionDevice."Headphones" { 29 | Comment "Headphones playback" 30 | 31 | ConflictingDevice [ 32 | "Speaker" 33 | ] 34 | 35 | EnableSequence [ 36 | cdev "hw:bytcrrt5651" 37 | exec "echo Headphones playback enable sequence" 38 | cset "name='Headphone Switch' on" 39 | cset "name='HPO L Playback Switch' on" 40 | cset "name='HPO R Playback Switch' on" 41 | # Done after turning the HP on to keep the bias and clk on 42 | cset "name='Speaker Switch' off" 43 | cset "name='LOUT L Playback Switch' off" 44 | cset "name='LOUT R Playback Switch' off" 45 | ] 46 | 47 | DisableSequence [ 48 | cdev "hw:bytcrrt5651" 49 | exec "echo Headphones playback disable sequence" 50 | # This is done by the Speaker EnableSequence, so that the 51 | # Platform Clock and BIAS do not temporarily get turned off 52 | # as that breaks audio-streams which are playing when 53 | # switching between Speaker/Headphone 54 | ] 55 | 56 | Value { 57 | PlaybackChannels "2" 58 | PlaybackPriority "2000" 59 | JackControl "Headphone Jack" 60 | } 61 | } 62 | 63 | SectionDevice."Speaker" { 64 | Comment "Speaker playback" 65 | 66 | ConflictingDevice [ 67 | "Headphones" 68 | ] 69 | 70 | EnableSequence [ 71 | cdev "hw:bytcrrt5651" 72 | exec "echo Speaker enable sequence" 73 | cset "name='Speaker Switch' on" 74 | cset "name='LOUT L Playback Switch' on" 75 | cset "name='LOUT R Playback Switch' on" 76 | # Done after turning the speaker on to keep the bias and clk on 77 | cset "name='Headphone Switch' off" 78 | cset "name='HPO L Playback Switch' off" 79 | cset "name='HPO R Playback Switch' off" 80 | ] 81 | 82 | DisableSequence [ 83 | cdev "hw:bytcrrt5651" 84 | exec "echo Speaker disable sequence" 85 | # This is done by the Headphones EnableSequence, so that the 86 | # Platform Clock and BIAS do not temporarily get turned off 87 | # as that breaks audio-streams which are playing when 88 | # switching between Speaker/Headphone 89 | ] 90 | 91 | Value { 92 | PlaybackChannels "2" 93 | } 94 | } 95 | 96 | SectionDevice."HeadsetMic-IN1" { 97 | Comment "HeadsetMic-IN1 Microphone" 98 | 99 | ConflictingDevice [ 100 | "InternalMic-IN1" 101 | "InternalMic-IN2" 102 | "InternalMic-IN12" 103 | "HeadsetMic-IN3" 104 | "LineIn" 105 | ] 106 | 107 | EnableSequence [ 108 | cdev "hw:bytcrrt5651" 109 | exec "echo HeadsetMic-IN1 Microphone enable sequence" 110 | cset "name='Headset Mic Switch' on" 111 | cset "name='RECMIXL BST1 Switch' on" 112 | cset "name='RECMIXR BST1 Switch' on" 113 | ] 114 | 115 | DisableSequence [ 116 | cdev "hw:bytcrrt5651" 117 | exec "echo HeadsetMic-IN1 Microphone disable sequence" 118 | cset "name='Headset Mic Switch' off" 119 | cset "name='RECMIXL BST1 Switch' off" 120 | cset "name='RECMIXR BST1 Switch' off" 121 | ] 122 | 123 | Value { 124 | CaptureChannels "2" 125 | JackControl "Headset Mic Jack" 126 | } 127 | } 128 | 129 | SectionDevice."HeadsetMic-IN3" { 130 | Comment "HeadsetMic-IN3 Microphone" 131 | 132 | ConflictingDevice [ 133 | "InternalMic-IN1" 134 | "InternalMic-IN2" 135 | "InternalMic-IN12" 136 | "HeadsetMic-IN1" 137 | "LineIn" 138 | ] 139 | 140 | EnableSequence [ 141 | cdev "hw:bytcrrt5651" 142 | exec "echo HeadsetMic-IN3 Microphone enable sequence" 143 | cset "name='Headset Mic Switch' on" 144 | cset "name='RECMIXL BST3 Switch' on" 145 | cset "name='RECMIXR BST3 Switch' on" 146 | ] 147 | 148 | DisableSequence [ 149 | cdev "hw:bytcrrt5651" 150 | exec "echo HeadsetMic-IN3 Microphone disable sequence" 151 | cset "name='Headset Mic Switch' off" 152 | cset "name='RECMIXL BST3 Switch' off" 153 | cset "name='RECMIXR BST3 Switch' off" 154 | ] 155 | 156 | Value { 157 | CaptureChannels "2" 158 | JackControl "Headset Mic Jack" 159 | } 160 | } 161 | 162 | SectionDevice."InternalMic-IN1" { 163 | Comment "Internal Mic IN1 Microphone" 164 | 165 | ConflictingDevice [ 166 | "HeadsetMic-IN1" 167 | "HeadsetMic-IN3" 168 | "InternalMic-IN2" 169 | "InternalMic-IN12" 170 | "LineIn" 171 | ] 172 | 173 | EnableSequence [ 174 | cdev "hw:bytcrrt5651" 175 | exec "echo Internal Mic IN1 Microphone enable sequence" 176 | cset "name='Internal Mic Switch' on" 177 | cset "name='RECMIXL BST1 Switch' on" 178 | cset "name='RECMIXR BST1 Switch' on" 179 | ] 180 | 181 | DisableSequence [ 182 | cdev "hw:bytcrrt5651" 183 | exec "echo Internal Mic IN1 Microphone disable sequence" 184 | cset "name='Internal Mic Switch' off" 185 | cset "name='RECMIXL BST1 Switch' off" 186 | cset "name='RECMIXR BST1 Switch' off" 187 | ] 188 | 189 | Value { 190 | CaptureChannels "2" 191 | } 192 | } 193 | 194 | SectionDevice."InternalMic-IN2" { 195 | Comment "Internal Mic IN2 Microphone" 196 | 197 | ConflictingDevice [ 198 | "HeadsetMic-IN1" 199 | "HeadsetMic-IN3" 200 | "InternalMic-IN1" 201 | "InternalMic-IN12" 202 | "LineIn" 203 | ] 204 | 205 | EnableSequence [ 206 | cdev "hw:bytcrrt5651" 207 | exec "echo Internal Mic IN2 Microphone enable sequence" 208 | cset "name='Internal Mic Switch' on" 209 | cset "name='RECMIXL BST2 Switch' on" 210 | cset "name='RECMIXR BST2 Switch' on" 211 | ] 212 | 213 | DisableSequence [ 214 | cdev "hw:bytcrrt5651" 215 | exec "echo Internal Mic IN2 Microphone disable sequence" 216 | cset "name='Internal Mic Switch' off" 217 | cset "name='RECMIXL BST2 Switch' off" 218 | cset "name='RECMIXR BST2 Switch' off" 219 | ] 220 | 221 | Value { 222 | CaptureChannels "2" 223 | } 224 | } 225 | 226 | SectionDevice."InternalMic-IN12" { 227 | Comment "Internal Mic IN12" 228 | 229 | ConflictingDevice [ 230 | "HeadsetMic-IN1" 231 | "HeadsetMic-IN3" 232 | "InternalMic-IN1" 233 | "InternalMic-IN2" 234 | "LineIn" 235 | ] 236 | 237 | EnableSequence [ 238 | cdev "hw:bytcrrt5651" 239 | exec "echo Internal Mic IN12 Microphone enable sequence" 240 | cset "name='Internal Mic Switch' on" 241 | cset "name='RECMIXL BST1 Switch' on" 242 | cset "name='RECMIXR BST1 Switch' on" 243 | cset "name='RECMIXL BST2 Switch' on" 244 | cset "name='RECMIXR BST2 Switch' on" 245 | 246 | ] 247 | 248 | DisableSequence [ 249 | cdev "hw:bytcrrt5651" 250 | exec "echo Internal Mic IN1 Microphone disable sequence" 251 | cset "name='Internal Mic Switch' off" 252 | cset "name='RECMIXL BST1 Switch' off" 253 | cset "name='RECMIXR BST1 Switch' off" 254 | cset "name='RECMIXL BST2 Switch' off" 255 | cset "name='RECMIXR BST2 Switch' off" 256 | 257 | ] 258 | 259 | Value { 260 | CaptureChannels "2" 261 | } 262 | } 263 | 264 | SectionDevice."LineIn" { 265 | Comment "Line-In input" 266 | 267 | ConflictingDevice [ 268 | "HeadsetMic-IN1" 269 | "HeadsetMic-IN3" 270 | "InternalMic-IN1" 271 | "InternalMic-IN2" 272 | "InternalMic-IN12" 273 | ] 274 | 275 | EnableSequence [ 276 | cdev "hw:bytcrrt5651" 277 | exec "echo Line In enable sequence" 278 | cset "name='Line In Switch' on" 279 | cset "name='RECMIXL INL1 Switch' on" 280 | cset "name='RECMIXR INR1 Switch' on" 281 | ] 282 | 283 | DisableSequence [ 284 | cdev "hw:bytcrrt5651" 285 | exec "echo Line In disable sequence" 286 | cset "name='Line In Switch' off" 287 | cset "name='RECMIXL INL1 Switch' off" 288 | cset "name='RECMIXR INR1 Switch' off" 289 | ] 290 | 291 | Value { 292 | CaptureChannels "2" 293 | } 294 | } 295 | -------------------------------------------------------------------------------- /chtnau8824/HiFi.conf: -------------------------------------------------------------------------------- 1 | SectionVerb { 2 | 3 | Value { 4 | TQ "HiFi" 5 | # ALSA PCM device for HiFi 6 | PlaybackPCM "hw:chtnau8824" 7 | CapturePCM "hw:chtnau8824" 8 | } 9 | 10 | EnableSequence [ 11 | cdev "hw:chtnau8824" 12 | 13 | # Mixer 14 | 15 | # compress 16 | cset "name='media0_in Gain 0 Switch' on" 17 | cset "name='media0_in Gain 0 Volume' 0" 18 | 19 | # normal 20 | cset "name='media1_in Gain 0 Switch' on" 21 | cset "name='media1_in Gain 0 Volume' 0" 22 | 23 | # swm loopback 24 | cset "name='media2_in Gain 0 Switch' off" 25 | cset "name='media2_in Gain 0 Volume' 0%" 26 | 27 | # deep buffer 28 | cset "name='media3_in Gain 0 Switch' on" 29 | cset "name='media3_in Gain 0 Volume' 0" 30 | 31 | cset "name='media0_out mix 0 media0_in Switch' on" 32 | cset "name='media0_out mix 0 media1_in Switch' on" 33 | cset "name='media0_out mix 0 media2_in Switch' off" 34 | cset "name='media0_out mix 0 media3_in Switch' on" 35 | 36 | cset "name='media1_out mix 0 media0_in Switch' off" 37 | cset "name='media1_out mix 0 media1_in Switch' off" 38 | cset "name='media1_out mix 0 media2_in Switch' off" 39 | cset "name='media1_out mix 0 media3_in Switch' off" 40 | 41 | cset "name='pcm0_in Gain 0 Switch' on" 42 | cset "name='pcm0_in Gain 0 Volume' 0" 43 | 44 | cset "name='pcm1_in Gain 0 Switch' off" 45 | cset "name='pcm1_in Gain 0 Volume' 0%" 46 | 47 | # codec0_out settings (used if ssp2 is connected to aif1) 48 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 49 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 50 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 51 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 52 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 53 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 54 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 55 | cset "name='codec_out0 Gain 0 Switch' on" 56 | cset "name='codec_out0 Gain 0 Volume' 0" 57 | 58 | # modem_out settings (used if ssp0 is connected to aif2) 59 | cset "name='modem_out mix 0 codec_in0 Switch' off" 60 | cset "name='modem_out mix 0 codec_in1 Switch' off" 61 | cset "name='modem_out mix 0 media_loop1_in Switch' off" 62 | cset "name='modem_out mix 0 media_loop2_in Switch' off" 63 | cset "name='modem_out mix 0 pcm0_in Switch' on" 64 | cset "name='modem_out mix 0 pcm1_in Switch' off" 65 | cset "name='modem_out mix 0 sprot_loop_in Switch' off" 66 | cset "name='modem_out Gain 0 Switch' on" 67 | cset "name='modem_out Gain 0 Volume' 0" 68 | 69 | # input used when SSP2 is connected 70 | cset "name='codec_in0 Gain 0 Switch' on" 71 | cset "name='codec_in0 Gain 0 Volume' 0" 72 | 73 | # input used when SSP0 is connected 74 | cset "name='modem_in Gain 0 Switch' on" 75 | cset "name='modem_in Gain 0 Volume' 0" 76 | 77 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 78 | cset "name='pcm1_out mix 0 modem_in Switch' on" 79 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 80 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 81 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 82 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 83 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 84 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 85 | 86 | cset "name='pcm1_out Gain 0 Switch' on" 87 | cset "name='pcm1_out Gain 0 Volume' 0" 88 | 89 | # disable codec_out1 90 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 91 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 92 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 93 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 94 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 95 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 96 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 97 | cset "name='codec_out1 Gain 0 Switch' off" 98 | cset "name='codec_out1 Gain 0 Volume' 0%" 99 | 100 | # disable codec_in1 101 | cset "name='codec_in1 Gain 0 Switch' off" 102 | cset "name='codec_in1 Gain 0 Volume' 0%" 103 | 104 | # disable all loops 105 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 106 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 107 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 108 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 109 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 110 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 111 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 112 | 113 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 114 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 115 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 116 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 117 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 118 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 119 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 120 | 121 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 122 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 123 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 124 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 125 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 126 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 127 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 128 | 129 | # Playback TDM configuration 130 | cset "name='DACL Channel Source' 0" 131 | cset "name='DACR Channel Source' 1" 132 | # Input Configuration 133 | cset "name='DMIC1 Enable Switch' off" 134 | cset "name='DMIC2 Enable Switch' off" 135 | cset "name='DMIC3 Enable Switch' off" 136 | cset "name='DMIC4 Enable Switch' off" 137 | cset "name='MIC1 Volume' 10" 138 | cset "name='MIC2 Volume' 10" 139 | # Output Configuration 140 | cset "name='Speaker Right DACR Volume' 1" 141 | cset "name='Speaker Left DACL Volume' 1" 142 | # Button Configuration 143 | cset "name='THD for key media' 10" 144 | cset "name='THD for key voice command' 16" 145 | cset "name='THD for key volume up' 38" 146 | cset "name='THD for key volume down' 115" 147 | ] 148 | 149 | DisableSequence [ 150 | cdev "hw:chtnau8824" 151 | 152 | # disable audio output path 153 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 154 | cset "name='media0_out mix 0 media1_in Switch' off" 155 | 156 | cset "name='media1_in Gain 0 Switch' off" 157 | cset "name='pcm0_in Gain 0 Switch' off" 158 | cset "name='codec_out1 Gain 0 Switch' off" 159 | 160 | # disable audio input path 161 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 162 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 163 | 164 | cset "name='media_loop2_out Gain 0 Switch' off" 165 | cset "name='pcm1_out Gain 0 Switch' off" 166 | cset "name='codec_in0 Gain 0 Switch' off" 167 | 168 | ] 169 | } 170 | 171 | SectionDevice."Speaker" { 172 | Comment "Speaker" 173 | 174 | Value { 175 | PlaybackChannels "2" 176 | } 177 | 178 | ConflictingDevice [ 179 | "Headphones" 180 | ] 181 | 182 | EnableSequence [ 183 | cdev "hw:chtnau8824" 184 | 185 | cset "name='Ext Spk Switch' on" 186 | ] 187 | 188 | DisableSequence [ 189 | cdev "hw:chtnau8824" 190 | 191 | cset "name='Ext Spk Switch' off" 192 | ] 193 | } 194 | 195 | SectionDevice."Headphones" { 196 | Comment "Headphones" 197 | 198 | Value { 199 | PlaybackChannels "2" 200 | JackControl "Headphone Jack" 201 | } 202 | 203 | ConflictingDevice [ 204 | "Speaker" 205 | ] 206 | 207 | EnableSequence [ 208 | cdev "hw:chtnau8824" 209 | 210 | cset "name='Headphone Switch' on" 211 | ] 212 | 213 | DisableSequence [ 214 | cdev "hw:chtnau8824" 215 | 216 | cset "name='Headphone Switch' off" 217 | ] 218 | } 219 | 220 | SectionDevice."InternalMic" { 221 | Comment "Internal Microphone" 222 | 223 | Value { 224 | CaptureChannels "2" 225 | CapturePriority "150" 226 | } 227 | 228 | ConflictingDevice [ 229 | "HeadsetMic" 230 | ] 231 | 232 | EnableSequence [ 233 | cdev "hw:chtnau8824" 234 | 235 | cset "name='ADC CH0 Select' 0" 236 | cset "name='ADC CH1 Select' 0" 237 | 238 | cset "name='Int Mic Switch' on" 239 | cset "name='Right ADC MIC Switch' on" 240 | cset "name='Left ADC MIC Switch' on" 241 | ] 242 | 243 | DisableSequence [ 244 | cdev "hw:chtnau8824" 245 | 246 | cset "name='Int Mic Switch' off" 247 | cset "name='Right ADC MIC Switch' off" 248 | cset "name='Left ADC MIC Switch' off" 249 | ] 250 | } 251 | 252 | SectionDevice."HeadsetMic" { 253 | Comment "Headset Microphone" 254 | 255 | Value { 256 | CaptureChannels "2" 257 | JackControl "Headset Mic Jack" 258 | } 259 | 260 | ConflictingDevice [ 261 | "InternalMic" 262 | ] 263 | 264 | EnableSequence [ 265 | cdev "hw:chtnau8824" 266 | 267 | cset "name='ADC CH0 Select' 1" 268 | cset "name='ADC CH1 Select' 1" 269 | 270 | cset "name='Headset Mic Switch' on" 271 | cset "name='Right ADC HSMIC Switch' on" 272 | cset "name='Left ADC HSMIC Switch' on" 273 | ] 274 | 275 | DisableSequence [ 276 | cdev "hw:chtnau8824" 277 | 278 | cset "name='Headset Mic Switch' off" 279 | cset "name='Right ADC HSMIC Switch' off" 280 | cset "name='Left ADC HSMIC Switch' off" 281 | ] 282 | } 283 | -------------------------------------------------------------------------------- /sof-chtrt5645/HiFi.conf: -------------------------------------------------------------------------------- 1 | SectionVerb { 2 | # ALSA PCM 3 | Value { 4 | TQ "HiFi" 5 | 6 | # ALSA PCM device for HiFi 7 | PlaybackPCM "hw:sofchtrt5645" 8 | CapturePCM "hw:sofchtrt5645" 9 | } 10 | 11 | EnableSequence [ 12 | cdev "hw:sofchtrt5645" 13 | 14 | # Output Configuration 15 | cset "name='DAC1 L Mux' IF1 DAC" 16 | cset "name='DAC1 R Mux' IF1 DAC" 17 | cset "name='DAC1 MIXL DAC1 Switch' 1" 18 | cset "name='DAC1 MIXR DAC1 Switch' 1" 19 | cset "name='Stereo DAC MIXL DAC L1 Switch' 1" 20 | cset "name='Stereo DAC MIXR DAC R1 Switch' 1" 21 | 22 | cset "name='DAC L2 Mux' IF2 DAC" 23 | cset "name='DAC R2 Mux' IF2 DAC" 24 | cset "name='Mono DAC MIXL DAC L2 Switch' on" 25 | cset "name='Mono DAC MIXR DAC R2 Switch' on" 26 | cset "name='DAC2 Playback Switch' on" 27 | 28 | cset "name='HPOVOL MIXL DAC1 Switch' on" 29 | cset "name='HPOVOL MIXR DAC1 Switch' on" 30 | cset "name='HPOVOL MIXL DAC2 Switch' on" 31 | cset "name='HPOVOL MIXR DAC2 Switch' on" 32 | cset "name='HPO MIX HPVOL Switch' on" 33 | cset "name='HPOVOL L Switch' on" 34 | cset "name='HPOVOL R Switch' on" 35 | 36 | cset "name='SPK MIXL DAC L1 Switch' on" 37 | cset "name='SPK MIXR DAC R1 Switch' on" 38 | cset "name='SPK MIXL DAC L2 Switch' on" 39 | cset "name='SPK MIXR DAC R2 Switch' on" 40 | cset "name='SPOL MIX SPKVOL L Switch' on" 41 | cset "name='SPOR MIX SPKVOL R Switch' on" 42 | cset "name='SPKVOL L Switch' on" 43 | cset "name='SPKVOL R Switch' on" 44 | 45 | cset "name='OUT MIXL DAC L1 Switch' on" 46 | cset "name='OUT MIXR DAC R1 Switch' on" 47 | cset "name='OUT MIXL DAC L2 Switch' on" 48 | cset "name='OUT MIXR DAC R2 Switch' on" 49 | cset "name='LOUT MIX OUTMIX L Switch' on" 50 | cset "name='LOUT MIX OUTMIX R Switch' on" 51 | 52 | cset "name='Headphone Switch' off" 53 | cset "name='Headphone Channel Switch' off" 54 | cset "name='Ext Spk Switch' off" 55 | cset "name='Speaker Channel Switch' off" 56 | # cset "name='Line Out Switch' off" 57 | # cset "name='OUT Channel Switch' off" 58 | 59 | cset "name='Speaker Playback Volume' 31" 60 | cset "name='Headphone Playback Volume' 31" 61 | 62 | # Input Configuration 63 | cset "name='Stereo1 DMIC Mux' 0" 64 | cset "name='Stereo1 ADC2 Mux' 1" 65 | cset "name='ADC Capture Switch' on" 66 | cset "name='ADC Capture Volume' 31" 67 | cset "name='ADC Boost Capture Volume' 3" 68 | cset "name='Mono ADC Capture Volume' 63" 69 | cset "name='Mono ADC Boost Capture Volume' 2" 70 | cset "name='IN Capture Volume' 63" 71 | cset "name='I2S2 Func Switch' on" 72 | 73 | ] 74 | 75 | DisableSequence [ 76 | cdev "hw:sofchtrt5645" 77 | 78 | ] 79 | } 80 | 81 | SectionDevice."Speaker" { 82 | Comment "Speaker" 83 | 84 | Value { 85 | PlaybackChannels "2" 86 | } 87 | 88 | ConflictingDevice [ 89 | "Headphones" 90 | "LineOut" 91 | ] 92 | 93 | EnableSequence [ 94 | cdev "hw:sofchtrt5645" 95 | 96 | cset "name='Ext Spk Switch' on" 97 | cset "name='Speaker Channel Switch' on" 98 | 99 | ] 100 | 101 | DisableSequence [ 102 | cdev "hw:sofchtrt5645" 103 | 104 | cset "name='Ext Spk Switch' off" 105 | cset "name='Speaker Channel Switch' off" 106 | ] 107 | } 108 | 109 | SectionDevice."Headphones" { 110 | Comment "Headphones" 111 | 112 | Value { 113 | PlaybackChannels "2" 114 | #JackControl "Headphone Jack" 115 | #JackHWMute "Speaker" 116 | } 117 | 118 | ConflictingDevice [ 119 | "Speaker" 120 | "LineOut" 121 | ] 122 | 123 | EnableSequence [ 124 | cdev "hw:sofchtrt5645" 125 | 126 | cset "name='Headphone Switch' on" 127 | cset "name='Headphone Channel Switch' on" 128 | 129 | ] 130 | 131 | DisableSequence [ 132 | cdev "hw:sofchtrt5645" 133 | 134 | cset "name='Headphone Switch' off" 135 | cset "name='Headphone Channel Switch' off" 136 | ] 137 | } 138 | 139 | SectionDevice."LineOut" { 140 | Comment "LineOut" 141 | 142 | Value { 143 | PlaybackChannels "2" 144 | } 145 | 146 | ConflictingDevice [ 147 | "Speaker" 148 | "Headphones" 149 | ] 150 | 151 | EnableSequence [ 152 | cdev "hw:sofchtrt5645" 153 | 154 | # cset "name='Line Out Switch' on" 155 | # cset "name='OUT Channel Switch' on" 156 | ] 157 | 158 | DisableSequence [ 159 | cdev "hw:sofchtrt5645" 160 | 161 | # cset "name='Line Out Switch' off" 162 | # cset "name='OUT Channel Switch' off" 163 | 164 | ] 165 | } 166 | 167 | 168 | SectionDevice."Mic" { 169 | Comment "Internal Analog Microphones" 170 | 171 | Value { 172 | CaptureChannels "2" 173 | CapturePriority "150" 174 | } 175 | 176 | ConflictingDevice [ 177 | "DMic" 178 | "HSMic" 179 | "LineIn" 180 | ] 181 | 182 | EnableSequence [ 183 | cdev "hw:sofchtrt5645" 184 | 185 | cset "name='Int Mic Switch' on" 186 | 187 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 188 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 189 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 190 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 191 | 192 | cset "name='Mono ADC MIXL ADC1 Switch' on" 193 | cset "name='Mono ADC MIXR ADC1 Switch' on" 194 | cset "name='Mono ADC MIXL ADC2 Switch' off" 195 | cset "name='Mono ADC MIXR ADC2 Switch' off" 196 | 197 | cset "name='RECMIXL BST1 Switch' on" 198 | cset "name='RECMIXR BST1 Switch' on" 199 | 200 | ] 201 | 202 | DisableSequence [ 203 | cdev "hw:sofchtrt5645" 204 | 205 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 206 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 207 | cset "name='Mono ADC MIXL ADC1 Switch' off" 208 | cset "name='Mono ADC MIXR ADC1 Switch' off" 209 | 210 | cset "name='RECMIXL BST1 Switch' off" 211 | cset "name='RECMIXR BST1 Switch' off" 212 | 213 | cset "name='Int Mic Switch' off" 214 | ] 215 | } 216 | 217 | 218 | SectionDevice."DMic" { 219 | Comment "Internal Digital Microphones" 220 | 221 | Value { 222 | CaptureChannels "2" 223 | 224 | } 225 | 226 | ConflictingDevice [ 227 | "Mic" 228 | "HSMic" 229 | "LineIn" 230 | ] 231 | 232 | EnableSequence [ 233 | cdev "hw:sofchtrt5645" 234 | 235 | cset "name='Int Mic Switch' on" 236 | 237 | cset "name='Stereo1 DMIC Mux' DMIC1" 238 | cset "name='Stereo1 ADC2 Mux' DMIC" 239 | cset "name='Mono ADC L2 Mux' DMIC" 240 | cset "name='Mono ADC R2 Mux' DMIC" 241 | 242 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 243 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 244 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 245 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 246 | cset "name='Mono ADC MIXL ADC1 Switch' off" 247 | cset "name='Mono ADC MIXR ADC1 Switch' off" 248 | cset "name='Mono ADC MIXL ADC2 Switch' on" 249 | cset "name='Mono ADC MIXR ADC2 Switch' on" 250 | 251 | ] 252 | 253 | DisableSequence [ 254 | cdev "hw:sofchtrt5645" 255 | 256 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 257 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 258 | cset "name='Mono ADC MIXL ADC2 Switch' off" 259 | cset "name='Mono ADC MIXR ADC2 Switch' off" 260 | cset "name='Int Mic Switch' off" 261 | ] 262 | } 263 | 264 | SectionDevice."HSMic" { 265 | Comment "Headset Microphone" 266 | 267 | Value { 268 | CaptureChannels "2" 269 | JackControl "Headset Mic Jack" 270 | JackHWMute "Mic" 271 | } 272 | 273 | ConflictingDevice [ 274 | "Mic" 275 | "DMic" 276 | "LineIn" 277 | ] 278 | 279 | EnableSequence [ 280 | cdev "hw:sofchtrt5645" 281 | 282 | cset "name='Headset Mic Switch' on" 283 | 284 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 285 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 286 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 287 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 288 | 289 | cset "name='Mono ADC MIXL ADC1 Switch' on" 290 | cset "name='Mono ADC MIXR ADC1 Switch' on" 291 | cset "name='Mono ADC MIXL ADC2 Switch' off" 292 | cset "name='Mono ADC MIXR ADC2 Switch' off" 293 | 294 | cset "name='RECMIXL BST1 Switch' on" 295 | cset "name='RECMIXR BST1 Switch' on" 296 | 297 | ] 298 | 299 | DisableSequence [ 300 | cdev "hw:sofchtrt5645" 301 | 302 | cset "name='Headset Mic Switch' off" 303 | 304 | cset "name='RECMIXL BST1 Switch' off" 305 | cset "name='RECMIXR BST1 Switch' off" 306 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 307 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 308 | cset "name='Mono ADC MIXL ADC1 Switch' on" 309 | cset "name='Mono ADC MIXR ADC1 Switch' on" 310 | 311 | ] 312 | } 313 | 314 | SectionDevice."LineIn" { 315 | Comment "Line In" 316 | 317 | Value { 318 | CaptureChannels "2" 319 | } 320 | 321 | ConflictingDevice [ 322 | "Mic" 323 | "DMic" 324 | "HSMic" 325 | ] 326 | 327 | EnableSequence [ 328 | cdev "hw:sofchtrt5645" 329 | 330 | cset "name='RECMIXL INL Switch' on" 331 | cset "name='RECMIXR INR Switch' on" 332 | cset "name='Stereo1 ADC L1 Mux' ADC" 333 | cset "name='Stereo1 ADC R1 Mux' ADC" 334 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 335 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 336 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 337 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 338 | cset "name='ADC Boost Capture Volume' 0" 339 | 340 | # cset "name='Line In Switch' on" 341 | 342 | ] 343 | 344 | DisableSequence [ 345 | cdev "hw:sofchtrt5645" 346 | 347 | # cset "name='Line In Switch' off" 348 | 349 | cset "name='RECMIXL INL Switch' off" 350 | cset "name='RECMIXR INR Switch' off" 351 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 352 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 353 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 354 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 355 | cset "name='ADC Boost Capture Volume' 3" 356 | ] 357 | } 358 | -------------------------------------------------------------------------------- /bytcht-da7213/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for bytcht-da7213 2 | 3 | SectionVerb { 4 | 5 | EnableSequence [ 6 | cdev "hw:bytchtda7213" 7 | 8 | # media mixer settings 9 | # compress 10 | cset "name='media0_in Gain 0 Switch' on" 11 | cset "name='media0_in Gain 0 Volume' 0" 12 | 13 | # normal 14 | cset "name='media1_in Gain 0 Switch' on" 15 | cset "name='media1_in Gain 0 Volume' 0" 16 | # swm loopback 17 | cset "name='media2_in Gain 0 Switch' off" 18 | cset "name='media2_in Gain 0 Volume' 0%" 19 | # deep buffer 20 | cset "name='media3_in Gain 0 Switch' on" 21 | cset "name='media3_in Gain 0 Volume' 0" 22 | 23 | cset "name='media0_out mix 0 media0_in Switch' on" 24 | cset "name='media0_out mix 0 media1_in Switch' on" 25 | cset "name='media0_out mix 0 media2_in Switch' off" 26 | cset "name='media0_out mix 0 media3_in Switch' on" 27 | 28 | cset "name='media1_out mix 0 media0_in Switch' off" 29 | cset "name='media1_out mix 0 media1_in Switch' off" 30 | cset "name='media1_out mix 0 media2_in Switch' off" 31 | cset "name='media1_out mix 0 media3_in Switch' off" 32 | 33 | cset "name='pcm0_in Gain 0 Switch' on" 34 | cset "name='pcm0_in Gain 0 Volume' 0" 35 | 36 | cset "name='pcm1_in Gain 0 Switch' off" 37 | cset "name='pcm1_in Gain 0 Volume' 0%" 38 | 39 | # codec0_out settings (used if ssp2 is connected to aif1) 40 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 41 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 42 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 43 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 44 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 45 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 46 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 47 | cset "name='codec_out0 Gain 0 Switch' on" 48 | cset "name='codec_out0 Gain 0 Volume' 0" 49 | 50 | # modem_out settings (used if ssp0 is connected to aif2) 51 | cset "name='modem_out mix 0 codec_in0 Switch' off" 52 | cset "name='modem_out mix 0 codec_in1 Switch' off" 53 | cset "name='modem_out mix 0 media_loop1_in Switch' off" 54 | cset "name='modem_out mix 0 media_loop2_in Switch' off" 55 | cset "name='modem_out mix 0 pcm0_in Switch' on" 56 | cset "name='modem_out mix 0 pcm1_in Switch' off" 57 | cset "name='modem_out mix 0 sprot_loop_in Switch' off" 58 | cset "name='modem_out Gain 0 Switch' on" 59 | cset "name='modem_out Gain 0 Volume' 0" 60 | 61 | # input settings 62 | # pcm1_out settings 63 | 64 | # input used when SSP2 is connected 65 | cset "name='codec_in0 Gain 0 Switch' on" 66 | cset "name='codec_in0 Gain 0 Volume' 0" 67 | 68 | # input used when SSP0 is connected 69 | cset "name='modem_in Gain 0 Switch' on" 70 | cset "name='modem_in Gain 0 Volume' 0" 71 | 72 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 73 | cset "name='pcm1_out mix 0 modem_in Switch' on" 74 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 75 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 76 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 77 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 78 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 79 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 80 | 81 | cset "name='pcm1_out Gain 0 Switch' on" 82 | cset "name='pcm1_out Gain 0 Volume' 0" 83 | 84 | # disable codec_out1 85 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 86 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 87 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 88 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 89 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 90 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 91 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 92 | cset "name='codec_out1 Gain 0 Switch' off" 93 | cset "name='codec_out1 Gain 0 Volume' 0%" 94 | 95 | # disable codec_in1 96 | cset "name='codec_in1 Gain 0 Switch' off" 97 | cset "name='codec_in1 Gain 0 Volume' 0%" 98 | 99 | # disable all loops 100 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 101 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 102 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 103 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 104 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 105 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 106 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 107 | 108 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 109 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 110 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 111 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 112 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 113 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 114 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 115 | 116 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 117 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 118 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 119 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 120 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 121 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 122 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 123 | 124 | # DA7213 default output routing 125 | 126 | # Ensure stream only goes to DAI 127 | cset "name='Mixout Left Mixin Left Switch' off" 128 | cset "name='Mixout Right Mixin Right Switch' off" 129 | cset "name='Mixout Left Aux Left Switch' off" 130 | cset "name='Mixout Right Aux Right Switch' off" 131 | 132 | ] 133 | 134 | DisableSequence [ 135 | ] 136 | 137 | # ALSA PCM 138 | Value { 139 | # ALSA PCM device for HiFi 140 | PlaybackPCM "hw:bytchtda7213" 141 | CapturePCM "hw:bytchtda7213" 142 | } 143 | } 144 | 145 | SectionDevice."MIC1" { 146 | Comment "MIC1 capture - headset" 147 | 148 | ConflictingDevice [ 149 | "MIC2" 150 | "AUX" 151 | ] 152 | 153 | EnableSequence [ 154 | cdev "hw:bytchtda7213" 155 | 156 | # cset "name='Mic 1 Amp Source MUX' Differential" 157 | # cset "name='Mic 1 Amp Source MUX' MIC_N" 158 | 159 | cset "name='Mic 1 Amp Source MUX' MIC_P" 160 | cset "name='Mic 1 Volume' 6" 161 | cset "name='Mixin PGA Volume' 47%" 162 | cset "name='ADC Volume' 112" 163 | 164 | cset "name='Mixin Left Mic 1 Switch' on" 165 | cset "name='Mixin Right Mic 1 Switch' on" 166 | cset "name='Mixin PGA Switch' on" 167 | cset "name='Mic 1 Switch' on" 168 | cset "name='ADC Switch' on" 169 | cset "name='Headset Mic Switch' on" 170 | ] 171 | 172 | DisableSequence [ 173 | cdev "hw:bytchtda7213" 174 | 175 | cset "name='Headset Mic Switch' off" 176 | cset "name='ADC Switch' off" 177 | cset "name='Mic 1 Switch' off" 178 | cset "name='Mixin PGA Switch' off" 179 | cset "name='Mixin Left Mic 1 Switch' off" 180 | cset "name='Mixin Right Mic 1 Switch' off" 181 | ] 182 | 183 | Value { 184 | CaptureChannels 2 185 | } 186 | } 187 | 188 | SectionDevice."MIC2" { 189 | Comment "MIC2 capture" 190 | 191 | ConflictingDevice [ 192 | "MIC1" 193 | "AUX" 194 | ] 195 | 196 | EnableSequence [ 197 | cdev "hw:bytchtda7213" 198 | 199 | # cset "name='Mic 2 Amp Source MUX' Differential" 200 | # cset "name='Mic 2 Amp Source MUX' MIC_N" 201 | 202 | cset "name='Mic 2 Amp Source MUX' MIC_P" 203 | cset "name='Mic 2 Volume' 6" 204 | cset "name='Mixin PGA Volume' 47%" 205 | cset "name='ADC Volume' 112" 206 | 207 | cset "name='Mixin Left Mic 2 Switch' on" 208 | cset "name='Mixin Right Mic 2 Switch' on" 209 | cset "name='Mixin PGA Switch' on" 210 | cset "name='Mic 2 Switch' on" 211 | cset "name='ADC Switch' on" 212 | cset "name='Mic Switch' on" 213 | 214 | ] 215 | 216 | DisableSequence [ 217 | cdev "hw:bytchtda7213" 218 | 219 | cset "name='Mic Switch' off" 220 | cset "name='ADC Switch' off" 221 | cset "name='Mic 1 Switch' off" 222 | cset "name='Mixin PGA Switch' off" 223 | cset "name='Mixin Left Mic 1 Switch' off" 224 | cset "name='Mixin Right Mic 1 Switch' off" 225 | ] 226 | 227 | Value { 228 | CaptureChannels 2 229 | } 230 | } 231 | 232 | SectionDevice."AUX" { 233 | Comment "AUX capture" 234 | 235 | ConflictingDevice [ 236 | "MIC1" 237 | "MIC2" 238 | ] 239 | 240 | EnableSequence [ 241 | cdev "hw:bytchtda7213" 242 | 243 | cset "name='Aux Volume' 78%" 244 | cset "name='ADC Volume' 76%" 245 | cset "name='Mixin PGA Volume' 47%" 246 | 247 | cset "name='Mixin Left Aux Left Switch' on" 248 | cset "name='Mixin Right Aux Right Switch' on" 249 | cset "name='Mixin PGA Switch' on" 250 | cset "name='ADC Switch' on" 251 | cset "name='Aux Switch' on" 252 | ] 253 | 254 | DisableSequence [ 255 | cdev "hw:bytchtda7213" 256 | 257 | cset "name='Aux Switch' off" 258 | cset "name='ADC Switch' off" 259 | cset "name='Mixin PGA Switch' off" 260 | cset "name='Mixin Left Aux Left Switch' off" 261 | cset "name='Mixin Right Aux Right Switch' off" 262 | ] 263 | 264 | Value { 265 | CaptureChannels 2 266 | } 267 | } 268 | 269 | SectionDevice."Headphones" { 270 | Comment "Headphones playback" 271 | 272 | EnableSequence [ 273 | cdev "hw:bytchtda7213" 274 | 275 | cset "name='Headphone Volume' 50%" 276 | cset "name='Mixout Left DAC Left Switch' on" 277 | cset "name='Mixout Right DAC Right Switch' on" 278 | cset "name='Headphone Switch' on" 279 | cset "name='Headphone Jack Switch' on" 280 | 281 | ] 282 | 283 | DisableSequence [ 284 | cdev "hw:bytchtda7213" 285 | 286 | cset "name='Headphone Jack Switch' off" 287 | cset "name='Headphone Switch' off" 288 | cset "name='Mixout Left DAC Left Switch' off" 289 | cset "name='Mixout Right DAC Right Switch' off" 290 | ] 291 | 292 | Value { 293 | PlaybackChannels "2" 294 | } 295 | } 296 | 297 | -------------------------------------------------------------------------------- /sof-bytcr-rt5640/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for sof-bytcr-rt5640 2 | # command-line sequence to switch playback/capture 3 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev Headphones 4 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev Speaker 5 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev MonoSpeaker 6 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev HeadsetMic 7 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev IN1-InternalMic 8 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev IN3-InternalMic 9 | # alsaucm -c sof-bytcr-rt5640 set _verb HiFi set _enadev DigitalMics 10 | 11 | SectionVerb { 12 | 13 | EnableSequence [ 14 | cdev "hw:sofbytcrrt5640" 15 | 16 | # RT5640 default output routing 17 | cset "name='OUT MIXL DAC L1 Switch' on" 18 | cset "name='OUT MIXR DAC R1 Switch' on" 19 | 20 | # uncomment for loopback mic->speakers 21 | # cset "name='SPOL MIX BST1 Switch' on" 22 | # cset "name='SPOR MIX BST1 Switch' on" 23 | 24 | 25 | # uncomment for loopback playback -> capture 26 | # cset "name='RECMIXL OUT MIXL Switch' on" 27 | # cset "name='RECMIXR OUT MIXR Switch' on" 28 | 29 | # uncomment to enable swap between AIF1 and AIF2 30 | # warning: can only work with SSP0 firmware enabled 31 | cset "name='SDI select' 0" 32 | cset "name='DAI select' 0" 33 | #cset "name='SDI select' 1" 34 | #cset "name='DAI select' 1" 35 | 36 | cset "name='DAC2 Playback Switch' on" 37 | cset "name='DIG MIXL DAC L2 Switch' on" 38 | 39 | ] 40 | 41 | DisableSequence [ 42 | ] 43 | 44 | # ALSA PCM 45 | Value { 46 | # ALSA PCM device for HiFi 47 | PlaybackPCM "hw:sofbytcrrt5640" 48 | CapturePCM "hw:sofbytcrrt5640" 49 | } 50 | } 51 | 52 | SectionDevice."DigitalMics" { 53 | Comment "DigitalMics capture" 54 | 55 | ConflictingDevice [ 56 | "IN1-InternalMics" 57 | "IN3-InternalMics" 58 | "HeadsetMic" 59 | ] 60 | 61 | EnableSequence [ 62 | cdev "hw:sofbytcrrt5640" 63 | 64 | cset "name='Stereo ADC2 Mux' DMIC1" 65 | cset "name='Stereo ADC MIXL ADC2 Switch' on" 66 | cset "name='Stereo ADC MIXR ADC2 Switch' on" 67 | cset "name='Internal Mic Switch' on" 68 | 69 | ] 70 | 71 | DisableSequence [ 72 | cdev "hw:sofbytcrrt5640" 73 | 74 | cset "name='Stereo ADC MIXL ADC2 Switch' off" 75 | cset "name='Stereo ADC MIXR ADC2 Switch' off" 76 | cset "name='Internal Mic Switch' off" 77 | 78 | ] 79 | 80 | Value { 81 | CaptureChannels 2 82 | } 83 | } 84 | 85 | SectionDevice."HeadsetMic" { 86 | Comment "Headset Mic capture" 87 | 88 | ConflictingDevice [ 89 | "IN1-InternalMics" 90 | "IN3-InternalMics" 91 | "DigitalMics" 92 | ] 93 | 94 | EnableSequence [ 95 | cdev "hw:sofbytcrrt5640" 96 | 97 | cset "name='Headset Mic Switch' on" 98 | 99 | # default for IN2 Boost seems to saturate 100 | cset "name='IN2 Boost' 1" 101 | 102 | cset "name='RECMIXL BST2 Switch' on" 103 | cset "name='RECMIXR BST2 Switch' on" 104 | 105 | cset "name='Stereo ADC1 Mux' ADC" 106 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 107 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 108 | 109 | ] 110 | 111 | DisableSequence [ 112 | cdev "hw:sofbytcrrt5640" 113 | 114 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 115 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 116 | cset "name='Headset Mic Switch' off" 117 | 118 | ] 119 | 120 | Value { 121 | CaptureChannels 2 122 | } 123 | } 124 | 125 | SectionDevice."IN1-InternalMics" { 126 | Comment "Internal IN1 analog Mic capture" 127 | 128 | ConflictingDevice [ 129 | "DigitalMics" 130 | "HeadsetMic" 131 | "IN3-InternalMics" 132 | ] 133 | 134 | EnableSequence [ 135 | cdev "hw:sofbytcrrt5640" 136 | 137 | cset "name='Internal Mic Switch' on" 138 | 139 | # default for IN1 Boost seems to saturate 140 | cset "name='IN1 Boost' 1" 141 | 142 | cset "name='RECMIXL BST1 Switch' on" 143 | cset "name='RECMIXR BST1 Switch' on" 144 | cset "name='RECMIXL BST3 Switch' off" 145 | cset "name='RECMIXR BST3 Switch' off" 146 | 147 | cset "name='Stereo ADC1 Mux' ADC" 148 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 149 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 150 | 151 | cset "name='Mono ADC L1 Mux' 1" 152 | cset "name='Mono ADC R1 Mux' 1" 153 | 154 | cset "name='Mono ADC MIXL ADC1 Switch' on" 155 | cset "name='Mono ADC MIXR ADC1 Switch' on" 156 | 157 | cset "name='Mono ADC Capture Switch' on" 158 | ] 159 | 160 | DisableSequence [ 161 | cdev "hw:sofbytcrrt5640" 162 | 163 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 164 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 165 | cset "name='Internal Mic Switch' off" 166 | 167 | cset "name='Mono ADC MIXL ADC1 Switch' off" 168 | cset "name='Mono ADC MIXR ADC1 Switch' off" 169 | 170 | cset "name='Mono ADC Capture Switch' off" 171 | 172 | ] 173 | 174 | Value { 175 | CaptureChannels 2 176 | } 177 | } 178 | 179 | SectionDevice."IN3-InternalMics" { 180 | Comment "Internal IN3 analog Mic capture" 181 | 182 | ConflictingDevice [ 183 | "DigitalMics" 184 | "HeadsetMic" 185 | "IN1-InternalMics" 186 | ] 187 | 188 | EnableSequence [ 189 | cdev "hw:sofbytcrrt5640" 190 | 191 | cset "name='Internal Mic Switch' on" 192 | 193 | # default for IN3 Boost seems to too low 194 | cset "name='IN3 Boost' 8" 195 | 196 | cset "name='RECMIXL BST1 Switch' off" 197 | cset "name='RECMIXR BST1 Switch' off" 198 | cset "name='RECMIXL BST3 Switch' on" 199 | cset "name='RECMIXR BST3 Switch' on" 200 | 201 | cset "name='Stereo ADC1 Mux' ADC" 202 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 203 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 204 | 205 | cset "name='Mono ADC L1 Mux' 1" 206 | cset "name='Mono ADC R1 Mux' 1" 207 | cset "name='Mono ADC MIXL ADC1 Switch' on" 208 | cset "name='Mono ADC MIXR ADC1 Switch' on" 209 | 210 | cset "name='Mono ADC Capture Switch' on" 211 | 212 | ] 213 | 214 | DisableSequence [ 215 | cdev "hw:sofbytcrrt5640" 216 | 217 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 218 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 219 | cset "name='Internal Mic Switch' off" 220 | 221 | cset "name='Mono ADC Capture Switch' off" 222 | ] 223 | 224 | Value { 225 | CaptureChannels 2 226 | } 227 | } 228 | 229 | SectionDevice."Headphones" { 230 | Comment "Headphones playback" 231 | 232 | ConflictingDevice [ 233 | "Speaker" 234 | ] 235 | 236 | EnableSequence [ 237 | cdev "hw:sofbytcrrt5640" 238 | 239 | cset "name='DAC MIXL INF1 Switch' on" 240 | cset "name='DAC MIXR INF1 Switch' on" 241 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 242 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 243 | set "name='Stereo DAC MIXL DAC L2 Switch' on" 244 | cset "name='Stereo DAC MIXR DAC R2 Switch' on" 245 | cset "name='HPO MIX HPVOL Switch' on" 246 | cset "name='Headphone Switch' on" 247 | cset "name='HP Channel Switch' on" 248 | cset "name='Speaker Switch' off" 249 | cset "name='HP L Playback Switch' on" 250 | cset "name='HP R Playback Switch' on" 251 | cset "name='HP Playback Volume' 29" 252 | 253 | ] 254 | 255 | DisableSequence [ 256 | cdev "hw:sofbytcrrt5640" 257 | cset "name='Headphone Switch' off" 258 | cset "name='HP Channel Switch' off" 259 | cset "name='HP L Playback Switch' off" 260 | cset "name='HP R Playback Switch' off" 261 | cset "name='HP Playback Volume' 0" 262 | ] 263 | 264 | Value { 265 | PlaybackChannels "2" 266 | } 267 | } 268 | 269 | SectionDevice."Speaker" { 270 | Comment "Speaker playback" 271 | 272 | ConflictingDevice [ 273 | "Headphones" 274 | "MonoSpeaker" 275 | ] 276 | 277 | EnableSequence [ 278 | cdev "hw:sofbytcrrt5640" 279 | 280 | cset "name='DAC MIXL INF1 Switch' on" 281 | cset "name='DAC MIXR INF1 Switch' on" 282 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 283 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 284 | cset "name='Stereo DAC MIXL DAC L2 Switch' on" 285 | cset "name='Stereo DAC MIXR DAC R2 Switch' on" 286 | cset "name='SPK MIXL DAC L1 Switch' on" 287 | cset "name='SPK MIXR DAC R1 Switch' on" 288 | cset "name='SPOL MIX SPKVOL L Switch' on" 289 | cset "name='SPOR MIX SPKVOL R Switch' on" 290 | cset "name='Speaker Switch' on" 291 | cset "name='Speaker Channel Switch' on" 292 | cset "name='Headphone Switch' off" 293 | cset "name='Speaker L Playback Switch' on" 294 | cset "name='Speaker R Playback Switch' on" 295 | cset "name='Speaker Playback Volume' 29" 296 | 297 | ] 298 | 299 | DisableSequence [ 300 | cdev "hw:sofbytcrrt5640" 301 | cset "name='Speaker Switch' off" 302 | cset "name='Speaker Channel Switch' off" 303 | cset "name='Speaker L Playback Switch' off" 304 | cset "name='Speaker R Playback Switch' off" 305 | cset "name='Speaker Playback Volume' 0" 306 | ] 307 | 308 | Value { 309 | PlaybackChannels "2" 310 | } 311 | } 312 | 313 | SectionDevice."MonoSpeaker" { 314 | Comment "MonoSpeaker playback" 315 | 316 | ConflictingDevice [ 317 | "Headphones" 318 | "Speaker" 319 | ] 320 | 321 | EnableSequence [ 322 | cdev "hw:sofbytcrrt5640" 323 | 324 | cset "name='DAC MIXL INF1 Switch' on" 325 | cset "name='DAC MIXR INF1 Switch' on" 326 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 327 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 328 | cset "name='Stereo DAC MIXL DAC L2 Switch' on" 329 | cset "name='Stereo DAC MIXR DAC R2 Switch' on" 330 | cset "name='SPK MIXL DAC L1 Switch' on" 331 | cset "name='SPK MIXR DAC R1 Switch' on" 332 | cset "name='SPOL MIX SPKVOL L Switch' on" 333 | # for mono speaker we apply left on right 334 | # cset "name='SPOR MIX SPKVOL R Switch' on" 335 | cset "name='SPOL MIX SPKVOL R Switch' on" 336 | cset "name='Speaker Switch' on" 337 | cset "name='Speaker Channel Switch' on" 338 | cset "name='Headphone Switch' off" 339 | cset "name='Speaker L Playback Switch' on" 340 | cset "name='Speaker R Playback Switch' on" 341 | cset "name='Speaker Playback Volume' 29" 342 | 343 | ] 344 | 345 | DisableSequence [ 346 | cdev "hw:sofbytcrrt5640" 347 | cset "name='Speaker Switch' off" 348 | cset "name='Speaker Channel Switch' off" 349 | cset "name='Speaker L Playback Switch' off" 350 | cset "name='Speaker R Playback Switch' off" 351 | cset "name='Speaker Playback Volume' 0" 352 | ] 353 | 354 | Value { 355 | PlaybackChannels "2" 356 | } 357 | } 358 | 359 | -------------------------------------------------------------------------------- /cht-bsw-rt5672/HiFi: -------------------------------------------------------------------------------- 1 | # command-line sequence to switch playback/capture 2 | # alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev Headphones 3 | # alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev Speaker 4 | # alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev MonoSpeaker 5 | # alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev HeadsetMic 6 | # alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev DMIC1 7 | # alsaucm -c cht-bsw-rt5672 set _verb HiFi set _enadev DMIC2 8 | 9 | SectionVerb { 10 | 11 | Value { 12 | TQ "HiFi" 13 | PlaybackPCM "hw:chtbswrt5672" 14 | CapturePCM "hw:chtbswrt5672" 15 | } 16 | 17 | EnableSequence [ 18 | cdev "hw:chtbswrt5672" 19 | 20 | # Mixer 21 | 22 | # compress 23 | cset "name='media0_in Gain 0 Switch' on" 24 | cset "name='media0_in Gain 0 Volume' 0" 25 | 26 | # normal 27 | cset "name='media1_in Gain 0 Switch' on" 28 | cset "name='media1_in Gain 0 Volume' 0" 29 | 30 | # swm loopback 31 | cset "name='media2_in Gain 0 Switch' off" 32 | cset "name='media2_in Gain 0 Volume' 0%" 33 | 34 | # deep buffer 35 | cset "name='media3_in Gain 0 Switch' on" 36 | cset "name='media3_in Gain 0 Volume' 0" 37 | 38 | cset "name='media0_out mix 0 media0_in Switch' on" 39 | cset "name='media0_out mix 0 media1_in Switch' on" 40 | cset "name='media0_out mix 0 media2_in Switch' off" 41 | cset "name='media0_out mix 0 media3_in Switch' on" 42 | 43 | cset "name='media1_out mix 0 media0_in Switch' off" 44 | cset "name='media1_out mix 0 media1_in Switch' off" 45 | cset "name='media1_out mix 0 media2_in Switch' off" 46 | cset "name='media1_out mix 0 media3_in Switch' off" 47 | 48 | cset "name='pcm0_in Gain 0 Switch' on" 49 | cset "name='pcm0_in Gain 0 Volume' 0" 50 | 51 | cset "name='pcm1_in Gain 0 Switch' off" 52 | cset "name='pcm1_in Gain 0 Volume' 0%" 53 | 54 | # codec0_out settings (used if ssp2 is connected to aif1) 55 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 56 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 57 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 58 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 59 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 60 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 61 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 62 | cset "name='codec_out0 Gain 0 Switch' on" 63 | cset "name='codec_out0 Gain 0 Volume' 0" 64 | 65 | # modem_out settings (used if ssp0 is connected to aif2) 66 | cset "name='modem_out mix 0 codec_in0 Switch' off" 67 | cset "name='modem_out mix 0 codec_in1 Switch' off" 68 | cset "name='modem_out mix 0 media_loop1_in Switch' off" 69 | cset "name='modem_out mix 0 media_loop2_in Switch' off" 70 | cset "name='modem_out mix 0 pcm0_in Switch' on" 71 | cset "name='modem_out mix 0 pcm1_in Switch' off" 72 | cset "name='modem_out mix 0 sprot_loop_in Switch' off" 73 | cset "name='modem_out Gain 0 Switch' on" 74 | cset "name='modem_out Gain 0 Volume' 0" 75 | 76 | # input used when SSP2 is connected 77 | cset "name='codec_in0 Gain 0 Switch' on" 78 | cset "name='codec_in0 Gain 0 Volume' 0" 79 | 80 | # input used when SSP0 is connected 81 | cset "name='modem_in Gain 0 Switch' on" 82 | cset "name='modem_in Gain 0 Volume' 0" 83 | 84 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 85 | cset "name='pcm1_out mix 0 modem_in Switch' on" 86 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 87 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 88 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 89 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 90 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 91 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 92 | 93 | cset "name='pcm1_out Gain 0 Switch' on" 94 | cset "name='pcm1_out Gain 0 Volume' 0" 95 | 96 | # disable codec_out1 97 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 98 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 99 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 100 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 101 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 102 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 103 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 104 | cset "name='codec_out1 Gain 0 Switch' off" 105 | cset "name='codec_out1 Gain 0 Volume' 0%" 106 | 107 | # disable codec_in1 108 | cset "name='codec_in1 Gain 0 Switch' off" 109 | cset "name='codec_in1 Gain 0 Volume' 0%" 110 | 111 | # disable all loops 112 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 113 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 114 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 115 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 116 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 117 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 118 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 119 | 120 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 121 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 122 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 123 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 124 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 125 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 126 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 127 | 128 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 129 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 130 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 131 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 132 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 133 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 134 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 135 | 136 | # Playback (I2S1) 137 | 138 | # common 139 | cset "name='DAC1 L Mux' IF1 DAC" 140 | cset "name='DAC1 R Mux' IF1 DAC" 141 | cset "name='DAC1 MIXL DAC1 Switch' on" 142 | cset "name='DAC1 MIXR DAC1 Switch' on" 143 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 144 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 145 | cset "name='Stereo DAC MIXL DAC R1 Switch' off" 146 | cset "name='Stereo DAC MIXR DAC L1 Switch' off" 147 | 148 | # speaker 149 | cset "name='PDM1 L Mux' Stereo DAC" 150 | cset "name='PDM1 R Mux' Stereo DAC" 151 | 152 | # headphone 153 | cset "name='HPOVOL MIXL DAC1 Switch' on" 154 | cset "name='HPOVOL MIXR DAC1 Switch' on" 155 | cset "name='HPO MIX HPVOL Switch' on" 156 | 157 | # line out 158 | # cset "name='OUT MIXL DAC L1 Switch' on" 159 | # cset "name='OUT MIXR DAC R1 Switch' on" 160 | # cset "name='LOUT MIX OUTMIX L Switch' on" 161 | # cset "name='LOUT MIX OUTMIX R Switch' on" 162 | ] 163 | 164 | DisableSequence [ 165 | cdev "hw:chtbswrt5672" 166 | 167 | # disable audio output path 168 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 169 | cset "name='media0_out mix 0 media1_in Switch' off" 170 | 171 | cset "name='media1_in Gain 0 Switch' off" 172 | cset "name='pcm0_in Gain 0 Switch' off" 173 | cset "name='codec_out1 Gain 0 Switch' off" 174 | 175 | # disable audio input path 176 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 177 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 178 | 179 | cset "name='media_loop2_out Gain 0 Switch' off" 180 | cset "name='pcm1_out Gain 0 Switch' off" 181 | cset "name='codec_in0 Gain 0 Switch' off" 182 | ] 183 | 184 | } 185 | 186 | SectionDevice."Speaker" { 187 | Comment "Speaker" 188 | 189 | Value { 190 | PlaybackChannels "2" 191 | } 192 | 193 | ConflictingDevice [ 194 | "Headphones" 195 | "MonoSpeaker" 196 | ] 197 | 198 | EnableSequence [ 199 | cdev "hw:chtbswrt5672" 200 | cset "name='Ext Spk Switch' on" 201 | ] 202 | 203 | DisableSequence [ 204 | cdev "hw:chtbswrt5672" 205 | cset "name='Ext Spk Switch' off" 206 | ] 207 | } 208 | 209 | SectionDevice."MonoSpeaker" { 210 | Comment "MonoSpeaker" 211 | 212 | Value { 213 | PlaybackChannels "2" 214 | } 215 | 216 | ConflictingDevice [ 217 | "Headphones" 218 | "Speaker" 219 | ] 220 | 221 | EnableSequence [ 222 | cdev "hw:chtbswrt5672" 223 | cset "name='Ext Spk Switch' on" 224 | cset "name='Stereo DAC MIXL DAC R1 Switch' on" 225 | ] 226 | 227 | DisableSequence [ 228 | cdev "hw:chtbswrt5672" 229 | cset "name='Ext Spk Switch' off" 230 | cset "name='Stereo DAC MIXL DAC R1 Switch' off" 231 | ] 232 | } 233 | 234 | SectionDevice."Headphones" { 235 | Comment "Headphones" 236 | 237 | Value { 238 | PlaybackChannels "2" 239 | JackControl "Headphone Jack" 240 | } 241 | 242 | ConflictingDevice [ 243 | "Speaker" 244 | "MonoSpeaker" 245 | ] 246 | 247 | EnableSequence [ 248 | cdev "hw:chtbswrt5672" 249 | cset "name='Headphone Switch' on" 250 | ] 251 | 252 | DisableSequence [ 253 | cdev "hw:chtbswrt5672" 254 | cset "name='Headphone Switch' off" 255 | ] 256 | } 257 | 258 | SectionDevice."DMIC1" { 259 | Comment "DMIC1 Internal Microphones" 260 | 261 | Value { 262 | CaptureChannels "2" 263 | } 264 | 265 | ConflictingDevice [ 266 | "HeadsetMic" 267 | "DMIC2" 268 | ] 269 | 270 | EnableSequence [ 271 | cdev "hw:chtbswrt5672" 272 | cset "name='Int Mic Switch' on" 273 | cset "name='Stereo1 DMIC Mux' DMIC1" 274 | cset "name='Stereo1 ADC 2 Mux' DMIC" 275 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 276 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 277 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 278 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 279 | ] 280 | 281 | DisableSequence [ 282 | cdev "hw:chtbswrt5672" 283 | cset "name='Int Mic Switch' off" 284 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 285 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 286 | ] 287 | } 288 | 289 | SectionDevice."DMIC2" { 290 | Comment "DMIC2 Internal Microphones" 291 | 292 | Value { 293 | CaptureChannels "2" 294 | } 295 | 296 | ConflictingDevice [ 297 | "HeadsetMic" 298 | "DMIC1" 299 | ] 300 | 301 | EnableSequence [ 302 | cdev "hw:chtbswrt5672" 303 | cset "name='Int Mic Switch' on" 304 | cset "name='Stereo1 DMIC Mux' DMIC2" 305 | cset "name='Stereo1 ADC 2 Mux' DMIC" 306 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 307 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 308 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 309 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 310 | ] 311 | 312 | DisableSequence [ 313 | cdev "hw:chtbswrt5672" 314 | cset "name='Int Mic Switch' off" 315 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 316 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 317 | ] 318 | } 319 | 320 | SectionDevice."HeadsetMic" { 321 | Comment "Headset Mic" 322 | 323 | Value { 324 | JackControl "Headset Mic Jack" 325 | #FIXME CaptureControl "MIC2" 326 | } 327 | 328 | ConflictingDevice [ 329 | "DMIC1" 330 | "DMIC2" 331 | ] 332 | 333 | EnableSequence [ 334 | cdev "hw:chtbswrt5672" 335 | 336 | cset "name='Headset Mic Switch' on" 337 | cset "name='RECMIXL BST1 Switch' on" 338 | cset "name='RECMIXR BST1 Switch' on" 339 | cset "name='Mono ADC L1 Mux' ADC1" 340 | cset "name='Mono ADC R1 Mux' ADC1" 341 | cset "name='Mono ADC MIXL ADC2 Switch' off" 342 | cset "name='Mono ADC MIXR ADC2 Switch' off" 343 | cset "name='Mono ADC MIXL ADC1 Switch' on" 344 | cset "name='Mono ADC MIXR ADC1 Switch' on" 345 | ] 346 | 347 | DisableSequence [ 348 | cdev "hw:chtbswrt5672" 349 | 350 | cset "name='Headset Mic Switch' off" 351 | cset "name='RECMIXL BST1 Switch' off" 352 | cset "name='RECMIXR BST1 Switch' off" 353 | cset "name='Mono ADC L1 Mux' ADC1" 354 | cset "name='Mono ADC R1 Mux' ADC1" 355 | cset "name='Mono ADC MIXL ADC2 Switch' on" 356 | cset "name='Mono ADC MIXR ADC2 Switch' on" 357 | cset "name='Mono ADC MIXL ADC1 Switch' off" 358 | cset "name='Mono ADC MIXR ADC1 Switch' off" 359 | ] 360 | 361 | Value { 362 | CaptureChannels 2 363 | } 364 | } 365 | -------------------------------------------------------------------------------- /chtrt5645/HiFi.conf: -------------------------------------------------------------------------------- 1 | SectionVerb { 2 | # ALSA PCM 3 | Value { 4 | TQ "HiFi" 5 | 6 | # ALSA PCM device for HiFi 7 | PlaybackPCM "hw:chtrt5645" 8 | CapturePCM "hw:chtrt5645" 9 | } 10 | 11 | EnableSequence [ 12 | cdev "hw:chtrt5645" 13 | 14 | # media mixer settings 15 | # compress 16 | cset "name='media0_in Gain 0 Switch' on" 17 | cset "name='media0_in Gain 0 Volume' 0" 18 | 19 | # normal 20 | cset "name='media1_in Gain 0 Switch' on" 21 | cset "name='media1_in Gain 0 Volume' 0" 22 | # swm loopback 23 | cset "name='media2_in Gain 0 Switch' off" 24 | cset "name='media2_in Gain 0 Volume' 0%" 25 | # deep buffer 26 | cset "name='media3_in Gain 0 Switch' on" 27 | cset "name='media3_in Gain 0 Volume' 0" 28 | 29 | cset "name='media0_out mix 0 media0_in Switch' on" 30 | cset "name='media0_out mix 0 media1_in Switch' on" 31 | cset "name='media0_out mix 0 media2_in Switch' off" 32 | cset "name='media0_out mix 0 media3_in Switch' on" 33 | 34 | cset "name='media1_out mix 0 media0_in Switch' off" 35 | cset "name='media1_out mix 0 media1_in Switch' off" 36 | cset "name='media1_out mix 0 media2_in Switch' off" 37 | cset "name='media1_out mix 0 media3_in Switch' off" 38 | 39 | cset "name='pcm0_in Gain 0 Switch' on" 40 | cset "name='pcm0_in Gain 0 Volume' 0" 41 | 42 | cset "name='pcm1_in Gain 0 Switch' off" 43 | cset "name='pcm1_in Gain 0 Volume' 0%" 44 | 45 | # codec0_out settings (used if ssp2 is connected to aif1) 46 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 47 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 48 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 49 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 50 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 51 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 52 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 53 | cset "name='codec_out0 Gain 0 Switch' on" 54 | cset "name='codec_out0 Gain 0 Volume' 0" 55 | 56 | # modem_out settings (used if ssp0 is connected to aif2) 57 | cset "name='modem_out mix 0 codec_in0 Switch' off" 58 | cset "name='modem_out mix 0 codec_in1 Switch' off" 59 | cset "name='modem_out mix 0 media_loop1_in Switch' off" 60 | cset "name='modem_out mix 0 media_loop2_in Switch' off" 61 | cset "name='modem_out mix 0 pcm0_in Switch' on" 62 | cset "name='modem_out mix 0 pcm1_in Switch' off" 63 | cset "name='modem_out mix 0 sprot_loop_in Switch' off" 64 | cset "name='modem_out Gain 0 Switch' on" 65 | cset "name='modem_out Gain 0 Volume' 0" 66 | 67 | # input settings 68 | # pcm1_out settings 69 | 70 | # input used when SSP2 is connected 71 | cset "name='codec_in0 Gain 0 Switch' on" 72 | cset "name='codec_in0 Gain 0 Volume' 0" 73 | 74 | # input used when SSP0 is connected 75 | cset "name='modem_in Gain 0 Switch' on" 76 | cset "name='modem_in Gain 0 Volume' 0" 77 | 78 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 79 | cset "name='pcm1_out mix 0 modem_in Switch' on" 80 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 81 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 82 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 83 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 84 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 85 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 86 | 87 | cset "name='pcm1_out Gain 0 Switch' on" 88 | cset "name='pcm1_out Gain 0 Volume' 0" 89 | 90 | # disable codec_out1 91 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 92 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 93 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 94 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 95 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 96 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 97 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 98 | cset "name='codec_out1 Gain 0 Switch' off" 99 | cset "name='codec_out1 Gain 0 Volume' 0%" 100 | 101 | # disable codec_in1 102 | cset "name='codec_in1 Gain 0 Switch' off" 103 | cset "name='codec_in1 Gain 0 Volume' 0%" 104 | 105 | # disable all loops 106 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 107 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 108 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 109 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 110 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 111 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 112 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 113 | 114 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 115 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 116 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 117 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 118 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 119 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 120 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 121 | 122 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 123 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 124 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 125 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 126 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 127 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 128 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 129 | 130 | # Output Configuration 131 | cset "name='DAC1 L Mux' IF1 DAC" 132 | cset "name='DAC1 R Mux' IF1 DAC" 133 | cset "name='DAC1 MIXL DAC1 Switch' 1" 134 | cset "name='DAC1 MIXR DAC1 Switch' 1" 135 | cset "name='Stereo DAC MIXL DAC L1 Switch' 1" 136 | cset "name='Stereo DAC MIXR DAC R1 Switch' 1" 137 | 138 | cset "name='DAC L2 Mux' IF2 DAC" 139 | cset "name='DAC R2 Mux' IF2 DAC" 140 | cset "name='Mono DAC MIXL DAC L2 Switch' on" 141 | cset "name='Mono DAC MIXR DAC R2 Switch' on" 142 | cset "name='DAC2 Playback Switch' on" 143 | 144 | cset "name='HPOVOL MIXL DAC1 Switch' on" 145 | cset "name='HPOVOL MIXR DAC1 Switch' on" 146 | cset "name='HPOVOL MIXL DAC2 Switch' on" 147 | cset "name='HPOVOL MIXR DAC2 Switch' on" 148 | cset "name='HPO MIX HPVOL Switch' on" 149 | cset "name='HPOVOL L Switch' on" 150 | cset "name='HPOVOL R Switch' on" 151 | 152 | cset "name='SPK MIXL DAC L1 Switch' on" 153 | cset "name='SPK MIXR DAC R1 Switch' on" 154 | cset "name='SPK MIXL DAC L2 Switch' on" 155 | cset "name='SPK MIXR DAC R2 Switch' on" 156 | cset "name='SPOL MIX SPKVOL L Switch' on" 157 | cset "name='SPOR MIX SPKVOL R Switch' on" 158 | cset "name='SPKVOL L Switch' on" 159 | cset "name='SPKVOL R Switch' on" 160 | 161 | cset "name='OUT MIXL DAC L1 Switch' on" 162 | cset "name='OUT MIXR DAC R1 Switch' on" 163 | cset "name='OUT MIXL DAC L2 Switch' on" 164 | cset "name='OUT MIXR DAC R2 Switch' on" 165 | cset "name='LOUT MIX OUTMIX L Switch' on" 166 | cset "name='LOUT MIX OUTMIX R Switch' on" 167 | 168 | cset "name='Headphone Switch' off" 169 | cset "name='Headphone Channel Switch' off" 170 | cset "name='Ext Spk Switch' off" 171 | cset "name='Speaker Channel Switch' off" 172 | # cset "name='Line Out Switch' off" 173 | # cset "name='OUT Channel Switch' off" 174 | 175 | cset "name='Speaker Playback Volume' 31" 176 | cset "name='Headphone Playback Volume' 31" 177 | 178 | # Input Configuration 179 | cset "name='Stereo1 DMIC Mux' 0" 180 | cset "name='Stereo1 ADC2 Mux' 1" 181 | cset "name='ADC Capture Switch' on" 182 | cset "name='ADC Capture Volume' 31" 183 | cset "name='ADC Boost Capture Volume' 3" 184 | cset "name='Mono ADC Capture Volume' 63" 185 | cset "name='Mono ADC Boost Capture Volume' 2" 186 | cset "name='IN Capture Volume' 63" 187 | cset "name='I2S2 Func Switch' on" 188 | 189 | ] 190 | 191 | DisableSequence [ 192 | cdev "hw:chtrt5645" 193 | 194 | # Disable audio output path 195 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 196 | cset "name='media0_out mix 0 media1_in Switch' off" 197 | 198 | cset "name='media1_in Gain 0 Switch' off" 199 | cset "name='pcm0_in Gain 0 Switch' off" 200 | cset "name='codec_out1 Gain 0 Switch' off" 201 | 202 | # Disable audio input path 203 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 204 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 205 | 206 | cset "name='media_loop2_out Gain 0 Switch' off" 207 | cset "name='pcm1_out Gain 0 Switch' off" 208 | cset "name='codec_in0 Gain 0 Switch' off" 209 | ] 210 | } 211 | 212 | SectionDevice."Speaker" { 213 | Comment "Speaker" 214 | 215 | Value { 216 | PlaybackChannels "2" 217 | } 218 | 219 | ConflictingDevice [ 220 | "Headphones" 221 | "LineOut" 222 | ] 223 | 224 | EnableSequence [ 225 | cdev "hw:chtrt5645" 226 | 227 | cset "name='Ext Spk Switch' on" 228 | cset "name='Speaker Channel Switch' on" 229 | 230 | ] 231 | 232 | DisableSequence [ 233 | cdev "hw:chtrt5645" 234 | 235 | cset "name='Ext Spk Switch' off" 236 | cset "name='Speaker Channel Switch' off" 237 | ] 238 | } 239 | 240 | SectionDevice."Headphones" { 241 | Comment "Headphones" 242 | 243 | Value { 244 | PlaybackChannels "2" 245 | #JackControl "Headphone Jack" 246 | #JackHWMute "Speaker" 247 | } 248 | 249 | ConflictingDevice [ 250 | "Speaker" 251 | "LineOut" 252 | ] 253 | 254 | EnableSequence [ 255 | cdev "hw:chtrt5645" 256 | 257 | cset "name='Headphone Switch' on" 258 | cset "name='Headphone Channel Switch' on" 259 | 260 | ] 261 | 262 | DisableSequence [ 263 | cdev "hw:chtrt5645" 264 | 265 | cset "name='Headphone Switch' off" 266 | cset "name='Headphone Channel Switch' off" 267 | ] 268 | } 269 | 270 | SectionDevice."LineOut" { 271 | Comment "LineOut" 272 | 273 | Value { 274 | PlaybackChannels "2" 275 | } 276 | 277 | ConflictingDevice [ 278 | "Speaker" 279 | "Headphones" 280 | ] 281 | 282 | EnableSequence [ 283 | cdev "hw:chtrt5645" 284 | 285 | # cset "name='Line Out Switch' on" 286 | # cset "name='OUT Channel Switch' on" 287 | ] 288 | 289 | DisableSequence [ 290 | cdev "hw:chtrt5645" 291 | 292 | # cset "name='Line Out Switch' off" 293 | # cset "name='OUT Channel Switch' off" 294 | 295 | ] 296 | } 297 | 298 | 299 | SectionDevice."Mic" { 300 | Comment "Internal Analog Microphones" 301 | 302 | Value { 303 | CaptureChannels "2" 304 | CapturePriority "150" 305 | } 306 | 307 | ConflictingDevice [ 308 | "DMic" 309 | "HSMic" 310 | "LineIn" 311 | ] 312 | 313 | EnableSequence [ 314 | cdev "hw:chtrt5645" 315 | 316 | cset "name='Int Mic Switch' on" 317 | 318 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 319 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 320 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 321 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 322 | 323 | cset "name='Mono ADC MIXL ADC1 Switch' on" 324 | cset "name='Mono ADC MIXR ADC1 Switch' on" 325 | cset "name='Mono ADC MIXL ADC2 Switch' off" 326 | cset "name='Mono ADC MIXR ADC2 Switch' off" 327 | 328 | cset "name='RECMIXL BST1 Switch' on" 329 | cset "name='RECMIXR BST1 Switch' on" 330 | 331 | ] 332 | 333 | DisableSequence [ 334 | cdev "hw:chtrt5645" 335 | 336 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 337 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 338 | cset "name='Mono ADC MIXL ADC1 Switch' off" 339 | cset "name='Mono ADC MIXR ADC1 Switch' off" 340 | 341 | cset "name='RECMIXL BST1 Switch' off" 342 | cset "name='RECMIXR BST1 Switch' off" 343 | 344 | cset "name='Int Mic Switch' off" 345 | ] 346 | } 347 | 348 | 349 | SectionDevice."DMic" { 350 | Comment "Internal Digital Microphones" 351 | 352 | Value { 353 | CaptureChannels "2" 354 | 355 | } 356 | 357 | ConflictingDevice [ 358 | "Mic" 359 | "HSMic" 360 | "LineIn" 361 | ] 362 | 363 | EnableSequence [ 364 | cdev "hw:chtrt5645" 365 | 366 | cset "name='Int Mic Switch' on" 367 | 368 | cset "name='Stereo1 DMIC Mux' DMIC1" 369 | cset "name='Stereo1 ADC2 Mux' DMIC" 370 | cset "name='Mono ADC L2 Mux' DMIC" 371 | cset "name='Mono ADC R2 Mux' DMIC" 372 | 373 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 374 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 375 | cset "name='Sto1 ADC MIXL ADC2 Switch' on" 376 | cset "name='Sto1 ADC MIXR ADC2 Switch' on" 377 | cset "name='Mono ADC MIXL ADC1 Switch' off" 378 | cset "name='Mono ADC MIXR ADC1 Switch' off" 379 | cset "name='Mono ADC MIXL ADC2 Switch' on" 380 | cset "name='Mono ADC MIXR ADC2 Switch' on" 381 | 382 | ] 383 | 384 | DisableSequence [ 385 | cdev "hw:chtrt5645" 386 | 387 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 388 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 389 | cset "name='Mono ADC MIXL ADC2 Switch' off" 390 | cset "name='Mono ADC MIXR ADC2 Switch' off" 391 | cset "name='Int Mic Switch' off" 392 | ] 393 | } 394 | 395 | SectionDevice."HSMic" { 396 | Comment "Headset Microphone" 397 | 398 | Value { 399 | CaptureChannels "2" 400 | JackControl "Headset Mic Jack" 401 | JackHWMute "Mic" 402 | } 403 | 404 | ConflictingDevice [ 405 | "Mic" 406 | "DMic" 407 | "LineIn" 408 | ] 409 | 410 | EnableSequence [ 411 | cdev "hw:chtrt5645" 412 | 413 | cset "name='Headset Mic Switch' on" 414 | 415 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 416 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 417 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 418 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 419 | 420 | cset "name='Mono ADC MIXL ADC1 Switch' on" 421 | cset "name='Mono ADC MIXR ADC1 Switch' on" 422 | cset "name='Mono ADC MIXL ADC2 Switch' off" 423 | cset "name='Mono ADC MIXR ADC2 Switch' off" 424 | 425 | cset "name='RECMIXL BST1 Switch' on" 426 | cset "name='RECMIXR BST1 Switch' on" 427 | 428 | ] 429 | 430 | DisableSequence [ 431 | cdev "hw:chtrt5645" 432 | 433 | cset "name='Headset Mic Switch' off" 434 | 435 | cset "name='RECMIXL BST1 Switch' off" 436 | cset "name='RECMIXR BST1 Switch' off" 437 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 438 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 439 | cset "name='Mono ADC MIXL ADC1 Switch' on" 440 | cset "name='Mono ADC MIXR ADC1 Switch' on" 441 | 442 | ] 443 | } 444 | 445 | SectionDevice."LineIn" { 446 | Comment "Line In" 447 | 448 | Value { 449 | CaptureChannels "2" 450 | } 451 | 452 | ConflictingDevice [ 453 | "Mic" 454 | "DMic" 455 | "HSMic" 456 | ] 457 | 458 | EnableSequence [ 459 | cdev "hw:chtrt5645" 460 | 461 | cset "name='RECMIXL INL Switch' on" 462 | cset "name='RECMIXR INR Switch' on" 463 | cset "name='Stereo1 ADC L1 Mux' ADC" 464 | cset "name='Stereo1 ADC R1 Mux' ADC" 465 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 466 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 467 | cset "name='Sto1 ADC MIXL ADC1 Switch' on" 468 | cset "name='Sto1 ADC MIXR ADC1 Switch' on" 469 | cset "name='ADC Boost Capture Volume' 0" 470 | 471 | # cset "name='Line In Switch' on" 472 | 473 | ] 474 | 475 | DisableSequence [ 476 | cdev "hw:chtrt5645" 477 | 478 | # cset "name='Line In Switch' off" 479 | 480 | cset "name='RECMIXL INL Switch' off" 481 | cset "name='RECMIXR INR Switch' off" 482 | cset "name='Sto1 ADC MIXL ADC2 Switch' off" 483 | cset "name='Sto1 ADC MIXR ADC2 Switch' off" 484 | cset "name='Sto1 ADC MIXL ADC1 Switch' off" 485 | cset "name='Sto1 ADC MIXR ADC1 Switch' off" 486 | cset "name='ADC Boost Capture Volume' 3" 487 | ] 488 | } 489 | -------------------------------------------------------------------------------- /bytcr-rt5640/HiFi: -------------------------------------------------------------------------------- 1 | # Use case Configuration for bytcr-rt5640 2 | 3 | SectionVerb { 4 | 5 | EnableSequence [ 6 | cdev "hw:bytcrrt5640" 7 | 8 | # media mixer settings 9 | # compress 10 | cset "name='media0_in Gain 0 Switch' on" 11 | cset "name='media0_in Gain 0 Volume' 0" 12 | 13 | # normal 14 | cset "name='media1_in Gain 0 Switch' on" 15 | cset "name='media1_in Gain 0 Volume' 0" 16 | # swm loopback 17 | cset "name='media2_in Gain 0 Switch' off" 18 | cset "name='media2_in Gain 0 Volume' 0%" 19 | # deep buffer 20 | cset "name='media3_in Gain 0 Switch' on" 21 | cset "name='media3_in Gain 0 Volume' 0" 22 | 23 | cset "name='media0_out mix 0 media0_in Switch' on" 24 | cset "name='media0_out mix 0 media1_in Switch' on" 25 | cset "name='media0_out mix 0 media2_in Switch' off" 26 | cset "name='media0_out mix 0 media3_in Switch' on" 27 | 28 | cset "name='media1_out mix 0 media0_in Switch' off" 29 | cset "name='media1_out mix 0 media1_in Switch' off" 30 | cset "name='media1_out mix 0 media2_in Switch' off" 31 | cset "name='media1_out mix 0 media3_in Switch' off" 32 | 33 | cset "name='pcm0_in Gain 0 Switch' on" 34 | cset "name='pcm0_in Gain 0 Volume' 0" 35 | 36 | cset "name='pcm1_in Gain 0 Switch' off" 37 | cset "name='pcm1_in Gain 0 Volume' 0%" 38 | 39 | # codec0_out settings (used if ssp2 is connected to aif1) 40 | cset "name='codec_out0 mix 0 codec_in0 Switch' off" 41 | cset "name='codec_out0 mix 0 codec_in1 Switch' off" 42 | cset "name='codec_out0 mix 0 media_loop1_in Switch' off" 43 | cset "name='codec_out0 mix 0 media_loop2_in Switch' off" 44 | cset "name='codec_out0 mix 0 pcm0_in Switch' on" 45 | cset "name='codec_out0 mix 0 pcm1_in Switch' off" 46 | cset "name='codec_out0 mix 0 sprot_loop_in Switch' off" 47 | cset "name='codec_out0 Gain 0 Switch' on" 48 | cset "name='codec_out0 Gain 0 Volume' 0" 49 | 50 | # modem_out settings (used if ssp0 is connected to aif2) 51 | cset "name='modem_out mix 0 codec_in0 Switch' off" 52 | cset "name='modem_out mix 0 codec_in1 Switch' off" 53 | cset "name='modem_out mix 0 media_loop1_in Switch' off" 54 | cset "name='modem_out mix 0 media_loop2_in Switch' off" 55 | cset "name='modem_out mix 0 pcm0_in Switch' on" 56 | cset "name='modem_out mix 0 pcm1_in Switch' off" 57 | cset "name='modem_out mix 0 sprot_loop_in Switch' off" 58 | cset "name='modem_out Gain 0 Switch' on" 59 | cset "name='modem_out Gain 0 Volume' 0" 60 | 61 | # input settings 62 | # pcm1_out settings 63 | 64 | # input used when SSP2 is connected 65 | cset "name='codec_in0 Gain 0 Switch' on" 66 | cset "name='codec_in0 Gain 0 Volume' 0" 67 | 68 | # input used when SSP0 is connected 69 | cset "name='modem_in Gain 0 Switch' on" 70 | cset "name='modem_in Gain 0 Volume' 0" 71 | 72 | cset "name='pcm1_out mix 0 codec_in0 Switch' on" 73 | cset "name='pcm1_out mix 0 modem_in Switch' on" 74 | cset "name='pcm1_out mix 0 codec_in1 Switch' off" 75 | cset "name='pcm1_out mix 0 media_loop1_in Switch' off" 76 | cset "name='pcm1_out mix 0 media_loop2_in Switch' off" 77 | cset "name='pcm1_out mix 0 pcm0_in Switch' off" 78 | cset "name='pcm1_out mix 0 pcm1_in Switch' off" 79 | cset "name='pcm1_out mix 0 sprot_loop_in Switch' off" 80 | 81 | cset "name='pcm1_out Gain 0 Switch' on" 82 | cset "name='pcm1_out Gain 0 Volume' 0" 83 | 84 | # disable codec_out1 85 | cset "name='codec_out1 mix 0 codec_in0 Switch' off" 86 | cset "name='codec_out1 mix 0 codec_in1 Switch' off" 87 | cset "name='codec_out1 mix 0 media_loop1_in Switch' off" 88 | cset "name='codec_out1 mix 0 media_loop2_in Switch' off" 89 | cset "name='codec_out1 mix 0 pcm0_in Switch' off" 90 | cset "name='codec_out1 mix 0 pcm1_in Switch' off" 91 | cset "name='codec_out1 mix 0 sprot_loop_in Switch' off" 92 | cset "name='codec_out1 Gain 0 Switch' off" 93 | cset "name='codec_out1 Gain 0 Volume' 0%" 94 | 95 | # disable codec_in1 96 | cset "name='codec_in1 Gain 0 Switch' off" 97 | cset "name='codec_in1 Gain 0 Volume' 0%" 98 | 99 | # disable all loops 100 | cset "name='media_loop1_out mix 0 codec_in0 Switch' off" 101 | cset "name='media_loop1_out mix 0 codec_in1 Switch' off" 102 | cset "name='media_loop1_out mix 0 media_loop1_in Switch' off" 103 | cset "name='media_loop1_out mix 0 media_loop2_in Switch' off" 104 | cset "name='media_loop1_out mix 0 pcm0_in Switch' off" 105 | cset "name='media_loop1_out mix 0 pcm1_in Switch' off" 106 | cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off" 107 | 108 | cset "name='media_loop2_out mix 0 codec_in0 Switch' off" 109 | cset "name='media_loop2_out mix 0 codec_in1 Switch' off" 110 | cset "name='media_loop2_out mix 0 media_loop1_in Switch' off" 111 | cset "name='media_loop2_out mix 0 media_loop2_in Switch' off" 112 | cset "name='media_loop2_out mix 0 pcm0_in Switch' off" 113 | cset "name='media_loop2_out mix 0 pcm1_in Switch' off" 114 | cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off" 115 | 116 | cset "name='sprot_loop_out mix 0 codec_in0 Switch' off" 117 | cset "name='sprot_loop_out mix 0 codec_in1 Switch' off" 118 | cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off" 119 | cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off" 120 | cset "name='sprot_loop_out mix 0 pcm0_in Switch' off" 121 | cset "name='sprot_loop_out mix 0 pcm1_in Switch' off" 122 | cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off" 123 | 124 | # RT5640 default output routing 125 | cset "name='OUT MIXL DAC L1 Switch' on" 126 | cset "name='OUT MIXR DAC R1 Switch' on" 127 | 128 | # uncomment for loopback mic->speakers 129 | # cset "name='SPOL MIX BST1 Switch' on" 130 | # cset "name='SPOR MIX BST1 Switch' on" 131 | 132 | 133 | # uncomment for loopback playback -> capture 134 | # cset "name='RECMIXL OUT MIXL Switch' on" 135 | # cset "name='RECMIXR OUT MIXR Switch' on" 136 | 137 | # uncomment to enable swap between AIF1 and AIF2 138 | # warning: can only work with SSP0 firmware enabled 139 | cset "name='SDI select' 0" 140 | cset "name='DAI select' 0" 141 | #cset "name='SDI select' 1" 142 | #cset "name='DAI select' 1" 143 | 144 | cset "name='DAC2 Playback Switch' on" 145 | cset "name='DIG MIXL DAC L2 Switch' on" 146 | 147 | # Input Configuration 148 | cset "name='Stereo ADC1 Mux' ADC" 149 | cset "name='Stereo ADC2 Mux' DMIC1" 150 | cset "name='Mono ADC L1 Mux' 1" 151 | cset "name='Mono ADC R1 Mux' 1" 152 | 153 | # 47=0dB, 0.375 dB/step, set it to 6 dB to help with soft mics 154 | cset "name='ADC Capture Volume' 63" 155 | # Set ADC Boost Gain to 3dB higher vals result in too much noise 156 | cset "name='ADC Boost Gain' 1" 157 | # Set IN1/IN3 internal mic boost to 8 (max) 158 | # Set IN2 headset-mic boost to 1, headset mics are quite loud 159 | cset "name='IN1 Boost' 8" 160 | cset "name='IN2 Boost' 1" 161 | cset "name='IN3 Boost' 8" 162 | 163 | cset "name='Internal Mic Switch' off" 164 | cset "name='Headset Mic Switch' off" 165 | cset "name='ADC Capture Switch' on" 166 | ] 167 | 168 | DisableSequence [ 169 | ] 170 | 171 | # ALSA PCM 172 | Value { 173 | # ALSA PCM device for HiFi 174 | PlaybackPCM "hw:bytcrrt5640" 175 | CapturePCM "hw:bytcrrt5640" 176 | } 177 | } 178 | 179 | SectionDevice."DigitalMics" { 180 | Comment "DigitalMics capture" 181 | 182 | ConflictingDevice [ 183 | "IN1-InternalMics" 184 | "IN3-InternalMics" 185 | "HeadsetMic" 186 | ] 187 | 188 | EnableSequence [ 189 | cdev "hw:bytcrrt5640" 190 | 191 | cset "name='Stereo ADC MIXL ADC2 Switch' on" 192 | cset "name='Stereo ADC MIXR ADC2 Switch' on" 193 | cset "name='Internal Mic Switch' on" 194 | 195 | ] 196 | 197 | DisableSequence [ 198 | cdev "hw:bytcrrt5640" 199 | 200 | cset "name='Stereo ADC MIXL ADC2 Switch' off" 201 | cset "name='Stereo ADC MIXR ADC2 Switch' off" 202 | cset "name='Internal Mic Switch' off" 203 | 204 | ] 205 | 206 | Value { 207 | CaptureChannels 2 208 | } 209 | } 210 | 211 | SectionDevice."HeadsetMic" { 212 | Comment "Headset Mic capture" 213 | 214 | ConflictingDevice [ 215 | "IN1-InternalMics" 216 | "IN3-InternalMics" 217 | "DigitalMics" 218 | ] 219 | 220 | EnableSequence [ 221 | cdev "hw:bytcrrt5640" 222 | 223 | cset "name='Headset Mic Switch' on" 224 | 225 | cset "name='RECMIXL BST2 Switch' on" 226 | cset "name='RECMIXR BST2 Switch' on" 227 | 228 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 229 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 230 | 231 | cset "name='Mono ADC MIXL ADC1 Switch' on" 232 | cset "name='Mono ADC MIXR ADC1 Switch' on" 233 | 234 | cset "name='Mono ADC Capture Switch' on" 235 | ] 236 | 237 | DisableSequence [ 238 | cdev "hw:bytcrrt5640" 239 | 240 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 241 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 242 | 243 | cset "name='RECMIXL BST2 Switch' off" 244 | cset "name='RECMIXR BST2 Switch' off" 245 | 246 | cset "name='Headset Mic Switch' off" 247 | 248 | cset "name='Mono ADC MIXL ADC1 Switch' off" 249 | cset "name='Mono ADC MIXR ADC1 Switch' off" 250 | 251 | cset "name='Mono ADC Capture Switch' off" 252 | ] 253 | 254 | Value { 255 | CaptureChannels 2 256 | } 257 | } 258 | 259 | SectionDevice."IN1-InternalMics" { 260 | Comment "Internal IN1 analog Mic capture" 261 | 262 | ConflictingDevice [ 263 | "DigitalMics" 264 | "HeadsetMic" 265 | "IN3-InternalMics" 266 | ] 267 | 268 | EnableSequence [ 269 | cdev "hw:bytcrrt5640" 270 | 271 | cset "name='Internal Mic Switch' on" 272 | 273 | cset "name='RECMIXL BST1 Switch' on" 274 | cset "name='RECMIXR BST1 Switch' on" 275 | cset "name='RECMIXL BST3 Switch' off" 276 | cset "name='RECMIXR BST3 Switch' off" 277 | 278 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 279 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 280 | 281 | cset "name='Mono ADC MIXL ADC1 Switch' on" 282 | cset "name='Mono ADC MIXR ADC1 Switch' on" 283 | 284 | cset "name='Mono ADC Capture Switch' on" 285 | ] 286 | 287 | DisableSequence [ 288 | cdev "hw:bytcrrt5640" 289 | 290 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 291 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 292 | 293 | cset "name='RECMIXL BST1 Switch' off" 294 | cset "name='RECMIXR BST1 Switch' off" 295 | 296 | cset "name='Internal Mic Switch' off" 297 | 298 | cset "name='Mono ADC MIXL ADC1 Switch' off" 299 | cset "name='Mono ADC MIXR ADC1 Switch' off" 300 | 301 | cset "name='Mono ADC Capture Switch' off" 302 | 303 | ] 304 | 305 | Value { 306 | CaptureChannels 2 307 | } 308 | } 309 | 310 | SectionDevice."IN3-InternalMics" { 311 | Comment "Internal IN3 analog Mic capture" 312 | 313 | ConflictingDevice [ 314 | "DigitalMics" 315 | "HeadsetMic" 316 | "IN1-InternalMics" 317 | ] 318 | 319 | EnableSequence [ 320 | cdev "hw:bytcrrt5640" 321 | 322 | cset "name='Internal Mic Switch' on" 323 | 324 | cset "name='RECMIXL BST1 Switch' off" 325 | cset "name='RECMIXR BST1 Switch' off" 326 | cset "name='RECMIXL BST3 Switch' on" 327 | cset "name='RECMIXR BST3 Switch' on" 328 | 329 | cset "name='Stereo ADC MIXL ADC1 Switch' on" 330 | cset "name='Stereo ADC MIXR ADC1 Switch' on" 331 | 332 | cset "name='Mono ADC MIXL ADC1 Switch' on" 333 | cset "name='Mono ADC MIXR ADC1 Switch' on" 334 | 335 | cset "name='Mono ADC Capture Switch' on" 336 | 337 | ] 338 | 339 | DisableSequence [ 340 | cdev "hw:bytcrrt5640" 341 | 342 | cset "name='Stereo ADC MIXL ADC1 Switch' off" 343 | cset "name='Stereo ADC MIXR ADC1 Switch' off" 344 | 345 | cset "name='RECMIXL BST3 Switch' off" 346 | cset "name='RECMIXR BST3 Switch' off" 347 | 348 | cset "name='Internal Mic Switch' off" 349 | 350 | cset "name='Mono ADC MIXL ADC1 Switch' off" 351 | cset "name='Mono ADC MIXR ADC1 Switch' off" 352 | 353 | cset "name='Mono ADC Capture Switch' off" 354 | ] 355 | 356 | Value { 357 | CaptureChannels 2 358 | } 359 | } 360 | 361 | SectionDevice."Headphones" { 362 | Comment "Headphones playback" 363 | 364 | ConflictingDevice [ 365 | "Speaker" 366 | "MonoSpeaker" 367 | ] 368 | 369 | EnableSequence [ 370 | cdev "hw:bytcrrt5640" 371 | 372 | cset "name='DAC MIXL INF1 Switch' on" 373 | cset "name='DAC MIXR INF1 Switch' on" 374 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 375 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 376 | cset "name='Stereo DAC MIXL DAC L2 Switch' on" 377 | cset "name='Stereo DAC MIXR DAC R2 Switch' on" 378 | cset "name='HPO MIX HPVOL Switch' on" 379 | cset "name='Headphone Switch' on" 380 | cset "name='HP Channel Switch' on" 381 | cset "name='Speaker Switch' off" 382 | cset "name='HP L Playback Switch' on" 383 | cset "name='HP R Playback Switch' on" 384 | cset "name='HP Playback Volume' 29" 385 | 386 | ] 387 | 388 | DisableSequence [ 389 | cdev "hw:bytcrrt5640" 390 | cset "name='Headphone Switch' off" 391 | cset "name='HP Channel Switch' off" 392 | cset "name='HP L Playback Switch' off" 393 | cset "name='HP R Playback Switch' off" 394 | cset "name='HP Playback Volume' 0" 395 | ] 396 | 397 | Value { 398 | PlaybackChannels "2" 399 | } 400 | } 401 | 402 | SectionDevice."Speaker" { 403 | Comment "Speaker playback" 404 | 405 | ConflictingDevice [ 406 | "Headphones" 407 | "MonoSpeaker" 408 | ] 409 | 410 | EnableSequence [ 411 | cdev "hw:bytcrrt5640" 412 | 413 | cset "name='DAC MIXL INF1 Switch' on" 414 | cset "name='DAC MIXR INF1 Switch' on" 415 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 416 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 417 | cset "name='Stereo DAC MIXL DAC L2 Switch' on" 418 | cset "name='Stereo DAC MIXR DAC R2 Switch' on" 419 | cset "name='SPK MIXL DAC L1 Switch' on" 420 | cset "name='SPK MIXR DAC R1 Switch' on" 421 | cset "name='SPOL MIX SPKVOL L Switch' on" 422 | cset "name='SPOR MIX SPKVOL R Switch' on" 423 | # undo MonoSpeaker mixing of right channel to left speaker 424 | cset "name='SPOL MIX SPKVOL R Switch' off" 425 | cset "name='Speaker Switch' on" 426 | cset "name='Speaker Channel Switch' on" 427 | cset "name='Headphone Switch' off" 428 | cset "name='Speaker L Playback Switch' on" 429 | cset "name='Speaker R Playback Switch' on" 430 | cset "name='Speaker Playback Volume' 35" 431 | 432 | ] 433 | 434 | DisableSequence [ 435 | cdev "hw:bytcrrt5640" 436 | cset "name='Speaker Switch' off" 437 | cset "name='Speaker Channel Switch' off" 438 | cset "name='Speaker L Playback Switch' off" 439 | cset "name='Speaker R Playback Switch' off" 440 | cset "name='Speaker Playback Volume' 0" 441 | ] 442 | 443 | Value { 444 | PlaybackChannels "2" 445 | } 446 | } 447 | 448 | SectionDevice."MonoSpeaker" { 449 | Comment "MonoSpeaker playback" 450 | 451 | ConflictingDevice [ 452 | "Headphones" 453 | "Speaker" 454 | ] 455 | 456 | EnableSequence [ 457 | cdev "hw:bytcrrt5640" 458 | 459 | cset "name='DAC MIXL INF1 Switch' on" 460 | cset "name='DAC MIXR INF1 Switch' on" 461 | cset "name='Stereo DAC MIXL DAC L1 Switch' on" 462 | cset "name='Stereo DAC MIXR DAC R1 Switch' on" 463 | cset "name='Stereo DAC MIXL DAC L2 Switch' on" 464 | cset "name='Stereo DAC MIXR DAC R2 Switch' on" 465 | cset "name='SPK MIXL DAC L1 Switch' on" 466 | cset "name='SPK MIXR DAC R1 Switch' on" 467 | cset "name='SPOL MIX SPKVOL L Switch' on" 468 | # for mono speaker we apply left on right 469 | # cset "name='SPOR MIX SPKVOL R Switch' on" 470 | cset "name='SPOL MIX SPKVOL R Switch' on" 471 | cset "name='Speaker Switch' on" 472 | cset "name='Speaker Channel Switch' on" 473 | cset "name='Headphone Switch' off" 474 | cset "name='Speaker L Playback Switch' on" 475 | cset "name='Speaker R Playback Switch' on" 476 | cset "name='Speaker Playback Volume' 29" 477 | 478 | ] 479 | 480 | DisableSequence [ 481 | cdev "hw:bytcrrt5640" 482 | cset "name='Speaker Switch' off" 483 | cset "name='Speaker Channel Switch' off" 484 | cset "name='Speaker L Playback Switch' off" 485 | cset "name='Speaker R Playback Switch' off" 486 | cset "name='Speaker Playback Volume' 0" 487 | ] 488 | 489 | Value { 490 | PlaybackChannels "2" 491 | } 492 | } 493 | 494 | -------------------------------------------------------------------------------- /bytcr-rt5651/asound.state: -------------------------------------------------------------------------------- 1 | state.bytcrrt5651 { 2 | control.1 { 3 | iface MIXER 4 | name 'HP Playback Volume' 5 | value.0 29 6 | value.1 29 7 | comment { 8 | access 'read write' 9 | type INTEGER 10 | count 2 11 | range '0 - 39' 12 | dbmin -4650 13 | dbmax 1200 14 | dbvalue.0 -300 15 | dbvalue.1 -300 16 | } 17 | } 18 | control.2 { 19 | iface MIXER 20 | name 'OUT Playback Volume' 21 | value.0 33 22 | value.1 33 23 | comment { 24 | access 'read write' 25 | type INTEGER 26 | count 2 27 | range '0 - 39' 28 | dbmin -4650 29 | dbmax 1200 30 | dbvalue.0 300 31 | dbvalue.1 300 32 | } 33 | } 34 | control.3 { 35 | iface MIXER 36 | name 'DAC2 Playback Switch' 37 | value.0 true 38 | value.1 true 39 | comment { 40 | access 'read write' 41 | type BOOLEAN 42 | count 2 43 | } 44 | } 45 | control.4 { 46 | iface MIXER 47 | name 'DAC1 Playback Volume' 48 | value.0 171 49 | value.1 171 50 | comment { 51 | access 'read write' 52 | type INTEGER 53 | count 2 54 | range '0 - 175' 55 | dbmin -65625 56 | dbmax 0 57 | dbvalue.0 -1500 58 | dbvalue.1 -1500 59 | } 60 | } 61 | control.5 { 62 | iface MIXER 63 | name 'Mono DAC Playback Volume' 64 | value.0 172 65 | value.1 172 66 | comment { 67 | access 'read write' 68 | type INTEGER 69 | count 2 70 | range '0 - 175' 71 | dbmin -65625 72 | dbmax 0 73 | dbvalue.0 -1125 74 | dbvalue.1 -1125 75 | } 76 | } 77 | control.6 { 78 | iface MIXER 79 | name 'IN1 Boost' 80 | value 6 81 | comment { 82 | access 'read write' 83 | type INTEGER 84 | count 1 85 | range '0 - 8' 86 | dbmin 0 87 | dbmax 5200 88 | dbvalue.0 4400 89 | } 90 | } 91 | control.7 { 92 | iface MIXER 93 | name 'IN2 Boost' 94 | value 3 95 | comment { 96 | access 'read write' 97 | type INTEGER 98 | count 1 99 | range '0 - 8' 100 | dbmin 0 101 | dbmax 5200 102 | dbvalue.0 3000 103 | } 104 | } 105 | control.8 { 106 | iface MIXER 107 | name 'IN Capture Volume' 108 | value.0 27 109 | value.1 27 110 | comment { 111 | access 'read write' 112 | type INTEGER 113 | count 2 114 | range '0 - 31' 115 | dbmin -3450 116 | dbmax 1200 117 | dbvalue.0 600 118 | dbvalue.1 600 119 | } 120 | } 121 | control.9 { 122 | iface MIXER 123 | name 'ADC Capture Switch' 124 | value.0 true 125 | value.1 true 126 | comment { 127 | access 'read write' 128 | type BOOLEAN 129 | count 2 130 | } 131 | } 132 | control.10 { 133 | iface MIXER 134 | name 'ADC Capture Volume' 135 | value.0 126 136 | value.1 126 137 | comment { 138 | access 'read write' 139 | type INTEGER 140 | count 2 141 | range '0 - 127' 142 | dbmin -17625 143 | dbmax 30000 144 | dbvalue.0 29625 145 | dbvalue.1 29625 146 | } 147 | } 148 | control.11 { 149 | iface MIXER 150 | name 'Mono ADC Capture Volume' 151 | value.0 126 152 | value.1 126 153 | comment { 154 | access 'read write' 155 | type INTEGER 156 | count 2 157 | range '0 - 127' 158 | dbmin -17625 159 | dbmax 30000 160 | dbvalue.0 29625 161 | dbvalue.1 29625 162 | } 163 | } 164 | control.12 { 165 | iface MIXER 166 | name 'ADC Boost Gain' 167 | value.0 2 168 | value.1 2 169 | comment { 170 | access 'read write' 171 | type INTEGER 172 | count 2 173 | range '0 - 3' 174 | dbmin 0 175 | dbmax 3600 176 | dbvalue.0 2400 177 | dbvalue.1 2400 178 | } 179 | } 180 | control.13 { 181 | iface MIXER 182 | name 'IF1 ASRC Switch' 183 | value true 184 | comment { 185 | access 'read write' 186 | type BOOLEAN 187 | count 1 188 | } 189 | } 190 | control.14 { 191 | iface MIXER 192 | name 'IF2 ASRC Switch' 193 | value false 194 | comment { 195 | access 'read write' 196 | type BOOLEAN 197 | count 1 198 | } 199 | } 200 | control.15 { 201 | iface MIXER 202 | name 'DMIC ASRC Switch' 203 | value false 204 | comment { 205 | access 'read write' 206 | type BOOLEAN 207 | count 1 208 | } 209 | } 210 | control.16 { 211 | iface MIXER 212 | name 'ADC IF2 Data Switch' 213 | value Normal 214 | comment { 215 | access 'read write' 216 | type ENUMERATED 217 | count 1 218 | item.0 Normal 219 | item.1 Swap 220 | item.2 'left copy to right' 221 | item.3 'right copy to left' 222 | } 223 | } 224 | control.17 { 225 | iface MIXER 226 | name 'DAC IF2 Data Switch' 227 | value Normal 228 | comment { 229 | access 'read write' 230 | type ENUMERATED 231 | count 1 232 | item.0 Normal 233 | item.1 Swap 234 | item.2 'left copy to right' 235 | item.3 'right copy to left' 236 | } 237 | } 238 | control.18 { 239 | iface MIXER 240 | name 'Headphone Switch' 241 | value true 242 | comment { 243 | access 'read write' 244 | type BOOLEAN 245 | count 1 246 | } 247 | } 248 | control.19 { 249 | iface MIXER 250 | name 'Headset Mic Switch' 251 | value true 252 | comment { 253 | access 'read write' 254 | type BOOLEAN 255 | count 1 256 | } 257 | } 258 | control.20 { 259 | iface MIXER 260 | name 'Internal Mic Switch' 261 | value true 262 | comment { 263 | access 'read write' 264 | type BOOLEAN 265 | count 1 266 | } 267 | } 268 | control.21 { 269 | iface MIXER 270 | name 'Speaker Switch' 271 | value true 272 | comment { 273 | access 'read write' 274 | type BOOLEAN 275 | count 1 276 | } 277 | } 278 | control.22 { 279 | iface MIXER 280 | name 'RECMIXL INL1 Switch' 281 | value false 282 | comment { 283 | access 'read write' 284 | type BOOLEAN 285 | count 1 286 | } 287 | } 288 | control.23 { 289 | iface MIXER 290 | name 'RECMIXL BST3 Switch' 291 | value false 292 | comment { 293 | access 'read write' 294 | type BOOLEAN 295 | count 1 296 | } 297 | } 298 | control.24 { 299 | iface MIXER 300 | name 'RECMIXL BST2 Switch' 301 | value false 302 | comment { 303 | access 'read write' 304 | type BOOLEAN 305 | count 1 306 | } 307 | } 308 | control.25 { 309 | iface MIXER 310 | name 'RECMIXL BST1 Switch' 311 | value false 312 | comment { 313 | access 'read write' 314 | type BOOLEAN 315 | count 1 316 | } 317 | } 318 | control.26 { 319 | iface MIXER 320 | name 'RECMIXR INR1 Switch' 321 | value false 322 | comment { 323 | access 'read write' 324 | type BOOLEAN 325 | count 1 326 | } 327 | } 328 | control.27 { 329 | iface MIXER 330 | name 'RECMIXR BST3 Switch' 331 | value false 332 | comment { 333 | access 'read write' 334 | type BOOLEAN 335 | count 1 336 | } 337 | } 338 | control.28 { 339 | iface MIXER 340 | name 'RECMIXR BST2 Switch' 341 | value false 342 | comment { 343 | access 'read write' 344 | type BOOLEAN 345 | count 1 346 | } 347 | } 348 | control.29 { 349 | iface MIXER 350 | name 'RECMIXR BST1 Switch' 351 | value false 352 | comment { 353 | access 'read write' 354 | type BOOLEAN 355 | count 1 356 | } 357 | } 358 | control.30 { 359 | iface MIXER 360 | name 'Stereo1 ADC L2 Mux' 361 | value 'DD MIX' 362 | comment { 363 | access 'read write' 364 | type ENUMERATED 365 | count 1 366 | item.0 DMIC 367 | item.1 'DD MIX' 368 | } 369 | } 370 | control.31 { 371 | iface MIXER 372 | name 'Stereo1 ADC R2 Mux' 373 | value 'DD MIX' 374 | comment { 375 | access 'read write' 376 | type ENUMERATED 377 | count 1 378 | item.0 DMIC 379 | item.1 'DD MIX' 380 | } 381 | } 382 | control.32 { 383 | iface MIXER 384 | name 'Stereo1 ADC L1 Mux' 385 | value ADC 386 | comment { 387 | access 'read write' 388 | type ENUMERATED 389 | count 1 390 | item.0 'DD MIX' 391 | item.1 ADC 392 | } 393 | } 394 | control.33 { 395 | iface MIXER 396 | name 'Stereo1 ADC R1 Mux' 397 | value ADC 398 | comment { 399 | access 'read write' 400 | type ENUMERATED 401 | count 1 402 | item.0 'DD MIX' 403 | item.1 ADC 404 | } 405 | } 406 | control.34 { 407 | iface MIXER 408 | name 'Stereo2 ADC L2 Mux' 409 | value 'DD MIXL' 410 | comment { 411 | access 'read write' 412 | type ENUMERATED 413 | count 1 414 | item.0 'DMIC L' 415 | item.1 'DD MIXL' 416 | } 417 | } 418 | control.35 { 419 | iface MIXER 420 | name 'Stereo2 ADC L1 Mux' 421 | value ADCL 422 | comment { 423 | access 'read write' 424 | type ENUMERATED 425 | count 1 426 | item.0 'DD MIXL' 427 | item.1 ADCL 428 | } 429 | } 430 | control.36 { 431 | iface MIXER 432 | name 'Stereo2 ADC R1 Mux' 433 | value 'DD MIXR' 434 | comment { 435 | access 'read write' 436 | type ENUMERATED 437 | count 1 438 | item.0 'DD MIXR' 439 | item.1 ADCR 440 | } 441 | } 442 | control.37 { 443 | iface MIXER 444 | name 'Stereo2 ADC R2 Mux' 445 | value 'DMIC R' 446 | comment { 447 | access 'read write' 448 | type ENUMERATED 449 | count 1 450 | item.0 'DMIC R' 451 | item.1 'DD MIXR' 452 | } 453 | } 454 | control.38 { 455 | iface MIXER 456 | name 'Stereo1 ADC MIXL ADC1 Switch' 457 | value false 458 | comment { 459 | access 'read write' 460 | type BOOLEAN 461 | count 1 462 | } 463 | } 464 | control.39 { 465 | iface MIXER 466 | name 'Stereo1 ADC MIXL ADC2 Switch' 467 | value false 468 | comment { 469 | access 'read write' 470 | type BOOLEAN 471 | count 1 472 | } 473 | } 474 | control.40 { 475 | iface MIXER 476 | name 'Stereo1 ADC MIXR ADC1 Switch' 477 | value true 478 | comment { 479 | access 'read write' 480 | type BOOLEAN 481 | count 1 482 | } 483 | } 484 | control.41 { 485 | iface MIXER 486 | name 'Stereo1 ADC MIXR ADC2 Switch' 487 | value true 488 | comment { 489 | access 'read write' 490 | type BOOLEAN 491 | count 1 492 | } 493 | } 494 | control.42 { 495 | iface MIXER 496 | name 'Stereo2 ADC MIXL ADC1 Switch' 497 | value true 498 | comment { 499 | access 'read write' 500 | type BOOLEAN 501 | count 1 502 | } 503 | } 504 | control.43 { 505 | iface MIXER 506 | name 'Stereo2 ADC MIXL ADC2 Switch' 507 | value true 508 | comment { 509 | access 'read write' 510 | type BOOLEAN 511 | count 1 512 | } 513 | } 514 | control.44 { 515 | iface MIXER 516 | name 'Stereo2 ADC MIXR ADC1 Switch' 517 | value true 518 | comment { 519 | access 'read write' 520 | type BOOLEAN 521 | count 1 522 | } 523 | } 524 | control.45 { 525 | iface MIXER 526 | name 'Stereo2 ADC MIXR ADC2 Switch' 527 | value true 528 | comment { 529 | access 'read write' 530 | type BOOLEAN 531 | count 1 532 | } 533 | } 534 | control.46 { 535 | iface MIXER 536 | name 'IF2 ADC' 537 | value 'IF1 ADC1' 538 | comment { 539 | access 'read write' 540 | type ENUMERATED 541 | count 1 542 | item.0 'IF1 ADC1' 543 | item.1 'IF1 ADC2' 544 | } 545 | } 546 | control.47 { 547 | iface MIXER 548 | name 'PDM L Mux' 549 | value 'DD MIX' 550 | comment { 551 | access 'read write' 552 | type ENUMERATED 553 | count 1 554 | item.0 'DD MIX' 555 | item.1 'Stereo DAC MIX' 556 | } 557 | } 558 | control.48 { 559 | iface MIXER 560 | name 'PDM R Mux' 561 | value 'DD MIX' 562 | comment { 563 | access 'read write' 564 | type ENUMERATED 565 | count 1 566 | item.0 'DD MIX' 567 | item.1 'Stereo DAC MIX' 568 | } 569 | } 570 | control.49 { 571 | iface MIXER 572 | name 'DAC MIXL Stereo ADC Switch' 573 | value true 574 | comment { 575 | access 'read write' 576 | type BOOLEAN 577 | count 1 578 | } 579 | } 580 | control.50 { 581 | iface MIXER 582 | name 'DAC MIXL INF1 Switch' 583 | value true 584 | comment { 585 | access 'read write' 586 | type BOOLEAN 587 | count 1 588 | } 589 | } 590 | control.51 { 591 | iface MIXER 592 | name 'DAC MIXR Stereo ADC Switch' 593 | value true 594 | comment { 595 | access 'read write' 596 | type BOOLEAN 597 | count 1 598 | } 599 | } 600 | control.52 { 601 | iface MIXER 602 | name 'DAC MIXR INF1 Switch' 603 | value true 604 | comment { 605 | access 'read write' 606 | type BOOLEAN 607 | count 1 608 | } 609 | } 610 | control.53 { 611 | iface MIXER 612 | name 'DAC L2 Mux' 613 | value IF2 614 | comment { 615 | access 'read write' 616 | type ENUMERATED 617 | count 1 618 | item.0 IF1 619 | item.1 IF2 620 | } 621 | } 622 | control.54 { 623 | iface MIXER 624 | name 'DAC R2 Mux' 625 | value IF2 626 | comment { 627 | access 'read write' 628 | type ENUMERATED 629 | count 1 630 | item.0 IF1 631 | item.1 IF2 632 | } 633 | } 634 | control.55 { 635 | iface MIXER 636 | name 'Stereo DAC MIXL DAC L1 Switch' 637 | value true 638 | comment { 639 | access 'read write' 640 | type BOOLEAN 641 | count 1 642 | } 643 | } 644 | control.56 { 645 | iface MIXER 646 | name 'Stereo DAC MIXL DAC L2 Switch' 647 | value true 648 | comment { 649 | access 'read write' 650 | type BOOLEAN 651 | count 1 652 | } 653 | } 654 | control.57 { 655 | iface MIXER 656 | name 'Stereo DAC MIXL DAC R1 Switch' 657 | value true 658 | comment { 659 | access 'read write' 660 | type BOOLEAN 661 | count 1 662 | } 663 | } 664 | control.58 { 665 | iface MIXER 666 | name 'Stereo DAC MIXR DAC R1 Switch' 667 | value false 668 | comment { 669 | access 'read write' 670 | type BOOLEAN 671 | count 1 672 | } 673 | } 674 | control.59 { 675 | iface MIXER 676 | name 'Stereo DAC MIXR DAC R2 Switch' 677 | value true 678 | comment { 679 | access 'read write' 680 | type BOOLEAN 681 | count 1 682 | } 683 | } 684 | control.60 { 685 | iface MIXER 686 | name 'Stereo DAC MIXR DAC L1 Switch' 687 | value true 688 | comment { 689 | access 'read write' 690 | type BOOLEAN 691 | count 1 692 | } 693 | } 694 | control.61 { 695 | iface MIXER 696 | name 'DD MIXL DAC L1 Switch' 697 | value true 698 | comment { 699 | access 'read write' 700 | type BOOLEAN 701 | count 1 702 | } 703 | } 704 | control.62 { 705 | iface MIXER 706 | name 'DD MIXL DAC L2 Switch' 707 | value true 708 | comment { 709 | access 'read write' 710 | type BOOLEAN 711 | count 1 712 | } 713 | } 714 | control.63 { 715 | iface MIXER 716 | name 'DD MIXL DAC R2 Switch' 717 | value false 718 | comment { 719 | access 'read write' 720 | type BOOLEAN 721 | count 1 722 | } 723 | } 724 | control.64 { 725 | iface MIXER 726 | name 'DD MIXR DAC R1 Switch' 727 | value false 728 | comment { 729 | access 'read write' 730 | type BOOLEAN 731 | count 1 732 | } 733 | } 734 | control.65 { 735 | iface MIXER 736 | name 'DD MIXR DAC R2 Switch' 737 | value false 738 | comment { 739 | access 'read write' 740 | type BOOLEAN 741 | count 1 742 | } 743 | } 744 | control.66 { 745 | iface MIXER 746 | name 'DD MIXR DAC L2 Switch' 747 | value false 748 | comment { 749 | access 'read write' 750 | type BOOLEAN 751 | count 1 752 | } 753 | } 754 | control.67 { 755 | iface MIXER 756 | name 'OUT MIXL BST1 Switch' 757 | value false 758 | comment { 759 | access 'read write' 760 | type BOOLEAN 761 | count 1 762 | } 763 | } 764 | control.68 { 765 | iface MIXER 766 | name 'OUT MIXL BST2 Switch' 767 | value false 768 | comment { 769 | access 'read write' 770 | type BOOLEAN 771 | count 1 772 | } 773 | } 774 | control.69 { 775 | iface MIXER 776 | name 'OUT MIXL INL1 Switch' 777 | value false 778 | comment { 779 | access 'read write' 780 | type BOOLEAN 781 | count 1 782 | } 783 | } 784 | control.70 { 785 | iface MIXER 786 | name 'OUT MIXL REC MIXL Switch' 787 | value false 788 | comment { 789 | access 'read write' 790 | type BOOLEAN 791 | count 1 792 | } 793 | } 794 | control.71 { 795 | iface MIXER 796 | name 'OUT MIXL DAC L1 Switch' 797 | value false 798 | comment { 799 | access 'read write' 800 | type BOOLEAN 801 | count 1 802 | } 803 | } 804 | control.72 { 805 | iface MIXER 806 | name 'OUT MIXR BST2 Switch' 807 | value false 808 | comment { 809 | access 'read write' 810 | type BOOLEAN 811 | count 1 812 | } 813 | } 814 | control.73 { 815 | iface MIXER 816 | name 'OUT MIXR BST1 Switch' 817 | value false 818 | comment { 819 | access 'read write' 820 | type BOOLEAN 821 | count 1 822 | } 823 | } 824 | control.74 { 825 | iface MIXER 826 | name 'OUT MIXR INR1 Switch' 827 | value false 828 | comment { 829 | access 'read write' 830 | type BOOLEAN 831 | count 1 832 | } 833 | } 834 | control.75 { 835 | iface MIXER 836 | name 'OUT MIXR REC MIXR Switch' 837 | value false 838 | comment { 839 | access 'read write' 840 | type BOOLEAN 841 | count 1 842 | } 843 | } 844 | control.76 { 845 | iface MIXER 846 | name 'OUT MIXR DAC R1 Switch' 847 | value false 848 | comment { 849 | access 'read write' 850 | type BOOLEAN 851 | count 1 852 | } 853 | } 854 | control.77 { 855 | iface MIXER 856 | name 'OUTVOL L Switch' 857 | value false 858 | comment { 859 | access 'read write' 860 | type BOOLEAN 861 | count 1 862 | } 863 | } 864 | control.78 { 865 | iface MIXER 866 | name 'OUTVOL R Switch' 867 | value false 868 | comment { 869 | access 'read write' 870 | type BOOLEAN 871 | count 1 872 | } 873 | } 874 | control.79 { 875 | iface MIXER 876 | name 'HPOVOL L Switch' 877 | value true 878 | comment { 879 | access 'read write' 880 | type BOOLEAN 881 | count 1 882 | } 883 | } 884 | control.80 { 885 | iface MIXER 886 | name 'HPOVOL R Switch' 887 | value true 888 | comment { 889 | access 'read write' 890 | type BOOLEAN 891 | count 1 892 | } 893 | } 894 | control.81 { 895 | iface MIXER 896 | name 'HPO MIX DAC1 Switch' 897 | value true 898 | comment { 899 | access 'read write' 900 | type BOOLEAN 901 | count 1 902 | } 903 | } 904 | control.82 { 905 | iface MIXER 906 | name 'HPO MIX HPVOL Switch' 907 | value true 908 | comment { 909 | access 'read write' 910 | type BOOLEAN 911 | count 1 912 | } 913 | } 914 | control.83 { 915 | iface MIXER 916 | name 'LOUT MIX DAC L1 Switch' 917 | value true 918 | comment { 919 | access 'read write' 920 | type BOOLEAN 921 | count 1 922 | } 923 | } 924 | control.84 { 925 | iface MIXER 926 | name 'LOUT MIX DAC R1 Switch' 927 | value true 928 | comment { 929 | access 'read write' 930 | type BOOLEAN 931 | count 1 932 | } 933 | } 934 | control.85 { 935 | iface MIXER 936 | name 'LOUT MIX OUTVOL L Switch' 937 | value false 938 | comment { 939 | access 'read write' 940 | type BOOLEAN 941 | count 1 942 | } 943 | } 944 | control.86 { 945 | iface MIXER 946 | name 'LOUT MIX OUTVOL R Switch' 947 | value false 948 | comment { 949 | access 'read write' 950 | type BOOLEAN 951 | count 1 952 | } 953 | } 954 | control.87 { 955 | iface MIXER 956 | name 'HPO L Playback Switch' 957 | value true 958 | comment { 959 | access 'read write' 960 | type BOOLEAN 961 | count 1 962 | } 963 | } 964 | control.88 { 965 | iface MIXER 966 | name 'HPO R Playback Switch' 967 | value true 968 | comment { 969 | access 'read write' 970 | type BOOLEAN 971 | count 1 972 | } 973 | } 974 | control.89 { 975 | iface MIXER 976 | name 'LOUT L Playback Switch' 977 | value true 978 | comment { 979 | access 'read write' 980 | type BOOLEAN 981 | count 1 982 | } 983 | } 984 | control.90 { 985 | iface MIXER 986 | name 'LOUT R Playback Switch' 987 | value true 988 | comment { 989 | access 'read write' 990 | type BOOLEAN 991 | count 1 992 | } 993 | } 994 | } 995 | state.PCH { 996 | control.1 { 997 | iface CARD 998 | name 'HDMI/DP,pcm=3 Jack' 999 | value false 1000 | comment { 1001 | access read 1002 | type BOOLEAN 1003 | count 1 1004 | } 1005 | } 1006 | control.2 { 1007 | iface MIXER 1008 | name 'IEC958 Playback Con Mask' 1009 | value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 1010 | comment { 1011 | access read 1012 | type IEC958 1013 | count 1 1014 | } 1015 | } 1016 | control.3 { 1017 | iface MIXER 1018 | name 'IEC958 Playback Pro Mask' 1019 | value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 1020 | comment { 1021 | access read 1022 | type IEC958 1023 | count 1 1024 | } 1025 | } 1026 | control.4 { 1027 | iface MIXER 1028 | name 'IEC958 Playback Default' 1029 | value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 1030 | comment { 1031 | access 'read write' 1032 | type IEC958 1033 | count 1 1034 | } 1035 | } 1036 | control.5 { 1037 | iface MIXER 1038 | name 'IEC958 Playback Switch' 1039 | value true 1040 | comment { 1041 | access 'read write' 1042 | type BOOLEAN 1043 | count 1 1044 | } 1045 | } 1046 | control.6 { 1047 | iface PCM 1048 | device 3 1049 | name ELD 1050 | value '' 1051 | comment { 1052 | access 'read volatile' 1053 | type BYTES 1054 | count 0 1055 | } 1056 | } 1057 | control.7 { 1058 | iface CARD 1059 | name 'HDMI/DP,pcm=7 Jack' 1060 | value false 1061 | comment { 1062 | access read 1063 | type BOOLEAN 1064 | count 1 1065 | } 1066 | } 1067 | control.8 { 1068 | iface MIXER 1069 | name 'IEC958 Playback Con Mask' 1070 | index 1 1071 | value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 1072 | comment { 1073 | access read 1074 | type IEC958 1075 | count 1 1076 | } 1077 | } 1078 | control.9 { 1079 | iface MIXER 1080 | name 'IEC958 Playback Pro Mask' 1081 | index 1 1082 | value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 1083 | comment { 1084 | access read 1085 | type IEC958 1086 | count 1 1087 | } 1088 | } 1089 | control.10 { 1090 | iface MIXER 1091 | name 'IEC958 Playback Default' 1092 | index 1 1093 | value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 1094 | comment { 1095 | access 'read write' 1096 | type IEC958 1097 | count 1 1098 | } 1099 | } 1100 | control.11 { 1101 | iface MIXER 1102 | name 'IEC958 Playback Switch' 1103 | index 1 1104 | value true 1105 | comment { 1106 | access 'read write' 1107 | type BOOLEAN 1108 | count 1 1109 | } 1110 | } 1111 | control.12 { 1112 | iface PCM 1113 | device 7 1114 | name ELD 1115 | value '' 1116 | comment { 1117 | access 'read volatile' 1118 | type BYTES 1119 | count 0 1120 | } 1121 | } 1122 | control.13 { 1123 | iface PCM 1124 | device 3 1125 | name 'Playback Channel Map' 1126 | value.0 0 1127 | value.1 0 1128 | value.2 0 1129 | value.3 0 1130 | value.4 0 1131 | value.5 0 1132 | value.6 0 1133 | value.7 0 1134 | comment { 1135 | access 'read write' 1136 | type INTEGER 1137 | count 8 1138 | range '0 - 36' 1139 | } 1140 | } 1141 | control.14 { 1142 | iface PCM 1143 | device 7 1144 | name 'Playback Channel Map' 1145 | value.0 0 1146 | value.1 0 1147 | value.2 0 1148 | value.3 0 1149 | value.4 0 1150 | value.5 0 1151 | value.6 0 1152 | value.7 0 1153 | comment { 1154 | access 'read write' 1155 | type INTEGER 1156 | count 8 1157 | range '0 - 36' 1158 | } 1159 | } 1160 | } 1161 | --------------------------------------------------------------------------------