| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Documentation for CMI 8330 (SoundPRO) | 
|  | 2 | ------------------------------------- | 
|  | 3 | Alessandro Zummo <azummo@ita.flashnet.it> | 
|  | 4 |  | 
|  | 5 | ( Be sure to read Documentation/sound/oss/SoundPro too ) | 
|  | 6 |  | 
|  | 7 |  | 
|  | 8 | This adapter is now directly supported by the sb driver. | 
|  | 9 |  | 
|  | 10 | The only thing you have to do is to compile the kernel sound | 
|  | 11 | support as a module and to enable kernel ISAPnP support, | 
|  | 12 | as shown below. | 
|  | 13 |  | 
|  | 14 |  | 
|  | 15 | CONFIG_SOUND=m | 
|  | 16 | CONFIG_SOUND_SB=m | 
|  | 17 |  | 
|  | 18 | CONFIG_PNP=y | 
|  | 19 | CONFIG_ISAPNP=y | 
|  | 20 |  | 
|  | 21 |  | 
|  | 22 | and optionally: | 
|  | 23 |  | 
|  | 24 |  | 
|  | 25 | CONFIG_SOUND_MPU401=m | 
|  | 26 |  | 
|  | 27 | for MPU401 support. | 
|  | 28 |  | 
|  | 29 |  | 
|  | 30 | (I suggest you to use "make menuconfig" or "make xconfig" | 
|  | 31 | for a more comfortable configuration editing) | 
|  | 32 |  | 
|  | 33 |  | 
|  | 34 |  | 
|  | 35 | Then you can do | 
|  | 36 |  | 
|  | 37 | modprobe sb | 
|  | 38 |  | 
|  | 39 | and everything will be (hopefully) configured. | 
|  | 40 |  | 
|  | 41 | You should get something similar in syslog: | 
|  | 42 |  | 
|  | 43 | sb: CMI8330 detected. | 
|  | 44 | sb: CMI8330 sb base located at 0x220 | 
|  | 45 | sb: CMI8330 mpu base located at 0x330 | 
|  | 46 | sb: CMI8330 mail reports to Alessandro Zummo <azummo@ita.flashnet.it> | 
|  | 47 | sb: ISAPnP reports CMI 8330 SoundPRO at i/o 0x220, irq 7, dma 1,5 | 
|  | 48 |  | 
|  | 49 |  | 
|  | 50 |  | 
|  | 51 |  | 
|  | 52 | The old documentation file follows for reference | 
|  | 53 | purposes. | 
|  | 54 |  | 
|  | 55 |  | 
|  | 56 | How to enable CMI 8330 (SOUNDPRO) soundchip on Linux | 
|  | 57 | ------------------------------------------ | 
|  | 58 | Stefan Laudat <Stefan.Laudat@asit.ro> | 
|  | 59 |  | 
|  | 60 | [Note: The CMI 8338 is unrelated and is supported by cmpci.o] | 
|  | 61 |  | 
|  | 62 |  | 
|  | 63 | In order to use CMI8330 under Linux  you just have to use a proper isapnp.conf, a good isapnp and a little bit of patience.  I use isapnp 1.17, but | 
|  | 64 | you may get a better one I guess at http://www.roestock.demon.co.uk/isapnptools/. | 
|  | 65 |  | 
|  | 66 | Of course you will have to compile kernel sound support as module, as shown below: | 
|  | 67 |  | 
|  | 68 | CONFIG_SOUND=m | 
|  | 69 | CONFIG_SOUND_OSS=m | 
|  | 70 | CONFIG_SOUND_SB=m | 
|  | 71 | CONFIG_SOUND_ADLIB=m | 
|  | 72 | CONFIG_SOUND_MPU401=m | 
|  | 73 | # Mikro$chaft sound system (kinda useful here ;)) | 
|  | 74 | CONFIG_SOUND_MSS=m | 
|  | 75 |  | 
|  | 76 | The /etc/isapnp.conf file will be: | 
|  | 77 |  | 
|  | 78 | <snip below> | 
|  | 79 |  | 
|  | 80 |  | 
|  | 81 | (READPORT 0x0203) | 
|  | 82 | (ISOLATE PRESERVE) | 
|  | 83 | (IDENTIFY *) | 
|  | 84 | (VERBOSITY 2) | 
|  | 85 | (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING | 
|  | 86 | (VERIFYLD N) | 
|  | 87 |  | 
|  | 88 |  | 
|  | 89 | # WSS | 
|  | 90 |  | 
|  | 91 | (CONFIGURE CMI0001/16777472 (LD 0 | 
|  | 92 | (IO 0 (SIZE 8) (BASE 0x0530)) | 
|  | 93 | (IO 1 (SIZE 8) (BASE 0x0388)) | 
|  | 94 | (INT 0 (IRQ 7 (MODE +E))) | 
|  | 95 | (DMA 0 (CHANNEL 0)) | 
|  | 96 | (NAME "CMI0001/16777472[0]{CMI8330/C3D Audio Adapter}") | 
|  | 97 | (ACT Y) | 
|  | 98 | )) | 
|  | 99 |  | 
|  | 100 | # MPU | 
|  | 101 |  | 
|  | 102 | (CONFIGURE CMI0001/16777472 (LD 1 | 
|  | 103 | (IO 0 (SIZE 2) (BASE 0x0330)) | 
|  | 104 | (INT 0 (IRQ 11 (MODE +E))) | 
|  | 105 | (NAME "CMI0001/16777472[1]{CMI8330/C3D Audio Adapter}") | 
|  | 106 | (ACT Y) | 
|  | 107 | )) | 
|  | 108 |  | 
|  | 109 | # Joystick | 
|  | 110 |  | 
|  | 111 | (CONFIGURE CMI0001/16777472 (LD 2 | 
|  | 112 | (IO 0 (SIZE 8) (BASE 0x0200)) | 
|  | 113 | (NAME "CMI0001/16777472[2]{CMI8330/C3D Audio Adapter}") | 
|  | 114 | (ACT Y) | 
|  | 115 | )) | 
|  | 116 |  | 
|  | 117 | # SoundBlaster | 
|  | 118 |  | 
|  | 119 | (CONFIGURE CMI0001/16777472 (LD 3 | 
|  | 120 | (IO 0 (SIZE 16) (BASE 0x0220)) | 
|  | 121 | (INT 0 (IRQ 5 (MODE +E))) | 
|  | 122 | (DMA 0 (CHANNEL 1)) | 
|  | 123 | (DMA 1 (CHANNEL 5)) | 
|  | 124 | (NAME "CMI0001/16777472[3]{CMI8330/C3D Audio Adapter}") | 
|  | 125 | (ACT Y) | 
|  | 126 | )) | 
|  | 127 |  | 
|  | 128 |  | 
|  | 129 | (WAITFORKEY) | 
|  | 130 |  | 
|  | 131 | <end of snip> | 
|  | 132 |  | 
|  | 133 | The module sequence is trivial: | 
|  | 134 |  | 
|  | 135 | /sbin/insmod soundcore | 
|  | 136 | /sbin/insmod sound | 
|  | 137 | /sbin/insmod uart401 | 
|  | 138 | # insert this first | 
|  | 139 | /sbin/insmod ad1848 io=0x530 irq=7 dma=0 soundpro=1 | 
|  | 140 | # The sb module is an alternative to the ad1848 (Microsoft Sound System) | 
|  | 141 | # Anyhow, this is full duplex and has MIDI | 
|  | 142 | /sbin/insmod sb io=0x220 dma=1 dma16=5 irq=5 mpu_io=0x330 | 
|  | 143 |  | 
|  | 144 |  | 
|  | 145 |  | 
|  | 146 | Alma Chao <elysian@ethereal.torsion.org> suggests the following /etc/modprobe.conf: | 
|  | 147 |  | 
|  | 148 | alias sound ad1848 | 
|  | 149 | alias synth0 opl3 | 
|  | 150 | options ad1848 io=0x530 irq=7 dma=0 soundpro=1 | 
|  | 151 | options opl3 io=0x388 | 
|  | 152 |  | 
|  | 153 |  |