Skip to content

Commit ae22c2e

Browse files
authored
Add VC4 hdmi support (RPi4) (#50)
1 parent e2dc6e4 commit ae22c2e

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Configuration for the VC4-HDMI sound card using software IEC958
2+
# subframe conversion
3+
4+
<confdir:pcm/hdmi.conf>
5+
vc4-hdmi.pcm.hdmi.0 {
6+
@args [ CARD AES0 AES1 AES2 AES3 ]
7+
@args.CARD {
8+
type string
9+
}
10+
@args.AES0 {
11+
type integer
12+
}
13+
@args.AES1 {
14+
type integer
15+
}
16+
@args.AES2 {
17+
type integer
18+
}
19+
@args.AES3 {
20+
type integer
21+
default 0x01 # IEC958_AES3_CON_FS_NOTID
22+
}
23+
type iec958
24+
slave {
25+
format IEC958_SUBFRAME_LE
26+
pcm {
27+
type hooks
28+
slave.pcm {
29+
type hw
30+
card $CARD
31+
device 0
32+
}
33+
hooks.0 {
34+
type ctl_elems
35+
hook_args [
36+
{
37+
name "IEC958 Playback Default"
38+
optional true
39+
lock true
40+
preserve true
41+
value [ $AES0 $AES1 $AES2 $AES3 ]
42+
}
43+
]
44+
}
45+
}
46+
}
47+
status [ $AES0 $AES1 $AES2 $AES3 ]
48+
hdmi_mode true
49+
}
50+
51+
# default with plug
52+
vc4-hdmi.pcm.default {
53+
@args [ CARD ]
54+
@args.CARD {
55+
type string
56+
}
57+
type plug
58+
slave.pcm {
59+
type softvol
60+
slave.pcm {
61+
@func concat
62+
strings [
63+
"hdmi:"
64+
"CARD=" $CARD ","
65+
"AES0=0x00," # IEC958_AES0_CON_EMPHASIS_NONE
66+
"AES1=0x82," # IEC958_AES1_CON_ORIGINAL | IEC958_AES1_CON_PCM_CODER
67+
"AES2=0x00," # IEC958_AES2_CON_SOURCE_UNSPEC | IEC958_AES2_CON_CHANNEL_UNSPEC
68+
"AES3=0x01" # IEC958_AES3_CON_FS_NOTID
69+
]
70+
}
71+
control {
72+
name "PCM Playback Volume"
73+
card $CARD
74+
}
75+
}
76+
}

0 commit comments

Comments
 (0)