Fix mdoc(7)/man(7) mix up.
[netbsd-mini2440.git] / share / man / man4 / adb.4
blob15c25ea6a884c44a3cd6c3e431c777bd6e0c86e6
1 .\"     $NetBSD: adb.4,v 1.1 2003/09/26 19:15:15 mbw Exp $
2 .\"
3 .\" Copyright (c) 2003 Alex Zepeda <zipzippy@sonic.net>
4 .\" Copyright (c) 1997 Colin Wood
5 .\" All rights reserved.
6 .\"
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
9 .\" are met:
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in the
14 .\"    documentation and/or other materials provided with the distribution.
15 .\" 3. All advertising materials mentioning features or use of this software
16 .\"    must display the following acknowledgement:
17 .\"      This product includes software developed by Alex Zepeda, and
18 .\"      Colin Wood for the NetBSD Projet.
19 .\" 4. The name of the author may not be used to endorse or promote products
20 .\"    derived from this software without specific prior written permission.
21 .\"
22 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 .\"
33 .Dd September 21, 2003
34 .Dt ADB 4
35 .Os
36 .Sh NAME
37 .Nm adb
38 .Nd Apple Desktop Bus driver
39 .Sh SYNOPSIS
40 .Cd "adb* at obio?"
41 .Pp
42 .Cd "options MRG_ADB"
43 .Pp
44 .In machine/adbsys.h
45 .Sh DESCRIPTION
46 The Apple Desktop Bus
47 .Pq Tn ADB
48 is the single-master, multiple-slave, low-speed serial bus
49 interface used by Macintosh computers to connect input devices
50 such as keyboards, mice, trackpads, trackballs, and graphics tablets
51 to the machine.
52 .Nx
53 provides support for the Apple Desktop Bus as found on all supported
54 mac68k models, as well as macppc models with on-board
55 .Tn ADB
56 (PowerBooks and
57 .Dq Old World
58 models).
59 .Pp
60 The
61 .Nm
62 driver accesses the
63 .Tn ADB
64 controller using the so-called
65 .Dq HWDIRECT
66 method.
67 This method of access bypasses the Macintosh ROM and uses only
68 .Nx
69 routines for ADB access.
70 This is the only method supported on macppc and is the default for
71 mac68k systems.
72 .Pp
73 On mac68k systems there is an alternate method of accessing the
74 .Tn ADB
75 controller.
76 With the Macintosh ROM Glue
77 .Pq Tn MRG
78 method, the routines written for MacOS are used.
79 To enable this method of
80 .Tn ADB
81 access, uncomment the line:
82 .Pp
83 .Cd options MRG_ADB
84 .Pp
85 in your kernel configuration file.
86 .Pp
87 The
88 .Xr ioctl 2
89 call is used to control the
90 .Tn ADB
91 event device.
92 The following is a list of available
93 .Xr ioctl 2
94 commands:
95 .Bl -tag -width ADBIOC_GETREPEAT
96 .It Dv ADBIOC_DEVSINFO
97 Get
98 .Tn ADB
99 Device Info
103 event device will return an array of information containing an entry
104 for each device connected to the bus.
105 Each entry contains the current address, default address, and
106 handler ID for the corresponding
107 .Tn ADB
108 device.
109 .It Dv ADBIOC_GETREPEAT
110 Get Keyboard Repeat Info
112 Returns a structure containing the current keyboard repeat delay
113 and keyboard repeat interval.
114 .It Dv ADBIOC_SETREPEAT
115 Set Keyboard Repeat Rate
117 Sets the keyboard repeat delay and interval to the values specified
119 .Ar argp .
120 .It Dv ADBIOC_RESET
121 .Tn ADB
122 Reset
124 Perform a reset of the
125 .Tn ADB
126 which will reinitialize all of the devices attached to the bus.
127 .It Dv ADBIOC_LISTENCMD
128 ADB Listen Command
130 Send data to the register of the
131 .Tn ADB
132 device specified by
133 .Ar argp .
134 This command is not fully implemented at this time.
136 .Sh SUPPORTED DEVICES
138 includes support for the following
139 .Tn ADB
140 devices, sorted by driver name:
141 .Bl -tag -width akbd -offset indent
142 .It abtn
143 ADB mouse button?
144 .It aed
145 ADB event device
146 .It akbd
147 ADB keyboard
148 .It ams
149 ADB mouse
150 .It apm
151 APM emulation
153 .Sh FILES
154 .Bl -tag -width /dev/adb -compact
155 .It Pa /dev/adb
157 .Tn ADB
158 event device.
160 .Sh DIAGNOSTICS
161 .Bl -diag
162 .It aed0 at adb0 addr 0: ADB Event device
163 This is a normal autoconfiguration message noting the presence of the
165 event device.
166 .It adb0 at obio0 offset 0x16000 irq 18: 2 targets
167 A standard autoconfiguration message indicating the initialization
168 of the
169 .Tn ADB
170 subsystem.
171 .It "adb: no devices found."
173 .Tn ADB
174 devices were found to be connected to the bus during autoconfiguration.
175 .It "adb: using %s series hardware support."
176 Indicates the class of
177 .Tn ADB
178 hardware support the machine uses.
179 .It "adb: hardware type unknown for this machine."
181 .Tn ADB
182 hardware in this machine is currently unsupported.
183 .It "adb: no ROM ADB driver in this kernel for this machine."
184 The kernel lacks the necessary Macintosh ROM Glue
185 .Pq Tn MRG
186 support for accessing the
187 .Tn ADB
188 hardware on this machine.
189 .It "adb: using serial console."
190 A serial console will be used for user input rather than the
191 .Tn ADB
192 event device.
193 .It "adb: %s at %d."
195 .Tn ADB
196 device of the type specified by
197 .Em %s
198 has been found at location
199 .Em %d .
201 .Sh SEE ALSO
202 .Xr aed 4 ,
203 .Xr akbd 4 ,
204 .Xr ams 4 ,
205 .Xr apm 4
206 .Sh HISTORY
209 interface first appeared in
210 .Nx 0.9 .
211 It has been under development ever since.
212 .Sh AUTHORS
213 Bradley A. Grantham wrote the original
215 driver, including the
216 .Tn MRG
217 support.
218 The hardware direct interface was written by
219 John P. Wittkowski.
220 The PowerManager interface was written by Takashi Hamada.
221 .Sh BUGS
222 .Bl -bullet
224 Not every class of
225 .Tn ADB
226 hardware is supported yet.
228 The talk command is currently unimplemented.
230 The listen command is not implemented yet.
232 Not all multi-button mice are currently supported.
234 Only mapped and relative-position
235 .Tn ADB
236 devices
237 .Pq i.e. keyboards and mice
238 are supported.
239 Thus absolute-position and other exotic devices will not work.
241 Some of the diagnostic messages in this man page need to be updated.
244 Some mac68k machines contain so-called dirty ROM.
245 These machines are the: Mac SE/30, Mac II, Mac IIx, and Mac IIcx.
246 Machines with dirty ROM may experience trouble booting if the MRG code
247 is used, especially under the following conditions:
248 .Bl -bullet -compact -offset indent
250 Both a keyboard and a mouse are not attached to the computer.
252 An extended keyboard is attached to the computer.
255 On (some) machines with dirty ROM, the ROM indicates the presence of a
256 .Dq ghost
257 keyboard or mouse.
258 When this non-existant device is probed for, the result is an infinite
259 loop.
260 This is believed to be triggered by the
262 driver probing for extended mice, and non-EMP Logitech mice.