USB-Audio: Add second S/PDIF device on Phiree U2

Phiree U2 has an unusual configuration. It only has S/PDIF output, but
there are still two devices presented:
- device 0: PCM audio, subject to volume control
- device 1: non-PCM data (passthrough), not subject to volume control

It looks like the AES bits are set according to the selected device,
since outputting PCM data via device 1 will not work (silence).

Currently only the device 0 is shown via the "iec958" alias, and the
second device is not accessible via hinted aliases.

Simply provide access to both of these devices via the "iec958" alias.

Reported-by: touc @ XBMC forum
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Anssi Hannula 2014-07-08 11:19:20 +03:00 committed by Takashi Iwai
parent 27cc710b57
commit ea865bba46

View file

@ -52,6 +52,11 @@ USB-Audio.pcm.iec958_device {
"USB Device 0x46d:0x992" 999
}
# Second iec958 device number, if any.
USB-Audio.pcm.iec958_2_device {
"PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
}
# If a device requires non-standard definitions for front, surround40,
# surround51, surround71 or iec958, they can be defined here.
@ -422,4 +427,39 @@ USB-Audio.pcm.iec958.0 {
}
}
USB-Audio.pcm.iec958.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.USB-Audio."
{ @func card_name card $CARD }
".pcm.iec958_2:CARD=" $CARD
",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
]
}
default {
# FIXME: we cannot set the AES parameters
type hw
card $CARD
device {
@func refer
name {
@func concat
strings [
"cards.USB-Audio.pcm.iec958_2_device."
{ @func card_name card $CARD }
]
}
default 999
}
}
}
# vim: ft=alsaconf