Merge branch 'topic/hda' into for-linus
[pandora-kernel.git] / Documentation / input / bcm5974.txt
1 BCM5974 Driver (bcm5974)
2 ------------------------
3         Copyright (C) 2008-2009 Henrik Rydberg <rydberg@euromail.se>
4
5 The USB initialization and package decoding was made by Scott Shawcroft as
6 part of the touchd user-space driver project:
7         Copyright (C) 2008      Scott Shawcroft (scott.shawcroft@gmail.com)
8
9 The BCM5974 driver is based on the appletouch driver:
10         Copyright (C) 2001-2004 Greg Kroah-Hartman (greg@kroah.com)
11         Copyright (C) 2005      Johannes Berg (johannes@sipsolutions.net)
12         Copyright (C) 2005      Stelian Pop (stelian@popies.net)
13         Copyright (C) 2005      Frank Arnold (frank@scirocco-5v-turbo.de)
14         Copyright (C) 2005      Peter Osterlund (petero2@telia.com)
15         Copyright (C) 2005      Michael Hanselmann (linux-kernel@hansmi.ch)
16         Copyright (C) 2006      Nicolas Boichat (nicolas@boichat.ch)
17
18 This driver adds support for the multi-touch trackpad on the new Apple
19 Macbook Air and Macbook Pro laptops. It replaces the appletouch driver on
20 those computers, and integrates well with the synaptics driver of the Xorg
21 system.
22
23 Known to work on Macbook Air, Macbook Pro Penryn and the new unibody
24 Macbook 5 and Macbook Pro 5.
25
26 Usage
27 -----
28
29 The driver loads automatically for the supported usb device ids, and
30 becomes available both as an event device (/dev/input/event*) and as a
31 mouse via the mousedev driver (/dev/input/mice).
32
33 USB Race
34 --------
35
36 The Apple multi-touch trackpads report both mouse and keyboard events via
37 different interfaces of the same usb device. This creates a race condition
38 with the HID driver, which, if not told otherwise, will find the standard
39 HID mouse and keyboard, and claim the whole device. To remedy, the usb
40 product id must be listed in the mouse_ignore list of the hid driver.
41
42 Debug output
43 ------------
44
45 To ease the development for new hardware version, verbose packet output can
46 be switched on with the debug kernel module parameter. The range [1-9]
47 yields different levels of verbosity. Example (as root):
48
49 echo -n 9 > /sys/module/bcm5974/parameters/debug
50
51 tail -f /var/log/debug
52
53 echo -n 0 > /sys/module/bcm5974/parameters/debug
54
55 Trivia
56 ------
57
58 The driver was developed at the ubuntu forums in June 2008 [1], and now has
59 a more permanent home at bitmath.org [2].
60
61 Links
62 -----
63
64 [1] http://ubuntuforums.org/showthread.php?t=840040
65 [2] http://http://bitmath.org/code/