mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 11:03:14 +00:00 
			
		
		
		
	 1da177e4c3
			
		
	
	
		1da177e4c3
		
	
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			101 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  -- 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!
 |