#
# Configuration for the VIA8237 chip with 4/6 multi-channel support
#
<confdir:pcm/front.conf>
VIA8237.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hw
card $CARD
}
# default with softvol/dsnoop
# VIA8237 supports multi-playback
VIA8237.pcm.default {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
type hw
card $CARD
}
control {
name "PCM Playback Volume"
card $CARD
}
}
}
capture.pcm {
type plug
slave.pcm {
@func concat
strings [ "dsnoop:" $CARD ]
}
}
}
<confdir:pcm/surround40.conf>
VIA8237.pcm.surround40.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hooks
slave.pcm {
type hw
card $CARD
device 1
channels 4
}
hooks.0 {
type ctl_elems
hook_args [
{
name "Channel Mode"
preserve true
value "4ch"
lock true
optional true
}
{
name "Surround Down Mix"
preserve true
value off
lock true
optional true
}
]
}
}
<confdir:pcm/surround21.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
VIA8237.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.pcm {
type hooks
slave.pcm {
type hw
card $CARD
device 1
channels 6
}
hooks.0 {
type ctl_elems
hook_args [
{
name "Channel Mode"
preserve true
value "6ch"
lock true
optional true
}
{
name "Surround Down Mix"
preserve true
value off
lock true
optional true
}
{
name "Center/LFE Down Mix"
preserve true
value off
lock true
optional true
}
]
}
}
slave.channels 6
}
<confdir:pcm/iec958.conf>
VIA8237.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
subdevice 3
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback AC97-SPSA"
lock true
preserve true
value 3
}
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
lock true
preserve true
value true
}
{
name "IEC958 Output Switch"
lock true
preserve true
value true
}
]
}
}