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