1d5ac70f0Sopenharmony_ci#
2d5ac70f0Sopenharmony_ci# Configuration for the CMI8338/8738 chip (w/o multi-channel support)
3d5ac70f0Sopenharmony_ci# using software IEC958 subframe conversion
4d5ac70f0Sopenharmony_ci#
5d5ac70f0Sopenharmony_ci
6d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf>
7d5ac70f0Sopenharmony_ci
8d5ac70f0Sopenharmony_ciCMI8338-SWIEC.pcm.front.0 {
9d5ac70f0Sopenharmony_ci	@args [ CARD ]
10d5ac70f0Sopenharmony_ci	@args.CARD {
11d5ac70f0Sopenharmony_ci		type string
12d5ac70f0Sopenharmony_ci	}
13d5ac70f0Sopenharmony_ci	type hw
14d5ac70f0Sopenharmony_ci	card $CARD
15d5ac70f0Sopenharmony_ci}	
16d5ac70f0Sopenharmony_ci
17d5ac70f0Sopenharmony_ci# default with dmix/dsnoop
18d5ac70f0Sopenharmony_ciCMI8338-SWIEC.pcm.default {
19d5ac70f0Sopenharmony_ci	@args [ CARD ]
20d5ac70f0Sopenharmony_ci	@args.CARD {
21d5ac70f0Sopenharmony_ci		type string
22d5ac70f0Sopenharmony_ci	}
23d5ac70f0Sopenharmony_ci	type asym
24d5ac70f0Sopenharmony_ci	playback.pcm {
25d5ac70f0Sopenharmony_ci		type plug
26d5ac70f0Sopenharmony_ci		slave.pcm {
27d5ac70f0Sopenharmony_ci			@func concat
28d5ac70f0Sopenharmony_ci			strings [ "dmix:" $CARD ]
29d5ac70f0Sopenharmony_ci		}
30d5ac70f0Sopenharmony_ci	}
31d5ac70f0Sopenharmony_ci	capture.pcm {
32d5ac70f0Sopenharmony_ci		type plug
33d5ac70f0Sopenharmony_ci		slave.pcm {
34d5ac70f0Sopenharmony_ci			@func concat
35d5ac70f0Sopenharmony_ci			strings [ "dsnoop:" $CARD ]
36d5ac70f0Sopenharmony_ci		}
37d5ac70f0Sopenharmony_ci	}
38d5ac70f0Sopenharmony_ci}
39d5ac70f0Sopenharmony_ci
40d5ac70f0Sopenharmony_ci<confdir:pcm/rear.conf>
41d5ac70f0Sopenharmony_ci
42d5ac70f0Sopenharmony_ci# 2nd DAC
43d5ac70f0Sopenharmony_ci# FIXME: we need a volume attenuator for rear channel.
44d5ac70f0Sopenharmony_ciCMI8338-SWIEC.pcm.rear.0 {
45d5ac70f0Sopenharmony_ci	@args [ CARD ]
46d5ac70f0Sopenharmony_ci	@args.CARD {
47d5ac70f0Sopenharmony_ci		type string
48d5ac70f0Sopenharmony_ci	}
49d5ac70f0Sopenharmony_ci	type hw
50d5ac70f0Sopenharmony_ci	card $CARD
51d5ac70f0Sopenharmony_ci	device 1
52d5ac70f0Sopenharmony_ci}
53d5ac70f0Sopenharmony_ci
54d5ac70f0Sopenharmony_ci<confdir:pcm/surround40.conf>
55d5ac70f0Sopenharmony_ci
56d5ac70f0Sopenharmony_ci# for the old CM8738 with 2nd DAC for rear
57d5ac70f0Sopenharmony_ciCMI8338-SWIEC.pcm.surround40.0 {
58d5ac70f0Sopenharmony_ci	@args [ CARD ]
59d5ac70f0Sopenharmony_ci	@args.CARD {
60d5ac70f0Sopenharmony_ci		type string
61d5ac70f0Sopenharmony_ci	}
62d5ac70f0Sopenharmony_ci	type multi
63d5ac70f0Sopenharmony_ci	master 1
64d5ac70f0Sopenharmony_ci	slaves [
65d5ac70f0Sopenharmony_ci		{
66d5ac70f0Sopenharmony_ci			pcm {
67d5ac70f0Sopenharmony_ci				@func concat
68d5ac70f0Sopenharmony_ci				strings [
69d5ac70f0Sopenharmony_ci					"cards.CMI8338-SWIEC.pcm.front.0:CARD=" $CARD
70d5ac70f0Sopenharmony_ci				]
71d5ac70f0Sopenharmony_ci			}
72d5ac70f0Sopenharmony_ci			channels 2
73d5ac70f0Sopenharmony_ci		}
74d5ac70f0Sopenharmony_ci		{
75d5ac70f0Sopenharmony_ci			pcm {
76d5ac70f0Sopenharmony_ci				@func concat
77d5ac70f0Sopenharmony_ci				strings [
78d5ac70f0Sopenharmony_ci					"cards.CMI8338-SWIEC.pcm.rear.0:CARD=" $CARD
79d5ac70f0Sopenharmony_ci				]
80d5ac70f0Sopenharmony_ci			}
81d5ac70f0Sopenharmony_ci			channels 2
82d5ac70f0Sopenharmony_ci		}
83d5ac70f0Sopenharmony_ci	]
84d5ac70f0Sopenharmony_ci	bindings [
85d5ac70f0Sopenharmony_ci		{ slave 0 channel 0 }
86d5ac70f0Sopenharmony_ci		{ slave 0 channel 1 }
87d5ac70f0Sopenharmony_ci		{ slave 1 channel 0 }
88d5ac70f0Sopenharmony_ci		{ slave 1 channel 1 }
89d5ac70f0Sopenharmony_ci	]
90d5ac70f0Sopenharmony_ci}
91d5ac70f0Sopenharmony_ci
92d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf>
93d5ac70f0Sopenharmony_ci
94d5ac70f0Sopenharmony_ciCMI8338-SWIEC.pcm.iec958.0 {
95d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
96d5ac70f0Sopenharmony_ci	@args.CARD {
97d5ac70f0Sopenharmony_ci		type string
98d5ac70f0Sopenharmony_ci	}
99d5ac70f0Sopenharmony_ci	@args.AES0 {
100d5ac70f0Sopenharmony_ci		type integer
101d5ac70f0Sopenharmony_ci	}
102d5ac70f0Sopenharmony_ci	@args.AES1 {
103d5ac70f0Sopenharmony_ci		type integer
104d5ac70f0Sopenharmony_ci	}
105d5ac70f0Sopenharmony_ci	@args.AES2 {
106d5ac70f0Sopenharmony_ci		type integer
107d5ac70f0Sopenharmony_ci	}
108d5ac70f0Sopenharmony_ci	@args.AES3 {
109d5ac70f0Sopenharmony_ci		type integer
110d5ac70f0Sopenharmony_ci	}
111d5ac70f0Sopenharmony_ci	type asym
112d5ac70f0Sopenharmony_ci	playback.pcm {
113d5ac70f0Sopenharmony_ci		type iec958
114d5ac70f0Sopenharmony_ci		slave.pcm {
115d5ac70f0Sopenharmony_ci			type hw
116d5ac70f0Sopenharmony_ci			card $CARD
117d5ac70f0Sopenharmony_ci			device 2
118d5ac70f0Sopenharmony_ci		}
119d5ac70f0Sopenharmony_ci		status [ $AES0 $AES1 $AES2 $AES3 ]
120d5ac70f0Sopenharmony_ci		preamble.z 3
121d5ac70f0Sopenharmony_ci		preamble.y 5
122d5ac70f0Sopenharmony_ci		preamble.x 9
123d5ac70f0Sopenharmony_ci	}
124d5ac70f0Sopenharmony_ci	capture.pcm {
125d5ac70f0Sopenharmony_ci		type hw
126d5ac70f0Sopenharmony_ci		card $CARD
127d5ac70f0Sopenharmony_ci		device 2
128d5ac70f0Sopenharmony_ci	}
129d5ac70f0Sopenharmony_ci}
130