diff options
Diffstat (limited to 'sound/pci/ice1712/phase.c')
-rw-r--r-- | sound/pci/ice1712/phase.c | 23 |
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 | ||
163 | static unsigned char phase22_eeprom[] __devinitdata = { | 172 | static 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 | ||
179 | static unsigned char phase28_eeprom[] __devinitdata = { | 189 | static 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 */ |