Blob Blame History Raw
#
# Configuration for the ICE1724 (Envy24HT) chip
#

# default with dmix & dsnoop
ICE1724.pcm.default {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
		}
	}
	capture.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
		}
	}
}

<confdir:pcm/front.conf>

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

<confdir:pcm/rear.conf>

ICE1724.pcm.rear.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
	device 2
	subdevice 1
}	

<confdir:pcm/center_lfe.conf>

ICE1724.pcm.center_lfe.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
	device 2
}	

<confdir:pcm/side.conf>

ICE1724.pcm.side.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
	device 2
	subdevice 2
}

<confdir:pcm/surround40.conf>

ICE1724.pcm.surround40.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type route
	ttable.0.0 1
	ttable.1.1 1
	ttable.2.4 1
	ttable.3.5 1
	slave {
		channels 6
		pcm {
			type hw
			card $CARD
		}
	}
}	

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

ICE1724.pcm.surround51.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type route
	ttable.0.0 1
	ttable.1.1 1
	ttable.2.4 1
	ttable.3.5 1
	ttable.4.2 1
	ttable.5.3 1
	slave {
		channels 6
                pcm {
			type hw
	 		card $CARD
		}
	}
}

<confdir:pcm/surround71.conf>

ICE1724.pcm.surround71.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type route
	ttable.0.0 1
	ttable.1.1 1
	ttable.2.4 1
	ttable.3.5 1
	ttable.4.2 1
	ttable.5.3 1
	ttable.6.6 1
	ttable.7.7 1
	slave {
		channels 8
		pcm {
			type hw
			card $CARD
		}
	}
}

<confdir:pcm/iec958.conf>

ICE1724.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 linear
	    slave.pcm {
		type hooks
		slave.pcm {
			type hw
			card $CARD
			device 1
		}
		hooks.0 {
			type ctl_elems
			hook_args [
				{
					interface MIXER
					name "IEC958 Output Switch"
					lock true
					preserve true
					value true
				}
				{
					interface PCM
					name "IEC958 Playback Default"
					device 1
					lock true
					preserve true
					value [ $AES0 $AES1 $AES2 $AES3 ]
				}
			]
		}
	    }
	    slave.format S32_LE
	}
	capture.pcm {
	    type linear
	    slave.pcm {
		type hooks
		slave.pcm {
			type hw
			card $CARD
			device 1
		}
		hooks.0 {
			type ctl_elems
			hook_args [
				{
					interface MIXER
					name "IEC958 Capture Switch"
					lock true
					preserve true
					value true
				}
			]
		}
	    }
	    slave.format S32_LE
	}
}