101 lines
		
	
	
	
		
			4.6 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			101 lines
		
	
	
	
		
			4.6 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								 -- Documentation/cdrom/isp16
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Docs by Eric van der Maarel <H.T.M.v.d.Maarel@marin.nl>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This is the README for version 0.6 of the cdrom interface on an
							 | 
						||
| 
								 | 
							
								ISP16, MAD16 or Mozart sound card.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The detection and configuration of this interface used to be included
							 | 
						||
| 
								 | 
							
								in both the sjcd and optcd cdrom driver. Drives supported by these
							 | 
						||
| 
								 | 
							
								drivers came packed with Media Magic's multi media kit, which also
							 | 
						||
| 
								 | 
							
								included the ISP16 card. The idea (thanks Leo Spiekman)
							 | 
						||
| 
								 | 
							
								to move it from these drivers into a separate module and moreover, not to
							 | 
						||
| 
								 | 
							
								rely on the MAD16 sound driver, are as follows:
							 | 
						||
| 
								 | 
							
								-duplication of code in the kernel is a waste of resources and should
							 | 
						||
| 
								 | 
							
								 be avoided;
							 | 
						||
| 
								 | 
							
								-however, kernels and notably those included with Linux distributions
							 | 
						||
| 
								 | 
							
								 (cf Slackware 3.0 included version 0.5 of the isp16 configuration
							 | 
						||
| 
								 | 
							
								 code included in the drivers) don't always come with sound support
							 | 
						||
| 
								 | 
							
								 included. Especially when they already include a bunch of cdrom drivers.
							 | 
						||
| 
								 | 
							
								 Hence, the cdrom interface should be configurable _independently_ of
							 | 
						||
| 
								 | 
							
								 sound support.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The ISP16, MAD16 and Mozart sound cards have an OPTi 82C928 or an
							 | 
						||
| 
								 | 
							
								OPTi 82C929 chip.  The interface on these cards should work with
							 | 
						||
| 
								 | 
							
								any cdrom attached to the card, which is 'electrically' compatible
							 | 
						||
| 
								 | 
							
								with Sanyo/Panasonic, Sony or Mitsumi non-ide drives. However, the
							 | 
						||
| 
								 | 
							
								command sets for any proprietary drives may differ
							 | 
						||
| 
								 | 
							
								(and hence may not be supported in the kernel) from these four types.
							 | 
						||
| 
								 | 
							
								For a fact I know the interface works and the way of configuration
							 | 
						||
| 
								 | 
							
								as described in this documentation works in combination with the
							 | 
						||
| 
								 | 
							
								sjcd (in Sanyo/Panasonic compatibility mode) cdrom drivers
							 | 
						||
| 
								 | 
							
								(probably with the optcd (in Sony compatibility mode) as well).
							 | 
						||
| 
								 | 
							
								If you have such an OPTi based sound card and you want to use the
							 | 
						||
| 
								 | 
							
								cdrom interface with a cdrom drive supported by any of the other cdrom
							 | 
						||
| 
								 | 
							
								drivers, it will probably work. Please let me know any experience you
							 | 
						||
| 
								 | 
							
								might have).
							 | 
						||
| 
								 | 
							
								I understand that cards based on the OPTi 82C929 chips may be configured
							 | 
						||
| 
								 | 
							
								(hardware jumpers that is) as an IDE interface. Initialisation of such a
							 | 
						||
| 
								 | 
							
								card in this mode is not supported (yet?).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The suggestion to configure the ISP16 etc. sound card by booting DOS and 
							 | 
						||
| 
								 | 
							
								do a warm reboot to boot Linux somehow doesn't work, at least not
							 | 
						||
| 
								 | 
							
								on my machine (IPC P90), with the OPTi 82C928 based card.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Booting the kernel through the boot manager LILO allows the use
							 | 
						||
| 
								 | 
							
								of some command line options on the 'LILO boot:' prompt. At boot time
							 | 
						||
| 
								 | 
							
								press Alt or Shift while the LILO prompt is written on the screen and enter
							 | 
						||
