aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ice1712/phase.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/ice1712/phase.c')
-rw-r--r--sound/pci/ice1712/phase.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/sound/pci/ice1712/phase.c b/sound/pci/ice1712/phase.c
index f5acdeef4438..6a614729280f 100644
--- a/sound/pci/ice1712/phase.c
+++ b/sound/pci/ice1712/phase.c
@@ -22,15 +22,24 @@
22 */ 22 */
23 23
24/* PHASE 22 overview: 24/* PHASE 22 overview:
25 * Audio controller: VIA Envy24HT-S (slightly trimmed down version of Envy24HT) 25 * Audio controller: VIA Envy24HT-S (slightly trimmed down Envy24HT, 4in/4out)
26 * Analog chip: AK4524 (partially via Philip's 74HCT125) 26 * Analog chip: AK4524 (partially via Philip's 74HCT125)
27 * Digital receiver: CS8414-CS (not supported in this release) 27 * Digital receiver: CS8414-CS (supported in this release)
28 * PHASE 22 revision 2.0 and Terrasoniq/Musonik TS22PCI have CS8416
29 * (support status unknown, please test and report)
28 * 30 *
29 * Envy connects to AK4524 31 * Envy connects to AK4524
30 * - CS directly from GPIO 10 32 * - CS directly from GPIO 10
31 * - CCLK via 74HCT125's gate #4 from GPIO 4 33 * - CCLK via 74HCT125's gate #4 from GPIO 4
32 * - CDTI via 74HCT125's gate #2 from GPIO 5 34 * - CDTI via 74HCT125's gate #2 from GPIO 5
33 * CDTI may be completely blocked by 74HCT125's gate #1 controlled by GPIO 3 35 * CDTI may be completely blocked by 74HCT125's gate #1
36 * controlled by GPIO 3
37 */
38
39/* PHASE 28 overview:
40 * Audio controller: VIA Envy24HT (full untrimmed version, 8in/8out)
41 * Analog chip: WM8770 (8 channel 192k DAC, 2 channel 96k ADC)
42 * Digital receiver: CS8414-CS (supported in this release)
34 */ 43 */
35 44
36#include <asm/io.h> 45#include <asm/io.h>
@@ -161,9 +170,10 @@ static int __devinit phase22_add_controls(struct snd_ice1712 *ice)
161} 170}
162 171
163static unsigned char phase22_eeprom[] __devinitdata = { 172static unsigned char phase22_eeprom[] __devinitdata = {
164 [ICE_EEP2_SYSCONF] = 0x00, /* 1xADC, 1xDACs */ 173 [ICE_EEP2_SYSCONF] = 0x28, /* clock 512, mpu 401,
174 spdif-in/1xADC, 1xDACs */
165 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 175 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
166 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit */ 176 [ICE_EEP2_I2S] = 0xf0, /* vol, 96k, 24bit */
167 [ICE_EEP2_SPDIF] = 0xc3, /* out-en, out-int, spdif-in */ 177 [ICE_EEP2_SPDIF] = 0xc3, /* out-en, out-int, spdif-in */
168 [ICE_EEP2_GPIO_DIR] = 0xff, 178 [ICE_EEP2_GPIO_DIR] = 0xff,
169 [ICE_EEP2_GPIO_DIR1] = 0xff, 179 [ICE_EEP2_GPIO_DIR1] = 0xff,
@@ -177,7 +187,8 @@ static unsigned char phase22_eeprom[] __devinitdata = {
177}; 187};
178 188
179static unsigned char phase28_eeprom[] __devinitdata = { 189static unsigned char phase28_eeprom[] __devinitdata = {
180 [ICE_EEP2_SYSCONF] = 0x0b, /* clock 512, spdif-in/ADC, 4DACs */ 190 [ICE_EEP2_SYSCONF] = 0x2b, /* clock 512, mpu401,
191 spdif-in/1xADC, 4xDACs */
181 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 192 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
182 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */ 193 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */
183 [ICE_EEP2_SPDIF] = 0xc3, /* out-en, out-int, spdif-in */ 194 [ICE_EEP2_SPDIF] = 0xc3, /* out-en, out-int, spdif-in */