• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Configuration for the VC4-HDMI sound card using software IEC958
3# subframe conversion
4#
5
6<confdir:pcm/hdmi.conf>
7
8vc4-hdmi.pcm.hdmi.0 {
9	@args [ CARD AES0 AES1 AES2 AES3 ]
10	@args.CARD {
11		type string
12	}
13	@args.AES0 {
14		type integer
15	}
16	@args.AES1 {
17		type integer
18	}
19	@args.AES2 {
20		type integer
21	}
22	@args.AES3 {
23		type integer
24	}
25	type iec958
26	slave {
27		format IEC958_SUBFRAME_LE
28		pcm {
29			type hooks
30			slave.pcm {
31				type hw
32				card $CARD
33				device 0
34			}
35			hooks.0 {
36				type ctl_elems
37				hook_args [
38				{
39					name "IEC958 Playback Default"
40					interface PCM
41					optional true
42					lock true
43					preserve true
44					value [ $AES0 $AES1 $AES2 $AES3 ]
45				}
46				]
47			}
48		}
49	}
50	status [ $AES0 $AES1 $AES2 $AES3 ]
51	hdmi_mode true
52}
53
54# default with plug and softvol
55vc4-hdmi.pcm.default {
56	@args [ CARD ]
57	@args.CARD {
58		type string
59	}
60	type asym
61	playback.pcm {
62		type plug
63		slave.pcm {
64			type softvol
65			slave.pcm {
66				@func concat
67				strings [
68					"cards.vc4-hdmi.pcm.hdmi.0:"
69					"CARD=" $CARD ","
70					"AES0=0x04,"	# IEC958_AES0_CON_NOT_COPYRIGHT | IEC958_AES0_CON_EMPHASIS_NONE
71					"AES1=0x82,"	# IEC958_AES1_CON_ORIGINAL | IEC958_AES1_CON_PCM_CODER
72					"AES2=0x00,"	# IEC958_AES2_CON_SOURCE_UNSPEC | IEC958_AES2_CON_CHANNEL_UNSPEC
73					"AES3=0x01"	# IEC958_AES3_CON_FS_NOTID (iec958 plugin will fill in actual rate)
74				]
75			}
76			control {
77				name "PCM Playback Volume"
78				card $CARD
79			}
80		}
81	}
82}
83