Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfashe...
[linux-2.6] / Documentation / m68k / kernel-options.txt
1
2
3                                   Command Line Options for Linux/m68k
4                                   ===================================
5
6 Last Update: 2 May 1999
7 Linux/m68k version: 2.2.6
8 Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
9 Update: jds@kom.auc.dk (Jes Sorensen) and faq@linux-m68k.org (Chris Lawrence)
10
11 0) Introduction
12 ===============
13
14   Often I've been asked which command line options the Linux/m68k
15 kernel understands, or how the exact syntax for the ... option is, or
16 ... about the option ... . I hope, this document supplies all the
17 answers...
18
19   Note that some options might be outdated, their descriptions being
20 incomplete or missing. Please update the information and send in the
21 patches.
22
23
24 1) Overview of the Kernel's Option Processing
25 =============================================
26
27 The kernel knows three kinds of options on its command line:
28
29   1) kernel options
30   2) environment settings
31   3) arguments for init
32
33 To which of these classes an argument belongs is determined as
34 follows: If the option is known to the kernel itself, i.e. if the name
35 (the part before the '=') or, in some cases, the whole argument string
36 is known to the kernel, it belongs to class 1. Otherwise, if the
37 argument contains an '=', it is of class 2, and the definition is put
38 into init's environment. All other arguments are passed to init as
39 command line options.
40
41   This document describes the valid kernel options for Linux/m68k in
42 the version mentioned at the start of this file. Later revisions may
43 add new such options, and some may be missing in older versions.
44
45   In general, the value (the part after the '=') of an option is a
46 list of values separated by commas. The interpretation of these values
47 is up to the driver that "owns" the option. This association of
48 options with drivers is also the reason that some are further
49 subdivided.
50
51
52 2) General Kernel Options
53 =========================
54
55 2.1) root=
56 ----------
57
58 Syntax: root=/dev/<device>
59     or: root=<hex_number>
60
61 This tells the kernel which device it should mount as the root
62 filesystem. The device must be a block device with a valid filesystem
63 on it.
64
65   The first syntax gives the device by name. These names are converted
66 into a major/minor number internally in the kernel in an unusual way.
67 Normally, this "conversion" is done by the device files in /dev, but
68 this isn't possible here, because the root filesystem (with /dev)
69 isn't mounted yet... So the kernel parses the name itself, with some
70 hardcoded name to number mappings. The name must always be a
71 combination of two or three letters, followed by a decimal number.
72 Valid names are:
73
74   /dev/ram: -> 0x0100 (initial ramdisk)
75   /dev/hda: -> 0x0300 (first IDE disk)
76   /dev/hdb: -> 0x0340 (second IDE disk)
77   /dev/sda: -> 0x0800 (first SCSI disk)
78   /dev/sdb: -> 0x0810 (second SCSI disk)
79   /dev/sdc: -> 0x0820 (third SCSI disk)
80   /dev/sdd: -> 0x0830 (forth SCSI disk)
81   /dev/sde: -> 0x0840 (fifth SCSI disk)
82   /dev/fd : -> 0x0200 (floppy disk)
83   /dev/xda: -> 0x0c00 (first XT disk, unused in Linux/m68k)
84   /dev/xdb: -> 0x0c40 (second XT disk, unused in Linux/m68k)
85
86   The name must be followed by a decimal number, that stands for the
87 partition number. Internally, the value of the number is just
88 added to the device number mentioned in the table above. The
89 exceptions are /dev/ram and /dev/fd, where /dev/ram refers to an
90 initial ramdisk loaded by your bootstrap program (please consult the
91 instructions for your bootstrap program to find out how to load an
92 initial ramdisk). As of kernel version 2.0.18 you must specify
93 /dev/ram as the root device if you want to boot from an initial
94 ramdisk. For the floppy devices, /dev/fd, the number stands for the
95 floppy drive number (there are no partitions on floppy disks). I.e.,
96 /dev/fd0 stands for the first drive, /dev/fd1 for the second, and so
97 on. Since the number is just added, you can also force the disk format
98 by adding a number greater than 3. If you look into your /dev
99 directory, use can see the /dev/fd0D720 has major 2 and minor 16. You
100 can specify this device for the root FS by writing "root=/dev/fd16" on
101 the kernel command line.
102
103 [Strange and maybe uninteresting stuff ON]
104
105   This unusual translation of device names has some strange
106 consequences: If, for example, you have a symbolic link from /dev/fd
107 to /dev/fd0D720 as an abbreviation for floppy driver #0 in DD format,
108 you cannot use this name for specifying the root device, because the
109 kernel cannot see this symlink before mounting the root FS and it
110 isn't in the table above. If you use it, the root device will not be 
111 set at all, without an error message. Another example: You cannot use a
112 partition on e.g. the sixth SCSI disk as the root filesystem, if you
113 want to specify it by name. This is, because only the devices up to
114 /dev/sde are in the table above, but not /dev/sdf. Although, you can
115 use the sixth SCSI disk for the root FS, but you have to specify the
116 device by number... (see below). Or, even more strange, you can use the
117 fact that there is no range checking of the partition number, and your
118 knowledge that each disk uses 16 minors, and write "root=/dev/sde17"
119 (for /dev/sdf1).
120
121 [Strange and maybe uninteresting stuff OFF]
122
123   If the device containing your root partition isn't in the table
124 above, you can also specify it by major and minor numbers. These are
125 written in hex, with no prefix and no separator between. E.g., if you
126 have a CD with contents appropriate as a root filesystem in the first
127 SCSI CD-ROM drive, you boot from it by "root=0b00". Here, hex "0b" =
128 decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
129 the first of these. You can find out all valid major numbers by
130 looking into include/linux/major.h.
131
132
133 2.2) ro, rw
134 -----------
135
136 Syntax: ro
137     or: rw
138
139 These two options tell the kernel whether it should mount the root
140 filesystem read-only or read-write. The default is read-only, except
141 for ramdisks, which default to read-write.
142
143
144 2.3) debug
145 ----------
146
147 Syntax: debug
148
149 This raises the kernel log level to 10 (the default is 7). This is the
150 same level as set by the "dmesg" command, just that the maximum level
151 selectable by dmesg is 8.
152
153
154 2.4) debug=
155 -----------
156
157 Syntax: debug=<device>
158
159 This option causes certain kernel messages be printed to the selected
160 debugging device. This can aid debugging the kernel, since the
161 messages can be captured and analyzed on some other machine. Which
162 devices are possible depends on the machine type. There are no checks
163 for the validity of the device name. If the device isn't implemented,
164 nothing happens.
165
166   Messages logged this way are in general stack dumps after kernel
167 memory faults or bad kernel traps, and kernel panics. To be exact: all
168 messages of level 0 (panic messages) and all messages printed while
169 the log level is 8 or more (their level doesn't matter). Before stack
170 dumps, the kernel sets the log level to 10 automatically. A level of
171 at least 8 can also be set by the "debug" command line option (see
172 2.3) and at run time with "dmesg -n 8".
173
174 Devices possible for Amiga:
175
176  - "ser": built-in serial port; parameters: 9600bps, 8N1
177  - "mem": Save the messages to a reserved area in chip mem. After
178           rebooting, they can be read under AmigaOS with the tool
179           'dmesg'.
180
181 Devices possible for Atari:
182
183  - "ser1": ST-MFP serial port ("Modem1"); parameters: 9600bps, 8N1
184  - "ser2": SCC channel B serial port ("Modem2"); parameters: 9600bps, 8N1
185  - "ser" : default serial port
186            This is "ser2" for a Falcon, and "ser1" for any other machine
187  - "midi": The MIDI port; parameters: 31250bps, 8N1
188  - "par" : parallel port
189            The printing routine for this implements a timeout for the
190            case there's no printer connected (else the kernel would
191            lock up). The timeout is not exact, but usually a few
192            seconds.
193
194
195 2.6) ramdisk_size=
196 -------------
197
198 Syntax: ramdisk_size=<size>
199
200   This option instructs the kernel to set up a ramdisk of the given
201 size in KBytes. Do not use this option if the ramdisk contents are
202 passed by bootstrap! In this case, the size is selected automatically
203 and should not be overwritten.
204
205   The only application is for root filesystems on floppy disks, that
206 should be loaded into memory. To do that, select the corresponding
207 size of the disk as ramdisk size, and set the root device to the disk
208 drive (with "root=").
209
210
211 2.7) swap=
212 2.8) buff=
213 -----------
214
215   I can't find any sign of these options in 2.2.6.
216
217
218 3) General Device Options (Amiga and Atari)
219 ===========================================
220
221 3.1) ether=
222 -----------
223
224 Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
225
226   <dev-name> is the name of a net driver, as specified in
227 drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
228 eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
229
230   The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
231 settings by this options. Also, the existing ethernet drivers for
232 Linux/m68k (ariadne, a2065, hydra) don't use them because Zorro boards
233 are really Plug-'n-Play, so the "ether=" option is useless altogether
234 for Linux/m68k.
235
236
237 3.2) hd=
238 --------
239
240 Syntax: hd=<cylinders>,<heads>,<sectors>
241
242   This option sets the disk geometry of an IDE disk. The first hd=
243 option is for the first IDE disk, the second for the second one.
244 (I.e., you can give this option twice.) In most cases, you won't have
245 to use this option, since the kernel can obtain the geometry data
246 itself. It exists just for the case that this fails for one of your
247 disks.
248
249
250 3.3) max_scsi_luns=
251 -------------------
252
253 Syntax: max_scsi_luns=<n>
254
255   Sets the maximum number of LUNs (logical units) of SCSI devices to
256 be scanned. Valid values for <n> are between 1 and 8. Default is 8 if
257 "Probe all LUNs on each SCSI device" was selected during the kernel
258 configuration, else 1.
259
260
261 3.4) st=
262 --------
263
264 Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
265
266   Sets several parameters of the SCSI tape driver. <buffer_size> is
267 the number of 512-byte buffers reserved for tape operations for each
268 device. <write_thres> sets the number of blocks which must be filled
269 to start an actual write operation to the tape. Maximum value is the
270 total number of buffers. <max_buffer> limits the total number of
271 buffers allocated for all tape devices.
272
273
274 3.5) dmasound=
275 --------------
276
277 Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
278
279   This option controls some configurations of the Linux/m68k DMA sound
280 driver (Amiga and Atari): <buffers> is the number of buffers you want
281 to use (minimum 4, default 4), <buffer-size> is the size of each
282 buffer in kilobytes (minimum 4, default 32) and <catch-radius> says
283 how much percent of error will be tolerated when setting a frequency
284 (maximum 10, default 0). For example with 3% you can play 8000Hz
285 AU-Files on the Falcon with its hardware frequency of 8195Hz and thus
286 don't need to expand the sound.
287
288
289
290 4) Options for Atari Only
291 =========================
292
293 4.1) video=
294 -----------
295
296 Syntax: video=<fbname>:<sub-options...>
297
298 The <fbname> parameter specifies the name of the frame buffer,
299 eg. most atari users will want to specify `atafb' here. The
300 <sub-options> is a comma-separated list of the sub-options listed
301 below.
302
303 NB: Please notice that this option was renamed from `atavideo' to
304     `video' during the development of the 1.3.x kernels, thus you
305     might need to update your boot-scripts if upgrading to 2.x from
306     an 1.2.x kernel.
307
308 NBB: The behavior of video= was changed in 2.1.57 so the recommended
309 option is to specify the name of the frame buffer.
310
311 4.1.1) Video Mode
312 -----------------
313
314 This sub-option may be any of the predefined video modes, as listed
315 in atari/atafb.c in the Linux/m68k source tree. The kernel will
316 activate the given video mode at boot time and make it the default
317 mode, if the hardware allows. Currently defined names are:
318
319  - stlow           : 320x200x4
320  - stmid, default5 : 640x200x2
321  - sthigh, default4: 640x400x1
322  - ttlow           : 320x480x8, TT only
323  - ttmid, default1 : 640x480x4, TT only
324  - tthigh, default2: 1280x960x1, TT only
325  - vga2            : 640x480x1, Falcon only
326  - vga4            : 640x480x2, Falcon only
327  - vga16, default3 : 640x480x4, Falcon only
328  - vga256          : 640x480x8, Falcon only
329  - falh2           : 896x608x1, Falcon only
330  - falh16          : 896x608x4, Falcon only
331
332   If no video mode is given on the command line, the kernel tries the
333 modes names "default<n>" in turn, until one is possible with the
334 hardware in use.
335
336   A video mode setting doesn't make sense, if the external driver is
337 activated by a "external:" sub-option.
338
339 4.1.2) inverse
340 --------------
341
342 Invert the display. This affects both, text (consoles) and graphics
343 (X) display. Usually, the background is chosen to be black. With this
344 option, you can make the background white.
345
346 4.1.3) font
347 -----------
348
349 Syntax: font:<fontname>
350
351 Specify the font to use in text modes. Currently you can choose only
352 between `VGA8x8', `VGA8x16' and `PEARL8x8'. `VGA8x8' is default, if the
353 vertical size of the display is less than 400 pixel rows. Otherwise, the
354 `VGA8x16' font is the default.
355
356 4.1.4) hwscroll_
357 ----------------
358
359 Syntax: hwscroll_<n>
360
361 The number of additional lines of video memory to reserve for
362 speeding up the scrolling ("hardware scrolling"). Hardware scrolling
363 is possible only if the kernel can set the video base address in steps
364 fine enough. This is true for STE, MegaSTE, TT, and Falcon. It is not
365 possible with plain STs and graphics cards (The former because the
366 base address must be on a 256 byte boundary there, the latter because
367 the kernel doesn't know how to set the base address at all.)
368
369   By default, <n> is set to the number of visible text lines on the
370 display. Thus, the amount of video memory is doubled, compared to no
371 hardware scrolling. You can turn off the hardware scrolling altogether
372 by setting <n> to 0.
373
374 4.1.5) internal:
375 ----------------
376
377 Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
378
379 This option specifies the capabilities of some extended internal video
380 hardware, like e.g. OverScan. <xres> and <yres> give the (extended)
381 dimensions of the screen.
382
383   If your OverScan needs a black border, you have to write the last
384 three arguments of the "internal:". <xres_max> is the maximum line
385 length the hardware allows, <yres_max> the maximum number of lines.
386 <offset> is the offset of the visible part of the screen memory to its
387 physical start, in bytes.
388
389   Often, extended interval video hardware has to be activated somehow.
390 For this, see the "sw_*" options below.
391
392 4.1.6) external:
393 ----------------
394
395 Syntax:
396   external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>\
397            [;<colw>[;<coltype>[;<xres_virtual>]]]]]
398
399 [I had to break this line...]
400
401   This is probably the most complicated parameter... It specifies that
402 you have some external video hardware (a graphics board), and how to
403 use it under Linux/m68k. The kernel cannot know more about the hardware
404 than you tell it here! The kernel also is unable to set or change any
405 video modes, since it doesn't know about any board internal. So, you
406 have to switch to that video mode before you start Linux, and cannot
407 switch to another mode once Linux has started.
408
409   The first 3 parameters of this sub-option should be obvious: <xres>,
410 <yres> and <depth> give the dimensions of the screen and the number of
411 planes (depth). The depth is the logarithm to base 2 of the number
412 of colors possible. (Or, the other way round: The number of colors is
413 2^depth).
414
415   You have to tell the kernel furthermore how the video memory is
416 organized. This is done by a letter as <org> parameter:
417
418  'n': "normal planes", i.e. one whole plane after another
419  'i': "interleaved planes", i.e. 16 bit of the first plane, than 16 bit
420       of the next, and so on... This mode is used only with the
421           built-in Atari video modes, I think there is no card that
422           supports this mode.
423  'p': "packed pixels", i.e. <depth> consecutive bits stand for all
424           planes of one pixel; this is the most common mode for 8 planes
425           (256 colors) on graphic cards
426  't': "true color" (more or less packed pixels, but without a color
427           lookup table); usually depth is 24
428
429 For monochrome modes (i.e., <depth> is 1), the <org> letter has a
430 different meaning:
431
432  'n': normal colors, i.e. 0=white, 1=black
433  'i': inverted colors, i.e. 0=black, 1=white
434
435   The next important information about the video hardware is the base
436 address of the video memory. That is given in the <scrmem> parameter,
437 as a hexadecimal number with a "0x" prefix. You have to find out this
438 address in the documentation of your hardware.
439
440   The next parameter, <scrlen>, tells the kernel about the size of the
441 video memory. If it's missing, the size is calculated from <xres>,
442 <yres>, and <depth>. For now, it is not useful to write a value here.
443 It would be used only for hardware scrolling (which isn't possible
444 with the external driver, because the kernel cannot set the video base
445 address), or for virtual resolutions under X (which the X server
446 doesn't support yet). So, it's currently best to leave this field
447 empty, either by ending the "external:" after the video address or by
448 writing two consecutive semicolons, if you want to give a <vgabase>
449 (it is allowed to leave this parameter empty).
450
451   The <vgabase> parameter is optional. If it is not given, the kernel
452 cannot read or write any color registers of the video hardware, and
453 thus you have to set appropriate colors before you start Linux. But if
454 your card is somehow VGA compatible, you can tell the kernel the base
455 address of the VGA register set, so it can change the color lookup
456 table. You have to look up this address in your board's documentation.
457 To avoid misunderstandings: <vgabase> is the _base_ address, i.e. a 4k
458 aligned address. For read/writing the color registers, the kernel
459 uses the addresses vgabase+0x3c7...vgabase+0x3c9. The <vgabase>
460 parameter is written in hexadecimal with a "0x" prefix, just as
461 <scrmem>.
462
463   <colw> is meaningful only if <vgabase> is specified. It tells the
464 kernel how wide each of the color register is, i.e. the number of bits
465 per single color (red/green/blue). Default is 6, another quite usual
466 value is 8.
467
468   Also <coltype> is used together with <vgabase>. It tells the kernel
469 about the color register model of your gfx board. Currently, the types
470 "vga" (which is also the default) and "mv300" (SANG MV300) are
471 implemented.
472
473   Parameter <xres_virtual> is required for ProMST or ET4000 cards where
474 the physical linelength differs from the visible length. With ProMST, 
475 xres_virtual must be set to 2048. For ET4000, xres_virtual depends on the
476 initialisation of the video-card.
477 If you're missing a corresponding yres_virtual: the external part is legacy,
478 therefore we don't support hardware-dependent functions like hardware-scroll,
479 panning or blanking.
480
481 4.1.7) eclock:
482 --------------
483
484 The external pixel clock attached to the Falcon VIDEL shifter. This
485 currently works only with the ScreenWonder!
486
487 4.1.8) monitorcap:
488 -------------------
489
490 Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
491
492 This describes the capabilities of a multisync monitor. Don't use it
493 with a fixed-frequency monitor! For now, only the Falcon frame buffer
494 uses the settings of "monitorcap:".
495
496   <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
497 your monitor can work with, in Hz. <hmin> and <hmax> are the same for
498 the horizontal frequency, in kHz.
499
500   The defaults are 58;62;31;32 (VGA compatible).
501
502   The defaults for TV/SC1224/SC1435 cover both PAL and NTSC standards.
503
504 4.1.9) keep
505 ------------
506
507 If this option is given, the framebuffer device doesn't do any video
508 mode calculations and settings on its own. The only Atari fb device
509 that does this currently is the Falcon.
510
511   What you reach with this: Settings for unknown video extensions
512 aren't overridden by the driver, so you can still use the mode found
513 when booting, when the driver doesn't know to set this mode itself.
514 But this also means, that you can't switch video modes anymore...
515
516   An example where you may want to use "keep" is the ScreenBlaster for
517 the Falcon.
518
519
520 4.2) atamouse=
521 --------------
522
523 Syntax: atamouse=<x-threshold>,[<y-threshold>]
524
525   With this option, you can set the mouse movement reporting threshold.
526 This is the number of pixels of mouse movement that have to accumulate
527 before the IKBD sends a new mouse packet to the kernel. Higher values
528 reduce the mouse interrupt load and thus reduce the chance of keyboard
529 overruns. Lower values give a slightly faster mouse responses and
530 slightly better mouse tracking.
531
532   You can set the threshold in x and y separately, but usually this is
533 of little practical use. If there's just one number in the option, it
534 is used for both dimensions. The default value is 2 for both
535 thresholds.
536
537
538 4.3) ataflop=
539 -------------
540
541 Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
542
543    The drive type may be 0, 1, or 2, for DD, HD, and ED, resp. This
544    setting affects how many buffers are reserved and which formats are
545    probed (see also below). The default is 1 (HD). Only one drive type
546    can be selected. If you have two disk drives, select the "better"
547    type.
548
549    The second parameter <trackbuffer> tells the kernel whether to use
550    track buffering (1) or not (0). The default is machine-dependent:
551    no for the Medusa and yes for all others.
552
553    With the two following parameters, you can change the default
554    steprate used for drive A and B, resp. 
555
556
557 4.4) atascsi=
558 -------------
559
560 Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
561
562   This option sets some parameters for the Atari native SCSI driver.
563 Generally, any number of arguments can be omitted from the end. And
564 for each of the numbers, a negative value means "use default". The
565 defaults depend on whether TT-style or Falcon-style SCSI is used.
566 Below, defaults are noted as n/m, where the first value refers to
567 TT-SCSI and the latter to Falcon-SCSI. If an illegal value is given
568 for one parameter, an error message is printed and that one setting is
569 ignored (others aren't affected).
570
571   <can_queue>:
572     This is the maximum number of SCSI commands queued internally to the
573     Atari SCSI driver. A value of 1 effectively turns off the driver
574     internal multitasking (if it causes problems). Legal values are >=
575     1. <can_queue> can be as high as you like, but values greater than
576     <cmd_per_lun> times the number of SCSI targets (LUNs) you have
577     don't make sense. Default: 16/8.
578
579   <cmd_per_lun>:
580     Maximum number of SCSI commands issued to the driver for one
581     logical unit (LUN, usually one SCSI target). Legal values start
582     from 1. If tagged queuing (see below) is not used, values greater
583     than 2 don't make sense, but waste memory. Otherwise, the maximum
584     is the number of command tags available to the driver (currently
585     32). Default: 8/1. (Note: Values > 1 seem to cause problems on a
586     Falcon, cause not yet known.)
587
588       The <cmd_per_lun> value at a great part determines the amount of
589     memory SCSI reserves for itself. The formula is rather
590     complicated, but I can give you some hints:
591       no scatter-gather  : cmd_per_lun * 232 bytes
592       full scatter-gather: cmd_per_lun * approx. 17 Kbytes
593
594   <scat-gat>:
595     Size of the scatter-gather table, i.e. the number of requests
596     consecutive on the disk that can be merged into one SCSI command.
597     Legal values are between 0 and 255. Default: 255/0. Note: This
598     value is forced to 0 on a Falcon, since scatter-gather isn't
599     possible with the ST-DMA. Not using scatter-gather hurts
600     performance significantly.
601
602   <host-id>:
603     The SCSI ID to be used by the initiator (your Atari). This is
604     usually 7, the highest possible ID. Every ID on the SCSI bus must
605     be unique. Default: determined at run time: If the NV-RAM checksum
606     is valid, and bit 7 in byte 30 of the NV-RAM is set, the lower 3
607     bits of this byte are used as the host ID. (This method is defined
608     by Atari and also used by some TOS HD drivers.) If the above
609     isn't given, the default ID is 7. (both, TT and Falcon).
610
611   <tagged>:
612     0 means turn off tagged queuing support, all other values > 0 mean
613     use tagged queuing for targets that support it. Default: currently
614     off, but this may change when tagged queuing handling has been
615     proved to be reliable.
616
617     Tagged queuing means that more than one command can be issued to
618     one LUN, and the SCSI device itself orders the requests so they
619     can be performed in optimal order. Not all SCSI devices support
620     tagged queuing (:-().
621
622 4.5 switches=
623 -------------
624
625 Syntax: switches=<list of switches>
626
627   With this option you can switch some hardware lines that are often
628 used to enable/disable certain hardware extensions. Examples are
629 OverScan, overclocking, ...
630
631   The <list of switches> is a comma-separated list of the following
632 items:
633
634   ikbd: set RTS of the keyboard ACIA high
635   midi: set RTS of the MIDI ACIA high
636   snd6: set bit 6 of the PSG port A
637   snd7: set bit 6 of the PSG port A
638
639 It doesn't make sense to mention a switch more than once (no
640 difference to only once), but you can give as many switches as you
641 want to enable different features. The switch lines are set as early
642 as possible during kernel initialization (even before determining the
643 present hardware.)
644
645   All of the items can also be prefixed with "ov_", i.e. "ov_ikbd",
646 "ov_midi", ... These options are meant for switching on an OverScan
647 video extension. The difference to the bare option is that the
648 switch-on is done after video initialization, and somehow synchronized
649 to the HBLANK. A speciality is that ov_ikbd and ov_midi are switched
650 off before rebooting, so that OverScan is disabled and TOS boots
651 correctly.
652
653   If you give an option both, with and without the "ov_" prefix, the
654 earlier initialization ("ov_"-less) takes precedence. But the
655 switching-off on reset still happens in this case.
656
657 5) Options for Amiga Only:
658 ==========================
659
660 5.1) video=
661 -----------
662
663 Syntax: video=<fbname>:<sub-options...>
664
665 The <fbname> parameter specifies the name of the frame buffer, valid
666 options are `amifb', `cyber', 'virge', `retz3' and `clgen', provided
667 that the respective frame buffer devices have been compiled into the
668 kernel (or compiled as loadable modules). The behavior of the <fbname>
669 option was changed in 2.1.57 so it is now recommended to specify this
670 option.
671
672 The <sub-options> is a comma-separated list of the sub-options listed
673 below. This option is organized similar to the Atari version of the
674 "video"-option (4.1), but knows fewer sub-options.
675
676 5.1.1) video mode
677 -----------------
678
679 Again, similar to the video mode for the Atari (see 4.1.1). Predefined
680 modes depend on the used frame buffer device.
681
682 OCS, ECS and AGA machines all use the color frame buffer. The following
683 predefined video modes are available:
684
685 NTSC modes:
686  - ntsc            : 640x200, 15 kHz, 60 Hz
687  - ntsc-lace       : 640x400, 15 kHz, 60 Hz interlaced
688 PAL modes:
689  - pal             : 640x256, 15 kHz, 50 Hz
690  - pal-lace        : 640x512, 15 kHz, 50 Hz interlaced
691 ECS modes:
692  - multiscan       : 640x480, 29 kHz, 57 Hz
693  - multiscan-lace  : 640x960, 29 kHz, 57 Hz interlaced
694  - euro36          : 640x200, 15 kHz, 72 Hz
695  - euro36-lace     : 640x400, 15 kHz, 72 Hz interlaced
696  - euro72          : 640x400, 29 kHz, 68 Hz
697  - euro72-lace     : 640x800, 29 kHz, 68 Hz interlaced
698  - super72         : 800x300, 23 kHz, 70 Hz
699  - super72-lace    : 800x600, 23 kHz, 70 Hz interlaced
700  - dblntsc-ff      : 640x400, 27 kHz, 57 Hz
701  - dblntsc-lace    : 640x800, 27 kHz, 57 Hz interlaced
702  - dblpal-ff       : 640x512, 27 kHz, 47 Hz
703  - dblpal-lace     : 640x1024, 27 kHz, 47 Hz interlaced
704  - dblntsc         : 640x200, 27 kHz, 57 Hz doublescan
705  - dblpal          : 640x256, 27 kHz, 47 Hz doublescan
706 VGA modes:
707  - vga             : 640x480, 31 kHz, 60 Hz
708  - vga70           : 640x400, 31 kHz, 70 Hz
709
710 Please notice that the ECS and VGA modes require either an ECS or AGA
711 chipset, and that these modes are limited to 2-bit color for the ECS
712 chipset and 8-bit color for the AGA chipset.
713
714 5.1.2) depth
715 ------------
716
717 Syntax: depth:<nr. of bit-planes>
718
719 Specify the number of bit-planes for the selected video-mode.
720
721 5.1.3) inverse
722 --------------
723
724 Use inverted display (black on white). Functionally the same as the
725 "inverse" sub-option for the Atari.
726
727 5.1.4) font
728 -----------
729
730 Syntax: font:<fontname>
731
732 Specify the font to use in text modes. Functionally the same as the
733 "font" sub-option for the Atari, except that `PEARL8x8' is used instead
734 of `VGA8x8' if the vertical size of the display is less than 400 pixel
735 rows.
736
737 5.1.5) monitorcap:
738 -------------------
739
740 Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
741
742 This describes the capabilities of a multisync monitor. For now, only
743 the color frame buffer uses the settings of "monitorcap:".
744
745   <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
746 your monitor can work with, in Hz. <hmin> and <hmax> are the same for
747 the horizontal frequency, in kHz.
748
749   The defaults are 50;90;15;38 (Generic Amiga multisync monitor).
750
751
752 5.2) fd_def_df0=
753 ----------------
754
755 Syntax: fd_def_df0=<value>
756
757 Sets the df0 value for "silent" floppy drives. The value should be in
758 hexadecimal with "0x" prefix.
759
760
761 5.3) wd33c93=
762 -------------
763
764 Syntax: wd33c93=<sub-options...>
765
766 These options affect the A590/A2091, A3000 and GVP Series II SCSI
767 controllers.
768
769 The <sub-options> is a comma-separated list of the sub-options listed
770 below.
771
772 5.3.1) nosync
773 -------------
774
775 Syntax: nosync:bitmask
776
777   bitmask is a byte where the 1st 7 bits correspond with the 7
778 possible SCSI devices. Set a bit to prevent sync negotiation on that
779 device. To maintain backwards compatibility, a command-line such as
780 "wd33c93=255" will be automatically translated to
781 "wd33c93=nosync:0xff". The default is to disable sync negotiation for
782 all devices, eg. nosync:0xff.
783
784 5.3.2) period
785 -------------
786
787 Syntax: period:ns
788
789   `ns' is the minimum # of nanoseconds in a SCSI data transfer
790 period. Default is 500; acceptable values are 250 - 1000.
791
792 5.3.3) disconnect
793 -----------------
794
795 Syntax: disconnect:x
796
797   Specify x = 0 to never allow disconnects, 2 to always allow them.
798 x = 1 does 'adaptive' disconnects, which is the default and generally
799 the best choice.
800
801 5.3.4) debug
802 ------------
803
804 Syntax: debug:x
805
806   If `DEBUGGING_ON' is defined, x is a bit mask that causes various
807 types of debug output to printed - see the DB_xxx defines in
808 wd33c93.h.
809
810 5.3.5) clock
811 ------------
812
813 Syntax: clock:x
814
815   x = clock input in MHz for WD33c93 chip. Normal values would be from
816 8 through 20. The default value depends on your hostadapter(s),
817 default for the A3000 internal controller is 14, for the A2091 it's 8
818 and for the GVP hostadapters it's either 8 or 14, depending on the
819 hostadapter and the SCSI-clock jumper present on some GVP
820 hostadapters.
821
822 5.3.6) next
823 -----------
824
825   No argument. Used to separate blocks of keywords when there's more
826 than one wd33c93-based host adapter in the system.
827
828 5.3.7) nodma
829 ------------
830
831 Syntax: nodma:x
832
833   If x is 1 (or if the option is just written as "nodma"), the WD33c93
834 controller will not use DMA (= direct memory access) to access the
835 Amiga's memory.  This is useful for some systems (like A3000's and
836 A4000's with the A3640 accelerator, revision 3.0) that have problems
837 using DMA to chip memory.  The default is 0, i.e. to use DMA if
838 possible.
839
840
841 5.4) gvp11=
842 -----------
843
844 Syntax: gvp11=<addr-mask>
845
846   The earlier versions of the GVP driver did not handle DMA
847 address-mask settings correctly which made it necessary for some
848 people to use this option, in order to get their GVP controller
849 running under Linux. These problems have hopefully been solved and the
850 use of this option is now highly unrecommended!
851
852   Incorrect use can lead to unpredictable behavior, so please only use
853 this option if you *know* what you are doing and have a reason to do
854 so. In any case if you experience problems and need to use this
855 option, please inform us about it by mailing to the Linux/68k kernel
856 mailing list.
857
858   The address mask set by this option specifies which addresses are
859 valid for DMA with the GVP Series II SCSI controller. An address is
860 valid, if no bits are set except the bits that are set in the mask,
861 too.
862
863   Some versions of the GVP can only DMA into a 24 bit address range,
864 some can address a 25 bit address range while others can use the whole
865 32 bit address range for DMA. The correct setting depends on your
866 controller and should be autodetected by the driver. An example is the
867 24 bit region which is specified by a mask of 0x00fffffe.
868
869
870 /* Local Variables: */
871 /* mode: text       */
872 /* End:             */