1#
2# Configuration for the Trident 4D-Wave NX chip
3#
4
5<confdir:pcm/front.conf>
6
7TRID4DWAVENX.pcm.front.0 {
8	@args [ CARD ]
9	@args.CARD {
10		type string
11	}
12	type hw
13	card $CARD
14}	
15
16<confdir:pcm/rear.conf>
17
18TRID4DWAVENX.pcm.rear.0 {
19	@args [ CARD ]
20	@args.CARD {
21		type string
22	}
23	type hooks
24	slave.pcm {
25		type hw
26		card $CARD
27	}
28	hooks.0 {
29		type ctl_elems
30		hook_args [
31			{
32				name "Rear Path"
33				lock true
34				preserve true
35				value true
36			}
37			{
38				name "PCM Front Playback Volume"
39				index { @func private_pcm_subdevice }
40				lock true
41				preserve true
42				value 0
43			}
44			{
45				name "PCM Reverb Playback Volume"
46				index { @func private_pcm_subdevice }
47				lock true
48				preserve true
49				value 127
50			}
51		]
52	}
53}	
54
55<confdir:pcm/surround40.conf>
56
57TRID4DWAVENX.pcm.surround40.0 {
58	@args [ CARD ]
59	@args.CARD {
60		type string
61	}
62	type multi
63	slaves [
64		{
65			pcm {
66				@func concat
67				strings [
68					"cards.TRID4DWAVENX.pcm.front.0:CARD=" $CARD
69				]
70			}
71			channels 2
72		}
73		{
74			pcm {
75				@func concat
76				strings [
77					"cards.TRID4DWAVENX.pcm.rear.0:CARD=" $CARD
78				]
79			}
80			channels 2
81		}
82	]
83	bindings [
84		{ slave 0 channel 0 }
85		{ slave 0 channel 1 }
86		{ slave 1 channel 0 }
87		{ slave 1 channel 1 }
88	]
89}
90
91<confdir:pcm/iec958.conf>
92
93TRID4DWAVENX.pcm.iec958.0 {
94	@args [ CARD AES0 AES1 AES2 AES3 ]
95	@args.CARD {
96		type string
97	}
98	@args.AES0 {
99		type integer
100	}
101	@args.AES1 {
102		type integer
103	}
104	@args.AES2 {
105		type integer
106	}
107	@args.AES3 {
108		type integer
109	}
110	type hooks
111	slave.pcm {
112		type hw
113		card $CARD
114		device 2
115	}
116	hooks.0 {
117		type ctl_elems
118		hook_args [
119			{
120				interface PCM
121				name "IEC958 Playback PCM Stream"
122				value [ $AES0 $AES1 $AES2 $AES3 ]
123				device 2
124				lock true
125				preserve true
126			}
127		]
128	}
129}
130