aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/emu10k1/emu10k1_main.c
diff options
context:
space:
mode:
authorPavel Hofman <dustin@seznam.cz>2007-06-11 06:21:20 -0400
committerJaroslav Kysela <perex@suse.cz>2007-07-20 05:11:27 -0400
commit13d457094bc364e942884266036fd1b2ab74308b (patch)
tree5f56fec1dc9b66a34ba705ac7694d45130750e88 /sound/pci/emu10k1/emu10k1_main.c
parent15cc4458c5c93bd5a616410815d5d165f0fe0900 (diff)
[ALSA] emu10k1 - EMU 1212 with 16 capture channels
* adding 8 more 32-bit capture channels (total of 16) for emu1010 cards * adding some code comments and card details description Signed-off-by: Pavel Hofman <dustin@seznam.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/emu10k1/emu10k1_main.c')
-rw-r--r--sound/pci/emu10k1/emu10k1_main.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index 4a9b59ad8ab1..72367411ee6b 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -694,6 +694,37 @@ static int snd_emu1010_load_firmware(struct snd_emu10k1 * emu, const char * file
694 return 0; 694 return 0;
695} 695}
696 696
697/*
698 * EMU-1010 - details found out from this driver, official MS Win drivers,
699 * testing the card:
700 *
701 * Audigy2 (aka Alice2):
702 * ---------------------
703 * * communication over PCI
704 * * conversion of 32-bit data coming over EMU32 links from HANA FPGA
705 * to 2 x 16-bit, using internal DSP instructions
706 * * slave mode, clock supplied by HANA
707 * * linked to HANA using:
708 * 32 x 32-bit serial EMU32 output channels
709 * 16 x EMU32 input channels
710 * (?) x I2S I/O channels (?)
711 *
712 * FPGA (aka HANA):
713 * ---------------
714 * * provides all (?) physical inputs and outputs of the card
715 * (ADC, DAC, SPDIF I/O, ADAT I/O, etc.)
716 * * provides clock signal for the card and Alice2
717 * * two crystals - for 44.1kHz and 48kHz multiples
718 * * provides internal routing of signal sources to signal destinations
719 * * inputs/outputs to Alice2 - see above
720 *
721 * Current status of the driver:
722 * ----------------------------
723 * * only 44.1/48kHz supported (the MS Win driver supports up to 192 kHz)
724 * * PCM device nb. 2:
725 * 16 x 16-bit playback - snd_emu10k1_fx8010_playback_ops
726 * 16 x 32-bit capture - snd_emu10k1_capture_efx_ops
727 */
697static int snd_emu10k1_emu1010_init(struct snd_emu10k1 * emu) 728static int snd_emu10k1_emu1010_init(struct snd_emu10k1 * emu)
698{ 729{
699 unsigned int i; 730 unsigned int i;
@@ -850,6 +881,27 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 * emu)
850 EMU_DST_ALICE2_EMU32_6, EMU_SRC_DOCK_ADC2_LEFT1); 881 EMU_DST_ALICE2_EMU32_6, EMU_SRC_DOCK_ADC2_LEFT1);
851 snd_emu1010_fpga_link_dst_src_write(emu, 882 snd_emu1010_fpga_link_dst_src_write(emu,
852 EMU_DST_ALICE2_EMU32_7, EMU_SRC_DOCK_ADC2_RIGHT1); 883 EMU_DST_ALICE2_EMU32_7, EMU_SRC_DOCK_ADC2_RIGHT1);
884 /* Pavel Hofman - setting defaults for 8 more capture channels
885 * Defaults only, users will set their own values anyways, let's
886 * just copy/paste.
887 */
888
889 snd_emu1010_fpga_link_dst_src_write(emu,
890 EMU_DST_ALICE2_EMU32_8, EMU_SRC_DOCK_MIC_A1);
891 snd_emu1010_fpga_link_dst_src_write(emu,
892 EMU_DST_ALICE2_EMU32_9, EMU_SRC_DOCK_MIC_B1);
893 snd_emu1010_fpga_link_dst_src_write(emu,
894 EMU_DST_ALICE2_EMU32_A, EMU_SRC_HAMOA_ADC_LEFT2);
895 snd_emu1010_fpga_link_dst_src_write(emu,
896 EMU_DST_ALICE2_EMU32_B, EMU_SRC_HAMOA_ADC_LEFT2);
897 snd_emu1010_fpga_link_dst_src_write(emu,
898 EMU_DST_ALICE2_EMU32_C, EMU_SRC_DOCK_ADC1_LEFT1);
899 snd_emu1010_fpga_link_dst_src_write(emu,
900 EMU_DST_ALICE2_EMU32_D, EMU_SRC_DOCK_ADC1_RIGHT1);
901 snd_emu1010_fpga_link_dst_src_write(emu,
902 EMU_DST_ALICE2_EMU32_E, EMU_SRC_DOCK_ADC2_LEFT1);
903 snd_emu1010_fpga_link_dst_src_write(emu,
904 EMU_DST_ALICE2_EMU32_F, EMU_SRC_DOCK_ADC2_RIGHT1);
853#endif 905#endif
854#if 0 906#if 0
855 /* Original */ 907 /* Original */