[alsa-devel] [PATCH] ice1724 MIDI on PHASE 22 and PHASE 28 and a few minor fixes
Vedran Miletić
rivanvx at gmail.com
Thu Aug 28 16:09:27 CEST 2008
Changelog:
* added info about PHASE 28 (as far as I could collect, I don't have a card)
* added info about TS22PCI and new revisions of PHASE 22
* disable 192k on PHASE 22 as AK4524 I2S doesn't support it
* enable midi for both PHASE 22 and PHASE 28
* enable SPDIF reciever on PHASE 22
MIDI works for me, I have tried loopback and it plays good. Thanks for
help Pavel and Takashi.
diff --git a/pci/ice1712/phase.c b/pci/ice1712/phase.c
index f5acdee..6e596e9 100644
--- a/pci/ice1712/phase.c
+++ b/pci/ice1712/phase.c
@@ -24,7 +24,8 @@
/* PHASE 22 overview:
* Audio controller: VIA Envy24HT-S (slightly trimmed down version
of Envy24HT)
* Analog chip: AK4524 (partially via Philip's 74HCT125)
- * Digital receiver: CS8414-CS (not supported in this release)
+ * Digital receiver: CS8414-CS (supported in this release)
+ * PHASE 22 revision 2.0 and Terrasoniq/Musonik TS22PCI have CS8416
(support status unknown, please test and report)
*
* Envy connects to AK4524
* - CS directly from GPIO 10
@@ -33,6 +34,12 @@
* CDTI may be completely blocked by 74HCT125's gate #1 controlled by GPIO 3
*/
+/* PHASE 28 overview:
+ * Audio controller: VIA Envy24HT (full untrimmed version, 8 ins 8 outs)
+ * Analog chip: WM8770 (8 channel DAC, 2 channel ADC)
+ * Digital receiver: CS8414-CS (supported in this release)
+ */
+
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
@@ -161,9 +168,9 @@ static int __devinit phase22_add_controls(struct
snd_ice1712 *ice)
}
static unsigned char phase22_eeprom[] __devinitdata = {
- [ICE_EEP2_SYSCONF] = 0x00, /* 1xADC, 1xDACs */
+ [ICE_EEP2_SYSCONF] = 0x28, /* clock 512, mpu 401,
spdif-in/1xADC, 1xDACs */
[ICE_EEP2_ACLINK] = 0x80, /* I2S */
- [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit */
+ [ICE_EEP2_I2S] = 0xf0, /* vol, 96k, 24bit */
[ICE_EEP2_SPDIF] = 0xc3, /* out-en, out-int, spdif-in */
[ICE_EEP2_GPIO_DIR] = 0xff,
[ICE_EEP2_GPIO_DIR1] = 0xff,
@@ -177,7 +184,7 @@ static unsigned char phase22_eeprom[] __devinitdata = {
};
static unsigned char phase28_eeprom[] __devinitdata = {
- [ICE_EEP2_SYSCONF] = 0x0b, /* clock 512, spdif-in/ADC, 4DACs */
+ [ICE_EEP2_SYSCONF] = 0x2b, /* clock 512, mpu401, spdif-in/1xADC, 4xDACs */
[ICE_EEP2_ACLINK] = 0x80, /* I2S */
[ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */
[ICE_EEP2_SPDIF] = 0xc3, /* out-en, out-int, spdif-in */
--
Vedran Miletić
More information about the Alsa-devel
mailing list