sonypi - Move sonypi.txt to Documentation/laptops
[safe/jmp/linux-2.6] / Documentation / laptops / sonypi.txt
diff --git a/Documentation/laptops/sonypi.txt b/Documentation/laptops/sonypi.txt
new file mode 100644 (file)
index 0000000..4857acf
--- /dev/null
@@ -0,0 +1,152 @@
+Sony Programmable I/O Control Device Driver Readme
+--------------------------------------------------
+       Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net>
+       Copyright (C) 2001-2002 AlcĂ´ve <www.alcove.com>
+       Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
+       Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
+       Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
+       Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>
+
+This driver enables access to the Sony Programmable I/O Control Device which
+can be found in many Sony Vaio laptops. Some newer Sony laptops (seems to be
+limited to new FX series laptops, at least the FX501 and the FX702) lack a
+sonypi device and are not supported at all by this driver.
+
+It will give access (through a user space utility) to some events those laptops
+generate, like:
+       - jogdial events (the small wheel on the side of Vaios)
+       - capture button events (only on Vaio Picturebook series)
+       - Fn keys
+       - bluetooth button (only on C1VR model)
+       - programmable keys, back, help, zoom, thumbphrase buttons, etc.
+         (when available)
+
+Those events (see linux/sonypi.h) can be polled using the character device node
+/dev/sonypi (major 10, minor auto allocated or specified as a option).
+A simple daemon which translates the jogdial movements into mouse wheel events
+can be downloaded at: <http://popies.net/sonypi/>
+
+Another option to intercept the events is to get them directly through the
+input layer.
+
+This driver supports also some ioctl commands for setting the LCD screen
+brightness and querying the batteries charge information (some more
+commands may be added in the future).
+
+This driver can also be used to set the camera controls on Picturebook series
+(brightness, contrast etc), and is used by the video4linux driver for the
+Motion Eye camera.
+
+Please note that this driver was created by reverse engineering the Windows
+driver and the ACPI BIOS, because Sony doesn't agree to release any programming
+specs for its laptops. If someone convinces them to do so, drop me a note.
+
+Driver options:
+---------------
+
+Several options can be passed to the sonypi driver using the standard
+module argument syntax (<param>=<value> when passing the option to the
+module or sonypi.<param>=<value> on the kernel boot line when sonypi is
+statically linked into the kernel). Those options are:
+
+       minor:          minor number of the misc device /dev/sonypi,
+                       default is -1 (automatic allocation, see /proc/misc
+                       or kernel logs)
+
+       camera:         if you have a PictureBook series Vaio (with the
+                       integrated MotionEye camera), set this parameter to 1
+                       in order to let the driver access to the camera
+
+       fnkeyinit:      on some Vaios (C1VE, C1VR etc), the Fn key events don't
+                       get enabled unless you set this parameter to 1.
+                       Do not use this option unless it's actually necessary,
+                       some Vaio models don't deal well with this option.
+                       This option is available only if the kernel is
+                       compiled without ACPI support (since it conflicts
+                       with it and it shouldn't be required anyway if
+                       ACPI is already enabled).
+
+       verbose:        set to 1 to print unknown events received from the
+                       sonypi device.
+                       set to 2 to print all events received from the
+                       sonypi device.
+
+       compat:         uses some compatibility code for enabling the sonypi
+                       events. If the driver worked for you in the past
+                       (prior to version 1.5) and does not work anymore,
+                       add this option and report to the author.
+
+       mask:           event mask telling the driver what events will be
+                       reported to the user. This parameter is required for
+                       some Vaio models where the hardware reuses values
+                       used in other Vaio models (like the FX series who does
+                       not have a jogdial but reuses the jogdial events for
+                       programmable keys events). The default event mask is
+                       set to 0xffffffff, meaning that all possible events
+                       will be tried. You can use the following bits to
+                       construct your own event mask (from
+                       drivers/char/sonypi.h):
+                               SONYPI_JOGGER_MASK              0x0001
+                               SONYPI_CAPTURE_MASK             0x0002
+                               SONYPI_FNKEY_MASK               0x0004
+                               SONYPI_BLUETOOTH_MASK           0x0008
+                               SONYPI_PKEY_MASK                0x0010
+                               SONYPI_BACK_MASK                0x0020
+                               SONYPI_HELP_MASK                0x0040
+                               SONYPI_LID_MASK                 0x0080
+                               SONYPI_ZOOM_MASK                0x0100
+                               SONYPI_THUMBPHRASE_MASK         0x0200
+                               SONYPI_MEYE_MASK                0x0400
+                               SONYPI_MEMORYSTICK_MASK         0x0800
+                               SONYPI_BATTERY_MASK             0x1000
+                               SONYPI_WIRELESS_MASK            0x2000
+
+       useinput:       if set (which is the default) two input devices are
+                       created, one which interprets the jogdial events as
+                       mouse events, the other one which acts like a
+                       keyboard reporting the pressing of the special keys.
+
+Module use:
+-----------
+
+In order to automatically load the sonypi module on use, you can put those
+lines in your /etc/modprobe.conf file:
+
+       alias char-major-10-250 sonypi
+       options sonypi minor=250
+
+This supposes the use of minor 250 for the sonypi device:
+
+       # mknod /dev/sonypi c 10 250
+
+Bugs:
+-----
+
+       - several users reported that this driver disables the BIOS-managed
+         Fn-keys which put the laptop in sleeping state, or switch the
+         external monitor on/off. There is no workaround yet, since this
+         driver disables all APM management for those keys, by enabling the
+         ACPI management (and the ACPI core stuff is not complete yet). If
+         you have one of those laptops with working Fn keys and want to
+         continue to use them, don't use this driver.
+
+       - some users reported that the laptop speed is lower (dhrystone
+         tested) when using the driver with the fnkeyinit parameter. I cannot
+         reproduce it on my laptop and not all users have this problem.
+         This happens because the fnkeyinit parameter enables the ACPI
+         mode (but without additional ACPI control, like processor
+         speed handling etc). Use ACPI instead of APM if it works on your
+         laptop.
+
+       - sonypi lacks the ability to distinguish between certain key
+         events on some models.
+
+       - some models with the nvidia card (geforce go 6200 tc) uses a
+         different way to adjust the backlighting of the screen. There
+         is a userspace utility to adjust the brightness on those models,
+         which can be downloaded from
+         http://www.acc.umu.se/~erikw/program/smartdimmer-0.1.tar.bz2
+
+       - since all development was done by reverse engineering, there is
+         _absolutely no guarantee_ that this driver will not crash your
+         laptop. Permanently.