mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-05 16:07:46 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
144
Documentation/laptops/sony-laptop.txt
Normal file
144
Documentation/laptops/sony-laptop.txt
Normal file
|
@ -0,0 +1,144 @@
|
|||
Sony Notebook Control Driver (SNC) Readme
|
||||
-----------------------------------------
|
||||
Copyright (C) 2004- 2005 Stelian Pop <stelian@popies.net>
|
||||
Copyright (C) 2007 Mattia Dongili <malattia@linux.it>
|
||||
|
||||
This mini-driver drives the SNC and SPIC device present in the ACPI BIOS of the
|
||||
Sony Vaio laptops. This driver mixes both devices functions under the same
|
||||
(hopefully consistent) interface. This also means that the sonypi driver is
|
||||
obsoleted by sony-laptop now.
|
||||
|
||||
Fn keys (hotkeys):
|
||||
------------------
|
||||
Some models report hotkeys through the SNC or SPIC devices, such events are
|
||||
reported both through the ACPI subsystem as acpi events and through the INPUT
|
||||
subsystem. See the logs of /proc/bus/input/devices to find out what those
|
||||
events are and which input devices are created by the driver.
|
||||
Additionally, loading the driver with the debug option will report all events
|
||||
in the kernel log.
|
||||
|
||||
The "scancodes" passed to the input system (that can be remapped with udev)
|
||||
are indexes to the table "sony_laptop_input_keycode_map" in the sony-laptop.c
|
||||
module. For example the "FN/E" key combination (EJECTCD on some models)
|
||||
generates the scancode 20 (0x14).
|
||||
|
||||
Backlight control:
|
||||
------------------
|
||||
If your laptop model supports it, you will find sysfs files in the
|
||||
/sys/class/backlight/sony/
|
||||
directory. You will be able to query and set the current screen
|
||||
brightness:
|
||||
brightness get/set screen brightness (an integer
|
||||
between 0 and 7)
|
||||
actual_brightness reading from this file will query the HW
|
||||
to get real brightness value
|
||||
max_brightness the maximum brightness value
|
||||
|
||||
|
||||
Platform specific:
|
||||
------------------
|
||||
Loading the sony-laptop module will create a
|
||||
/sys/devices/platform/sony-laptop/
|
||||
directory populated with some files.
|
||||
|
||||
You then read/write integer values from/to those files by using
|
||||
standard UNIX tools.
|
||||
|
||||
The files are:
|
||||
brightness_default screen brightness which will be set
|
||||
when the laptop will be rebooted
|
||||
cdpower power on/off the internal CD drive
|
||||
audiopower power on/off the internal sound card
|
||||
lanpower power on/off the internal ethernet card
|
||||
(only in debug mode)
|
||||
bluetoothpower power on/off the internal bluetooth device
|
||||
fanspeed get/set the fan speed
|
||||
|
||||
Note that some files may be missing if they are not supported
|
||||
by your particular laptop model.
|
||||
|
||||
Example usage:
|
||||
# echo "1" > /sys/devices/platform/sony-laptop/brightness_default
|
||||
sets the lowest screen brightness for the next and later reboots,
|
||||
# echo "8" > /sys/devices/platform/sony-laptop/brightness_default
|
||||
sets the highest screen brightness for the next and later reboots,
|
||||
# cat /sys/devices/platform/sony-laptop/brightness_default
|
||||
retrieves the value.
|
||||
|
||||
# echo "0" > /sys/devices/platform/sony-laptop/audiopower
|
||||
powers off the sound card,
|
||||
# echo "1" > /sys/devices/platform/sony-laptop/audiopower
|
||||
powers on the sound card.
|
||||
|
||||
|
||||
RFkill control:
|
||||
---------------
|
||||
More recent Vaio models expose a consistent set of ACPI methods to
|
||||
control radio frequency emitting devices. If you are a lucky owner of
|
||||
such a laptop you will find the necessary rfkill devices under
|
||||
/sys/class/rfkill. Check those starting with sony-* in
|
||||
# grep . /sys/class/rfkill/*/{state,name}
|
||||
|
||||
|
||||
Development:
|
||||
------------
|
||||
|
||||
If you want to help with the development of this driver (and
|
||||
you are not afraid of any side effects doing strange things with
|
||||
your ACPI BIOS could have on your laptop), load the driver and
|
||||
pass the option 'debug=1'.
|
||||
|
||||
REPEAT: DON'T DO THIS IF YOU DON'T LIKE RISKY BUSINESS.
|
||||
|
||||
In your kernel logs you will find the list of all ACPI methods
|
||||
the SNC device has on your laptop.
|
||||
|
||||
* For new models you will see a long list of meaningless method names,
|
||||
reading the DSDT table source should reveal that:
|
||||
(1) the SNC device uses an internal capability lookup table
|
||||
(2) SN00 is used to find values in the lookup table
|
||||
(3) SN06 and SN07 are used to call into the real methods based on
|
||||
offsets you can obtain iterating the table using SN00
|
||||
(4) SN02 used to enable events.
|
||||
Some values in the capability lookup table are more or less known, see
|
||||
the code for all sony_call_snc_handle calls, others are more obscure.
|
||||
|
||||
* For old models you can see the GCDP/GCDP methods used to pwer on/off
|
||||
the CD drive, but there are others and they are usually different from
|
||||
model to model.
|
||||
|
||||
I HAVE NO IDEA WHAT THOSE METHODS DO.
|
||||
|
||||
The sony-laptop driver creates, for some of those methods (the most
|
||||
current ones found on several Vaio models), an entry under
|
||||
/sys/devices/platform/sony-laptop, just like the 'cdpower' one.
|
||||
You can create other entries corresponding to your own laptop methods by
|
||||
further editing the source (see the 'sony_nc_values' table, and add a new
|
||||
entry to this table with your get/set method names using the
|
||||
SNC_HANDLE_NAMES macro).
|
||||
|
||||
Your mission, should you accept it, is to try finding out what
|
||||
those entries are for, by reading/writing random values from/to those
|
||||
files and find out what is the impact on your laptop.
|
||||
|
||||
Should you find anything interesting, please report it back to me,
|
||||
I will not disavow all knowledge of your actions :)
|
||||
|
||||
See also http://www.linux.it/~malattia/wiki/index.php/Sony_drivers for other
|
||||
useful info.
|
||||
|
||||
Bugs/Limitations:
|
||||
-----------------
|
||||
|
||||
* This driver is not based on official documentation from Sony
|
||||
(because there is none), so there is no guarantee this driver
|
||||
will work at all, or do the right thing. Although this hasn't
|
||||
happened to me, this driver could do very bad things to your
|
||||
laptop, including permanent damage.
|
||||
|
||||
* The sony-laptop and sonypi drivers do not interact at all. In the
|
||||
future, sonypi will be removed and replaced by sony-laptop.
|
||||
|
||||
* spicctrl, which is the userspace tool used to communicate with the
|
||||
sonypi driver (through /dev/sonypi) is deprecated as well since all
|
||||
its features are now available under the sysfs tree via sony-laptop.
|
Loading…
Add table
Add a link
Reference in a new issue