PageRenderTime 11ms CodeModel.GetById 6ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

#! | 100 lines | 87 code | 13 blank | 0 comment | 0 complexity | e9e926c344edf3885819bbcc7f2bf80f MD5 | raw file
  1 -- Documentation/cdrom/isp16
  3Docs by Eric van der Maarel <>
  5This is the README for version 0.6 of the cdrom interface on an
  6ISP16, MAD16 or Mozart sound card.
  8The detection and configuration of this interface used to be included
  9in both the sjcd and optcd cdrom driver. Drives supported by these
 10drivers came packed with Media Magic's multi media kit, which also
 11included the ISP16 card. The idea (thanks Leo Spiekman)
 12to move it from these drivers into a separate module and moreover, not to
 13rely on the MAD16 sound driver, are as follows:
 14-duplication of code in the kernel is a waste of resources and should
 15 be avoided;
 16-however, kernels and notably those included with Linux distributions
 17 (cf Slackware 3.0 included version 0.5 of the isp16 configuration
 18 code included in the drivers) don't always come with sound support
 19 included. Especially when they already include a bunch of cdrom drivers.
 20 Hence, the cdrom interface should be configurable _independently_ of
 21 sound support.
 23The ISP16, MAD16 and Mozart sound cards have an OPTi 82C928 or an
 24OPTi 82C929 chip.  The interface on these cards should work with
 25any cdrom attached to the card, which is 'electrically' compatible
 26with Sanyo/Panasonic, Sony or Mitsumi non-ide drives. However, the
 27command sets for any proprietary drives may differ
 28(and hence may not be supported in the kernel) from these four types.
 29For a fact I know the interface works and the way of configuration
 30as described in this documentation works in combination with the
 31sjcd (in Sanyo/Panasonic compatibility mode) cdrom drivers
 32(probably with the optcd (in Sony compatibility mode) as well).
 33If you have such an OPTi based sound card and you want to use the
 34cdrom interface with a cdrom drive supported by any of the other cdrom
 35drivers, it will probably work. Please let me know any experience you
 36might have).
 37I understand that cards based on the OPTi 82C929 chips may be configured
 38(hardware jumpers that is) as an IDE interface. Initialisation of such a
 39card in this mode is not supported (yet?).
 41The suggestion to configure the ISP16 etc. sound card by booting DOS and 
 42do a warm reboot to boot Linux somehow doesn't work, at least not
 43on my machine (IPC P90), with the OPTi 82C928 based card.
 45Booting the kernel through the boot manager LILO allows the use
 46of some command line options on the 'LILO boot:' prompt. At boot time
 47press Alt or Shift while the LILO prompt is written on the screen and enter
 48any kernel options. Alternatively these options may be used in
 49the appropriate section in /etc/lilo.conf. Adding 'append="<cmd_line_options>"'
 50will do the trick as well.
 51The syntax of 'cmd_line_options' is
 53        isp16=[<port>[,<irq>[,<dma>]]][[,]<drive_type>]
 55If there is no ISP16 or compatibles detected, there's probably no harm done.
 56These options indicate the values that your cdrom drive has been (or will be)
 57configured to use.
 58Valid values for the base i/o address are:
 59  port=0x340,0x320,0x330,0x360
 60for the interrupt request number 
 61  irq=0,3,5,7,9,10,11
 62for the direct memory access line
 63  dma=0,3,5,6,7
 64and for the type of drive
 65  drive_type=noisp16,Sanyo,Panasonic,Sony,Mitsumi.
 66Note that these options are case sensitive.
 67The values 0 for irq and dma indicate that they are not used, and
 68the drive will be used in 'polling' mode. The values 5 and 7 for irq
 69should be avoided in order to avoid any conflicts with optional
 70sound card configuration.
 71The syntax of the command line does not allow the specification of
 72irq when there's nothing specified for the base address and no
 73specification of dma when there is no specification of irq.
 74The value 'noisp16' for drive_type, which may be used as the first
 75non-integer option value (e.g. 'isp16=noisp16'), makes sure that probing
 76for and subsequent configuration of an ISP16-compatible card is skipped
 77all together. This can be useful to overcome possible conflicts which
 78may arise while the kernel is probing your hardware.
 79The default values are
 80  port=0x340
 81  irq=0
 82  dma=0
 83  drive_type=Sanyo
 84reflecting my own configuration. The defaults can be changed in
 85the file linux/drivers/cdrom/ips16.h.
 87The cdrom interface can be configured at run time by loading the
 88initialisation driver as a module. In that case, the interface
 89parameters can be set by giving appropriate values on the command
 90line. Configuring the driver can then be done by the following
 91command (assuming you have iso16.o installed in a proper place):
 93  insmod isp16.o isp16_cdrom_base=<port> isp16_cdrom_irq=<irq> \
 94    isp16_cdrom_dma=<dma> isp16_cdrom_type=<drive_type>
 96where port, irq, dma and drive_type can have any of the values mentioned
100Have fun!