#
# Configuration for Cubox - /usr/share/alsa/cards/Kirkwood_SPDIF.conf
#

<confdir:pcm/front.conf>

Kirkwood_SPDIF.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type softvol
	slave.pcm {
		type hw
		card $CARD
	}
	control {
		name "PCM Playback Volume"
		card $CARD
	}
}

Kirkwood_SPDIF.pcm.default {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type plug
		slave.pcm {
			type softvol
			slave.pcm {
				@func concat
				strings [ "dmix:" $CARD ]
			}
			control {
				name = "PCM Playback Volume"
				card $CARD
			}
		}
	}
	capture.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dnsoop:" $CARD ]
		}
	}
}

<confdir:pcm/iec958.conf>

Kirkwood_SPDIF.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 [
			{
				interface PCM
				name "IEC958 Playback Default"
				lock true
				preserve true
				optional true
				value [ 0x06 0x82 0x00 0x01 ]
#				value [ $AES0 $AES1 $AES2 $AES3 ]
			}
		]
	}
}

<confdir:pcm/hdmi.conf>

Kirkwood_SPDIF.pcm.hdmi.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 [
			{
				interface PCM
				name "IEC958 Playback Default"
				lock true
				preserve true
				optional true
				value [ 0x06 0x82 0x00 0x01 ]
#				value [ $AES0 $AES1 $AES2 $AES3 ]
			}
		]
	}
}