All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
To: Vinod Koul <vinod.koul@intel.com>
Cc: Nishit Sharma <nishitx.sharma@intel.com>,
	alsa-devel@alsa-project.org, tiwai@suse.de,
	G Kranthi <gudishax.kranthikumar@intel.com>,
	patches.audio@intel.com, broonie@kernel.org
Subject: Re: [PATCH] conf/ucm: broxton: add broxton-rt298 conf files
Date: Thu, 12 Jan 2017 10:38:07 +0000	[thread overview]
Message-ID: <1484217487.2604.68.camel@loki> (raw)
In-Reply-To: <1484212828-10041-1-git-send-email-vinod.koul@intel.com>

On Thu, 2017-01-12 at 14:50 +0530, Vinod Koul wrote:
> This adds the UCM conf files for broxton enabling with rt298 codec on
> I2S audio, HDMI and DMIC ports.
> 
> Signed-off-by: Nishit Sharma <nishitx.sharma@intel.com>
> Signed-off-by: G Kranthi <gudishax.kranthikumar@intel.com>
> Signed-off-by: Vinod Koul <vinod.koul@intel.com>

Can you redo using the UCM include support. That way we can separate the
codec stuff out from the DSP stuff and make it easier to use new codecs.

Liam

> ---
>  configure.ac                                  |   1 +
>  src/conf/ucm/Makefile.am                      |   2 +-
>  src/conf/ucm/broxton-rt298/Hdmi1              |  22 +++++
>  src/conf/ucm/broxton-rt298/Hdmi2              |  14 +++
>  src/conf/ucm/broxton-rt298/HiFi               | 129 ++++++++++++++++++++++++++
>  src/conf/ucm/broxton-rt298/Makefile.am        |   4 +
>  src/conf/ucm/broxton-rt298/broxton-rt298.conf |  58 ++++++++++++
>  7 files changed, 229 insertions(+), 1 deletion(-)
>  create mode 100644 src/conf/ucm/broxton-rt298/Hdmi1
>  create mode 100644 src/conf/ucm/broxton-rt298/Hdmi2
>  create mode 100644 src/conf/ucm/broxton-rt298/HiFi
>  create mode 100644 src/conf/ucm/broxton-rt298/Makefile.am
>  create mode 100644 src/conf/ucm/broxton-rt298/broxton-rt298.conf
> 
> diff --git a/configure.ac b/configure.ac
> index 71bd85271009..d645ab6c3e4c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -684,6 +684,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
>  	  src/conf/topology/bxtrt298/Makefile \
>  	  alsalisp/Makefile aserver/Makefile \
>  	  test/Makefile test/lsb/Makefile \
> +	  src/conf/ucm/broxton-rt298/Makefile \
>  	  utils/Makefile utils/alsa-lib.spec utils/alsa.pc)
>  
>  dnl Create asoundlib.h dynamically according to configure options
> diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
> index a11d324e785b..ea9b3850e2dd 100644
> --- a/src/conf/ucm/Makefile.am
> +++ b/src/conf/ucm/Makefile.am
> @@ -1 +1 @@
> -SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 skylake-rt286 VEYRON-I2S chtrt5645 DB410c
> +SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 skylake-rt286 VEYRON-I2S chtrt5645 DB410c broxton-rt298
> diff --git a/src/conf/ucm/broxton-rt298/Hdmi1 b/src/conf/ucm/broxton-rt298/Hdmi1
> new file mode 100644
> index 000000000000..48514f47efaa
> --- /dev/null
> +++ b/src/conf/ucm/broxton-rt298/Hdmi1
> @@ -0,0 +1,22 @@
> +# Usecase for device HDMI1/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms
> +# For Audio in I2S mode
> +
> +SectionDevice."Hdmi1" {
> +        Comment "HDMI/Display Port 1 Stereo"
> +
> +        EnableSequence [
> +                exec "echo Hdmi1 EnableSequnece"
> +        ]
> +
> +        DisableSequence [
> +                exec "echo Hdmi1 DisableSequnece"
> +        ]
> +
> +        Value {
> +                PlaybackPCM "hw:broxtonrt298,4"
> +                PlaybackChannels "2"
> +                PlaybackPriority "3"
> +                JackControl "HDMI/DP, pcm=4 Jack"
> +        }
> +}
> +
> diff --git a/src/conf/ucm/broxton-rt298/Hdmi2 b/src/conf/ucm/broxton-rt298/Hdmi2
> new file mode 100644
> index 000000000000..764f8b9995f8
> --- /dev/null
> +++ b/src/conf/ucm/broxton-rt298/Hdmi2
> @@ -0,0 +1,14 @@
> +# Usecase for device HDMI2/Display Port stereo playback on Intel Broxton platforms
> +# For Audio in I2S mode
> +
> +SectionDevice."Hdmi2" {
> +        Comment "HDMI/Display Port 2 Stereo"
> +
> +        Value {
> +                PlaybackPCM "hw:broxtonrt298,5"
> +                PlaybackChannels "2"
> +                PlaybackPriority "4"
> +                JackControl "HDMI/DP, pcm=5 Jack"
> +        }
> +}
> +
> diff --git a/src/conf/ucm/broxton-rt298/HiFi b/src/conf/ucm/broxton-rt298/HiFi
> new file mode 100644
> index 000000000000..2e2d6fec0cc6
> --- /dev/null
> +++ b/src/conf/ucm/broxton-rt298/HiFi
> @@ -0,0 +1,129 @@
> +# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
> +# For Audio in I2S mode on Intel Broxton platforms
> +
> +SectionVerb {
> +
> +	EnableSequence [
> +		cdev "hw:broxtonrt298"
> +		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
> +	]
> +
> +	DisableSequence [
> +		cdev "hw:broxtonrt298"
> +	]
> +
> +	Value {
> +		TQ "HiFi"
> +		CapturePCM "hw:broxtonrt298,1"
> +		PlaybackPCM "hw:broxtonrt298,0"
> +	}
> +}
> +
> +SectionDevice."dmiccap" {
> +	Comment "DMIC Stereo"
> +
> +	ConflictingDevice [
> +		"Headset"
> +	]
> +
> +	EnableSequence [
> +
> +		cdev "hw:broxtonrt298"
> +		exec "echo broxtonrt298 dmiccap called"
> +		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
> +		cset "name='media0_out mo codec0_in mi Switch' 0"
> +		cset "name='Mic Jack Switch' 0"
> +
> +	]
> +
> +	DisableSequence [
> +		cdev "hw:broxtonrt298"
> +		cset "name='media0_out mo codec0_in mi Switch' 1"
> +		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
> +		cset "name='Mic Jack Switch' 1"
> +		cset "name='ADC 0 Mux' 0"
> +	]
> +	Value {
> +		CaptureChannels "2"
> +		CapturePriority "2"
> +	}
> +}
> +
> +SectionDevice."Headphones" {
> +	Comment "Headphones"
> +
> +	ConflictingDevice [
> +		"Speaker"
> +	]
> +	EnableSequence [
> +		cdev "hw:broxtonrt298"
> +		exec "echo broxtonrt298 Headphone called"
> +		cset "name='HPO L Switch' 1"
> +		cset "name='HPO R Switch' 1"
> +		cset "name='Headphone Jack Switch' 1"
> +		cset "name='Speaker Playback Switch' 0,0"
> +	]
> +
> +	DisableSequence [
> +		cdev "hw:broxtonrt298"
> +	]
> +	Value {
> +		PlaybackChannels "2"
> +		PlaybackPriority "1"
> +		JackControl "Headphone Jack"
> +		JackHWMute "Speaker"
> +	}
> +}
> +
> +SectionDevice."Speaker" {
> +	Comment "Speaker"
> +
> +	ConflictingDevice [
> +		"Headphones"
> +	]
> +	EnableSequence [
> +		cdev "hw:broxtonrt298"
> +		exec "echo broxtonrt298 speaker called"
> +		cset "name='SPO Switch' 1"
> +		cset "name='Speaker Playback Switch' 1,1"
> +		cset "name='Speaker Switch' 1"
> +		cset "name='HPO L Switch' 0"
> +		cset "name='HPO R Switch' 0"
> +	]
> +
> +	DisableSequence [
> +	]
> +	Value {
> +		PlaybackChannels "2"
> +		PlaybackPriority "1"
> +		JackHWMute "Headphones"
> +	}
> +}
> +
> +SectionDevice."Headset" {
> +	Comment "Headset Mic"
> +
> +	ConflictingDevice [
> +		"dmiccap"
> +	]
> +	EnableSequence [
> +		cdev "hw:broxtonrt298"
> +		exec "echo broxtonrt298 Headset called"
> +		cset "name='media0_out mo codec0_in mi Switch' 1"
> +		cset "name='ADC0 Capture Volume' 105,105"
> +		cset "name='ADC 0 Mux' 0"
> +		cset "name='Mic Jack Switch' 1"
> +		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
> +	]
> +
> +	DisableSequence [
> +		cdev "hw:broxtonrt298"
> +		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
> +		cset "name='media0_out mo codec0_in mi Switch' 0"
> +	]
> +	Value {
> +		CaptureChannels "2"
> +		CapturePriority "2"
> +		JackControl "Mic Jack"
> +	}
> +}
> diff --git a/src/conf/ucm/broxton-rt298/Makefile.am b/src/conf/ucm/broxton-rt298/Makefile.am
> new file mode 100644
> index 000000000000..80f480ec4222
> --- /dev/null
> +++ b/src/conf/ucm/broxton-rt298/Makefile.am
> @@ -0,0 +1,4 @@
> +alsaconfigdir = @ALSA_CONFIG_DIR@
> +ucmdir = $(alsaconfigdir)/ucm/broxton-rt298
> +ucm_DATA = broxton-rt298.conf HiFi Hdmi1 Hdmi2
> +EXTRA_DIST = $(ucm_DATA)
> diff --git a/src/conf/ucm/broxton-rt298/broxton-rt298.conf b/src/conf/ucm/broxton-rt298/broxton-rt298.conf
> new file mode 100644
> index 000000000000..3f3d0be6fdf2
> --- /dev/null
> +++ b/src/conf/ucm/broxton-rt298/broxton-rt298.conf
> @@ -0,0 +1,58 @@
> +# UCM for Intel Broxton platforms
> +# For Audio in I2S mode
> +
> +SectionUseCase."HiFi" {
> +	File "HiFi"
> +	Comment "Play and record HiFi quality Music"
> +}
> +
> +SectionUseCase."Hdmi1" {
> +        File "Hdmi1"
> +        Comment "Play on Hdmi/DP 1"
> +}
> +
> +SectionUseCase."Hdmi2" {
> +        File "Hdmi2"
> +        Comment "Play on Hdmi/DP 2"
> +}
> +
> +ValueDefaults {
> +	PlaybackCTL "hw:broxtonrt298"
> +	CaptureCTL "hw:broxtonrt298"
> +	CaptureChannels "2"
> +	CapturePriority "2"
> +}
> +
> +SectionDefaults [
> +	cdev "hw:broxtonrt298"
> +	exec "echo broxtonrt298 CONF Defaults"
> +	cset "name='Headphone Jack Switch' 1"
> +	cset "name='Speaker Switch' 1"
> +	cset "name='Speaker Playback Switch' 0,0"
> +	cset "name='Front DAC Switch' 1"
> +	cset "name='Front RECMIX Switch' 0"
> +	cset "name='Mic Jack Switch' 1"
> +	cset "name='ADC 0 Mux' 2"
> +	cset "name='ADC 1 Mux' 0"
> +	cset "name='DAC0 Playback Volume' 100,100"
> +	cset "name='HPO L Switch' 0"
> +	cset "name='HPO Mux' 0"
> +	cset "name='HPO R Switch' 0"
> +	cset "name='Pin 5 Mux' 1"
> +	cset "name='Pin 6 Mux' 2"
> +	cset "name='Pin 7 Mux' 3"
> +	cset "name='RECMIX Beep Switch' 0"
> +	cset "name='RECMIX Line1 Switch' 0"
> +	cset "name='RECMIX Mic1 Switch' 0"
> +	cset "name='SPK Mux' 0"
> +	cset "name='SPO Switch' 1"
> +	cset "name='codec0_out mo codec0_in mi Switch' 0"
> +	cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0"
> +	cset "name='codec0_out mo media0_in mi Switch' 1"
> +	cset "name='codec1_out mo codec0_in mi Switch' 0"
> +	cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0"
> +	cset "name='codec1_out mo media0_in mi Switch' 0"
> +	cset "name='media0_out mo codec0_in mi Switch' 1"
> +	cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
> +	cset "name='media0_out mo media0_in mi Switch' 0"
> +]

  reply	other threads:[~2017-01-12 10:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-12  9:20 [PATCH] conf/ucm: broxton: add broxton-rt298 conf files Vinod Koul
2017-01-12 10:38 ` Liam Girdwood [this message]
2017-01-12 11:01   ` Takashi Iwai
2017-01-13  4:52     ` Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1484217487.2604.68.camel@loki \
    --to=liam.r.girdwood@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=gudishax.kranthikumar@intel.com \
    --cc=nishitx.sharma@intel.com \
    --cc=patches.audio@intel.com \
    --cc=tiwai@suse.de \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.