mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2026-05-31 21:38:37 -04:00
There may be multiple CA0106 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
281 lines
3.8 KiB
Text
281 lines
3.8 KiB
Text
#
|
|
# Configuration for the CA0106 chip
|
|
#
|
|
|
|
# default with dmix & dsnoop
|
|
CA0106.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/front.conf>
|
|
|
|
CA0106.pcm.front.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type hw
|
|
card $CARD
|
|
}
|
|
|
|
<confdir:pcm/rear.conf>
|
|
|
|
CA0106.pcm.rear.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type hw
|
|
card $CARD
|
|
device 1
|
|
}
|
|
|
|
<confdir:pcm/center_lfe.conf>
|
|
|
|
CA0106.pcm.center_lfe.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type hw
|
|
card $CARD
|
|
device 2
|
|
}
|
|
|
|
<confdir:pcm/side.conf>
|
|
|
|
CA0106.pcm.side.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type hw
|
|
card $CARD
|
|
device 3
|
|
}
|
|
|
|
<confdir:pcm/surround40.conf>
|
|
|
|
CA0106.pcm.surround40.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type multi
|
|
slaves [
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.front.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.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/surround21.conf>
|
|
<confdir:pcm/surround41.conf>
|
|
<confdir:pcm/surround50.conf>
|
|
<confdir:pcm/surround51.conf>
|
|
<confdir:pcm/surround71.conf>
|
|
|
|
CA0106.pcm.surround51.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type multi
|
|
slaves [
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.front.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.rear.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.center_lfe.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
]
|
|
bindings [
|
|
{ slave 0 channel 0 }
|
|
{ slave 0 channel 1 }
|
|
{ slave 1 channel 0 }
|
|
{ slave 1 channel 1 }
|
|
{ slave 2 channel 0 }
|
|
{ slave 2 channel 1 }
|
|
]
|
|
}
|
|
|
|
CA0106.pcm.surround71.!0 {
|
|
@args [ CARD ]
|
|
@args.CARD {
|
|
type string
|
|
}
|
|
type multi
|
|
slaves [
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.front.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.rear.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.center_lfe.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
{
|
|
pcm {
|
|
@func concat
|
|
strings [
|
|
"cards.CA0106.pcm.side.0:CARD=" $CARD
|
|
]
|
|
}
|
|
channels 2
|
|
}
|
|
]
|
|
bindings [
|
|
{ slave 0 channel 0 }
|
|
{ slave 0 channel 1 }
|
|
{ slave 1 channel 0 }
|
|
{ slave 1 channel 1 }
|
|
{ slave 2 channel 0 }
|
|
{ slave 2 channel 1 }
|
|
{ slave 3 channel 0 }
|
|
{ slave 3 channel 1 }
|
|
]
|
|
}
|
|
|
|
|
|
|
|
|
|
<confdir:pcm/iec958.conf>
|
|
|
|
CA0106.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 [
|
|
{
|
|
name "IEC958 Front Playback Volume"
|
|
index 0
|
|
lock true
|
|
preserve true
|
|
value [ 207 207 ] # Puts 0x30303030 in the Volume register. 0xff - 0x30 = 0xcf = 207
|
|
}
|
|
{
|
|
name "IEC958 Playback Switch"
|
|
lock true
|
|
preserve true
|
|
value 1
|
|
}
|
|
{
|
|
interface PCM
|
|
name "IEC958 Playback Default"
|
|
index 1
|
|
lock true
|
|
preserve true
|
|
optional true
|
|
value [ $AES0 $AES1 $AES2 $AES3 ]
|
|
}
|
|
{
|
|
# for compatibility with older drivers
|
|
name "IEC958 Playback Default"
|
|
index 1
|
|
lock true
|
|
preserve true
|
|
optional true
|
|
value [ $AES0 $AES1 $AES2 $AES3 ]
|
|
}
|
|
]
|
|
}
|
|
}
|