Blob Blame History Raw
From patchwork Thu Mar  2 10:12:06 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: conf/cards: add VC4-HDMI card
From: Boris BREZILLON <boris.brezillon@free-electrons.com>
X-Patchwork-Id: 9599837
Message-Id: <1488449526-16850-1-git-send-email-boris.brezillon@free-electrons.com>
To: Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>,
 Lars-Peter Clausen <lars@metafoo.de>, alsa-devel@alsa-project.org
Cc: Eric Anholt <eric@anholt.net>,
 Boris Brezillon <boris.brezillon@free-electrons.com>
Date: Thu,  2 Mar 2017 11:12:06 +0100

Add a conf file for the VC4-HDMI sound card.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
---
Hi,

This patch is adding a card config file for the audio sound card whose
driver has been submitted here [1] (not accepted yet).

Since I am a total newbie to the alsa world, I'd like to get some
feedback on this patch.

Also, the card only supports 2 to 8 channels, and I wonder if we should
add a plug element to support mono streams, and where this element
should be added (after or before the iec958 element).

Regards,

Boris

[1]https://www.spinics.net/lists/arm-kernel/msg565182.html

 src/conf/cards/Makefile.am   |  1 +
 src/conf/cards/aliases.conf  |  1 +
 src/conf/cards/vc4-hdmi.conf | 64 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 66 insertions(+)
 create mode 100644 src/conf/cards/vc4-hdmi.conf

diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
index e8b530e80a8f..00999f0186d6 100644
--- a/src/conf/cards/Makefile.am
+++ b/src/conf/cards/Makefile.am
@@ -51,6 +51,7 @@ cfg_files = aliases.conf \
 	TRID4DWAVENX.conf \
 	USB-Audio.conf \
 	YMF744.conf \
+	vc4-hdmi.conf \
 	VIA686A.conf \
 	VIA8233.conf \
 	VIA8233A.conf \
diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
index 60f9d26974fd..18a920f41e46 100644
--- a/src/conf/cards/aliases.conf
+++ b/src/conf/cards/aliases.conf
@@ -55,6 +55,7 @@
 AV200 cards.CMI8788
 CMI8786 cards.CMI8788
 CMI8787 cards.CMI8788
+VC4-HDMI cards.vc4-hdmi
 
 <confdir:pcm/default.conf>
 <confdir:pcm/dmix.conf>
diff --git a/src/conf/cards/vc4-hdmi.conf b/src/conf/cards/vc4-hdmi.conf
new file mode 100644
index 000000000000..027804a145d1
--- /dev/null
+++ b/src/conf/cards/vc4-hdmi.conf
@@ -0,0 +1,64 @@
+#
+# Configuration for the VC4-HDMI sound card using software IEC958
+# subframe conversion
+#
+
+<confdir:pcm/front.conf>
+
+vc4-hdmi.pcm.front.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hw
+	card $CARD
+}
+
+# default with dmix
+vc4-hdmi.pcm.default {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type asym
+	playback.pcm {
+		type plug
+		slave.pcm {
+			@func concat
+			strings [ "dmix:" $CARD ]
+		}
+	}
+}
+
+<confdir:pcm/iec958.conf>
+
+vc4-hdmi.pcm.iec958.0 {
+	@args [ CARD AES0 AES1 AES2 AES3 ]
+	@args.CARD {
+		type string
+	}
+	@args.AES0 {
+		type integer
+	}
+	@args.AES1 {
+		type integer
+	}
+	@args.AES2 {
+		type integer
+	}
+	@args.AES3 {
+		type integer
+	}
+	type iec958
+	slave {
+		format IEC958_SUBFRAME_LE
+		pcm {
+			type plug
+			slave.pcm {
+				type hw
+				card $CARD
+			}
+		}
+	}
+	status [ $AES0 $AES1 $AES2 $AES3 ]
+}