From patchwork Wed Mar 15 06:47:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fuweix.tang@intel.com X-Patchwork-Id: 9624943 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 95544604CC for ; Wed, 15 Mar 2017 06:48:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 86370285E8 for ; Wed, 15 Mar 2017 06:48:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7B154285F0; Wed, 15 Mar 2017 06:48:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E4D8285E8 for ; Wed, 15 Mar 2017 06:48:18 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 46BBF266FA5; Wed, 15 Mar 2017 07:47:39 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 1EFB1266FA4; Wed, 15 Mar 2017 07:47:37 +0100 (CET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by alsa0.perex.cz (Postfix) with ESMTP id 60D88266F89 for ; Wed, 15 Mar 2017 07:47:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1489560424; x=1521096424; h=from:to:cc:subject:date:message-id; bh=l7p3I3PgP859c+YWWkOJwjBR26tkO+RPuTnpbWnZzhM=; b=xxZcixS3omn9eZWc45mSOV1x5q5jLPdO07M3mz8ZAlz9wqkfbP2Rj4VB cXN0oYVvXROI3uOFQVj1eAI6n/u24w==; Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Mar 2017 23:47:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,167,1486454400"; d="scan'208";a="236295540" Received: from tangfw-thinkpad-x230.sh.intel.com ([10.239.47.163]) by fmsmga004.fm.intel.com with ESMTP; 14 Mar 2017 23:46:58 -0700 From: fuweix.tang@intel.com To: alsa-devel@alsa-project.org Date: Wed, 15 Mar 2017 14:47:03 +0800 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: In-Reply-To: References: Cc: Nishit Sharma , tiwai@suse.de, mengdong.lin@intel.com, liam.r.girdwood@linux.intel.com, Vinod Koul , Fuwei Tang , Jeeja KP , Karthik D M Subject: [alsa-devel] [PATCH v1 3/3] ucm-conf: skylake: add skylake-rt286 conf files X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Vinod Koul This add the UCM conf files for skylake enabling I2S audio, HDMI and DMIC ports. This patch is based on commit 4dfae1adb314 ("conf/ucm: skylake: add skylake-rt286 conf files") from alsa-lib by Vinod Koul . Original authorship is retained. Signed-off-by: Karthik D M Signed-off-by: Nishit Sharma Signed-off-by: Jeeja KP Signed-off-by: Vinod Koul Signed-off-by: Fuwei Tang Reviewed-by: Liam Girdwood Reviewed-by: Vinod Koul Reviewed-by: Mengdong Lin diff --git a/Makefile.am b/Makefile.am index 5f86692..f351b75 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1 +1 @@ -SUBDIRS=broxton-rt298 +SUBDIRS=broxton-rt298 skylake-rt286 diff --git a/configure.ac b/configure.ac index 1105dfc..53144b5 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,8 @@ AM_INIT_AUTOMAKE # Checks for library functions. AC_CONFIG_FILES([Makefile - broxton-rt298/Makefile]) + broxton-rt298/Makefile + skylake-rt286/Makefile]) ALSA_CONFIG_DIR="/usr/share/alsa" AC_SUBST(ALSA_CONFIG_DIR) diff --git a/skylake-rt286/Hdmi1 b/skylake-rt286/Hdmi1 new file mode 100644 index 0000000..0e00fc8 --- /dev/null +++ b/skylake-rt286/Hdmi1 @@ -0,0 +1,20 @@ +# 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 [ + ] + + DisableSequence [ + ] + + Value { + PlaybackPCM "hw:skylakert286,4" + PlaybackChannels "2" + PlaybackPriority "3" + JackControl "HDMI/DP, pcm=4 Jack" + } +} + diff --git a/skylake-rt286/Hdmi2 b/skylake-rt286/Hdmi2 new file mode 100644 index 0000000..89b31aa --- /dev/null +++ b/skylake-rt286/Hdmi2 @@ -0,0 +1,20 @@ +# Usecase for device HDMI2/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms +# For Audio in I2S mode + +SectionDevice."Hdmi2" { + Comment "HDMI/Display Port 2 Stereo" + + EnableSequence [ + ] + + DisableSequence [ + ] + + Value { + PlaybackPCM "hw:skylakert286,5" + PlaybackChannels "2" + PlaybackPriority "4" + JackControl "HDMI/DP, pcm=5 Jack" + } +} + diff --git a/skylake-rt286/HiFi b/skylake-rt286/HiFi new file mode 100644 index 0000000..5f403db --- /dev/null +++ b/skylake-rt286/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 SKYLAKE/KABYLAKE platforms + +SectionVerb { + + EnableSequence [ + cdev "hw:skylakert286" + cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" + ] + + DisableSequence [ + cdev "hw:skylakert286" + ] + + Value { + TQ "HiFi" + CapturePCM "hw:skylakert286,1" + PlaybackPCM "hw:skylakert286,0" + } +} + +SectionDevice."Headphones" { + Comment "Headphones" + + ConflictingDevice [ + "Speaker" + ] + EnableSequence [ + cdev "hw:skylakert286" + 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 [ + ] + Value { + PlaybackChannels "2" + PlaybackPriority "1" + JackControl "Headphone Jack" + JackHWMute "Speaker" + } +} + +SectionDevice."Speaker" { + Comment "Speaker" + + ConflictingDevice [ + "Headphones" + ] + EnableSequence [ + cdev "hw:skylakert286" + 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:skylakert286" + cset "name='media0_out mo codec0_in mi Switch' 1" + cset "name='ADC0 Capture Switch' 1,1" + cset "name='ADC 0 Mux' 0" + cset "name='Mic Jack Switch' 1" + cset "name='media0_out mo dmic01_hifi_in mi Switch' 0" + ] + + DisableSequence [ + cdev "hw:skylakert286" + 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" + } +} + + +SectionDevice."dmiccap" { + Comment "DMIC Stereo" + + ConflictingDevice [ + "Headpset" + ] + + EnableSequence [ + + cdev "hw:skylakert286" + cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" + cset "name='media0_out mo codec0_in mi Switch' 0" + cset "name='ADC0 Capture Switch' 0,0" + cset "name='Mic Jack Switch' 0" + cset "name='ADC 0 Mux' 0" + + ] + + DisableSequence [ + cdev "hw:skylakert286" + cset "name='media0_out mo codec0_in mi Switch' 1" + cset "name='media0_out mo dmic01_hifi_in mi Switch' 0" + cset "name='ADC0 Capture Switch' 1,1" + cset "name='Mic Jack Switch' 1" + cset "name='ADC 0 Mux' 2" + ] + Value { + CaptureChannels "2" + CapturePriority "2" + } +} + diff --git a/skylake-rt286/Makefile.am b/skylake-rt286/Makefile.am new file mode 100644 index 0000000..9d6a85a --- /dev/null +++ b/skylake-rt286/Makefile.am @@ -0,0 +1,4 @@ +alsaconfigdir = @ALSA_CONFIG_DIR@ +ucmdir = $(alsaconfigdir)/ucm/skylake-rt286 +ucm_DATA = skylake-rt286.conf HiFi Hdmi1 Hdmi2 +EXTRA_DIST = $(ucm_DATA) diff --git a/skylake-rt286/skylake-rt286.conf b/skylake-rt286/skylake-rt286.conf new file mode 100644 index 0000000..2a74744 --- /dev/null +++ b/skylake-rt286/skylake-rt286.conf @@ -0,0 +1,60 @@ +# UCM for Intel SKYLAKE/KABYLAKE 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:skylakert286" + CaptureCTL "hw:skylakert286" + CaptureChannels "2" + CapturePriority "2" +} + +SectionDefaults [ + cdev "hw:skylakert286" + cset "name='Headphone Jack Switch' 1" + cset "name='Speaker Switch' 1" + cset "name='Speaker Playback Switch' 0,0" + cset "name='Front DAC Switch' 1" + cset "name='Front RECMIX Switch' 0" + cset "name='Mic Jack Switch' 1" + cset "name='ADC 0 Mux' 2" + cset "name='ADC 1 Mux' 0" + cset "name='ADC0 Capture Volume' 105,105" + cset "name='ADC0 Capture Switch' 1,1" + cset "name='AMIC Volume' 3" + cset "name='DAC0 Playback Volume' 100,100" + cset "name='HPO L Switch' 0" + cset "name='HPO Mux' 0" + cset "name='HPO R Switch' 0" + cset "name='Pin 5 Mux' 1" + cset "name='Pin 6 Mux' 2" + cset "name='Pin 7 Mux' 3" + cset "name='RECMIX Beep Switch' 0" + cset "name='RECMIX Line1 Switch' 0" + cset "name='RECMIX Mic1 Switch' 0" + cset "name='SPK Mux' 0" + cset "name='SPO Switch' 1" + cset "name='codec0_out mo codec0_in mi Switch' 0" + cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0" + cset "name='codec0_out mo media0_in mi Switch' 1" + cset "name='codec1_out mo codec0_in mi Switch' 0" + cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0" + cset "name='codec1_out mo media0_in mi Switch' 0" + cset "name='media0_out mo codec0_in mi Switch' 1" + cset "name='media0_out mo dmic01_hifi_in mi Switch' 1" + cset "name='media0_out mo media0_in mi Switch' 0" +]