From 3bac57a0e7ddbd5a5518b4ac529a86ca1a535024 Mon Sep 17 00:00:00 2001 From: Seungbae Shin Date: Tue, 13 Dec 2022 14:22:09 +0900 Subject: [PATCH] Enable iec958/hooks for RPI latest kernel update Also add card configuration (vc4-hdmi.conf) to support HDMI [Version] 1.0.29-6 [Issue Type] Update Change-Id: I3f19eaca1e2218d24e72c42f5edd4c52888dd4da --- packaging/alsa-lib.spec | 4 +-- src/conf/cards/Makefile.am | 1 + src/conf/cards/vc4-hdmi.conf | 70 ++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 src/conf/cards/vc4-hdmi.conf diff --git a/packaging/alsa-lib.spec b/packaging/alsa-lib.spec index 1fd43d6..bf48088 100644 --- a/packaging/alsa-lib.spec +++ b/packaging/alsa-lib.spec @@ -1,6 +1,6 @@ Name: alsa-lib Version: 1.0.29 -Release: 5 +Release: 6 License: LGPL-2.1+ Summary: The Advanced Linux Sound Architecture (ALSA) library Url: http://www.alsa-project.org/ @@ -43,7 +43,7 @@ cp %{SOURCE1001} . --disable-alisp \ --disable-python \ --with-gnu-ld \ - --with-pcm-plugins=rate,route,linear,plug,dmix,dsnoop,asym,mmap,ioplug,null,empty,softvol \ + --with-pcm-plugins=rate,route,linear,plug,dmix,dsnoop,asym,mmap,ioplug,null,empty,softvol,iec958,hooks \ --with-ucmdir=%{confdir}/ucm make %{?_smp_mflags} diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am index 008d399..f01812a 100644 --- a/src/conf/cards/Makefile.am +++ b/src/conf/cards/Makefile.am @@ -49,6 +49,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/vc4-hdmi.conf b/src/conf/cards/vc4-hdmi.conf new file mode 100644 index 0000000..9900c23 --- /dev/null +++ b/src/conf/cards/vc4-hdmi.conf @@ -0,0 +1,70 @@ +# +# Configuration for the VC4-HDMI sound card using software IEC958 +# subframe conversion +# + + +vc4-hdmi.pcm.hdmi.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 hooks + slave.pcm { + type hw + card $CARD + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback Default" + interface PCM + optional true + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + } + status [ $AES0 $AES1 $AES2 $AES3 ] +} + +# default with plug +vc4-hdmi.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "hdmi:" $CARD ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } +} -- 2.34.1