| # | 
 | # Configuration for the CMI8338/8738 chip (w/o multi-channel support) | 
 | # using software IEC958 subframe conversion | 
 | # | 
 |  | 
 | <confdir:pcm/front.conf> | 
 |  | 
 | CMI8338-SWIEC.pcm.front.0 { | 
 | 	@args [ CARD ] | 
 | 	@args.CARD { | 
 | 		type string | 
 | 	} | 
 | 	type hw | 
 | 	card $CARD | 
 | }	 | 
 |  | 
 | # default with dmix/dsnoop | 
 | CMI8338-SWIEC.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. | 
 | CMI8338-SWIEC.pcm.rear.0 { | 
 | 	@args [ CARD ] | 
 | 	@args.CARD { | 
 | 		type string | 
 | 	} | 
 | 	type hw | 
 | 	card $CARD | 
 | 	device 1 | 
 | } | 
 |  | 
 | <confdir:pcm/surround40.conf> | 
 |  | 
 | # for the old CM8738 with 2nd DAC for rear | 
 | CMI8338-SWIEC.pcm.surround40.0 { | 
 | 	@args [ CARD ] | 
 | 	@args.CARD { | 
 | 		type string | 
 | 	} | 
 | 	type multi | 
 | 	master 1 | 
 | 	slaves [ | 
 | 		{ | 
 | 			pcm { | 
 | 				@func concat | 
 | 				strings [ | 
 | 					"cards.CMI8338-SWIEC.pcm.front.0:CARD=" $CARD | 
 | 				] | 
 | 			} | 
 | 			channels 2 | 
 | 		} | 
 | 		{ | 
 | 			pcm { | 
 | 				@func concat | 
 | 				strings [ | 
 | 					"cards.CMI8338-SWIEC.pcm.rear.0:CARD=" $CARD | 
 | 				] | 
 | 			} | 
 | 			channels 2 | 
 | 		} | 
 | 	] | 
 | 	bindings [ | 
 | 		{ slave 0 channel 0 } | 
 | 		{ slave 0 channel 1 } | 
 | 		{ slave 1 channel 0 } | 
 | 		{ slave 1 channel 1 } | 
 | 	] | 
 | } | 
 |  | 
 | <confdir:pcm/iec958.conf> | 
 |  | 
 | CMI8338-SWIEC.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 iec958 | 
 | 		slave.pcm { | 
 | 			type hw | 
 | 			card $CARD | 
 | 			device 2 | 
 | 		} | 
 | 		status [ $AES0 $AES1 $AES2 $AES3 ] | 
 | 		preamble.z 3 | 
 | 		preamble.y 5 | 
 | 		preamble.x 9 | 
 | 	} | 
 | 	capture.pcm { | 
 | 		type hw | 
 | 		card $CARD | 
 | 		device 2 | 
 | 	} | 
 | } |