From 65298d98f3b1222001283a2bfc92eecb12096def Mon Sep 17 00:00:00 2001 From: Luke Yelavich Date: Wed, 8 Feb 2012 15:09:55 +1100 Subject: [PATCH 01/14] conf/pcm: Add support for Echo3G devices. Thanks to unimatrix. BugLink: https://bugs.launchpad.net/bugs/433573 Signed-off-by: Luke Yelavich Signed-off-by: Jaroslav Kysela --- src/conf/cards/Echo_Echo3G.conf | 318 +++++++++++++++++++++++++++++++++++++++ src/conf/cards/Makefile.am | 1 + 2 files changed, 319 insertions(+) create mode 100644 src/conf/cards/Echo_Echo3G.conf diff --git a/src/conf/cards/Echo_Echo3G.conf b/src/conf/cards/Echo_Echo3G.conf new file mode 100644 index 0000000..766f13f --- /dev/null +++ b/src/conf/cards/Echo_Echo3G.conf @@ -0,0 +1,318 @@ +# +# Configuration for the Echo3G driver +# + + +Echo_Echo3G.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 0 + subdevice 0 +} + + +Echo_Echo3G.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 0 + subdevice 4 +} + + +Echo_Echo3G.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 0 + subdevice 2 +} + + +Echo_Echo3G.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 0 + subdevice 6 +} + + +Echo_Echo3G.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + ] +} + + +Echo_Echo3G.pcm.surround41.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + { slave 2 channel 0 } + ] +} + + +Echo_Echo3G.pcm.surround50.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + { slave 2 channel 1 } + ] +} + + +Echo_Echo3G.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + { slave 2 channel 0 } + { slave 2 channel 1 } + ] +} + + +Echo_Echo3G.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.side.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + { slave 2 channel 0 } + { slave 2 channel 1 } + { slave 3 channel 0 } + { slave 3 channel 1 } + ] +} + + +Echo_Echo3G.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 hooks + slave.pcm { + type hw + card $CARD + device 1 + } + + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +} diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am index b7190e7..ee7991b 100644 --- a/src/conf/cards/Makefile.am +++ b/src/conf/cards/Makefile.am @@ -19,6 +19,7 @@ cfg_files = aliases.conf \ CMI8738-MC8.conf \ CMI8788.conf \ CS46xx.conf \ + Echo_Echo3G.conf \ EMU10K1.conf \ EMU10K1X.conf \ ENS1370.conf \ -- 1.7.9.2