1#
2# Configuration for the CMI8338/8738 chip (w/o multi-channel support)
3#
4
5<confdir:pcm/front.conf>
6
7CMI8338.pcm.front.0 {
8	@args [ CARD ]
9	@args.CARD {
10		type string
11	}
12	type hw
13	card $CARD
14}	
15
16# default with dmix/dsnoop
17CMI8338.pcm.default {
18	@args [ CARD ]
19	@args.CARD {
20		type string
21	}
22	type asym
23	playback.pcm {
24		type plug
25		slave.pcm {
26			@func concat
27			strings [ "dmix:" $CARD ]
28		}
29	}
30	capture.pcm {
31		type plug
32		slave.pcm {
33			@func concat
34			strings [ "dsnoop:" $CARD ]
35		}
36	}
37}
38
39<confdir:pcm/rear.conf>
40
41# 2nd DAC
42# FIXME: we need a volume attenuator for rear channel.
43CMI8338.pcm.rear.0 {
44	@args [ CARD ]
45	@args.CARD {
46		type string
47	}
48	type hw
49	card $CARD
50	device 1
51}
52
53<confdir:pcm/surround40.conf>
54
55# for the old CM8738 with 2nd DAC for rear
56CMI8338.pcm.surround40.0 {
57	@args [ CARD ]
58	@args.CARD {
59		type string
60	}
61	type multi
62	master 1
63	slaves [
64		{
65			pcm {
66				@func concat
67				strings [
68					"cards.CMI8338.pcm.front.0:CARD=" $CARD
69				]
70			}
71			channels 2
72		}
73		{
74			pcm {
75				@func concat
76				strings [
77					"cards.CMI8338.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
93CMI8338.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 asym
111	playback.pcm {
112		type hooks
113		slave.pcm {
114			type hw
115			card $CARD
116			device 2
117		}
118		hooks.0 {
119			type ctl_elems
120			hook_args [
121				{
122					interface PCM
123					name "IEC958 Playback PCM Stream"
124					device 2
125					lock true
126					preserve true
127					value [ $AES0 $AES1 $AES2 $AES3 ]
128				}
129				{
130					name "IEC958 Loop"
131					lock true
132					preserve true
133					value off
134				}
135			]
136		}
137	}
138	capture.pcm {
139		type hw
140		card $CARD
141		device 2
142	}
143}
144