#
# Configuration for the FM801 chip
#

<confdir:pcm/front.conf>

FM801.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
}	

# default with dmix/dsnoop
FM801.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/surround40.conf>

FM801.pcm.surround40.0 "cards.FM801.pcm.front.0"

<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>

FM801.pcm.surround51.0 "cards.FM801.pcm.front.0"

<confdir:pcm/iec958.conf>

FM801.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
	}
	hooks.0 {
		type ctl_elems
		hook_args [
			# {
			#	name "IEC958 Playback Default"
			#	value [ $AES0 $AES1 $AES2 $AES3 ]
			# }
			{
				name "IEC958 Raw Data Playback Switch"
				preserve true
				value true
			}
		]
	}
}
