#
# Configuration for the CMI8338/8738 chip (w/o multi-channel support)
#
<confdir:pcm/front.conf>
CMI8338.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hw
card $CARD
}
# default with dmix/dsnoop
CMI8338.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>
# 2nd DAC
# FIXME: we need a volume attenuator for rear channel.
CMI8338.pcm.rear.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hw
card $CARD
device 1
}
<confdir:pcm/surround40.conf>
# for the old CM8738 with 2nd DAC for rear
CMI8338.pcm.surround40.0 {
@args [ CARD ]
@args.CARD {
type string
}
type multi
master 1
slaves [
{
pcm {
@func concat
strings [
"cards.CMI8338.pcm.front.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.CMI8338.pcm.rear.0:CARD=" $CARD
]
}
channels 2
}
]
bindings [
{ slave 0 channel 0 }
{ slave 0 channel 1 }
{ slave 1 channel 0 }
{ slave 1 channel 1 }
]
}
<confdir:pcm/iec958.conf>
CMI8338.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 hooks
slave.pcm {
type hw
card $CARD
device 2
}
hooks.0 {
type ctl_elems
hook_args [
{
interface PCM
name "IEC958 Playback PCM Stream"
device 2
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Loop"
lock true
preserve true
value off
}
]
}
}
capture.pcm {
type hw
card $CARD
device 2
}
}