#
# Configuration for the Intel HD audio (ICH6/ICH7)
#
<confdir:pcm/front.conf>
HDA-Intel.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type softvol
slave.pcm {
type hw
card $CARD
subdevice 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
capture.pcm {
type hw
card $CARD
}
}
# default with dmix+softvol & dsnoop
HDA-Intel.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 {
type softvol
slave.pcm {
@func concat
strings [ "dsnoop:" $CARD ]
}
control {
name "Digital Capture Volume"
card $CARD
}
min_dB -30.0
max_dB 30.0
resolution 121
}
# to avoid possible phase inversions with digital mics
route_policy copy
}
hint.device 0
}
<confdir:pcm/surround21.conf>
<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>
HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0
<confdir:pcm/iec958.conf>
HDA-Intel.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 1
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
index 16
optional true
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
index 16
optional true
value true
# if this element is present, skip the rest
skip_rest true
}
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
value true
}
]
}
}
capture.pcm {
type hooks
slave.pcm {
type hw
card $CARD
device 1
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Capture Switch"
lock true
preserve true
value true
}
]
}
}
hint.device 1
}
<confdir:pcm/hdmi.conf>
HDA-Intel.pcm.hdmi.common {
@args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.DEVICE {
type integer
}
@args.CTLINDEX {
type integer
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type hooks
slave.pcm {
type hw
card $CARD
device $DEVICE
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
index $CTLINDEX
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
index $CTLINDEX
value true
}
]
}
hint.device $DEVICE
}
HDA-Intel.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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=3,"
"CTLINDEX=0,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.1 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=7,"
"CTLINDEX=1,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.2 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=8,"
"CTLINDEX=2,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.3 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=9,"
"CTLINDEX=3,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.4 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=10,"
"CTLINDEX=4,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.5 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=11,"
"CTLINDEX=5,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.6 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=12,"
"CTLINDEX=6,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
HDA-Intel.pcm.hdmi.7 {
@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 }
@func refer
name {
@func concat
strings [
"cards.HDA-Intel.pcm.hdmi.common:"
"CARD=" $CARD ","
"DEVICE=13,"
"CTLINDEX=7,"
"AES0=" $AES0 ","
"AES1=" $AES1 ","
"AES2=" $AES2 ","
"AES3=" $AES3
]
}
}
<confdir:pcm/modem.conf>
HDA-Intel.pcm.modem.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hw
card $CARD
device 6
hint.show off
}