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