1d5ac70f0Sopenharmony_ci#
2d5ac70f0Sopenharmony_ci# Configuration for the CMI8738 chip with 4/6 multi-channel support
3d5ac70f0Sopenharmony_ci#
4d5ac70f0Sopenharmony_ci
5d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf>
6d5ac70f0Sopenharmony_ci
7d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.front.0 {
8d5ac70f0Sopenharmony_ci	@args [ CARD ]
9d5ac70f0Sopenharmony_ci	@args.CARD {
10d5ac70f0Sopenharmony_ci		type string
11d5ac70f0Sopenharmony_ci	}
12d5ac70f0Sopenharmony_ci	type hw
13d5ac70f0Sopenharmony_ci	card $CARD
14d5ac70f0Sopenharmony_ci}	
15d5ac70f0Sopenharmony_ci
16d5ac70f0Sopenharmony_ci# default with dmix/dsnoop
17d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.default {
18d5ac70f0Sopenharmony_ci	@args [ CARD ]
19d5ac70f0Sopenharmony_ci	@args.CARD {
20d5ac70f0Sopenharmony_ci		type string
21d5ac70f0Sopenharmony_ci	}
22d5ac70f0Sopenharmony_ci	type asym
23d5ac70f0Sopenharmony_ci	playback.pcm {
24d5ac70f0Sopenharmony_ci		type plug
25d5ac70f0Sopenharmony_ci		slave.pcm {
26d5ac70f0Sopenharmony_ci			@func concat
27d5ac70f0Sopenharmony_ci			strings [ "dmix:" $CARD ]
28d5ac70f0Sopenharmony_ci		}
29d5ac70f0Sopenharmony_ci	}
30d5ac70f0Sopenharmony_ci	capture.pcm {
31d5ac70f0Sopenharmony_ci		type plug
32d5ac70f0Sopenharmony_ci		slave.pcm {
33d5ac70f0Sopenharmony_ci			@func concat
34d5ac70f0Sopenharmony_ci			strings [ "dsnoop:" $CARD ]
35d5ac70f0Sopenharmony_ci		}
36d5ac70f0Sopenharmony_ci	}
37d5ac70f0Sopenharmony_ci}
38d5ac70f0Sopenharmony_ci
39d5ac70f0Sopenharmony_ci<confdir:pcm/rear.conf>
40d5ac70f0Sopenharmony_ci
41d5ac70f0Sopenharmony_ci# 2nd DAC
42d5ac70f0Sopenharmony_ci# FIXME: we need a volume attenuator for rear channel.
43d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.rear.0 {
44d5ac70f0Sopenharmony_ci	@args [ CARD ]
45d5ac70f0Sopenharmony_ci	@args.CARD {
46d5ac70f0Sopenharmony_ci		type string
47d5ac70f0Sopenharmony_ci	}
48d5ac70f0Sopenharmony_ci	type hw
49d5ac70f0Sopenharmony_ci	card $CARD
50d5ac70f0Sopenharmony_ci	device 1
51d5ac70f0Sopenharmony_ci}
52d5ac70f0Sopenharmony_ci
53d5ac70f0Sopenharmony_ci<confdir:pcm/surround40.conf>
54d5ac70f0Sopenharmony_ci
55d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.surround40.0 {
56d5ac70f0Sopenharmony_ci	@args [ CARD ]
57d5ac70f0Sopenharmony_ci	@args.CARD {
58d5ac70f0Sopenharmony_ci		type string
59d5ac70f0Sopenharmony_ci	}
60d5ac70f0Sopenharmony_ci	type hooks
61d5ac70f0Sopenharmony_ci	slave.pcm {
62d5ac70f0Sopenharmony_ci		type hw
63d5ac70f0Sopenharmony_ci		card $CARD
64d5ac70f0Sopenharmony_ci		device 1
65d5ac70f0Sopenharmony_ci		channels 4
66d5ac70f0Sopenharmony_ci	}
67d5ac70f0Sopenharmony_ci	hooks.0 {
68d5ac70f0Sopenharmony_ci		type ctl_elems
69d5ac70f0Sopenharmony_ci		hook_args [
70d5ac70f0Sopenharmony_ci			{
71d5ac70f0Sopenharmony_ci				name "Four Channel Mode"
72d5ac70f0Sopenharmony_ci				lock true
73d5ac70f0Sopenharmony_ci				preserve true
74d5ac70f0Sopenharmony_ci				value false
75d5ac70f0Sopenharmony_ci			}
76d5ac70f0Sopenharmony_ci		]
77d5ac70f0Sopenharmony_ci	}
78d5ac70f0Sopenharmony_ci}	
79d5ac70f0Sopenharmony_ci
80d5ac70f0Sopenharmony_ci<confdir:pcm/surround21.conf>
81d5ac70f0Sopenharmony_ci<confdir:pcm/surround41.conf>
82d5ac70f0Sopenharmony_ci<confdir:pcm/surround50.conf>
83d5ac70f0Sopenharmony_ci<confdir:pcm/surround51.conf>
84d5ac70f0Sopenharmony_ci
85d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.surround51.0 {
86d5ac70f0Sopenharmony_ci	@args [ CARD ]
87d5ac70f0Sopenharmony_ci	@args.CARD {
88d5ac70f0Sopenharmony_ci		type string
89d5ac70f0Sopenharmony_ci	}
90d5ac70f0Sopenharmony_ci	type hooks
91d5ac70f0Sopenharmony_ci	slave.pcm {
92d5ac70f0Sopenharmony_ci		type hw
93d5ac70f0Sopenharmony_ci		card $CARD
94d5ac70f0Sopenharmony_ci		device 1
95d5ac70f0Sopenharmony_ci		channels 6
96d5ac70f0Sopenharmony_ci	}
97d5ac70f0Sopenharmony_ci	hooks.0 {
98d5ac70f0Sopenharmony_ci		type ctl_elems
99d5ac70f0Sopenharmony_ci		hook_args [
100d5ac70f0Sopenharmony_ci			{
101d5ac70f0Sopenharmony_ci				name "Four Channel Mode"
102d5ac70f0Sopenharmony_ci				lock true
103d5ac70f0Sopenharmony_ci				preserve true
104d5ac70f0Sopenharmony_ci				value false
105d5ac70f0Sopenharmony_ci			}
106d5ac70f0Sopenharmony_ci		]
107d5ac70f0Sopenharmony_ci	}
108d5ac70f0Sopenharmony_ci}	
109d5ac70f0Sopenharmony_ci
110d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf>
111d5ac70f0Sopenharmony_ci
112d5ac70f0Sopenharmony_ciCMI8738-MC6.pcm.iec958.0 {
113d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
114d5ac70f0Sopenharmony_ci	@args.CARD {
115d5ac70f0Sopenharmony_ci		type string
116d5ac70f0Sopenharmony_ci	}
117d5ac70f0Sopenharmony_ci	@args.AES0 {
118d5ac70f0Sopenharmony_ci		type integer
119d5ac70f0Sopenharmony_ci	}
120d5ac70f0Sopenharmony_ci	@args.AES1 {
121d5ac70f0Sopenharmony_ci		type integer
122d5ac70f0Sopenharmony_ci	}
123d5ac70f0Sopenharmony_ci	@args.AES2 {
124d5ac70f0Sopenharmony_ci		type integer
125d5ac70f0Sopenharmony_ci	}
126d5ac70f0Sopenharmony_ci	@args.AES3 {
127d5ac70f0Sopenharmony_ci		type integer
128d5ac70f0Sopenharmony_ci	}
129d5ac70f0Sopenharmony_ci	type asym
130d5ac70f0Sopenharmony_ci	playback.pcm {
131d5ac70f0Sopenharmony_ci		type hooks
132d5ac70f0Sopenharmony_ci		slave.pcm {
133d5ac70f0Sopenharmony_ci			type hw
134d5ac70f0Sopenharmony_ci			card $CARD
135d5ac70f0Sopenharmony_ci			device 2
136d5ac70f0Sopenharmony_ci		}
137d5ac70f0Sopenharmony_ci		hooks.0 {
138d5ac70f0Sopenharmony_ci			type ctl_elems
139d5ac70f0Sopenharmony_ci			hook_args [
140d5ac70f0Sopenharmony_ci				{
141d5ac70f0Sopenharmony_ci					interface PCM
142d5ac70f0Sopenharmony_ci					name "IEC958 Playback PCM Stream"
143d5ac70f0Sopenharmony_ci					device 2
144d5ac70f0Sopenharmony_ci					lock true
145d5ac70f0Sopenharmony_ci					preserve true
146d5ac70f0Sopenharmony_ci					value [ $AES0 $AES1 $AES2 $AES3 ]
147d5ac70f0Sopenharmony_ci				}
148d5ac70f0Sopenharmony_ci				{
149d5ac70f0Sopenharmony_ci					name "IEC958 Loop"
150d5ac70f0Sopenharmony_ci					lock true
151d5ac70f0Sopenharmony_ci					preserve true
152d5ac70f0Sopenharmony_ci					value off
153d5ac70f0Sopenharmony_ci				}
154d5ac70f0Sopenharmony_ci			]
155d5ac70f0Sopenharmony_ci		}
156d5ac70f0Sopenharmony_ci	}
157d5ac70f0Sopenharmony_ci	capture.pcm {
158d5ac70f0Sopenharmony_ci		type hw
159d5ac70f0Sopenharmony_ci		card $CARD
160d5ac70f0Sopenharmony_ci		device 2
161d5ac70f0Sopenharmony_ci	}
162d5ac70f0Sopenharmony_ci}
163