#
# Configuration for the ENS1370 chip
#

<confdir:pcm/front.conf>

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

# default with dmix/dsnoop
ENS1370.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>

ENS1370.pcm.rear.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hooks
	slave.pcm {
		type hw
		card $CARD
	}
	hooks.0 {
		type ctl_elems
		hook_args [
			{
				interface CARD
				name "PCM 0 Output also on Line-In Jack"
				preserve true
				lock true
				value true
			}
			{
				name "PCM Switch"
				preserve true
				lock true
				value [ false false ]
			}
		]
	}
}	

<confdir:pcm/surround40.conf>

ENS1370.pcm.surround40.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type multi
	master 1
	slaves [
		{
			pcm {
				@func concat
				strings [
					"cards.ENS1370.pcm.front.0:CARD=" $CARD
				]
			}
			channels 2
		}
		{
			pcm {
				@func concat
				strings [
					"cards.ENS1370.pcm.rear.0:CARD=" $CARD
				]
			}
			channels 2
		}
	]
	bindings [
		{ slave 0 channel 0 }
		{ slave 0 channel 1 }
		{ slave 1 channel 0 }
		{ slave 1 channel 1 }
	]
}