| 
								 | 
							
								any kernel options. Alternatively these options may be used in
							 | 
						||
| 
								 | 
							
								the appropriate section in /etc/lilo.conf. Adding 'append="<cmd_line_options>"'
							 | 
						||
| 
								 | 
							
								will do the trick as well.
							 | 
						||
| 
								 | 
							
								The syntax of 'cmd_line_options' is
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        isp16=[<port>[,<irq>[,<dma>]]][[,]<drive_type>]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If there is no ISP16 or compatibles detected, there's probably no harm done.
							 | 
						||
| 
								 | 
							
								These options indicate the values that your cdrom drive has been (or will be)
							 | 
						||
| 
								 | 
							
								configured to use.
							 | 
						||
| 
								 | 
							
								Valid values for the base i/o address are:
							 | 
						||
| 
								 | 
							
								  port=0x340,0x320,0x330,0x360
							 | 
						||
| 
								 | 
							
								for the interrupt request number 
							 | 
						||
| 
								 | 
							
								  irq=0,3,5,7,9,10,11
							 | 
						||
| 
								 | 
							
								for the direct memory access line
							 | 
						||
| 
								 | 
							
								  dma=0,3,5,6,7
							 | 
						||
| 
								 | 
							
								and for the type of drive
							 | 
						||
| 
								 | 
							
								  drive_type=noisp16,Sanyo,Panasonic,Sony,Mitsumi.
							 | 
						||
| 
								 | 
							
								Note that these options are case sensitive.
							 | 
						||
| 
								 | 
							
								The values 0 for irq and dma indicate that they are not used, and
							 | 
						||
| 
								 | 
							
								the drive will be used in 'polling' mode. The values 5 and 7 for irq
							 | 
						||
| 
								 | 
							
								should be avoided in order to avoid any conflicts with optional
							 | 
						||
| 
								 | 
							
								sound card configuration.
							 | 
						||
| 
								 | 
							
								The syntax of the command line does not allow the specification of
							 | 
						||
| 
								 | 
							
								irq when there's nothing specified for the base address and no
							 | 
						||
| 
								 | 
							
								specification of dma when there is no specification of irq.
							 | 
						||
| 
								 | 
							
								The value 'noisp16' for drive_type, which may be used as the first
							 | 
						||
| 
								 | 
							
								non-integer option value (e.g. 'isp16=noisp16'), makes sure that probing
							 | 
						||
| 
								 | 
							
								for and subsequent configuration of an ISP16-compatible card is skipped
							 | 
						||
| 
								 | 
							
								all together. This can be useful to overcome possible conflicts which
							 | 
						||
| 
								 | 
							
								may arise while the kernel is probing your hardware.
							 | 
						||
| 
								 | 
							
								The default values are
							 | 
						||
| 
								 | 
							
								  port=0x340
							 | 
						||
| 
								 | 
							
								  irq=0
							 | 
						||
| 
								 | 
							
								  dma=0
							 | 
						||
| 
								 | 
							
								  drive_type=Sanyo
							 | 
						||
| 
								 | 
							
								reflecting my own configuration. The defaults can be changed in
							 | 
						||
| 
								 | 
							
								the file linux/drivers/cdrom/ips16.h.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The cdrom interface can be configured at run time by loading the
							 | 
						||
| 
								 | 
							
								initialisation driver as a module. In that case, the interface
							 | 
						||
| 
								 | 
							
								parameters can be set by giving appropriate values on the command
							 | 
						||
| 
								 | 
							
								line. Configuring the driver can then be done by the following
							 | 
						||
| 
								 | 
							
								command (assuming you have iso16.o installed in a proper place):
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  insmod isp16.o isp16_cdrom_base=<port> isp16_cdrom_irq=<irq> \
							 | 
						||
| 
								 | 
							
								    isp16_cdrom_dma=<dma> isp16_cdrom_type=<drive_type>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								where port, irq, dma and drive_type can have any of the values mentioned
							 | 
						||
| 
								 | 
							
								above.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Have fun!
							 |