• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Configuration for the CMI8738 chip with 4/6 multi-channel support
3#
4
5<confdir:pcm/front.conf>
6
7CMI8738-MC6.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
17CMI8738-MC6.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.
43CMI8738-MC6.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
55CMI8738-MC6.pcm.surround40.0 {
56	@args [ CARD ]
57	@args.CARD {
58		type string
59	}
60	type hooks
61	slave.pcm {
62		type hw
63		card $CARD
64		device 1
65		channels 4
66	}
67	hooks.0 {
68		type ctl_elems
69		hook_args [
70			{
71				name "Four Channel Mode"
72				lock true
73				preserve true
74				value false
75			}
76		]
77	}
78}
79
80<confdir:pcm/surround21.conf>
81<confdir:pcm/surround41.conf>
82<confdir:pcm/surround50.conf>
83<confdir:pcm/surround51.conf>
84
85CMI8738-MC6.pcm.surround51.0 {
86	@args [ CARD ]
87	@args.CARD {
88		type string
89	}
90	type hooks
91	slave.pcm {
92		type hw
93		card $CARD
94		device 1
95		channels 6
96	}
97	hooks.0 {
98		type ctl_elems
99		hook_args [
100			{
101				name "Four Channel Mode"
102				lock true
103				preserve true
104				value false
105			}
106		]
107	}
108}
109
110<confdir:pcm/iec958.conf>
111
112CMI8738-MC6.pcm.iec958.0 {
113	@args [ CARD AES0 AES1 AES2 AES3 ]
114	@args.CARD {
115		type string
116	}
117	@args.AES0 {
118		type integer
119	}
120	@args.AES1 {
121		type integer
122	}
123	@args.AES2 {
124		type integer
125	}
126	@args.AES3 {
127		type integer
128	}
129	type asym
130	playback.pcm {
131		type hooks
132		slave.pcm {
133			type hw
134			card $CARD
135			device 2
136		}
137		hooks.0 {
138			type ctl_elems
139			hook_args [
140				{
141					interface PCM
142					name "IEC958 Playback PCM Stream"
143					device 2
144					lock true
145					preserve true
146					value [ $AES0 $AES1 $AES2 $AES3 ]
147				}
148				{
149					name "IEC958 Loop"
150					lock true
151					preserve true
152					value off
153				}
154			]
155		}
156	}
157	capture.pcm {
158		type hw
159		card $CARD
160		device 2
161	}
162}
163