OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [sonypi.txt] - Rev 1766

Go to most recent revision | Compare with Previous | Blame | View Log

Sony Programmable I/O Control Device Driver Readme
--------------------------------------------------
        Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net>
        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/>

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, either by adding them
to /etc/modules.conf file, when the driver is compiled as a module or by
adding the following to the kernel command line (in your bootloader):

        sonypi=minor[,verbose[,fnkeyinit[,camera[,compat[,mask[,useinput]]]]]]

where:

        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

        useinput:       if set (which is the default) jogdial events are
                        forwarded to the input subsystem as mouse wheel
                        events.
                        

Module use:
-----------

In order to automatically load the sonypi module on use, you can put those
lines in your /etc/modules.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.
        
        - since all development was done by reverse engineering, there is
          _absolutely no guarantee_ that this driver will not crash your
          laptop. Permanently.

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.