aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/m68k
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/m68k
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'Documentation/m68k')
-rw-r--r--Documentation/m68k/00-INDEX5
-rw-r--r--Documentation/m68k/README.buddha210
-rw-r--r--Documentation/m68k/kernel-options.txt964
3 files changed, 1179 insertions, 0 deletions
diff --git a/Documentation/m68k/00-INDEX b/Documentation/m68k/00-INDEX
new file mode 100644
index 000000000000..a014e9f00765
--- /dev/null
+++ b/Documentation/m68k/00-INDEX
@@ -0,0 +1,5 @@
100-INDEX
2 - this file
3kernel-options.txt
4 - command line options for Linux/m68k
5
diff --git a/Documentation/m68k/README.buddha b/Documentation/m68k/README.buddha
new file mode 100644
index 000000000000..bf802ffc98ad
--- /dev/null
+++ b/Documentation/m68k/README.buddha
@@ -0,0 +1,210 @@
1
2The Amiga Buddha and Catweasel IDE Driver (part of ide.c) was written by
3Geert Uytterhoeven based on the following specifications:
4
5------------------------------------------------------------------------
6
7Register map of the Buddha IDE controller and the
8Buddha-part of the Catweasel Zorro-II version
9
10The Autoconfiguration has been implemented just as Commodore
11described in their manuals, no tricks have been used (for
12example leaving some address lines out of the equations...).
13If you want to configure the board yourself (for example let
14a Linux kernel configure the card), look at the Commodore
15Docs. Reading the nibbles should give this information:
16
17Vendor number: 4626 ($1212)
18product number: 0 (42 for Catweasel Z-II)
19Serial number: 0
20Rom-vector: $1000
21
22The card should be a Z-II board, size 64K, not for freemem
23list, Rom-Vektor is valid, no second Autoconfig-board on the
24same card, no space preference, supports "Shutup_forever".
25
26Setting the base address should be done in two steps, just
27as the Amiga Kickstart does: The lower nibble of the 8-Bit
28address is written to $4a, then the whole Byte is written to
29$48, while it doesn't matter how often you're writing to $4a
30as long as $48 is not touched. After $48 has been written,
31the whole card disappears from $e8 and is mapped to the new
32address just written. Make shure $4a is written before $48,
33otherwise your chance is only 1:16 to find the board :-).
34
35The local memory-map is even active when mapped to $e8:
36
37$0-$7e Autokonfig-space, see Z-II docs.
38
39$80-$7fd reserved
40
41$7fe Speed-select Register: Read & Write
42 (description see further down)
43
44$800-$8ff IDE-Select 0 (Port 0, Register set 0)
45
46$900-$9ff IDE-Select 1 (Port 0, Register set 1)
47
48$a00-$aff IDE-Select 2 (Port 1, Register set 0)
49
50$b00-$bff IDE-Select 3 (Port 1, Register set 1)
51
52$c00-$cff IDE-Select 4 (Port 2, Register set 0,
53 Catweasel only!)
54
55$d00-$dff IDE-Select 5 (Port 3, Register set 1,
56 Catweasel only!)
57
58$e00-$eff local expansion port, on Catweasel Z-II the
59 Catweasel registers are also mapped here.
60 Never touch, use multidisk.device!
61
62$f00 read only, Byte-access: Bit 7 shows the
63 level of the IRQ-line of IDE port 0.
64
65$f01-$f3f mirror of $f00
66
67$f40 read only, Byte-access: Bit 7 shows the
68 level of the IRQ-line of IDE port 1.
69
70$f41-$f7f mirror of $f40
71
72$f80 read only, Byte-access: Bit 7 shows the
73 level of the IRQ-line of IDE port 2.
74 (Catweasel only!)
75
76$f81-$fbf mirror of $f80
77
78$fc0 write-only: Writing any value to this
79 register enables IRQs to be passed from the
80 IDE ports to the Zorro bus. This mechanism
81 has been implemented to be compatible with
82 harddisks that are either defective or have
83 a buggy firmware and pull the IRQ line up
84 while starting up. If interrupts would
85 always be passed to the bus, the computer
86 might not start up. Once enabled, this flag
87 can not be disabled again. The level of the
88 flag can not be determined by software
89 (what for? Write to me if it's necessary!).
90
91$fc1-$fff mirror of $fc0
92
93$1000-$ffff Buddha-Rom with offset $1000 in the rom
94 chip. The addresses $0 to $fff of the rom
95 chip cannot be read. Rom is Byte-wide and
96 mapped to even addresses.
97
98The IDE ports issue an INT2. You can read the level of the
99IRQ-lines of the IDE-ports by reading from the three (two
100for Buddha-only) registers $f00, $f40 and $f80. This way
101more than one I/O request can be handled and you can easily
102determine what driver has to serve the INT2. Buddha and
103Catweasel expansion boards can issue an INT6. A separate
104memory map is available for the I/O module and the sysop's
105I/O module.
106
107The IDE ports are fed by the address lines A2 to A4, just as
108the Amiga 1200 and Amiga 4000 IDE ports are. This way
109existing drivers can be easily ported to Buddha. A move.l
110polls two words out of the same address of IDE port since
111every word is mirrored once. movem is not possible, but
112it's not necessary either, because you can only speedup
11368000 systems with this technique. A 68020 system with
114fastmem is faster with move.l.
115
116If you're using the mirrored registers of the IDE-ports with
117A6=1, the Buddha doesn't care about the speed that you have
118selected in the speed register (see further down). With
119A6=1 (for example $840 for port 0, register set 0), a 780ns
120access is being made. These registers should be used for a
121command access to the harddisk/CD-Rom, since command
122accesses are Byte-wide and have to be made slower according
123to the ATA-X3T9 manual.
124
125Now for the speed-register: The register is byte-wide, and
126only the upper three bits are used (Bits 7 to 5). Bit 4
127must always be set to 1 to be compatible with later Buddha
128versions (if I'll ever update this one). I presume that
129I'll never use the lower four bits, but they have to be set
130to 1 by definition.
131 The values in this table have to be shifted 5 bits to the
132left and or'd with $1f (this sets the lower 5 bits).
133
134All the timings have in common: Select and IOR/IOW rise at
135the same time. IOR and IOW have a propagation delay of
136about 30ns to the clocks on the Zorro bus, that's why the
137values are no multiple of 71. One clock-cycle is 71ns long
138(exactly 70,5 at 14,18 Mhz on PAL systems).
139
140value 0 (Default after reset)
141
142497ns Select (7 clock cycles) , IOR/IOW after 172ns (2 clock cycles)
143(same timing as the Amiga 1200 does on it's IDE port without
144accelerator card)
145
146value 1
147
148639ns Select (9 clock cycles), IOR/IOW after 243ns (3 clock cycles)
149
150value 2
151
152781ns Select (11 clock cycles), IOR/IOW after 314ns (4 clock cycles)
153
154value 3
155
156355ns Select (5 clock cycles), IOR/IOW after 101ns (1 clock cycle)
157
158value 4
159
160355ns Select (5 clock cycles), IOR/IOW after 172ns (2 clock cycles)
161
162value 5
163
164355ns Select (5 clock cycles), IOR/IOW after 243ns (3 clock cycles)
165
166value 6
167
1681065ns Select (15 clock cycles), IOR/IOW after 314ns (4 clock cycles)
169
170value 7
171
172355ns Select, (5 clock cycles), IOR/IOW after 101ns (1 clock cycle)
173
174When accessing IDE registers with A6=1 (for example $84x),
175the timing will always be mode 0 8-bit compatible, no matter
176what you have selected in the speed register:
177
178781ns select, IOR/IOW after 4 clock cycles (=314ns) aktive.
179
180All the timings with a very short select-signal (the 355ns
181fast accesses) depend on the accelerator card used in the
182system: Sometimes two more clock cycles are inserted by the
183bus interface, making the whole access 497ns long. This
184doesn't affect the reliability of the controller nor the
185performance of the card, since this doesn't happen very
186often.
187
188All the timings are calculated and only confirmed by
189measurements that allowed me to count the clock cycles. If
190the system is clocked by an oscillator other than 28,37516
191Mhz (for example the NTSC-frequency 28,63636 Mhz), each
192clock cycle is shortened to a bit less than 70ns (not worth
193mentioning). You could think of a small performance boost
194by overclocking the system, but you would either need a
195multisync monitor, or a graphics card, and your internal
196diskdrive would go crazy, that's why you shouldn't tune your
197Amiga this way.
198
199Giving you the possibility to write software that is
200compatible with both the Buddha and the Catweasel Z-II, The
201Buddha acts just like a Catweasel Z-II with no device
202connected to the third IDE-port. The IRQ-register $f80
203always shows a "no IRQ here" on the Buddha, and accesses to
204the third IDE port are going into data's Nirwana on the
205Buddha.
206
207 Jens Schönfeld february 19th, 1997
208 updated may 27th, 1997
209 eMail: sysop@nostlgic.tng.oche.de
210
diff --git a/Documentation/m68k/kernel-options.txt b/Documentation/m68k/kernel-options.txt
new file mode 100644
index 000000000000..e191baad8308
--- /dev/null
+++ b/Documentation/m68k/kernel-options.txt
@@ -0,0 +1,964 @@
1
2
3 Command Line Options for Linux/m68k
4 ===================================
5
6Last Update: 2 May 1999
7Linux/m68k version: 2.2.6
8Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
9Update: jds@kom.auc.dk (Jes Sorensen) and faq@linux-m68k.org (Chris Lawrence)
10
110) Introduction
12===============
13
14 Often I've been asked which command line options the Linux/m68k
15kernel understands, or how the exact syntax for the ... option is, or
16... about the option ... . I hope, this document supplies all the
17answers...
18
19 Note that some options might be outdated, their descriptions being
20incomplete or missing. Please update the information and send in the
21patches.
22
23
241) Overview of the Kernel's Option Processing
25=============================================
26
27The 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
33To which of these classes an argument belongs is determined as
34follows: 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
36is known to the kernel, it belongs to class 1. Otherwise, if the
37argument contains an '=', it is of class 2, and the definition is put
38into init's environment. All other arguments are passed to init as
39command line options.
40
41 This document describes the valid kernel options for Linux/m68k in
42the version mentioned at the start of this file. Later revisions may
43add 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
46list of values separated by commas. The interpretation of these values
47is up to the driver that "owns" the option. This association of
48options with drivers is also the reason that some are further
49subdivided.
50
51
522) General Kernel Options
53=========================
54
552.1) root=
56----------
57
58Syntax: root=/dev/<device>
59 or: root=<hex_number>
60
61This tells the kernel which device it should mount as the root
62filesystem. The device must be a block device with a valid filesystem
63on it.
64
65 The first syntax gives the device by name. These names are converted
66into a major/minor number internally in the kernel in an unusual way.
67Normally, this "conversion" is done by the device files in /dev, but
68this isn't possible here, because the root filesystem (with /dev)
69isn't mounted yet... So the kernel parses the name itself, with some
70hardcoded name to number mappings. The name must always be a
71combination of two or three letters, followed by a decimal number.
72Valid 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 /dev/ada: -> 0x1c00 (first ACSI device)
86 /dev/adb: -> 0x1c10 (second ACSI device)
87 /dev/adc: -> 0x1c20 (third ACSI device)
88 /dev/add: -> 0x1c30 (forth ACSI device)
89
90The last four names are available only if the kernel has been compiled
91with Atari and ACSI support.
92
93 The name must be followed by a decimal number, that stands for the
94partition number. Internally, the value of the number is just
95added to the device number mentioned in the table above. The
96exceptions are /dev/ram and /dev/fd, where /dev/ram refers to an
97initial ramdisk loaded by your bootstrap program (please consult the
98instructions for your bootstrap program to find out how to load an
99initial ramdisk). As of kernel version 2.0.18 you must specify
100/dev/ram as the root device if you want to boot from an initial
101ramdisk. For the floppy devices, /dev/fd, the number stands for the
102floppy drive number (there are no partitions on floppy disks). I.e.,
103/dev/fd0 stands for the first drive, /dev/fd1 for the second, and so
104on. Since the number is just added, you can also force the disk format
105by adding a number greater than 3. If you look into your /dev
106directory, use can see the /dev/fd0D720 has major 2 and minor 16. You
107can specify this device for the root FS by writing "root=/dev/fd16" on
108the kernel command line.
109
110[Strange and maybe uninteresting stuff ON]
111
112 This unusual translation of device names has some strange
113consequences: If, for example, you have a symbolic link from /dev/fd
114to /dev/fd0D720 as an abbreviation for floppy driver #0 in DD format,
115you cannot use this name for specifying the root device, because the
116kernel cannot see this symlink before mounting the root FS and it
117isn't in the table above. If you use it, the root device will not be
118set at all, without an error message. Another example: You cannot use a
119partition on e.g. the sixth SCSI disk as the root filesystem, if you
120want to specify it by name. This is, because only the devices up to
121/dev/sde are in the table above, but not /dev/sdf. Although, you can
122use the sixth SCSI disk for the root FS, but you have to specify the
123device by number... (see below). Or, even more strange, you can use the
124fact that there is no range checking of the partition number, and your
125knowledge that each disk uses 16 minors, and write "root=/dev/sde17"
126(for /dev/sdf1).
127
128[Strange and maybe uninteresting stuff OFF]
129
130 If the device containing your root partition isn't in the table
131above, you can also specify it by major and minor numbers. These are
132written in hex, with no prefix and no separator between. E.g., if you
133have a CD with contents appropriate as a root filesystem in the first
134SCSI CD-ROM drive, you boot from it by "root=0b00". Here, hex "0b" =
135decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
136the first of these. You can find out all valid major numbers by
137looking into include/linux/major.h.
138
139
1402.2) ro, rw
141-----------
142
143Syntax: ro
144 or: rw
145
146These two options tell the kernel whether it should mount the root
147filesystem read-only or read-write. The default is read-only, except
148for ramdisks, which default to read-write.
149
150
1512.3) debug
152----------
153
154Syntax: debug
155
156This raises the kernel log level to 10 (the default is 7). This is the
157same level as set by the "dmesg" command, just that the maximum level
158selectable by dmesg is 8.
159
160
1612.4) debug=
162-----------
163
164Syntax: debug=<device>
165
166This option causes certain kernel messages be printed to the selected
167debugging device. This can aid debugging the kernel, since the
168messages can be captured and analyzed on some other machine. Which
169devices are possible depends on the machine type. There are no checks
170for the validity of the device name. If the device isn't implemented,
171nothing happens.
172
173 Messages logged this way are in general stack dumps after kernel
174memory faults or bad kernel traps, and kernel panics. To be exact: all
175messages of level 0 (panic messages) and all messages printed while
176the log level is 8 or more (their level doesn't matter). Before stack
177dumps, the kernel sets the log level to 10 automatically. A level of
178at least 8 can also be set by the "debug" command line option (see
1792.3) and at run time with "dmesg -n 8".
180
181Devices possible for Amiga:
182
183 - "ser": built-in serial port; parameters: 9600bps, 8N1
184 - "mem": Save the messages to a reserved area in chip mem. After
185 rebooting, they can be read under AmigaOS with the tool
186 'dmesg'.
187
188Devices possible for Atari:
189
190 - "ser1": ST-MFP serial port ("Modem1"); parameters: 9600bps, 8N1
191 - "ser2": SCC channel B serial port ("Modem2"); parameters: 9600bps, 8N1
192 - "ser" : default serial port
193 This is "ser2" for a Falcon, and "ser1" for any other machine
194 - "midi": The MIDI port; parameters: 31250bps, 8N1
195 - "par" : parallel port
196 The printing routine for this implements a timeout for the
197 case there's no printer connected (else the kernel would
198 lock up). The timeout is not exact, but usually a few
199 seconds.
200
201
2022.6) ramdisk=
203-------------
204
205Syntax: ramdisk=<size>
206
207 This option instructs the kernel to set up a ramdisk of the given
208size in KBytes. Do not use this option if the ramdisk contents are
209passed by bootstrap! In this case, the size is selected automatically
210and should not be overwritten.
211
212 The only application is for root filesystems on floppy disks, that
213should be loaded into memory. To do that, select the corresponding
214size of the disk as ramdisk size, and set the root device to the disk
215drive (with "root=").
216
217
2182.7) swap=
2192.8) buff=
220-----------
221
222 I can't find any sign of these options in 2.2.6.
223
224
2253) General Device Options (Amiga and Atari)
226===========================================
227
2283.1) ether=
229-----------
230
231Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
232
233 <dev-name> is the name of a net driver, as specified in
234drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
235eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
236
237 The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
238settings by this options. Also, the existing ethernet drivers for
239Linux/m68k (ariadne, a2065, hydra) don't use them because Zorro boards
240are really Plug-'n-Play, so the "ether=" option is useless altogether
241for Linux/m68k.
242
243
2443.2) hd=
245--------
246
247Syntax: hd=<cylinders>,<heads>,<sectors>
248
249 This option sets the disk geometry of an IDE disk. The first hd=
250option is for the first IDE disk, the second for the second one.
251(I.e., you can give this option twice.) In most cases, you won't have
252to use this option, since the kernel can obtain the geometry data
253itself. It exists just for the case that this fails for one of your
254disks.
255
256
2573.3) max_scsi_luns=
258-------------------
259
260Syntax: max_scsi_luns=<n>
261
262 Sets the maximum number of LUNs (logical units) of SCSI devices to
263be scanned. Valid values for <n> are between 1 and 8. Default is 8 if
264"Probe all LUNs on each SCSI device" was selected during the kernel
265configuration, else 1.
266
267
2683.4) st=
269--------
270
271Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
272
273 Sets several parameters of the SCSI tape driver. <buffer_size> is
274the number of 512-byte buffers reserved for tape operations for each
275device. <write_thres> sets the number of blocks which must be filled
276to start an actual write operation to the tape. Maximum value is the
277total number of buffers. <max_buffer> limits the total number of
278buffers allocated for all tape devices.
279
280
2813.5) dmasound=
282--------------
283
284Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
285
286 This option controls some configurations of the Linux/m68k DMA sound
287driver (Amiga and Atari): <buffers> is the number of buffers you want
288to use (minimum 4, default 4), <buffer-size> is the size of each
289buffer in kilobytes (minimum 4, default 32) and <catch-radius> says
290how much percent of error will be tolerated when setting a frequency
291(maximum 10, default 0). For example with 3% you can play 8000Hz
292AU-Files on the Falcon with its hardware frequency of 8195Hz and thus
293don't need to expand the sound.
294
295
296
2974) Options for Atari Only
298=========================
299
3004.1) video=
301-----------
302
303Syntax: video=<fbname>:<sub-options...>
304
305The <fbname> parameter specifies the name of the frame buffer,
306eg. most atari users will want to specify `atafb' here. The
307<sub-options> is a comma-separated list of the sub-options listed
308below.
309
310NB: Please notice that this option was renamed from `atavideo' to
311 `video' during the development of the 1.3.x kernels, thus you
312 might need to update your boot-scripts if upgrading to 2.x from
313 an 1.2.x kernel.
314
315NBB: The behavior of video= was changed in 2.1.57 so the recommended
316option is to specify the name of the frame buffer.
317
3184.1.1) Video Mode
319-----------------
320
321This sub-option may be any of the predefined video modes, as listed
322in atari/atafb.c in the Linux/m68k source tree. The kernel will
323activate the given video mode at boot time and make it the default
324mode, if the hardware allows. Currently defined names are:
325
326 - stlow : 320x200x4
327 - stmid, default5 : 640x200x2
328 - sthigh, default4: 640x400x1
329 - ttlow : 320x480x8, TT only
330 - ttmid, default1 : 640x480x4, TT only
331 - tthigh, default2: 1280x960x1, TT only
332 - vga2 : 640x480x1, Falcon only
333 - vga4 : 640x480x2, Falcon only
334 - vga16, default3 : 640x480x4, Falcon only
335 - vga256 : 640x480x8, Falcon only
336 - falh2 : 896x608x1, Falcon only
337 - falh16 : 896x608x4, Falcon only
338
339 If no video mode is given on the command line, the kernel tries the
340modes names "default<n>" in turn, until one is possible with the
341hardware in use.
342
343 A video mode setting doesn't make sense, if the external driver is
344activated by a "external:" sub-option.
345
3464.1.2) inverse
347--------------
348
349Invert the display. This affects both, text (consoles) and graphics
350(X) display. Usually, the background is chosen to be black. With this
351option, you can make the background white.
352
3534.1.3) font
354-----------
355
356Syntax: font:<fontname>
357
358Specify the font to use in text modes. Currently you can choose only
359between `VGA8x8', `VGA8x16' and `PEARL8x8'. `VGA8x8' is default, if the
360vertical size of the display is less than 400 pixel rows. Otherwise, the
361`VGA8x16' font is the default.
362
3634.1.4) hwscroll_
364----------------
365
366Syntax: hwscroll_<n>
367
368The number of additional lines of video memory to reserve for
369speeding up the scrolling ("hardware scrolling"). Hardware scrolling
370is possible only if the kernel can set the video base address in steps
371fine enough. This is true for STE, MegaSTE, TT, and Falcon. It is not
372possible with plain STs and graphics cards (The former because the
373base address must be on a 256 byte boundary there, the latter because
374the kernel doesn't know how to set the base address at all.)
375
376 By default, <n> is set to the number of visible text lines on the
377display. Thus, the amount of video memory is doubled, compared to no
378hardware scrolling. You can turn off the hardware scrolling altogether
379by setting <n> to 0.
380
3814.1.5) internal:
382----------------
383
384Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
385
386This option specifies the capabilities of some extended internal video
387hardware, like e.g. OverScan. <xres> and <yres> give the (extended)
388dimensions of the screen.
389
390 If your OverScan needs a black border, you have to write the last
391three arguments of the "internal:". <xres_max> is the maximum line
392length the hardware allows, <yres_max> the maximum number of lines.
393<offset> is the offset of the visible part of the screen memory to its
394physical start, in bytes.
395
396 Often, extended interval video hardware has to be activated somehow.
397For this, see the "sw_*" options below.
398
3994.1.6) external:
400----------------
401
402Syntax:
403 external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>\
404 [;<colw>[;<coltype>[;<xres_virtual>]]]]]
405
406[I had to break this line...]
407
408 This is probably the most complicated parameter... It specifies that
409you have some external video hardware (a graphics board), and how to
410use it under Linux/m68k. The kernel cannot know more about the hardware
411than you tell it here! The kernel also is unable to set or change any
412video modes, since it doesn't know about any board internal. So, you
413have to switch to that video mode before you start Linux, and cannot
414switch to another mode once Linux has started.
415
416 The first 3 parameters of this sub-option should be obvious: <xres>,
417<yres> and <depth> give the dimensions of the screen and the number of
418planes (depth). The depth is is the logarithm to base 2 of the number
419of colors possible. (Or, the other way round: The number of colors is
4202^depth).
421
422 You have to tell the kernel furthermore how the video memory is
423organized. This is done by a letter as <org> parameter:
424
425 'n': "normal planes", i.e. one whole plane after another
426 'i': "interleaved planes", i.e. 16 bit of the first plane, than 16 bit
427 of the next, and so on... This mode is used only with the
428 built-in Atari video modes, I think there is no card that
429 supports this mode.
430 'p': "packed pixels", i.e. <depth> consecutive bits stand for all
431 planes of one pixel; this is the most common mode for 8 planes
432 (256 colors) on graphic cards
433 't': "true color" (more or less packed pixels, but without a color
434 lookup table); usually depth is 24
435
436For monochrome modes (i.e., <depth> is 1), the <org> letter has a
437different meaning:
438
439 'n': normal colors, i.e. 0=white, 1=black
440 'i': inverted colors, i.e. 0=black, 1=white
441
442 The next important information about the video hardware is the base
443address of the video memory. That is given in the <scrmem> parameter,
444as a hexadecimal number with a "0x" prefix. You have to find out this
445address in the documentation of your hardware.
446
447 The next parameter, <scrlen>, tells the kernel about the size of the
448video memory. If it's missing, the size is calculated from <xres>,
449<yres>, and <depth>. For now, it is not useful to write a value here.
450It would be used only for hardware scrolling (which isn't possible
451with the external driver, because the kernel cannot set the video base
452address), or for virtual resolutions under X (which the X server
453doesn't support yet). So, it's currently best to leave this field
454empty, either by ending the "external:" after the video address or by
455writing two consecutive semicolons, if you want to give a <vgabase>
456(it is allowed to leave this parameter empty).
457
458 The <vgabase> parameter is optional. If it is not given, the kernel
459cannot read or write any color registers of the video hardware, and
460thus you have to set appropriate colors before you start Linux. But if
461your card is somehow VGA compatible, you can tell the kernel the base
462address of the VGA register set, so it can change the color lookup
463table. You have to look up this address in your board's documentation.
464To avoid misunderstandings: <vgabase> is the _base_ address, i.e. a 4k
465aligned address. For read/writing the color registers, the kernel
466uses the addresses vgabase+0x3c7...vgabase+0x3c9. The <vgabase>
467parameter is written in hexadecimal with a "0x" prefix, just as
468<scrmem>.
469
470 <colw> is meaningful only if <vgabase> is specified. It tells the
471kernel how wide each of the color register is, i.e. the number of bits
472per single color (red/green/blue). Default is 6, another quite usual
473value is 8.
474
475 Also <coltype> is used together with <vgabase>. It tells the kernel
476about the color register model of your gfx board. Currently, the types
477"vga" (which is also the default) and "mv300" (SANG MV300) are
478implemented.
479
480 Parameter <xres_virtual> is required for ProMST or ET4000 cards where
481the physical linelength differs from the visible length. With ProMST,
482xres_virtual must be set to 2048. For ET4000, xres_virtual depends on the
483initialisation of the video-card.
484If you're missing a corresponding yres_virtual: the external part is legacy,
485therefore we don't support hardware-dependent functions like hardware-scroll,
486panning or blanking.
487
4884.1.7) eclock:
489--------------
490
491The external pixel clock attached to the Falcon VIDEL shifter. This
492currently works only with the ScreenWonder!
493
4944.1.8) monitorcap:
495-------------------
496
497Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
498
499This describes the capabilities of a multisync monitor. Don't use it
500with a fixed-frequency monitor! For now, only the Falcon frame buffer
501uses the settings of "monitorcap:".
502
503 <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
504your monitor can work with, in Hz. <hmin> and <hmax> are the same for
505the horizontal frequency, in kHz.
506
507 The defaults are 58;62;31;32 (VGA compatible).
508
509 The defaults for TV/SC1224/SC1435 cover both PAL and NTSC standards.
510
5114.1.9) keep
512------------
513
514If this option is given, the framebuffer device doesn't do any video
515mode calculations and settings on its own. The only Atari fb device
516that does this currently is the Falcon.
517
518 What you reach with this: Settings for unknown video extensions
519aren't overridden by the driver, so you can still use the mode found
520when booting, when the driver doesn't know to set this mode itself.
521But this also means, that you can't switch video modes anymore...
522
523 An example where you may want to use "keep" is the ScreenBlaster for
524the Falcon.
525
526
5274.2) atamouse=
528--------------
529
530Syntax: atamouse=<x-threshold>,[<y-threshold>]
531
532 With this option, you can set the mouse movement reporting threshold.
533This is the number of pixels of mouse movement that have to accumulate
534before the IKBD sends a new mouse packet to the kernel. Higher values
535reduce the mouse interrupt load and thus reduce the chance of keyboard
536overruns. Lower values give a slightly faster mouse responses and
537slightly better mouse tracking.
538
539 You can set the threshold in x and y separately, but usually this is
540of little practical use. If there's just one number in the option, it
541is used for both dimensions. The default value is 2 for both
542thresholds.
543
544
5454.3) ataflop=
546-------------
547
548Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
549
550 The drive type may be 0, 1, or 2, for DD, HD, and ED, resp. This
551 setting affects how many buffers are reserved and which formats are
552 probed (see also below). The default is 1 (HD). Only one drive type
553 can be selected. If you have two disk drives, select the "better"
554 type.
555
556 The second parameter <trackbuffer> tells the kernel whether to use
557 track buffering (1) or not (0). The default is machine-dependent:
558 no for the Medusa and yes for all others.
559
560 With the two following parameters, you can change the default
561 steprate used for drive A and B, resp.
562
563
5644.4) atascsi=
565-------------
566
567Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
568
569 This option sets some parameters for the Atari native SCSI driver.
570Generally, any number of arguments can be omitted from the end. And
571for each of the numbers, a negative value means "use default". The
572defaults depend on whether TT-style or Falcon-style SCSI is used.
573Below, defaults are noted as n/m, where the first value refers to
574TT-SCSI and the latter to Falcon-SCSI. If an illegal value is given
575for one parameter, an error message is printed and that one setting is
576ignored (others aren't affected).
577
578 <can_queue>:
579 This is the maximum number of SCSI commands queued internally to the
580 Atari SCSI driver. A value of 1 effectively turns off the driver
581 internal multitasking (if it causes problems). Legal values are >=
582 1. <can_queue> can be as high as you like, but values greater than
583 <cmd_per_lun> times the number of SCSI targets (LUNs) you have
584 don't make sense. Default: 16/8.
585
586 <cmd_per_lun>:
587 Maximum number of SCSI commands issued to the driver for one
588 logical unit (LUN, usually one SCSI target). Legal values start
589 from 1. If tagged queuing (see below) is not used, values greater
590 than 2 don't make sense, but waste memory. Otherwise, the maximum
591 is the number of command tags available to the driver (currently
592 32). Default: 8/1. (Note: Values > 1 seem to cause problems on a
593 Falcon, cause not yet known.)
594
595 The <cmd_per_lun> value at a great part determines the amount of
596 memory SCSI reserves for itself. The formula is rather
597 complicated, but I can give you some hints:
598 no scatter-gather : cmd_per_lun * 232 bytes
599 full scatter-gather: cmd_per_lun * approx. 17 Kbytes
600
601 <scat-gat>:
602 Size of the scatter-gather table, i.e. the number of requests
603 consecutive on the disk that can be merged into one SCSI command.
604 Legal values are between 0 and 255. Default: 255/0. Note: This
605 value is forced to 0 on a Falcon, since scatter-gather isn't
606 possible with the ST-DMA. Not using scatter-gather hurts
607 performance significantly.
608
609 <host-id>:
610 The SCSI ID to be used by the initiator (your Atari). This is
611 usually 7, the highest possible ID. Every ID on the SCSI bus must
612 be unique. Default: determined at run time: If the NV-RAM checksum
613 is valid, and bit 7 in byte 30 of the NV-RAM is set, the lower 3
614 bits of this byte are used as the host ID. (This method is defined
615 by Atari and also used by some TOS HD drivers.) If the above
616 isn't given, the default ID is 7. (both, TT and Falcon).
617
618 <tagged>:
619 0 means turn off tagged queuing support, all other values > 0 mean
620 use tagged queuing for targets that support it. Default: currently
621 off, but this may change when tagged queuing handling has been
622 proved to be reliable.
623
624 Tagged queuing means that more than one command can be issued to
625 one LUN, and the SCSI device itself orders the requests so they
626 can be performed in optimal order. Not all SCSI devices support
627 tagged queuing (:-().
628
6294.6 switches=
630-------------
631
632Syntax: switches=<list of switches>
633
634 With this option you can switch some hardware lines that are often
635used to enable/disable certain hardware extensions. Examples are
636OverScan, overclocking, ...
637
638 The <list of switches> is a comma-separated list of the following
639items:
640
641 ikbd: set RTS of the keyboard ACIA high
642 midi: set RTS of the MIDI ACIA high
643 snd6: set bit 6 of the PSG port A
644 snd7: set bit 6 of the PSG port A
645
646It doesn't make sense to mention a switch more than once (no
647difference to only once), but you can give as many switches as you
648want to enable different features. The switch lines are set as early
649as possible during kernel initialization (even before determining the
650present hardware.)
651
652 All of the items can also be prefixed with "ov_", i.e. "ov_ikbd",
653"ov_midi", ... These options are meant for switching on an OverScan
654video extension. The difference to the bare option is that the
655switch-on is done after video initialization, and somehow synchronized
656to the HBLANK. A speciality is that ov_ikbd and ov_midi are switched
657off before rebooting, so that OverScan is disabled and TOS boots
658correctly.
659
660 If you give an option both, with and without the "ov_" prefix, the
661earlier initialization ("ov_"-less) takes precedence. But the
662switching-off on reset still happens in this case.
663
6644.5) stram_swap=
665----------------
666
667Syntax: stram_swap=<do_swap>[,<max_swap>]
668
669 This option is available only if the kernel has been compiled with
670CONFIG_STRAM_SWAP enabled. Normally, the kernel then determines
671dynamically whether to actually use ST-RAM as swap space. (Currently,
672the fraction of ST-RAM must be less or equal 1/3 of total memory to
673enable this swapping.) You can override the kernel's decision by
674specifying this option. 1 for <do_swap> means always enable the swap,
675even if you have less alternate RAM. 0 stands for never swap to
676ST-RAM, even if it's small enough compared to the rest of memory.
677
678 If ST-RAM swapping is enabled, the kernel usually uses all free
679ST-RAM as swap "device". If the kernel resides in ST-RAM, the region
680allocated by it is obviously never used for swapping :-) You can also
681limit this amount by specifying the second parameter, <max_swap>, if
682you want to use parts of ST-RAM as normal system memory. <max_swap> is
683in kBytes and the number should be a multiple of 4 (otherwise: rounded
684down).
685
6865) Options for Amiga Only:
687==========================
688
6895.1) video=
690-----------
691
692Syntax: video=<fbname>:<sub-options...>
693
694The <fbname> parameter specifies the name of the frame buffer, valid
695options are `amifb', `cyber', 'virge', `retz3' and `clgen', provided
696that the respective frame buffer devices have been compiled into the
697kernel (or compiled as loadable modules). The behavior of the <fbname>
698option was changed in 2.1.57 so it is now recommended to specify this
699option.
700
701The <sub-options> is a comma-separated list of the sub-options listed
702below. This option is organized similar to the Atari version of the
703"video"-option (4.1), but knows fewer sub-options.
704
7055.1.1) video mode
706-----------------
707
708Again, similar to the video mode for the Atari (see 4.1.1). Predefined
709modes depend on the used frame buffer device.
710
711OCS, ECS and AGA machines all use the color frame buffer. The following
712predefined video modes are available:
713
714NTSC modes:
715 - ntsc : 640x200, 15 kHz, 60 Hz
716 - ntsc-lace : 640x400, 15 kHz, 60 Hz interlaced
717PAL modes:
718 - pal : 640x256, 15 kHz, 50 Hz
719 - pal-lace : 640x512, 15 kHz, 50 Hz interlaced
720ECS modes:
721 - multiscan : 640x480, 29 kHz, 57 Hz
722 - multiscan-lace : 640x960, 29 kHz, 57 Hz interlaced
723 - euro36 : 640x200, 15 kHz, 72 Hz
724 - euro36-lace : 640x400, 15 kHz, 72 Hz interlaced
725 - euro72 : 640x400, 29 kHz, 68 Hz
726 - euro72-lace : 640x800, 29 kHz, 68 Hz interlaced
727 - super72 : 800x300, 23 kHz, 70 Hz
728 - super72-lace : 800x600, 23 kHz, 70 Hz interlaced
729 - dblntsc-ff : 640x400, 27 kHz, 57 Hz
730 - dblntsc-lace : 640x800, 27 kHz, 57 Hz interlaced
731 - dblpal-ff : 640x512, 27 kHz, 47 Hz
732 - dblpal-lace : 640x1024, 27 kHz, 47 Hz interlaced
733 - dblntsc : 640x200, 27 kHz, 57 Hz doublescan
734 - dblpal : 640x256, 27 kHz, 47 Hz doublescan
735VGA modes:
736 - vga : 640x480, 31 kHz, 60 Hz
737 - vga70 : 640x400, 31 kHz, 70 Hz
738
739Please notice that the ECS and VGA modes require either an ECS or AGA
740chipset, and that these modes are limited to 2-bit color for the ECS
741chipset and 8-bit color for the AGA chipset.
742
7435.1.2) depth
744------------
745
746Syntax: depth:<nr. of bit-planes>
747
748Specify the number of bit-planes for the selected video-mode.
749
7505.1.3) inverse
751--------------
752
753Use inverted display (black on white). Functionally the same as the
754"inverse" sub-option for the Atari.
755
7565.1.4) font
757-----------
758
759Syntax: font:<fontname>
760
761Specify the font to use in text modes. Functionally the same as the
762"font" sub-option for the Atari, except that `PEARL8x8' is used instead
763of `VGA8x8' if the vertical size of the display is less than 400 pixel
764rows.
765
7665.1.5) monitorcap:
767-------------------
768
769Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
770
771This describes the capabilities of a multisync monitor. For now, only
772the color frame buffer uses the settings of "monitorcap:".
773
774 <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
775your monitor can work with, in Hz. <hmin> and <hmax> are the same for
776the horizontal frequency, in kHz.
777
778 The defaults are 50;90;15;38 (Generic Amiga multisync monitor).
779
780
7815.2) fd_def_df0=
782----------------
783
784Syntax: fd_def_df0=<value>
785
786Sets the df0 value for "silent" floppy drives. The value should be in
787hexadecimal with "0x" prefix.
788
789
7905.3) wd33c93=
791-------------
792
793Syntax: wd33c93=<sub-options...>
794
795These options affect the A590/A2091, A3000 and GVP Series II SCSI
796controllers.
797
798The <sub-options> is a comma-separated list of the sub-options listed
799below.
800
8015.3.1) nosync
802-------------
803
804Syntax: nosync:bitmask
805
806 bitmask is a byte where the 1st 7 bits correspond with the 7
807possible SCSI devices. Set a bit to prevent sync negotiation on that
808device. To maintain backwards compatibility, a command-line such as
809"wd33c93=255" will be automatically translated to
810"wd33c93=nosync:0xff". The default is to disable sync negotiation for
811all devices, eg. nosync:0xff.
812
8135.3.2) period
814-------------
815
816Syntax: period:ns
817
818 `ns' is the minimum # of nanoseconds in a SCSI data transfer
819period. Default is 500; acceptable values are 250 - 1000.
820
8215.3.3) disconnect
822-----------------
823
824Syntax: disconnect:x
825
826 Specify x = 0 to never allow disconnects, 2 to always allow them.
827x = 1 does 'adaptive' disconnects, which is the default and generally
828the best choice.
829
8305.3.4) debug
831------------
832
833Syntax: debug:x
834
835 If `DEBUGGING_ON' is defined, x is a bit mask that causes various
836types of debug output to printed - see the DB_xxx defines in
837wd33c93.h.
838
8395.3.5) clock
840------------
841
842Syntax: clock:x
843
844 x = clock input in MHz for WD33c93 chip. Normal values would be from
8458 through 20. The default value depends on your hostadapter(s),
846default for the A3000 internal controller is 14, for the A2091 it's 8
847and for the GVP hostadapters it's either 8 or 14, depending on the
848hostadapter and the SCSI-clock jumper present on some GVP
849hostadapters.
850
8515.3.6) next
852-----------
853
854 No argument. Used to separate blocks of keywords when there's more
855than one wd33c93-based host adapter in the system.
856
8575.3.7) nodma
858------------
859
860Syntax: nodma:x
861
862 If x is 1 (or if the option is just written as "nodma"), the WD33c93
863controller will not use DMA (= direct memory access) to access the
864Amiga's memory. This is useful for some systems (like A3000's and
865A4000's with the A3640 accelerator, revision 3.0) that have problems
866using DMA to chip memory. The default is 0, i.e. to use DMA if
867possible.
868
869
8705.4) gvp11=
871-----------
872
873Syntax: gvp11=<addr-mask>
874
875 The earlier versions of the GVP driver did not handle DMA
876address-mask settings correctly which made it necessary for some
877people to use this option, in order to get their GVP controller
878running under Linux. These problems have hopefully been solved and the
879use of this option is now highly unrecommended!
880
881 Incorrect use can lead to unpredictable behavior, so please only use
882this option if you *know* what you are doing and have a reason to do
883so. In any case if you experience problems and need to use this
884option, please inform us about it by mailing to the Linux/68k kernel
885mailing list.
886
887 The address mask set by this option specifies which addresses are
888valid for DMA with the GVP Series II SCSI controller. An address is
889valid, if no bits are set except the bits that are set in the mask,
890too.
891
892 Some versions of the GVP can only DMA into a 24 bit address range,
893some can address a 25 bit address range while others can use the whole
89432 bit address range for DMA. The correct setting depends on your
895controller and should be autodetected by the driver. An example is the
89624 bit region which is specified by a mask of 0x00fffffe.
897
898
8995.5) 53c7xx=
900------------
901
902Syntax: 53c7xx=<sub-options...>
903
904These options affect the A4000T, A4091, WarpEngine, Blizzard 603e+,
905and GForce 040/060 SCSI controllers on the Amiga, as well as the
906builtin MVME 16x SCSI controller.
907
908The <sub-options> is a comma-separated list of the sub-options listed
909below.
910
9115.5.1) nosync
912-------------
913
914Syntax: nosync:0
915
916 Disables sync negotiation for all devices. Any value after the
917 colon is acceptable (and has the same effect).
918
9195.5.2) noasync
920--------------
921
922Syntax: noasync:0
923
924 Disables async and sync negotiation for all devices. Any value
925 after the colon is acceptable (and has the same effect).
926
9275.5.3) nodisconnect
928-------------------
929
930Syntax: nodisconnect:0
931
932 Disables SCSI disconnects. Any value after the colon is acceptable
933 (and has the same effect).
934
9355.5.4) validids
936---------------
937
938Syntax: validids:0xNN
939
940 Specify which SCSI ids the driver should pay attention to. This is
941 a bitmask (i.e. to only pay attention to ID#4, you'd use 0x10).
942 Default is 0x7f (devices 0-6).
943
9445.5.5) opthi
9455.5.6) optlo
946------------
947
948Syntax: opthi:M,optlo:N
949
950 Specify options for "hostdata->options". The acceptable definitions
951 are listed in drivers/scsi/53c7xx.h; the 32 high bits should be in
952 opthi and the 32 low bits in optlo. They must be specified in the
953 order opthi=M,optlo=N.
954
9555.5.7) next
956-----------
957
958 No argument. Used to separate blocks of keywords when there's more
959 than one 53c7xx host adapter in the system.
960
961
962/* Local Variables: */
963/* mode: text */
964/* End: */