diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/alsa/cards/CMI8738-MC6.conf @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/alsa/cards/CMI8738-MC6.conf	Tue Mar 18 16:23:26 2025 -0400
@@ -0,0 +1,162 @@
+#
+# Configuration for the CMI8738 chip with 4/6 multi-channel support
+#
+
+<confdir:pcm/front.conf>
+
+CMI8738-MC6.pcm.front.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hw
+	card $CARD
+}	
+
+# default with dmix/dsnoop
+CMI8738-MC6.pcm.default {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type asym
+	playback.pcm {
+		type plug
+		slave.pcm {
+			@func concat
+			strings [ "dmix:" $CARD ]
+		}
+	}
+	capture.pcm {
+		type plug
+		slave.pcm {
+			@func concat
+			strings [ "dsnoop:" $CARD ]
+		}
+	}
+}
+
+<confdir:pcm/rear.conf>
+
+# 2nd DAC
+# FIXME: we need a volume attenuator for rear channel.
+CMI8738-MC6.pcm.rear.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hw
+	card $CARD
+	device 1
+}
+
+<confdir:pcm/surround40.conf>
+
+CMI8738-MC6.pcm.surround40.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hooks
+	slave.pcm {
+		type hw
+		card $CARD
+		device 1
+		channels 4
+	}
+	hooks.0 {
+		type ctl_elems
+		hook_args [
+			{
+				name "Four Channel Mode"
+				lock true
+				preserve true
+				value false
+			}
+		]
+	}
+}	
+
+<confdir:pcm/surround21.conf>
+<confdir:pcm/surround41.conf>
+<confdir:pcm/surround50.conf>
+<confdir:pcm/surround51.conf>
+
+CMI8738-MC6.pcm.surround51.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hooks
+	slave.pcm {
+		type hw
+		card $CARD
+		device 1
+		channels 6
+	}
+	hooks.0 {
+		type ctl_elems
+		hook_args [
+			{
+				name "Four Channel Mode"
+				lock true
+				preserve true
+				value false
+			}
+		]
+	}
+}	
+
+<confdir:pcm/iec958.conf>
+
+CMI8738-MC6.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 asym
+	playback.pcm {
+		type hooks
+		slave.pcm {
+			type hw
+			card $CARD
+			device 2
+		}
+		hooks.0 {
+			type ctl_elems
+			hook_args [
+				{
+					interface PCM
+					name "IEC958 Playback PCM Stream"
+					device 2
+					lock true
+					preserve true
+					value [ $AES0 $AES1 $AES2 $AES3 ]
+				}
+				{
+					name "IEC958 Loop"
+					lock true
+					preserve true
+					value off
+				}
+			]
+		}
+	}
+	capture.pcm {
+		type hw
+		card $CARD
+		device 2
+	}
+}