Jaroslav Kysela [Thu, 28 Nov 2019 18:21:04 +0000 (19:21 +0100)]
sof-hda-dsp: fix the default verbs
- do not set 'Capture Switch', it should be handled by the app
- disable the 'Auto-Mute Mode' in the driver
- remove JackHWMute for speaker, it is no longer valid
Use the mixer values MixerElem and MasterElem by the latest use-case.h.
Merge the Bass Speaker to Speaker. The standalone Speaker is unusable
on Lenovo Carbon X1 7th gen.
Jaroslav Kysela [Tue, 5 Nov 2019 19:09:21 +0000 (20:09 +0100)]
sof-hda-dsp: adapt to latest alsa-lib
- move to ucm2
- add 'Syntax 2' to the main configuration files
- use condition for 'Headphone Jack' / 'Headphone Mic Jack' selection
- remove cdev (not required)
- use ${CardId} where appropriate
- merge config for Lenovo Carbon X1 7th gen to main HiFi.conf
Jaska Uimonen [Fri, 25 Oct 2019 17:23:56 +0000 (20:23 +0300)]
sof-skl_hda: move hdmi as separate use case
Move hdmi definitions as separate use case and conf file. This will
enable Pulseaudio to create separate profile for hdmi and make routing
much more fluent than with single profile.
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sof-skl_hda: add PlaybackVolume and CaptureVolume definitions
PlaybackVolume and CaptureVolume are not defined currently and these are
needed in the future for example with Pulseaudio to enable hardware
volume control.
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sof-skl_hda: remove volume setting in enable/disable sequences
If the volume setting is defined in enable sequence you will
always get that exact volume when switching outputs in some
user space software like Pulseaudio. Pulseaudio will itself
keep track of the volume previously set.
Jaroslav Kysela [Tue, 24 Sep 2019 11:39:14 +0000 (13:39 +0200)]
Add initial support for generic SOF Skylake driver (DMIC)
Based on: https://github.com/RanderWang/intel-UCM/tree/hdmi/sof-skl_hda_card Signed-off-by: Mark Pearson <mpearson@lenovo.com>
Cleanups, remove commented or empty configuration.
Hans de Goede [Sat, 31 Aug 2019 14:58:41 +0000 (16:58 +0200)]
conf/ucm: Add UCM profile for cht-bsw-rt5672 boards
Add an UCM profile for Intel boards with a RT5672 codec.
Re-use the existing platform enable and disable sequences for BYT/CHT SST
support and add a codecs/rt5672 dir with codec specific enable / disable
sequences for the various inputs and outputs.
This is partly based on earlier work done here:
https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hans de Goede [Sun, 3 Feb 2019 11:37:41 +0000 (12:37 +0100)]
ucm: bytcr/PlatformEnableSeq.conf update some comments
Commit f91cc3c7d6b7 ("Update chtrt5645 ucm variants to use
bytcr/PlatformEnableSeq.conf component") updated the
following 2 comments:
# codec0_out settings (used if SSP2 is connected to aif1)
# modem_out settings (used if SSP0 is connected to aif2)
Specifically it added the " to aif1" resp. " to aif2" part of the comments.
This is not correct, AIF1 / AIF2 are something which is present on
Realtek codecs only, and either one can be used indepedent of
SSP0 or SSP2 being used (the comments in the chtrt5645 UCM profile
before this change were wrong / outdated).
Besides there not being any relationship between SSP0 or SSP2 being
used, bytcr/PlatformEnableSeq.conf is also used with other codecs,
e.g. the ESS8316 codec where this is not applicable at all.
Therefor this commit removes the " to aif?" part of the comments again
to avoid confusing people reading this in the future.
Cc: Russell Parker <russell.parker7@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
DB820c board is based of MSM8996 Qualcomm SoC, which has support for both
Digital and Analog audio. Digital audio is over HDMI and analog is over
WCD9335 codec via SLIMbus.
Board itself has HDMI port, a 3.5mm audio Jack and an Audio expansion
connector.
This patch adds support for HDMI port and 3.5mm jack.
Hui Wang [Tue, 27 Nov 2018 01:36:28 +0000 (09:36 +0800)]
conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio
USB-audio device on Dell WD19 docking station provides two individual
output PCM streams, one for headphone Jack and another for speaker out
Jack. A UCM profile gives the proper roles for these.
Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
After recent kernel work, the kernel now sets a long-name for bytcht-es8316
boards which indicates if a single (mono) speaker or stereo speakers are
used and if in1 or in2 is used for the internal mic (the headset mic will
be on the other input).
This commit adds UCM profiles for bytcht-es8316 boards using these new
long-names, based on the generic bytcht-es8316 profile.
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hans de Goede [Thu, 3 Jan 2019 13:50:14 +0000 (14:50 +0100)]
conf/ucm: Add UCM profile for bytcht-es8316 boards
Add an UCM profile for Bay Trail and Cherry Trail boards with an
ES8316 codec.
Re-use the existing platform enable and disable sequences for BYT/CHT SST
support and add a codecs/es8316 dir with codec specific enable / disable
sequences for the various inputs and outputs.
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Russell Parker [Sun, 6 Jan 2019 03:47:15 +0000 (19:47 -0800)]
Create device component for rt5645 Internal Analog Mic UCM
Since the Internal Analog Microphone device configuration is
identical for the rt5645 and rt5645 mono speaker UCMs, move
the entire definition to a component.
Signed-off-by: Russell Parker <russell.parker7@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Russell Parker [Sun, 6 Jan 2019 03:47:13 +0000 (19:47 -0800)]
Factor out rt5645 variants Speaker+Headphones shared UCM enable sequences
Move common enable sequences for rt5645 variants and rt5650
UCM configurations into a shared component. The corresponding
disable sequences are only two lines each and do not seem worth
creating components for.
Signed-off-by: Russell Parker <russell.parker7@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Russell Parker [Sun, 6 Jan 2019 03:47:12 +0000 (19:47 -0800)]
Create shared {En,Dis}ableSeq.conf components for rt5645 variants
Factor out the common enable and disable sequences used
in rt5645 variants, including the rt5650. Move the sequences
into a new component directory codecs/rt5645/ along with
a Makefile.
Some lines like
cset "name='Stereo1 ADC1 Mux' 1"
and
cset "name='I2S2 Func Switch' on"
are not set set in the chtrt5650 UCM sequences and thus are not present
in the new component, in order to maximize reuse.
Signed-off-by: Russell Parker <russell.parker7@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Russell Parker [Sun, 6 Jan 2019 03:47:11 +0000 (19:47 -0800)]
Update chtrt5645 ucm variants to use bytcr/PlatformEnableSeq.conf component
The Lenovo Ideapad Miix 320, Asus T100HA, and chtrt5645 mono variant
UCM configurations have not been updated to make use of the shared
bytcr/PlatfromEnableSeq.conf sequence. This commit deletes those
command sequences and loads the shared component directly.
Signed-off-by: Russell Parker <russell.parker7@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
During my recent work on the bytcht-es8316 UCM profile I realized that the
bytcr-rt5651 devices with a single speaker use a differential setup just
like the es8316 does. The tell-tale here is the speaker going quiet when
playing the exact same sound on both channels when things are configured
for stereo speakers.
I've run some tests and the rt5651 does have a special mono balanced out
mode for its line-out but using this results in the same sound (and the
same loudness / volume of the sound) as our current solution, so adding
support for this to the kernel buys us nothing.
This commit makes no changes, it just documents my findings in a big
comment for future reference.
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Hui Wang [Mon, 24 Dec 2018 08:34:46 +0000 (16:34 +0800)]
conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
The new generation of Dell Edge IoT platform is based on Intel
Kabylake platform, and the audio codec is ALC3277 which is 100%
compatible with RT5660 in I2S mode.
The audio design on this IoT platform is as below:
- Intel kabylake platform
- connect the codec ALC3277 via SSP0
- line-out and line-in with Micbias jacks
- line-out mute control and jack detection of line-out and line-in
- two HDMI ports with audio capability
Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Russell Parker [Sun, 30 Dec 2018 05:35:26 +0000 (21:35 -0800)]
conf/ucm: chtrt5650: Add UCM config for chtrt5650
Add a UCM configuration for the rt5650 codec. Tested on
a Samsung Chromebook 3. Adapted with minor modifications
from GitHub user evan-a-a's gist:
https://gist.github.com/evan-a-a/86b2a698708074530e2d0ee7c6498767
Signed-off-by: Russell Parker <russell.parker7@gmail.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Wed, 28 Nov 2018 15:25:41 +0000 (16:25 +0100)]
ucm: Set default include path
Many UCM profiles include the UCM profile components under ucm/*
subdirectories and thusly put <searchdir:ucm> at each place. This is
rather cumbersome.
This patch makes the UCM parser to set the default include path, so
that each profile no longer needs to set searchdir. All the
<searchdir:ucm> lines currently found in the profiles are removed
gracefully, too.
For the needed implementation, a new helper,
_snd_config_load_with_include() is introduced. It's not exported,
only for the use inside alsa-lib.