[Pkg-alsa-devel] Bug#940730: alsa-utils: Add ucm support for whiskeylake sof-skl_hda_card audio

Mark Pearson mpearson at lenovo.com
Thu Sep 19 14:50:14 BST 2019


Package: alsa-utils
Version: 1.1.8-2
Severity: important
Tags: patch

Dear Maintainer,

   * What led up to the situation?
The Lenovo X1 Carbon Gen 7 is using the whiskeylake processor and the audio is
not working on it.
A large part of this is the kernel SOF driver - for which a separate bug is
submitted - but we also need some new files under /usr/share/alsa/ucm/sof-
skl_hda_card to support the new audio devices.

   * What exactly did you do (or not do) that was effective (or ineffective)?
Add the attached HiFi and sof-skl_hda_card.conf files to the
/usr/share/alsa/ucm/sof-skl_hda_card directory

   * What was the outcome of this action?
Devices are correctly detected and configured.

   * What outcome did you expect instead?
NA

Let me know if any questions or concerns. Thanks for all the help!
Mark



-- System Information:
Debian Release: 10.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.9 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages alsa-utils depends on:
ii  kmod              26-1
ii  libasound2        1.1.8-1
ii  libc6             2.28-10
ii  libfftw3-single3  3.3.8-2
ii  libncursesw6      6.1+20181013-2+deb10u1
ii  libsamplerate0    0.1.9-2
ii  libtinfo6         6.1+20181013-2+deb10u1
ii  lsb-base          10.2019051400
ii  whiptail          0.52.20-8

alsa-utils recommends no packages.

alsa-utils suggests no packages.

-- no debconf information
-------------- next part --------------
SectionUseCase."HiFi" {
	File "HiFi"
	Comment "Play HiFi quality Music"
}

-------------- next part --------------
# Use case Configuration for skl-hda-card

SectionVerb {

	EnableSequence [
		cdev "hw:sofsklhdacard"
		cset "name='Master Playback Switch' on"
		cset "name='Capture Switch' on"
		
	]

	DisableSequence [
		cdev "hw:sofsklhdacard"
	]

        Value {
        }
}

SectionDevice."Headphone" {
	Comment "Headphone"

	#ConflictingDevice [
        #        "Speaker"
        #]
	
	EnableSequence [
		cdev "hw:sofsklhdacard"
		cset "name='Headphone Playback Volume' 80"
		#cset "name='Headphone Mic Boost Volume' 1"
		cset "name='Headphone Playback Switch' on"
	]

	DisableSequence [
		cdev "hw:sofsklhdacard"
		cset "name='Headphone Playback Switch' off"
	]

	Value {
		PlaybackPCM "hw:sofsklhdacard,0"
		PlaybackChannels "2"
		#JackHWMute "Speaker"
		JackName "sof-skl_hda_card Headphone"
		JackType "gpio"
		JackSwitch "12"
		JackControl "Headphone Jack"
	}
}

SectionDevice."Speaker" {
        Comment "Speaker"

        #ConflictingDevice [
        #        "Headphone"
        #]

        EnableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='Speaker Playback Switch' on"
                cset "name='Speaker Playback Volume' 80"
        ]

        DisableSequence [
                cset "name='Speaker Playback Switch' off"
        ]

        Value {
		PlaybackPCM "hw:sofsklhdacard,0"
		JackHWMute "Headphone"
                PlaybackChannels "2"
        }
}

SectionDevice."Bass Speaker" {
        Comment "Bass Speaker"

#       ConflictingDevice [
#                "Headphone"
#        ]

        EnableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='Bass Speaker Playback Switch' on"
		cset "name='Speaker Playback Switch' on"
		cset "name='Speaker Playback Volume' 80"
        ]

        DisableSequence [
                cset "name='Speaker Playback Switch' off"
                cset "name='Bass Speaker Playback Switch' off"
        ]
        Value {
                PlaybackPCM "hw:sofsklhdacard,0"
                JackHWMute "Headphone"
                PlaybackChannels "2"
        }
}

SectionDevice."Headset" {
	Comment "Headset Mic"

        ConflictingDevice [
                "DMIC Stereo"
        ]

        EnableSequence [
                cdev "hw:sofsklhdacard"
#		cset "name='Headphone Mic Boost Volume' 1"
#		cset "name='Capture Switch' on"
        ]

        DisableSequence [
                cdev "hw:sofsklhdacard"
#		cset "name='Capture Switch' off"
        ]

        Value {
                CapturePCM "hw:0,0"
                CaptureChannels "2"
		JackControl "Mic Jack"
#		JackHWMute "DMIC Stereo"
        }
}

SectionDevice."Dmic" {
        Comment "DMIC Stereo"

        ConflictingDevice [
                "Headset Mic"
        ]

        EnableSequence [
                cdev "hw:sofsklhdacard"
#		cset "name='Capture Switch' on"
                cset "name='PGA10.0 10 Master Capture Volume' 75"
        ]

        DisableSequence [
                cdev "hw:sofsklhdacard"
#		cset "name='Capture Switch' off"
        ]

        Value {
                CapturePCM "hw:0,6"
                CaptureChannels "2"
#		JackHWMute "Headset Mic"
        }
}

SectionDevice."HDMI1" {
        Comment "HDMI1/DP1 Output"

#        ConflictingDevice [
                # "Headset"
#        ]

        EnableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='hif5-0 Jack Switch' on"
                cset "name='Pin5-Port0 Mux' 1"
        ]

        DisableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='Pin5-Port0 Mux' 0"
                cset "name='hif5-0 Jack Switch' off"
        ]

        Value {
                PlaybackPCM "hw:0,3"
                PlaybackChannels "2"
                JackControl "HDMI/DP, pcm=11 Jack"
                # JackHWMute "Headset"
        }
}

SectionDevice."HDMI2" {
        Comment "HDMI2/DP2 Output"

#        ConflictingDevice [
                # "Headset"
#        ]

        EnableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='hif6-0 Jack Switch' on"
                cset "name='Pin6-Port0 Mux' 2"
        ]

        DisableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='Pin6-Port0 Mux' 0"
                cset "name='hif6-0 Jack Switch' off"
        ]

        Value {
                PlaybackPCM "hw:0,4"
                PlaybackChannels "2"
                JackControl "HDMI/DP, pcm=12 Jack"
                # JackHWMute "Headset"
        }
}

SectionDevice."HDMI3" {
        Comment "HDMI3/DP3 Output"

#        ConflictingDevice [
                # "Headset"
#        ]

        EnableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='hif7-0 Jack Switch' on"
                cset "name='Pin7-Port0 Mux' 3"
        ]

        DisableSequence [
                cdev "hw:sofsklhdacard"
                cset "name='Pin7-Port0 Mux' 0"
                cset "name='hif7-0 Jack Switch' off"
        ]

        Value {
                PlaybackPCM "hw:0,5"
                PlaybackChannels "2"
                JackControl "HDMI/DP, pcm=13 Jack"
                # JackHWMute "Headset"
        }
}



More information about the Pkg-alsa-devel mailing list