#define A_SPDIF_SAMPLERATE 0x76 /* Set the sample rate of SPDIF output */ #define A_SPDIF_48000 0x00000080 #define A_SPDIF_44100 0x00000000 #define A_SPDIF_96000 0x00000040 /* Hacks for Alice3 to work independent of haP16V driver */ u32 tmp; //Setup SRCMulti_I2S SamplingRate tmp = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, 0); tmp &= 0xfffff1ff; tmp |= (0x2<<9); snd_emu10k1_ptr_write(emu, A_SPDIF_SAMPLERATE, 0, tmp); /* Setup SRCSel (Enable Spdif,I2S SRCMulti) */ outl(0x600000, emu->port + 0x20); outl(0x14, emu->port + 0x24); /* Setup SRCMulti Input Audio Enable */ outl(0x6E0000, emu->port + 0x20); outl(0xFF00FF00, emu->port + 0x24); Init, does write(0x60, 0, 0x14); write(0x6e, 0, 0xff00ff00); /* Audigy2 P16V chip at base+0x20 */ #define PLAYBACK_DMA_ADDR 0x04 /* Playback DMA addresss */ #define PLAYBACK_BUFFER_SIZE 0x05 /* Playback buffer size. win2000 uses 0x04000000 */ #define PLAYBACK_POINTER 0x06 /* Playback buffer pointer. Sample currently in DAC */ #define CAPTURE_DMA_ADDR 0x10 /* Capture DMA address */ #define CAPTURE_BUFFER_SIZE 0x11 /* Capture buffer size */ #define CAPTURE_POINTER 0x12 /* Capture buffer pointer. Sample currently in ADC */ #define VOLUME14 0x14 /* volume per voice. */ #define VOLUME15 0x15 /* volume per voice. */ 16: 0700E4E4 0700E4E4 0700E4E4 0700E4E4 17: 77770000 77770000 77770000 77770000 #define PLAYBACk_LAST_SAMPLE 0x20 /* The sample currently being played */ 40: 00060001 00060001 00060001 00060001 /* Probably Int enable */ 46: 0000F000 0000F000 0000F000 0000F000 60: 00000004 00000004 00000004 00000004 #define INT_ENABLE 0x40 /* Int enable: 0x41110000-off, 0x41110001-on #define SAMPLE_RATE 0x46 /* Sample rate control */ #define SAMPLE_RATE_96000 0x0000f000 /* 96khz or stopped */ #define SAMPLE_RATE_44100 0x0000f004 /* 44.1khz */ #define SAMPLE_RATE_48000 0x0000f008 /* 48khz */ #define PLAYBACK_VOLUME61 0x61 /* master volume per voice. (Mute) 0xffffffff -> 0xffff4848(max) */ #define VOLUME63 0x63 /* volume per voice. */ #define VOLUME64 0x64 /* volume per voice. */ #define PLAYBACK_VOLUME67 0x67 /* master volume per voice. (Mute) 0xffffffff -> 0xffff6767(max) */ #define VOLUME68 0x68 /* volume per voice. (Mute) 0xffffffff */ #define PLAYBACK_VOLUME69 0x69 /* master volume per voice. (Mute) 0xffffffff -> 0xffff6767(max), Muted for AC3 out */ #define VOLUME6A 0x6a /* volume per voice. (Mute) 0xffffffff, Muted for AC3 out */ #define VOLUME6B 0x6b /* volume per voice. */ 6D: 00030000 00030000 00030000 00030000 6E: FF00FF00 FF00FF00 FF00FF00 FF00FF00 6F: 000100FF 000100FF 000100FF 000100FF 70: 12030F00 12030F00 12030F00 12030F00 71: 0000E4E4 0000E4E4 0000E4E4 0000E4E4 72: 00000000 00000000 00000000 00000000 73: 00000000 00000000 00000000 00000000 74: 00000000 00000000 00000000 00000000 75: 00000000 00000000 00000000 00000000 76: 00070000 00070000 00070000 00070000 77: 00000000 00000000 00000000 00000000 78: 00000000 00000000 00000000 00000000 79: 00000000 00000000 00000000 00000000 /* Audigy2 init. */ 61: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 62: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 63: 30303030 30303030 30303030 30303030 64: 30303030 30303030 30303030 30303030 65: 24242424 24242424 24242424 24242424 66: 24242424 24242424 24242424 24242424 67: D7D7D7D7 D7D7D7D7 D7D7D7D7 D7D7D7D7 68: D7D7D7D7 D7D7D7D7 D7D7D7D7 D7D7D7D7 69: D7D7D7D7 D7D7D7D7 D7D7D7D7 D7D7D7D7 6A: D7D7D7D7 D7D7D7D7 D7D7D7D7 D7D7D7D7 6B: 30303030 30303030 30303030 30303030 6C: 30303030 30303030 30303030 30303030 6D: 00000000 00000000 00000000 00000000 6E: FF00FF00 FF00FF00 FF00FF00 FF00FF00 6F: 000100FF 000100FF 000100FF 000100FF 70: 12030F00 12030F00 12030F00 12030F00 71: 0000E4E4 0000E4E4 0000E4E4 0000E4E4 72: 00000000 00000000 00000000 00000000 73: 00000000 00000000 00000000 00000000 74: 00000000 00000000 00000000 00000000 75: 00000000 00000000 00000000 00000000 76: 00070000 00070000 00070000 00070000 77: 00000000 00000000 00000000 00000000 78: 00000000 00000000 00000000 00000000 79: 00000000 00000000 00000000 00000000 7A: 00000000 00000000 00000000 00000000 7B: 00000000 00000000 00000000 00000000 7C: 00000000 00000000 00000000 00000000 7D: 00000000 00000000 00000000 00000000 7E: 00000000 00000000 00000000 00000000 7F: 00000000 00000000 00000000 00000000