Henrik Rydberg | 4c57e37 | 2009-04-28 07:07:07 -0700 | [diff] [blame] | 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/ |