2 // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3 // Use is subject to license terms.
5 // Copyright (C) 4Front Technologies 1996-2008.
9 // The contents of this file are subject to the terms of the
10 // Common Development and Distribution License (the "License").
11 // You may not use this file except in compliance with the License.
13 // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14 // or http://www.opensolaris.org/os/licensing.
15 // See the License for the specific language governing permissions
16 // and limitations under the License.
18 // When distributing Covered Code, include this CDDL HEADER in each
19 // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20 // If applicable, add the following below this CDDL HEADER, with the
21 // fields enclosed by brackets "[]" replaced with your own identifying
22 // information: Portions Copyright [yyyy] [name of copyright owner]
26 // Constants for EMU 10k1 (SB Live)
35 .input IN_SPDIF1_L 6 // TOSLink
37 .input IN_LINE2_L 8 // LiveDrive (Line/Mic In 1)
39 .input IN_SPDIF2_L 10 // LiveDrive (Coax S/PDIF input)
41 .input IN_AUX2_L 12 // LiveDrive (Line/Mic 2)
45 .output OUT_FRONT_L 0 // via AC'97
46 .output OUT_FRONT_R 1 // via AC'97
49 .output OUT_DCENTER 4 // Digital Center channel
50 .output OUT_DLFE 5 // Digital LFE
51 .output OUT_HEADPH_L 6 // LiveDrive headphone out
52 .output OUT_HEADPH_R 7
53 .output OUT_SURR_L 8 // Rear output
55 .output OUT_ADC_L 10 // Send to the ADC recording channel
57 .output OUT_MICREC 12 // Send to the mic recording buffer
58 .output OUT_AC97SURR_L 13 // AC97 Surround L
59 .output OUT_AC97SURR_R 14 // AC97 Surround R
61 .output OUT_ACENTER 17 // Analog center channel
62 .output OUT_ALFE 18 // Analog LFE output
76 // Load up the PCM inputs. We multiply each of them by 4, as
77 // otherwise they are too quiet.
78 MACINTS(PCM_FRONT_L, 0 FX_FRONT_L, 4)
79 MACINTS(PCM_FRONT_R, 0 FX_FRONT_R, 4)
80 MACINTS(PCM_SURR_L, 0, FX_SURR_L, 4)
81 MACINTS(PCM_SURR_R, 0, FX_SURR_R, 4)
82 MACINTS(PCM_CEN, 0, FX_CEN, 4)
83 MACINTS(PCM_LFE, 0, FX_LFE, 4)
85 // Apply PCM (wave) volume
86 MACS(PCM_FRONT_L, 0, PCM_FRONT_L, VOL_PCM)
87 MACS(PCM_FRONT_R, 0, PCM_FRONT_R, VOL_PCM)
88 MACS(PCM_SURR_L, 0, PCM_SURR_L, VOL_PCM)
89 MACS(PCM_SURR_R, 0, PCM_SURR_R, VOL_PCM)
90 MACS(PCM_CEN, 0, PCM_CEN, VOL_PCM)
91 MACS(PCM_LFE, 0, PCM_LFE, VOL_PCM)
93 // Mix any monitor sources into the front PCM
94 // AC'97 (includes Line-In, analog CD, and Mic)
95 MACS(PCM_FRONT_L, PCM_FRONT_L, IN_AC97_L, MON_AC97_L)
96 MACS(PCM_FRONT_R, PCM_FRONT_R, IN_AC97_R, MON_AC97_R)
98 MACS(PCM_FRONT_L, PCM_FRONT_L, IN_DIGCD_L, MON_DIGCD_L)
99 MACS(PCM_FRONT_R, PCM_FRONT_R, IN_DIGCD_R, MON_DIGCD_R)
101 MACS(PCM_FRONT_L, PCM_FRONT_L, IN_SPDIF1_L, MON_SPDIF1_L)
102 MACS(PCM_FRONT_R, PCM_FRONT_R, IN_SPDIF1_R, MON_SPDIF1_R)
104 MACS(PCM_FRONT_L, PCM_FRONT_L, IN_SPDIF2_L, MON_SPDIF2_L)
105 MACS(PCM_FRONT_R, PCM_FRONT_R, IN_SPDIF2_R, MON_SPDIF2_R)
106 // Line2/Mic2 (Live! Drive)
107 MACS(PCM_FRONT_L, PCM_FRONT_L, IN_LINE2_L, MON_LINE2_L)
108 MACS(PCM_FRONT_R, PCM_FRONT_R, IN_LINE2_R, MON_LINE2_R)
109 // Aux2 (Live! Drive)
110 MACS(PCM_FRONT_L, PCM_FRONT_L, IN_AUX2_L, MON_AUX2_L)
111 MACS(PCM_FRONT_R, PCM_FRONT_R, IN_AUX2_R, MON_AUX2_R)
114 MACS(OUT_FRONT_L, 0, PCM_FRONT_L, VOL_FRONT_L)
115 MACS(OUT_FRONT_R, 0, PCM_FRONT_R, VOL_FRONT_R)
116 MACS(OUT_SPDIF_L, 0, PCM_FRONT_L, VOL_FRONT_L)
117 MACS(OUT_SPDIF_R, 0, PCM_FRONT_R, VOL_FRONT_R)
118 MACS(OUT_HEADPH_L, 0, PCM_FRONT_L, VOL_HEADPH_L)
119 MACS(OUT_HEADPH_R, 0, PCM_FRONT_R, VOL_HEADPH_R)
120 MACS(OUT_SURR_L, 0, PCM_SURR_L, VOL_SURR_L)
121 MACS(OUT_SURR_R, 0, PCM_SURR_R, VOL_SURR_R)
122 MACS(OUT_AC97SURR_L, 0, PCM_SURR_L, VOL_SURR_L)
123 MACS(OUT_AC97SURR_R, 0, PCM_SURR_R, VOL_SURR_R)
124 MACS(OUT_DCENTER, 0, PCM_CEN, VOL_CEN)
125 MACS(OUT_ACENTER, 0, PCM_CEN, VOL_CEN)
126 MACS(OUT_DLFE, 0, PCM_LFE, VOL_LFE)
127 MACS(OUT_ALFE, 0, PCM_LFE, VOL_LFE)
129 // Inputs (Recording) -- the source variables are treated as
130 // simple boolean enables.
131 MACINTS(PCM_REC_L, 0, IN_AC97_L, REC_AC97)
132 MACINTS(PCM_REC_R, 0, IN_AC97_R, REC_AC97)
134 MACINTS(PCM_REC_L, PCM_REC_L, IN_DIGCD_L, REC_DIGCD)
135 MACINTS(PCM_REC_R, PCM_REC_R, IN_DIGCD_R, REC_DIGCD)
137 MACINTS(PCM_REC_L, PCM_REC_L, IN_SPDIF1_L, REC_SPDIF1)
138 MACINTS(PCM_REC_R, PCM_REC_R, IN_SPDIF1_R, REC_SPDIF1)
140 MACINTS(PCM_REC_L, PCM_REC_L, IN_SPDIF2_L, REC_SPDIF2)
141 MACINTS(PCM_REC_R, PCM_REC_R, IN_SPDIF2_R, REC_SPDIF2)
143 MACINTS(PCM_REC_L, PCM_REC_L, IN_AUX2_L, REC_AUX2)
144 MACINTS(PCM_REC_R, PCM_REC_R, IN_AUX2_R, REC_AUX2)
146 MACINTS(PCM_REC_L, PCM_REC_L, IN_LINE2_L, REC_LINE2)
147 MACINTS(PCM_REC_R, PCM_REC_R, IN_LINE2_R, REC_LINE2)
149 MACINTS(PCM_REC_L, PCM_REC_L, PCM_FRONT_L, REC_PCM)
150 MACINTS(PCM_REC_R, PCM_REC_R, PCM_FRONT_R, REC_PCM)
152 // Apply master record gain
153 MACS(OUT_ADC_L, 0, PCM_REC_L, VOL_REC_L)
154 MACS(OUT_ADC_R, 0, PCM_REC_R, VOL_REC_R)