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
91
Documentation/devicetree/bindings/input/ads7846.txt
Normal file
91
Documentation/devicetree/bindings/input/ads7846.txt
Normal file
|
@ -0,0 +1,91 @@
|
|||
Device tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
|
||||
SPI driven touch screen controllers.
|
||||
|
||||
The node for this driver must be a child node of a SPI controller, hence
|
||||
all mandatory properties described in
|
||||
|
||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
||||
|
||||
must be specified.
|
||||
|
||||
Additional required properties:
|
||||
|
||||
compatible Must be one of the following, depending on the
|
||||
model:
|
||||
"ti,tsc2046"
|
||||
"ti,ads7843"
|
||||
"ti,ads7845"
|
||||
"ti,ads7846"
|
||||
"ti,ads7873"
|
||||
|
||||
interrupt-parent
|
||||
interrupts An interrupt node describing the IRQ line the chip's
|
||||
!PENIRQ pin is connected to.
|
||||
vcc-supply A regulator node for the supply voltage.
|
||||
|
||||
|
||||
Optional properties:
|
||||
|
||||
ti,vref-delay-usecs vref supply delay in usecs, 0 for
|
||||
external vref (u16).
|
||||
ti,vref-mv The VREF voltage, in millivolts (u16).
|
||||
ti,keep-vref-on set to keep vref on for differential
|
||||
measurements as well
|
||||
ti,swap-xy swap x and y axis
|
||||
ti,settle-delay-usec Settling time of the analog signals;
|
||||
a function of Vcc and the capacitance
|
||||
on the X/Y drivers. If set to non-zero,
|
||||
two samples are taken with settle_delay
|
||||
us apart, and the second one is used.
|
||||
~150 uSec with 0.01uF caps (u16).
|
||||
ti,penirq-recheck-delay-usecs If set to non-zero, after samples are
|
||||
taken this delay is applied and penirq
|
||||
is rechecked, to help avoid false
|
||||
events. This value is affected by the
|
||||
material used to build the touch layer
|
||||
(u16).
|
||||
ti,x-plate-ohms Resistance of the X-plate,
|
||||
in Ohms (u16).
|
||||
ti,y-plate-ohms Resistance of the Y-plate,
|
||||
in Ohms (u16).
|
||||
ti,x-min Minimum value on the X axis (u16).
|
||||
ti,y-min Minimum value on the Y axis (u16).
|
||||
ti,x-max Maximum value on the X axis (u16).
|
||||
ti,y-max Minimum value on the Y axis (u16).
|
||||
ti,pressure-min Minimum reported pressure value
|
||||
(threshold) - u16.
|
||||
ti,pressure-max Maximum reported pressure value (u16).
|
||||
ti,debounce-max Max number of additional readings per
|
||||
sample (u16).
|
||||
ti,debounce-tol Tolerance used for filtering (u16).
|
||||
ti,debounce-rep Additional consecutive good readings
|
||||
required after the first two (u16).
|
||||
ti,pendown-gpio-debounce Platform specific debounce time for the
|
||||
pendown-gpio (u32).
|
||||
pendown-gpio GPIO handle describing the pin the !PENIRQ
|
||||
line is connected to.
|
||||
linux,wakeup use any event on touchscreen as wakeup event.
|
||||
|
||||
|
||||
Example for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::
|
||||
|
||||
spi_controller {
|
||||
tsc2046@0 {
|
||||
reg = <0>; /* CS0 */
|
||||
compatible = "ti,tsc2046";
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <8 0>; /* BOOT6 / GPIO 8 */
|
||||
spi-max-frequency = <1000000>;
|
||||
pendown-gpio = <&gpio1 8 0>;
|
||||
vcc-supply = <®_vcc3>;
|
||||
|
||||
ti,x-min = /bits/ 16 <0>;
|
||||
ti,x-max = /bits/ 16 <8000>;
|
||||
ti,y-min = /bits/ 16 <0>;
|
||||
ti,y-max = /bits/ 16 <4800>;
|
||||
ti,x-plate-ohms = /bits/ 16 <40>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
|
||||
linux,wakeup;
|
||||
};
|
||||
};
|
32
Documentation/devicetree/bindings/input/atmel,maxtouch.txt
Normal file
32
Documentation/devicetree/bindings/input/atmel,maxtouch.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
Atmel maXTouch touchscreen/touchpad
|
||||
|
||||
Required properties:
|
||||
- compatible:
|
||||
atmel,maxtouch
|
||||
|
||||
- reg: The I2C address of the device
|
||||
|
||||
- interrupts: The sink for the touchpad's IRQ output
|
||||
See ../interrupt-controller/interrupts.txt
|
||||
|
||||
Optional properties for main touchpad device:
|
||||
|
||||
- linux,gpio-keymap: When enabled, the SPT_GPIOPWN_T19 object sends messages
|
||||
on GPIO bit changes. An array of up to 8 entries can be provided
|
||||
indicating the Linux keycode mapped to each bit of the status byte,
|
||||
starting at the LSB. Linux keycodes are defined in
|
||||
<dt-bindings/input/input.h>.
|
||||
|
||||
Note: the numbering of the GPIOs and the bit they start at varies between
|
||||
maXTouch devices. You must either refer to the documentation, or
|
||||
experiment to determine which bit corresponds to which input. Use
|
||||
KEY_RESERVED for unused padding values.
|
||||
|
||||
Example:
|
||||
|
||||
touch@4b {
|
||||
compatible = "atmel,maxtouch";
|
||||
reg = <0x4b>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
53
Documentation/devicetree/bindings/input/cap1106.txt
Normal file
53
Documentation/devicetree/bindings/input/cap1106.txt
Normal file
|
@ -0,0 +1,53 @@
|
|||
Device tree bindings for Microchip CAP1106, 6 channel capacitive touch sensor
|
||||
|
||||
The node for this driver must be a child of a I2C controller node, as the
|
||||
device communication via I2C only.
|
||||
|
||||
Required properties:
|
||||
|
||||
compatible: Must be "microchip,cap1106"
|
||||
|
||||
reg: The I2C slave address of the device.
|
||||
Only 0x28 is valid.
|
||||
|
||||
interrupts: Property describing the interrupt line the
|
||||
device's ALERT#/CM_IRQ# pin is connected to.
|
||||
The device only has one interrupt source.
|
||||
|
||||
Optional properties:
|
||||
|
||||
autorepeat: Enables the Linux input system's autorepeat
|
||||
feature on the input device.
|
||||
|
||||
microchip,sensor-gain: Defines the gain of the sensor circuitry. This
|
||||
effectively controls the sensitivity, as a
|
||||
smaller delta capacitance is required to
|
||||
generate the same delta count values.
|
||||
Valid values are 1, 2, 4, and 8.
|
||||
By default, a gain of 1 is set.
|
||||
|
||||
linux,keycodes: Specifies an array of numeric keycode values to
|
||||
be used for the channels. If this property is
|
||||
omitted, KEY_A, KEY_B, etc are used as
|
||||
defaults. The array must have exactly six
|
||||
entries.
|
||||
|
||||
Example:
|
||||
|
||||
i2c_controller {
|
||||
cap1106@28 {
|
||||
compatible = "microchip,cap1106";
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <0 0>;
|
||||
reg = <0x28>;
|
||||
autorepeat;
|
||||
microchip,sensor-gain = <2>;
|
||||
|
||||
linux,keycodes = <103 /* KEY_UP */
|
||||
106 /* KEY_RIGHT */
|
||||
108 /* KEY_DOWN */
|
||||
105 /* KEY_LEFT */
|
||||
109 /* KEY_PAGEDOWN */
|
||||
104>; /* KEY_PAGEUP */
|
||||
};
|
||||
}
|
27
Documentation/devicetree/bindings/input/clps711x-keypad.txt
Normal file
27
Documentation/devicetree/bindings/input/clps711x-keypad.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
* Cirrus Logic CLPS711X matrix keypad device tree bindings
|
||||
|
||||
Required Properties:
|
||||
- compatible: Shall contain "cirrus,clps711x-keypad".
|
||||
- row-gpios: List of GPIOs used as row lines.
|
||||
- poll-interval: Poll interval time in milliseconds.
|
||||
- linux,keymap: The definition can be found at
|
||||
bindings/input/matrix-keymap.txt.
|
||||
|
||||
Optional Properties:
|
||||
- autorepeat: Enable autorepeat feature.
|
||||
|
||||
Example:
|
||||
keypad {
|
||||
compatible = "cirrus,ep7312-keypad", "cirrus,clps711x-keypad";
|
||||
autorepeat;
|
||||
poll-interval = <120>;
|
||||
row-gpios = <&porta 0 0>,
|
||||
<&porta 1 0>;
|
||||
|
||||
linux,keymap = <
|
||||
MATRIX_KEY(0, 0, KEY_UP)
|
||||
MATRIX_KEY(0, 1, KEY_DOWN)
|
||||
MATRIX_KEY(1, 0, KEY_LEFT)
|
||||
MATRIX_KEY(1, 1, KEY_RIGHT)
|
||||
>;
|
||||
};
|
72
Documentation/devicetree/bindings/input/cros-ec-keyb.txt
Normal file
72
Documentation/devicetree/bindings/input/cros-ec-keyb.txt
Normal file
|
@ -0,0 +1,72 @@
|
|||
ChromeOS EC Keyboard
|
||||
|
||||
Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on
|
||||
a separate EC (Embedded Controller) device. It provides a message for reading
|
||||
key scans from the EC. These are then converted into keycodes for processing
|
||||
by the kernel.
|
||||
|
||||
This binding is based on matrix-keymap.txt and extends/modifies it as follows:
|
||||
|
||||
Required properties:
|
||||
- compatible: "google,cros-ec-keyb"
|
||||
|
||||
Optional properties:
|
||||
- google,needs-ghost-filter: True to enable a ghost filter for the matrix
|
||||
keyboard. This is recommended if the EC does not have its own logic or
|
||||
hardware for this.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
cros-ec-keyb {
|
||||
compatible = "google,cros-ec-keyb";
|
||||
keypad,num-rows = <8>;
|
||||
keypad,num-columns = <13>;
|
||||
google,needs-ghost-filter;
|
||||
/*
|
||||
* Keymap entries take the form of 0xRRCCKKKK where
|
||||
* RR=Row CC=Column KKKK=Key Code
|
||||
* The values below are for a US keyboard layout and
|
||||
* are taken from the Linux driver. Note that the
|
||||
* 102ND key is not used for US keyboards.
|
||||
*/
|
||||
linux,keymap = <
|
||||
/* CAPSLCK F1 B F10 */
|
||||
0x0001003a 0x0002003b 0x00030030 0x00040044
|
||||
/* N = R_ALT ESC */
|
||||
0x00060031 0x0008000d 0x000a0064 0x01010001
|
||||
/* F4 G F7 H */
|
||||
0x0102003e 0x01030022 0x01040041 0x01060023
|
||||
/* ' F9 BKSPACE L_CTRL */
|
||||
0x01080028 0x01090043 0x010b000e 0x0200001d
|
||||
/* TAB F3 T F6 */
|
||||
0x0201000f 0x0202003d 0x02030014 0x02040040
|
||||
/* ] Y 102ND [ */
|
||||
0x0205001b 0x02060015 0x02070056 0x0208001a
|
||||
/* F8 GRAVE F2 5 */
|
||||
0x02090042 0x03010029 0x0302003c 0x03030006
|
||||
/* F5 6 - \ */
|
||||
0x0304003f 0x03060007 0x0308000c 0x030b002b
|
||||
/* R_CTRL A D F */
|
||||
0x04000061 0x0401001e 0x04020020 0x04030021
|
||||
/* S K J ; */
|
||||
0x0404001f 0x04050025 0x04060024 0x04080027
|
||||
/* L ENTER Z C */
|
||||
0x04090026 0x040b001c 0x0501002c 0x0502002e
|
||||
/* V X , M */
|
||||
0x0503002f 0x0504002d 0x05050033 0x05060032
|
||||
/* L_SHIFT / . SPACE */
|
||||
0x0507002a 0x05080035 0x05090034 0x050B0039
|
||||
/* 1 3 4 2 */
|
||||
0x06010002 0x06020004 0x06030005 0x06040003
|
||||
/* 8 7 0 9 */
|
||||
0x06050009 0x06060008 0x0608000b 0x0609000a
|
||||
/* L_ALT DOWN RIGHT Q */
|
||||
0x060a0038 0x060b006c 0x060c006a 0x07010010
|
||||
/* E R W I */
|
||||
0x07020012 0x07030013 0x07040011 0x07050017
|
||||
/* U R_SHIFT P O */
|
||||
0x07060016 0x07070036 0x07080019 0x07090018
|
||||
/* UP LEFT */
|
||||
0x070b0067 0x070c0069>;
|
||||
};
|
12
Documentation/devicetree/bindings/input/fsl-mma8450.txt
Normal file
12
Documentation/devicetree/bindings/input/fsl-mma8450.txt
Normal file
|
@ -0,0 +1,12 @@
|
|||
* Freescale MMA8450 3-Axis Accelerometer
|
||||
|
||||
Required properties:
|
||||
- compatible : "fsl,mma8450".
|
||||
- reg: the I2C address of MMA8450
|
||||
|
||||
Example:
|
||||
|
||||
accelerometer: mma8450@1c {
|
||||
compatible = "fsl,mma8450";
|
||||
reg = <0x1c>;
|
||||
};
|
13
Documentation/devicetree/bindings/input/gpio-beeper.txt
Normal file
13
Documentation/devicetree/bindings/input/gpio-beeper.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
* GPIO beeper device tree bindings
|
||||
|
||||
Register a beeper connected to GPIO pin.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "gpio-beeper".
|
||||
- gpios: From common gpio binding; gpio connection to beeper enable pin.
|
||||
|
||||
Example:
|
||||
beeper: beeper {
|
||||
compatible = "gpio-beeper";
|
||||
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
38
Documentation/devicetree/bindings/input/gpio-keys-polled.txt
Normal file
38
Documentation/devicetree/bindings/input/gpio-keys-polled.txt
Normal file
|
@ -0,0 +1,38 @@
|
|||
Device-Tree bindings for input/gpio_keys_polled.c keyboard driver
|
||||
|
||||
Required properties:
|
||||
- compatible = "gpio-keys-polled";
|
||||
- poll-interval: Poll interval time in milliseconds
|
||||
|
||||
Optional properties:
|
||||
- autorepeat: Boolean, Enable auto repeat feature of Linux input
|
||||
subsystem.
|
||||
|
||||
Each button (key) is represented as a sub-node of "gpio-keys-polled":
|
||||
Subnode properties:
|
||||
|
||||
- gpios: OF device-tree gpio specification.
|
||||
- label: Descriptive name of the key.
|
||||
- linux,code: Keycode to emit.
|
||||
|
||||
Optional subnode-properties:
|
||||
- linux,input-type: Specify event type this button/key generates.
|
||||
If not specified defaults to <1> == EV_KEY.
|
||||
- debounce-interval: Debouncing interval time in milliseconds.
|
||||
If not specified defaults to 5.
|
||||
- gpio-key,wakeup: Boolean, button can wake-up the system.
|
||||
|
||||
Example nodes:
|
||||
|
||||
gpio_keys_polled {
|
||||
compatible = "gpio-keys-polled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
poll-interval = <100>;
|
||||
autorepeat;
|
||||
button@21 {
|
||||
label = "GPIO Key UP";
|
||||
linux,code = <103>;
|
||||
gpios = <&gpio1 0 1>;
|
||||
};
|
||||
...
|
36
Documentation/devicetree/bindings/input/gpio-keys.txt
Normal file
36
Documentation/devicetree/bindings/input/gpio-keys.txt
Normal file
|
@ -0,0 +1,36 @@
|
|||
Device-Tree bindings for input/gpio_keys.c keyboard driver
|
||||
|
||||
Required properties:
|
||||
- compatible = "gpio-keys";
|
||||
|
||||
Optional properties:
|
||||
- autorepeat: Boolean, Enable auto repeat feature of Linux input
|
||||
subsystem.
|
||||
|
||||
Each button (key) is represented as a sub-node of "gpio-keys":
|
||||
Subnode properties:
|
||||
|
||||
- gpios: OF device-tree gpio specification.
|
||||
- label: Descriptive name of the key.
|
||||
- linux,code: Keycode to emit.
|
||||
|
||||
Optional subnode-properties:
|
||||
- linux,input-type: Specify event type this button/key generates.
|
||||
If not specified defaults to <1> == EV_KEY.
|
||||
- debounce-interval: Debouncing interval time in milliseconds.
|
||||
If not specified defaults to 5.
|
||||
- gpio-key,wakeup: Boolean, button can wake-up the system.
|
||||
|
||||
Example nodes:
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
button@21 {
|
||||
label = "GPIO Key UP";
|
||||
linux,code = <103>;
|
||||
gpios = <&gpio1 0 1>;
|
||||
};
|
||||
...
|
|
@ -0,0 +1,46 @@
|
|||
* GPIO driven matrix keypad device tree bindings
|
||||
|
||||
GPIO driven matrix keypad is used to interface a SoC with a matrix keypad.
|
||||
The matrix keypad supports multiple row and column lines, a key can be
|
||||
placed at each intersection of a unique row and a unique column. The matrix
|
||||
keypad can sense a key-press and key-release by means of GPIO lines and
|
||||
report the event using GPIO interrupts to the cpu.
|
||||
|
||||
Required Properties:
|
||||
- compatible: Should be "gpio-matrix-keypad"
|
||||
- row-gpios: List of gpios used as row lines. The gpio specifier
|
||||
for this property depends on the gpio controller to
|
||||
which these row lines are connected.
|
||||
- col-gpios: List of gpios used as column lines. The gpio specifier
|
||||
for this property depends on the gpio controller to
|
||||
which these column lines are connected.
|
||||
- linux,keymap: The definition can be found at
|
||||
bindings/input/matrix-keymap.txt
|
||||
|
||||
Optional Properties:
|
||||
- linux,no-autorepeat: do no enable autorepeat feature.
|
||||
- linux,wakeup: use any event on keypad as wakeup event.
|
||||
- debounce-delay-ms: debounce interval in milliseconds
|
||||
- col-scan-delay-us: delay, measured in microseconds, that is needed
|
||||
before we can scan keypad after activating column gpio
|
||||
|
||||
Example:
|
||||
matrix-keypad {
|
||||
compatible = "gpio-matrix-keypad";
|
||||
debounce-delay-ms = <5>;
|
||||
col-scan-delay-us = <2>;
|
||||
|
||||
row-gpios = <&gpio2 25 0
|
||||
&gpio2 26 0
|
||||
&gpio2 27 0>;
|
||||
|
||||
col-gpios = <&gpio2 21 0
|
||||
&gpio2 22 0>;
|
||||
|
||||
linux,keymap = <0x0000008B
|
||||
0x0100009E
|
||||
0x02000069
|
||||
0x0001006A
|
||||
0x0101001C
|
||||
0x0201006C>;
|
||||
};
|
53
Documentation/devicetree/bindings/input/imx-keypad.txt
Normal file
53
Documentation/devicetree/bindings/input/imx-keypad.txt
Normal file
|
@ -0,0 +1,53 @@
|
|||
* Freescale i.MX Keypad Port(KPP) device tree bindings
|
||||
|
||||
The KPP is designed to interface with a keypad matrix with 2-point contact
|
||||
or 3-point contact keys. The KPP is designed to simplify the software task
|
||||
of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
|
||||
and decoding one or multiple keys pressed simultaneously on a keypad.
|
||||
|
||||
Required SoC Specific Properties:
|
||||
- compatible: Should be "fsl,<soc>-kpp".
|
||||
|
||||
- reg: Physical base address of the KPP and length of memory mapped
|
||||
region.
|
||||
|
||||
- interrupts: The KPP interrupt number to the CPU(s).
|
||||
|
||||
- clocks: The clock provided by the SoC to the KPP. Some SoCs use dummy
|
||||
clock(The clock for the KPP is provided by the SoCs automatically).
|
||||
|
||||
Required Board Specific Properties:
|
||||
- pinctrl-names: The definition can be found at
|
||||
pinctrl/pinctrl-bindings.txt.
|
||||
|
||||
- pinctrl-0: The definition can be found at
|
||||
pinctrl/pinctrl-bindings.txt.
|
||||
|
||||
- linux,keymap: The definition can be found at
|
||||
bindings/input/matrix-keymap.txt.
|
||||
|
||||
Example:
|
||||
kpp: kpp@73f94000 {
|
||||
compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
|
||||
reg = <0x73f94000 0x4000>;
|
||||
interrupts = <60>;
|
||||
clocks = <&clks 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_kpp_1>;
|
||||
linux,keymap = <0x00000067 /* KEY_UP */
|
||||
0x0001006c /* KEY_DOWN */
|
||||
0x00020072 /* KEY_VOLUMEDOWN */
|
||||
0x00030066 /* KEY_HOME */
|
||||
0x0100006a /* KEY_RIGHT */
|
||||
0x01010069 /* KEY_LEFT */
|
||||
0x0102001c /* KEY_ENTER */
|
||||
0x01030073 /* KEY_VOLUMEUP */
|
||||
0x02000040 /* KEY_F6 */
|
||||
0x02010042 /* KEY_F8 */
|
||||
0x02020043 /* KEY_F9 */
|
||||
0x02030044 /* KEY_F10 */
|
||||
0x0300003b /* KEY_F1 */
|
||||
0x0301003c /* KEY_F2 */
|
||||
0x0302003d /* KEY_F3 */
|
||||
0x03030074>; /* KEY_POWER */
|
||||
};
|
33
Documentation/devicetree/bindings/input/input-reset.txt
Normal file
33
Documentation/devicetree/bindings/input/input-reset.txt
Normal file
|
@ -0,0 +1,33 @@
|
|||
Input: sysrq reset sequence
|
||||
|
||||
A simple binding to represent a set of keys as described in
|
||||
include/uapi/linux/input.h. This is to communicate a sequence of keys to the
|
||||
sysrq driver. Upon holding the keys for a specified amount of time (if
|
||||
specified) the system is sync'ed and reset.
|
||||
|
||||
Key sequences are global to the system but all the keys in a set must be coming
|
||||
from the same input device.
|
||||
|
||||
The /chosen node should contain a 'linux,sysrq-reset-seq' child node to define
|
||||
a set of keys.
|
||||
|
||||
Required property:
|
||||
sysrq-reset-seq: array of Linux keycodes, one keycode per cell.
|
||||
|
||||
Optional property:
|
||||
timeout-ms: duration keys must be pressed together in milliseconds before
|
||||
generating a sysrq. If omitted the system is rebooted immediately when a valid
|
||||
sequence has been recognized.
|
||||
|
||||
Example:
|
||||
|
||||
chosen {
|
||||
linux,sysrq-reset-seq {
|
||||
keyset = <0x03
|
||||
0x04
|
||||
0x0a>;
|
||||
timeout-ms = <3000>;
|
||||
};
|
||||
};
|
||||
|
||||
Would represent KEY_2, KEY_3 and KEY_9.
|
31
Documentation/devicetree/bindings/input/lpc32xx-key.txt
Normal file
31
Documentation/devicetree/bindings/input/lpc32xx-key.txt
Normal file
|
@ -0,0 +1,31 @@
|
|||
NXP LPC32xx Key Scan Interface
|
||||
|
||||
This binding is based on the matrix-keymap binding with the following
|
||||
changes:
|
||||
|
||||
Required Properties:
|
||||
- compatible: Should be "nxp,lpc3220-key"
|
||||
- reg: Physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
- interrupts: The interrupt number to the cpu.
|
||||
- nxp,debounce-delay-ms: Debounce delay in ms
|
||||
- nxp,scan-delay-ms: Repeated scan period in ms
|
||||
- linux,keymap: the key-code to be reported when the key is pressed
|
||||
and released, see also
|
||||
Documentation/devicetree/bindings/input/matrix-keymap.txt
|
||||
|
||||
Note: keypad,num-rows and keypad,num-columns are required, and must be equal
|
||||
since LPC32xx only supports square matrices
|
||||
|
||||
Example:
|
||||
|
||||
key@40050000 {
|
||||
compatible = "nxp,lpc3220-key";
|
||||
reg = <0x40050000 0x1000>;
|
||||
interrupts = <54 0>;
|
||||
keypad,num-rows = <1>;
|
||||
keypad,num-columns = <1>;
|
||||
nxp,debounce-delay-ms = <3>;
|
||||
nxp,scan-delay-ms = <34>;
|
||||
linux,keymap = <0x00000002>;
|
||||
};
|
27
Documentation/devicetree/bindings/input/matrix-keymap.txt
Normal file
27
Documentation/devicetree/bindings/input/matrix-keymap.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
A simple common binding for matrix-connected key boards. Currently targeted at
|
||||
defining the keys in the scope of linux key codes since that is a stable and
|
||||
standardized interface at this time.
|
||||
|
||||
Required properties:
|
||||
- linux,keymap: an array of packed 1-cell entries containing the equivalent
|
||||
of row, column and linux key-code. The 32-bit big endian cell is packed
|
||||
as:
|
||||
row << 24 | column << 16 | key-code
|
||||
|
||||
Optional properties:
|
||||
Properties for the number of rows and columns are optional because some
|
||||
drivers will use fixed values for these.
|
||||
- keypad,num-rows: Number of row lines connected to the keypad controller.
|
||||
- keypad,num-columns: Number of column lines connected to the keypad
|
||||
controller.
|
||||
|
||||
Some users of this binding might choose to specify secondary keymaps for
|
||||
cases where there is a modifier key such as a Fn key. Proposed names
|
||||
for said properties are "linux,fn-keymap" or with another descriptive
|
||||
word for the modifier other from "Fn".
|
||||
|
||||
Example:
|
||||
linux,keymap = < 0x00030012
|
||||
0x0102003a >;
|
||||
keypad,num-rows = <2>;
|
||||
keypad,num-columns = <8>;
|
|
@ -0,0 +1,54 @@
|
|||
* Tegra keyboard controller
|
||||
The key controller has maximum 24 pins to make matrix keypad. Any pin
|
||||
can be configured as row or column. The maximum column pin can be 8
|
||||
and maximum row pins can be 16 for Tegra20/Tegra30.
|
||||
|
||||
Required properties:
|
||||
- compatible: "nvidia,tegra20-kbc"
|
||||
- reg: Register base address of KBC.
|
||||
- interrupts: Interrupt number for the KBC.
|
||||
- nvidia,kbc-row-pins: The KBC pins which are configured as row. This is an
|
||||
array of pin numbers which is used as rows.
|
||||
- nvidia,kbc-col-pins: The KBC pins which are configured as column. This is an
|
||||
array of pin numbers which is used as column.
|
||||
- linux,keymap: The keymap for keys as described in the binding document
|
||||
devicetree/bindings/input/matrix-keymap.txt.
|
||||
- clocks: Must contain one entry, for the module clock.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
- resets: Must contain an entry for each entry in reset-names.
|
||||
See ../reset/reset.txt for details.
|
||||
- reset-names: Must include the following entries:
|
||||
- kbc
|
||||
|
||||
Optional properties, in addition to those specified by the shared
|
||||
matrix-keyboard bindings:
|
||||
|
||||
- linux,fn-keymap: a second keymap, same specification as the
|
||||
matrix-keyboard-controller spec but to be used when the KEY_FN modifier
|
||||
key is pressed.
|
||||
- nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing
|
||||
- nvidia,repeat-delay-ms: delay in milliseconds before repeat starts
|
||||
- nvidia,ghost-filter: enable ghost filtering for this device
|
||||
- nvidia,wakeup-source: configure keyboard as a wakeup source for suspend/resume
|
||||
|
||||
Example:
|
||||
|
||||
keyboard: keyboard {
|
||||
compatible = "nvidia,tegra20-kbc";
|
||||
reg = <0x7000e200 0x100>;
|
||||
interrupts = <0 85 0x04>;
|
||||
clocks = <&tegra_car 36>;
|
||||
resets = <&tegra_car 36>;
|
||||
reset-names = "kbc";
|
||||
nvidia,ghost-filter;
|
||||
nvidia,debounce-delay-ms = <640>;
|
||||
nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */
|
||||
nvidia,kbc-col-pins = <11 12 13>; /* pin 11, 12, 13 as columns */
|
||||
linux,keymap = <0x00000074
|
||||
0x00010067
|
||||
0x00020066
|
||||
0x01010068
|
||||
0x02000069
|
||||
0x02010070
|
||||
0x02020071>;
|
||||
};
|
28
Documentation/devicetree/bindings/input/omap-keypad.txt
Normal file
28
Documentation/devicetree/bindings/input/omap-keypad.txt
Normal file
|
@ -0,0 +1,28 @@
|
|||
* TI's Keypad Controller device tree bindings
|
||||
|
||||
TI's Keypad controller is used to interface a SoC with a matrix-type
|
||||
keypad device. The keypad controller supports multiple row and column lines.
|
||||
A key can be placed at each intersection of a unique row and a unique column.
|
||||
The keypad controller can sense a key-press and key-release and report the
|
||||
event using a interrupt to the cpu.
|
||||
|
||||
This binding is based on the matrix-keymap binding with the following
|
||||
changes:
|
||||
|
||||
keypad,num-rows and keypad,num-columns are required.
|
||||
|
||||
Required SoC Specific Properties:
|
||||
- compatible: should be one of the following
|
||||
- "ti,omap4-keypad": For controllers compatible with omap4 keypad
|
||||
controller.
|
||||
|
||||
Optional Properties specific to linux:
|
||||
- linux,keypad-no-autorepeat: do no enable autorepeat feature.
|
||||
|
||||
Example:
|
||||
keypad@4ae1c000{
|
||||
compatible = "ti,omap4-keypad";
|
||||
keypad,num-rows = <2>;
|
||||
keypad,num-columns = <8>;
|
||||
linux,keypad-no-autorepeat;
|
||||
};
|
|
@ -0,0 +1,16 @@
|
|||
Aeroflex Gaisler APBPS2 PS/2 Core, supporting Keyboard or Mouse.
|
||||
|
||||
The APBPS2 PS/2 core is available in the GRLIB VHDL IP core library.
|
||||
|
||||
Note: In the ordinary environment for the APBPS2 core, a LEON SPARC system,
|
||||
these properties are built from information in the AMBA plug&play and from
|
||||
bootloader settings.
|
||||
|
||||
Required properties:
|
||||
|
||||
- name : Should be "GAISLER_APBPS2" or "01_060"
|
||||
- reg : Address and length of the register set for the device
|
||||
- interrupts : Interrupt numbers for this device
|
||||
|
||||
For further information look in the documentation for the GLIB IP core library:
|
||||
http://www.gaisler.com/products/grlib/grip.pdf
|
7
Documentation/devicetree/bindings/input/pwm-beeper.txt
Normal file
7
Documentation/devicetree/bindings/input/pwm-beeper.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
* PWM beeper device tree bindings
|
||||
|
||||
Registers a PWM device as beeper.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "pwm-beeper"
|
||||
- pwms: phandle to the physical PWM device
|
60
Documentation/devicetree/bindings/input/pxa27x-keypad.txt
Normal file
60
Documentation/devicetree/bindings/input/pxa27x-keypad.txt
Normal file
|
@ -0,0 +1,60 @@
|
|||
* Marvell PXA Keypad controller
|
||||
|
||||
Required Properties
|
||||
- compatible : should be "marvell,pxa27x-keypad"
|
||||
- reg : Address and length of the register set for the device
|
||||
- interrupts : The interrupt for the keypad controller
|
||||
- marvell,debounce-interval : How long time the key will be
|
||||
recognized when it is pressed. It is a u32 value, and bit[31:16]
|
||||
is debounce interval for direct key and bit[15:0] is debounce
|
||||
interval for matrix key. The value is in binary number of 2ms
|
||||
|
||||
Optional Properties For Matrix Keyes
|
||||
Please refer to matrix-keymap.txt
|
||||
|
||||
Optional Properties for Direct Keyes
|
||||
- marvell,direct-key-count : How many direct keyes are used.
|
||||
- marvell,direct-key-mask : The mask indicates which keyes
|
||||
are used. If bit[X] of the mask is set, the direct key X
|
||||
is used.
|
||||
- marvell,direct-key-low-active : Direct key status register
|
||||
tells the level of pins that connects to the direct keyes.
|
||||
When this property is set, it means that when the pin level
|
||||
is low, the key is pressed(active).
|
||||
- marvell,direct-key-map : It is a u16 array. Each item indicates
|
||||
the linux key-code for the direct key.
|
||||
|
||||
Optional Properties For Rotary
|
||||
- marvell,rotary0 : It is a u32 value. Bit[31:16] is the
|
||||
linux key-code for rotary up. Bit[15:0] is the linux key-code
|
||||
for rotary down. It is for rotary 0.
|
||||
- marvell,rotary1 : Same as marvell,rotary0. It is for rotary 1.
|
||||
- marvell,rotary-rel-key : When rotary is used for relative axes
|
||||
in the device, the value indicates the key-code for relative
|
||||
axes measurement in the device. It is a u32 value. Bit[31:16]
|
||||
is for rotary 1, and Bit[15:0] is for rotary 0.
|
||||
|
||||
Examples:
|
||||
keypad: keypad@d4012000 {
|
||||
keypad,num-rows = <3>;
|
||||
keypad,num-columns = <5>;
|
||||
linux,keymap = <0x0000000e /* KEY_BACKSPACE */
|
||||
0x0001006b /* KEY_END */
|
||||
0x00020061 /* KEY_RIGHTCTRL */
|
||||
0x0003000b /* KEY_0 */
|
||||
0x00040002 /* KEY_1 */
|
||||
0x0100008b /* KEY_MENU */
|
||||
0x01010066 /* KEY_HOME */
|
||||
0x010200e7 /* KEY_SEND */
|
||||
0x01030009 /* KEY_8 */
|
||||
0x0104000a /* KEY_9 */
|
||||
0x02000160 /* KEY_OK */
|
||||
0x02010003 /* KEY_2 */
|
||||
0x02020004 /* KEY_3 */
|
||||
0x02030005 /* KEY_4 */
|
||||
0x02040006>; /* KEY_5 */
|
||||
marvell,rotary0 = <0x006c0067>; /* KEY_UP & KEY_DOWN */
|
||||
marvell,direct-key-count = <1>;
|
||||
marvell,direct-key-map = <0x001c>;
|
||||
marvell,debounce-interval = <0x001e001e>;
|
||||
};
|
|
@ -0,0 +1,89 @@
|
|||
Qualcomm PM8xxx PMIC Keypad
|
||||
|
||||
PROPERTIES
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058-keypad"
|
||||
"qcom,pm8921-keypad"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: address of keypad control register
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: the first interrupt specifies the key sense interrupt
|
||||
and the second interrupt specifies the key stuck interrupt.
|
||||
The format of the specifier is defined by the binding
|
||||
document describing the node's interrupt parent.
|
||||
|
||||
- linux,keymap:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: the linux keymap. More information can be found in
|
||||
input/matrix-keymap.txt.
|
||||
|
||||
- linux,keypad-no-autorepeat:
|
||||
Usage: optional
|
||||
Value type: <bool>
|
||||
Definition: don't enable autorepeat feature.
|
||||
|
||||
- linux,keypad-wakeup:
|
||||
Usage: optional
|
||||
Value type: <bool>
|
||||
Definition: use any event on keypad as wakeup event.
|
||||
|
||||
- keypad,num-rows:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: number of rows in the keymap. More information can be found
|
||||
in input/matrix-keymap.txt.
|
||||
|
||||
- keypad,num-columns:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: number of columns in the keymap. More information can be
|
||||
found in input/matrix-keymap.txt.
|
||||
|
||||
- debounce:
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: time in microseconds that key must be pressed or release
|
||||
for key sense interrupt to trigger.
|
||||
|
||||
- scan-delay:
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: time in microseconds to pause between successive scans
|
||||
of the matrix array.
|
||||
|
||||
- row-hold:
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: time in nanoseconds to pause between scans of each row in
|
||||
the matrix array.
|
||||
|
||||
EXAMPLE
|
||||
|
||||
keypad@148 {
|
||||
compatible = "qcom,pm8921-keypad";
|
||||
reg = <0x148>;
|
||||
interrupt-parent = <&pmicintc>;
|
||||
interrupts = <74 1>, <75 1>;
|
||||
linux,keymap = <
|
||||
MATRIX_KEY(0, 0, KEY_VOLUMEUP)
|
||||
MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
|
||||
MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
|
||||
MATRIX_KEY(0, 3, KEY_CAMERA)
|
||||
>;
|
||||
keypad,num-rows = <1>;
|
||||
keypad,num-columns = <5>;
|
||||
debounce = <15>;
|
||||
scan-delay = <32>;
|
||||
row-hold = <91500>;
|
||||
};
|
|
@ -0,0 +1,46 @@
|
|||
Qualcomm PM8xxx PMIC Power Key
|
||||
|
||||
PROPERTIES
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058-pwrkey"
|
||||
"qcom,pm8921-pwrkey"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: address of power key control register
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: the first interrupt specifies the key release interrupt
|
||||
and the second interrupt specifies the key press interrupt.
|
||||
The format of the specifier is defined by the binding
|
||||
document describing the node's interrupt parent.
|
||||
|
||||
- debounce:
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: time in microseconds that key must be pressed or release
|
||||
for state change interrupt to trigger.
|
||||
|
||||
- pull-up:
|
||||
Usage: optional
|
||||
Value type: <empty>
|
||||
Definition: presence of this property indicates that the KPDPWR_N pin
|
||||
should be configured for pull up.
|
||||
|
||||
EXAMPLE
|
||||
|
||||
pwrkey@1c {
|
||||
compatible = "qcom,pm8921-pwrkey";
|
||||
reg = <0x1c>;
|
||||
interrupt-parent = <&pmicintc>;
|
||||
interrupts = <50 1>, <51 1>;
|
||||
debounce = <15625>;
|
||||
pull-up;
|
||||
};
|
22
Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
Normal file
22
Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
Normal file
|
@ -0,0 +1,22 @@
|
|||
Qualcomm PM8xxx PMIC Vibrator
|
||||
|
||||
PROPERTIES
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,pm8058-vib"
|
||||
"qcom,pm8921-vib"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: address of vibration control register
|
||||
|
||||
EXAMPLE
|
||||
|
||||
vibrator@4a {
|
||||
compatible = "qcom,pm8058-vib";
|
||||
reg = <0x4a>;
|
||||
};
|
36
Documentation/devicetree/bindings/input/rotary-encoder.txt
Normal file
36
Documentation/devicetree/bindings/input/rotary-encoder.txt
Normal file
|
@ -0,0 +1,36 @@
|
|||
Rotary encoder DT bindings
|
||||
|
||||
Required properties:
|
||||
- gpios: a spec for two GPIOs to be used
|
||||
|
||||
Optional properties:
|
||||
- linux,axis: the input subsystem axis to map to this rotary encoder.
|
||||
Defaults to 0 (ABS_X / REL_X)
|
||||
- rotary-encoder,steps: Number of steps in a full turnaround of the
|
||||
encoder. Only relevant for absolute axis. Defaults to 24 which is a
|
||||
typical value for such devices.
|
||||
- rotary-encoder,relative-axis: register a relative axis rather than an
|
||||
absolute one. Relative axis will only generate +1/-1 events on the input
|
||||
device, hence no steps need to be passed.
|
||||
- rotary-encoder,rollover: Automatic rollove when the rotary value becomes
|
||||
greater than the specified steps or smaller than 0. For absolute axis only.
|
||||
- rotary-encoder,half-period: Makes the driver work on half-period mode.
|
||||
|
||||
See Documentation/input/rotary-encoder.txt for more information.
|
||||
|
||||
Example:
|
||||
|
||||
rotary@0 {
|
||||
compatible = "rotary-encoder";
|
||||
gpios = <&gpio 19 1>, <&gpio 20 0>; /* GPIO19 is inverted */
|
||||
linux,axis = <0>; /* REL_X */
|
||||
rotary-encoder,relative-axis;
|
||||
};
|
||||
|
||||
rotary@1 {
|
||||
compatible = "rotary-encoder";
|
||||
gpios = <&gpio 21 0>, <&gpio 22 0>;
|
||||
linux,axis = <1>; /* ABS_Y */
|
||||
rotary-encoder,steps = <24>;
|
||||
rotary-encoder,rollover;
|
||||
};
|
74
Documentation/devicetree/bindings/input/samsung-keypad.txt
Normal file
74
Documentation/devicetree/bindings/input/samsung-keypad.txt
Normal file
|
@ -0,0 +1,74 @@
|
|||
* Samsung's Keypad Controller device tree bindings
|
||||
|
||||
Samsung's Keypad controller is used to interface a SoC with a matrix-type
|
||||
keypad device. The keypad controller supports multiple row and column lines.
|
||||
A key can be placed at each intersection of a unique row and a unique column.
|
||||
The keypad controller can sense a key-press and key-release and report the
|
||||
event using a interrupt to the cpu.
|
||||
|
||||
Required SoC Specific Properties:
|
||||
- compatible: should be one of the following
|
||||
- "samsung,s3c6410-keypad": For controllers compatible with s3c6410 keypad
|
||||
controller.
|
||||
- "samsung,s5pv210-keypad": For controllers compatible with s5pv210 keypad
|
||||
controller.
|
||||
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
|
||||
- interrupts: The interrupt number to the cpu.
|
||||
|
||||
Required Board Specific Properties:
|
||||
- samsung,keypad-num-rows: Number of row lines connected to the keypad
|
||||
controller.
|
||||
|
||||
- samsung,keypad-num-columns: Number of column lines connected to the
|
||||
keypad controller.
|
||||
|
||||
- Keys represented as child nodes: Each key connected to the keypad
|
||||
controller is represented as a child node to the keypad controller
|
||||
device node and should include the following properties.
|
||||
- keypad,row: the row number to which the key is connected.
|
||||
- keypad,column: the column number to which the key is connected.
|
||||
- linux,code: the key-code to be reported when the key is pressed
|
||||
and released.
|
||||
|
||||
- pinctrl-0: Should specify pin control groups used for this controller.
|
||||
- pinctrl-names: Should contain only one value - "default".
|
||||
|
||||
Optional Properties specific to linux:
|
||||
- linux,keypad-no-autorepeat: do no enable autorepeat feature.
|
||||
- linux,keypad-wakeup: use any event on keypad as wakeup event.
|
||||
|
||||
|
||||
Example:
|
||||
keypad@100A0000 {
|
||||
compatible = "samsung,s5pv210-keypad";
|
||||
reg = <0x100A0000 0x100>;
|
||||
interrupts = <173>;
|
||||
samsung,keypad-num-rows = <2>;
|
||||
samsung,keypad-num-columns = <8>;
|
||||
linux,input-no-autorepeat;
|
||||
linux,input-wakeup;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&keypad_rows &keypad_columns>;
|
||||
|
||||
key_1 {
|
||||
keypad,row = <0>;
|
||||
keypad,column = <3>;
|
||||
linux,code = <2>;
|
||||
};
|
||||
|
||||
key_2 {
|
||||
keypad,row = <0>;
|
||||
keypad,column = <4>;
|
||||
linux,code = <3>;
|
||||
};
|
||||
|
||||
key_3 {
|
||||
keypad,row = <0>;
|
||||
keypad,column = <5>;
|
||||
linux,code = <4>;
|
||||
};
|
||||
};
|
20
Documentation/devicetree/bindings/input/spear-keyboard.txt
Normal file
20
Documentation/devicetree/bindings/input/spear-keyboard.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
* SPEAr keyboard controller
|
||||
|
||||
Required properties:
|
||||
- compatible: "st,spear300-kbd"
|
||||
|
||||
Optional properties, in addition to those specified by the shared
|
||||
matrix-keyboard bindings:
|
||||
- autorepeat: bool: enables key autorepeat
|
||||
- st,mode: keyboard mode: 0 - 9x9, 1 - 6x6, 2 - 2x2
|
||||
|
||||
Example:
|
||||
|
||||
kbd@fc400000 {
|
||||
compatible = "st,spear300-kbd";
|
||||
reg = <0xfc400000 0x100>;
|
||||
linux,keymap = < 0x00030012
|
||||
0x0102003a >;
|
||||
autorepeat;
|
||||
st,mode = <0>;
|
||||
};
|
60
Documentation/devicetree/bindings/input/st-keyscan.txt
Normal file
60
Documentation/devicetree/bindings/input/st-keyscan.txt
Normal file
|
@ -0,0 +1,60 @@
|
|||
* ST Keyscan controller Device Tree bindings
|
||||
|
||||
The ST keyscan controller Device Tree binding is based on the
|
||||
matrix-keymap.
|
||||
|
||||
Required properties:
|
||||
- compatible: "st,sti-keyscan"
|
||||
|
||||
- reg: Register base address and size of st-keyscan controller.
|
||||
|
||||
- interrupts: Interrupt number for the st-keyscan controller.
|
||||
|
||||
- clocks: Must contain one entry, for the module clock.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
|
||||
- pinctrl: Should specify pin control groups used for this controller.
|
||||
See ../pinctrl/pinctrl-bindings.txt for details.
|
||||
|
||||
- linux,keymap: The keymap for keys as described in the binding document
|
||||
devicetree/bindings/input/matrix-keymap.txt.
|
||||
|
||||
- keypad,num-rows: Number of row lines connected to the keypad controller.
|
||||
|
||||
- keypad,num-columns: Number of column lines connected to the keypad
|
||||
controller.
|
||||
|
||||
Optional property:
|
||||
- st,debounce_us: Debouncing interval time in microseconds
|
||||
|
||||
Example:
|
||||
|
||||
keyscan: keyscan@fe4b0000 {
|
||||
compatible = "st,sti-keyscan";
|
||||
reg = <0xfe4b0000 0x2000>;
|
||||
interrupts = <GIC_SPI 212 IRQ_TYPE_NONE>;
|
||||
clocks = <&CLK_SYSIN>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_keyscan>;
|
||||
|
||||
keypad,num-rows = <4>;
|
||||
keypad,num-columns = <4>;
|
||||
st,debounce_us = <5000>;
|
||||
|
||||
linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_F13)
|
||||
MATRIX_KEY(0x00, 0x01, KEY_F9)
|
||||
MATRIX_KEY(0x00, 0x02, KEY_F5)
|
||||
MATRIX_KEY(0x00, 0x03, KEY_F1)
|
||||
MATRIX_KEY(0x01, 0x00, KEY_F14)
|
||||
MATRIX_KEY(0x01, 0x01, KEY_F10)
|
||||
MATRIX_KEY(0x01, 0x02, KEY_F6)
|
||||
MATRIX_KEY(0x01, 0x03, KEY_F2)
|
||||
MATRIX_KEY(0x02, 0x00, KEY_F15)
|
||||
MATRIX_KEY(0x02, 0x01, KEY_F11)
|
||||
MATRIX_KEY(0x02, 0x02, KEY_F7)
|
||||
MATRIX_KEY(0x02, 0x03, KEY_F3)
|
||||
MATRIX_KEY(0x03, 0x00, KEY_F16)
|
||||
MATRIX_KEY(0x03, 0x01, KEY_F12)
|
||||
MATRIX_KEY(0x03, 0x02, KEY_F8)
|
||||
MATRIX_KEY(0x03, 0x03, KEY_F4) >;
|
||||
};
|
39
Documentation/devicetree/bindings/input/stmpe-keypad.txt
Normal file
39
Documentation/devicetree/bindings/input/stmpe-keypad.txt
Normal file
|
@ -0,0 +1,39 @@
|
|||
* STMPE Keypad
|
||||
|
||||
Required properties:
|
||||
- compatible : "st,stmpe-keypad"
|
||||
- linux,keymap : See ./matrix-keymap.txt
|
||||
|
||||
Optional properties:
|
||||
- debounce-interval : Debouncing interval time in milliseconds
|
||||
- st,scan-count : Scanning cycles elapsed before key data is updated
|
||||
- st,no-autorepeat : If specified device will not autorepeat
|
||||
|
||||
Example:
|
||||
|
||||
stmpe_keypad {
|
||||
compatible = "st,stmpe-keypad";
|
||||
|
||||
debounce-interval = <64>;
|
||||
st,scan-count = <8>;
|
||||
st,no-autorepeat;
|
||||
|
||||
linux,keymap = <0x205006b
|
||||
0x4010074
|
||||
0x3050072
|
||||
0x1030004
|
||||
0x502006a
|
||||
0x500000a
|
||||
0x5008b
|
||||
0x706001c
|
||||
0x405000b
|
||||
0x6070003
|
||||
0x3040067
|
||||
0x303006c
|
||||
0x60400e7
|
||||
0x602009e
|
||||
0x4020073
|
||||
0x5050002
|
||||
0x4030069
|
||||
0x3020008>;
|
||||
};
|
10
Documentation/devicetree/bindings/input/tca8418_keypad.txt
Normal file
10
Documentation/devicetree/bindings/input/tca8418_keypad.txt
Normal file
|
@ -0,0 +1,10 @@
|
|||
This binding is based on the matrix-keymap binding with the following
|
||||
changes:
|
||||
|
||||
keypad,num-rows and keypad,num-columns are required.
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,tca8418"
|
||||
- reg: the I2C address
|
||||
- interrupts: IRQ line number, should trigger on falling edge
|
||||
- linux,keymap: Keys definitions, see keypad-matrix.
|
50
Documentation/devicetree/bindings/input/ti,drv260x.txt
Normal file
50
Documentation/devicetree/bindings/input/ti,drv260x.txt
Normal file
|
@ -0,0 +1,50 @@
|
|||
* Texas Instruments - drv260x Haptics driver family
|
||||
|
||||
Required properties:
|
||||
- compatible - One of:
|
||||
"ti,drv2604" - DRV2604
|
||||
"ti,drv2605" - DRV2605
|
||||
"ti,drv2605l" - DRV2605L
|
||||
- reg - I2C slave address
|
||||
- vbat-supply - Required supply regulator
|
||||
- mode - Power up mode of the chip (defined in include/dt-bindings/input/ti-drv260x.h)
|
||||
DRV260X_LRA_MODE - Linear Resonance Actuator mode (Piezoelectric)
|
||||
DRV260X_LRA_NO_CAL_MODE - This is a LRA Mode but there is no calibration
|
||||
sequence during init. And the device is configured for real
|
||||
time playback mode (RTP mode).
|
||||
DRV260X_ERM_MODE - Eccentric Rotating Mass mode (Rotary vibrator)
|
||||
- library-sel - These are ROM based waveforms pre-programmed into the IC.
|
||||
This should be set to set the library to use at power up.
|
||||
(defined in include/dt-bindings/input/ti-drv260x.h)
|
||||
DRV260X_LIB_EMPTY - Do not use a pre-programmed library
|
||||
DRV260X_ERM_LIB_A - Pre-programmed Library
|
||||
DRV260X_ERM_LIB_B - Pre-programmed Library
|
||||
DRV260X_ERM_LIB_C - Pre-programmed Library
|
||||
DRV260X_ERM_LIB_D - Pre-programmed Library
|
||||
DRV260X_ERM_LIB_E - Pre-programmed Library
|
||||
DRV260X_ERM_LIB_F - Pre-programmed Library
|
||||
DRV260X_LIB_LRA - Pre-programmed LRA Library
|
||||
|
||||
Optional properties:
|
||||
- enable-gpio - gpio pin to enable/disable the device.
|
||||
- vib-rated-mv - The rated voltage of the actuator in millivolts.
|
||||
If this is not set then the value will be defaulted to
|
||||
3.2 v.
|
||||
- vib-overdrive-mv - The overdrive voltage of the actuator in millivolts.
|
||||
If this is not set then the value will be defaulted to
|
||||
3.2 v.
|
||||
Example:
|
||||
|
||||
haptics: haptics@5a {
|
||||
compatible = "ti,drv2605l";
|
||||
reg = <0x5a>;
|
||||
vbat-supply = <&vbat>;
|
||||
enable-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
|
||||
mode = <DRV260X_LRA_MODE>;
|
||||
library-sel = <DRV260X_LIB_LRA>;
|
||||
vib-rated-mv = <3200>;
|
||||
vib-overdriver-mv = <3200>;
|
||||
}
|
||||
|
||||
For more product information please see the link below:
|
||||
http://www.ti.com/product/drv2605
|
17
Documentation/devicetree/bindings/input/ti,drv2667.txt
Normal file
17
Documentation/devicetree/bindings/input/ti,drv2667.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
* Texas Instruments - drv2667 Haptics driver
|
||||
|
||||
Required properties:
|
||||
- compatible - "ti,drv2667" - DRV2667
|
||||
- reg - I2C slave address
|
||||
- vbat-supply - Required supply regulator
|
||||
|
||||
Example:
|
||||
|
||||
haptics: haptics@59 {
|
||||
compatible = "ti,drv2667";
|
||||
reg = <0x59>;
|
||||
vbat-supply = <&vbat>;
|
||||
};
|
||||
|
||||
For more product information please see the link below:
|
||||
http://www.ti.com/product/drv2667
|
60
Documentation/devicetree/bindings/input/ti,nspire-keypad.txt
Normal file
60
Documentation/devicetree/bindings/input/ti,nspire-keypad.txt
Normal file
|
@ -0,0 +1,60 @@
|
|||
TI-NSPIRE Keypad
|
||||
|
||||
Required properties:
|
||||
- compatible: Compatible property value should be "ti,nspire-keypad".
|
||||
|
||||
- reg: Physical base address of the peripheral and length of memory mapped
|
||||
region.
|
||||
|
||||
- interrupts: The interrupt number for the peripheral.
|
||||
|
||||
- scan-interval: How often to scan in us. Based on a APB speed of 33MHz, the
|
||||
maximum and minimum delay time is ~2000us and ~500us respectively
|
||||
|
||||
- row-delay: How long to wait before scanning each row.
|
||||
|
||||
- clocks: The clock this peripheral is attached to.
|
||||
|
||||
- linux,keymap: The keymap to use
|
||||
(see Documentation/devicetree/bindings/input/matrix-keymap.txt)
|
||||
|
||||
Optional properties:
|
||||
- active-low: Specify that the keypad is active low (i.e. logical low signifies
|
||||
a key press).
|
||||
|
||||
Example:
|
||||
|
||||
input {
|
||||
compatible = "ti,nspire-keypad";
|
||||
reg = <0x900E0000 0x1000>;
|
||||
interrupts = <16>;
|
||||
|
||||
scan-interval = <1000>;
|
||||
row-delay = <200>;
|
||||
|
||||
clocks = <&apb_pclk>;
|
||||
|
||||
linux,keymap = <
|
||||
0x0000001c 0x0001001c 0x00040039
|
||||
0x0005002c 0x00060015 0x0007000b
|
||||
0x0008000f 0x0100002d 0x01010011
|
||||
0x0102002f 0x01030004 0x01040016
|
||||
0x01050014 0x0106001f 0x01070002
|
||||
0x010a006a 0x02000013 0x02010010
|
||||
0x02020019 0x02030007 0x02040018
|
||||
0x02050031 0x02060032 0x02070005
|
||||
0x02080028 0x0209006c 0x03000026
|
||||
0x03010025 0x03020024 0x0303000a
|
||||
0x03040017 0x03050023 0x03060022
|
||||
0x03070008 0x03080035 0x03090069
|
||||
0x04000021 0x04010012 0x04020020
|
||||
0x0404002e 0x04050030 0x0406001e
|
||||
0x0407000d 0x04080037 0x04090067
|
||||
0x05010038 0x0502000c 0x0503001b
|
||||
0x05040034 0x0505001a 0x05060006
|
||||
0x05080027 0x0509000e 0x050a006f
|
||||
0x0600002b 0x0602004e 0x06030068
|
||||
0x06040003 0x0605006d 0x06060009
|
||||
0x06070001 0x0609000f 0x0708002a
|
||||
0x0709001d 0x070a0033 >;
|
||||
};
|
|
@ -0,0 +1,36 @@
|
|||
Texas Instruments Palmas family power button module
|
||||
|
||||
This module is part of the Palmas family of PMICs. For more details
|
||||
about the whole chip see:
|
||||
Documentation/devicetree/bindings/mfd/palmas.txt.
|
||||
|
||||
This module provides a simple power button event via an Interrupt.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following
|
||||
- "ti,palmas-pwrbutton": For Palmas compatible power on button
|
||||
- interrupt-parent: Parent interrupt device, must be handle of palmas node.
|
||||
- interrupts: Interrupt number of power button submodule on device.
|
||||
|
||||
Optional Properties:
|
||||
|
||||
- ti,palmas-long-press-seconds: Duration in seconds which the power
|
||||
button should be kept pressed for Palmas to power off automatically.
|
||||
NOTE: This depends on OTP support and POWERHOLD signal configuration
|
||||
on platform. Valid values are 6, 8, 10 and 12.
|
||||
- ti,palmas-pwron-debounce-milli-seconds: Duration in milliseconds
|
||||
which the power button should be kept pressed for Palmas to register
|
||||
a press for debouncing purposes. NOTE: This depends on specific
|
||||
Palmas variation capability. Valid values are 15, 100, 500 and 1000.
|
||||
|
||||
Example:
|
||||
|
||||
&palmas {
|
||||
palmas_pwr_button: pwrbutton {
|
||||
compatible = "ti,palmas-pwrbutton";
|
||||
interrupt-parent = <&tps659038>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
||||
ti,palmas-long-press-seconds = <12>;
|
||||
ti,palmas-pwron-debounce-milli-seconds = <15>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,30 @@
|
|||
* AUO in-cell touchscreen controller using Pixcir sensors
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "auo,auo_pixcir_ts"
|
||||
- reg: I2C address of the chip
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
- gpios: gpios the chip is connected to
|
||||
first one is the interrupt gpio and second one the reset gpio
|
||||
- x-size: horizontal resolution of touchscreen
|
||||
- y-size: vertical resolution of touchscreen
|
||||
|
||||
Example:
|
||||
|
||||
i2c@00000000 {
|
||||
/* ... */
|
||||
|
||||
auo_pixcir_ts@5c {
|
||||
compatible = "auo,auo_pixcir_ts";
|
||||
reg = <0x5c>;
|
||||
interrupts = <2 0>;
|
||||
|
||||
gpios = <&gpf 2 0 2>, /* INT */
|
||||
<&gpf 5 1 0>; /* RST */
|
||||
|
||||
x-size = <800>;
|
||||
y-size = <600>;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
};
|
|
@ -0,0 +1,28 @@
|
|||
* Rohm BU21013 Touch Screen
|
||||
|
||||
Required properties:
|
||||
- compatible : "rohm,bu21013_tp"
|
||||
- reg : I2C device address
|
||||
|
||||
Optional properties:
|
||||
- touch-gpio : GPIO pin registering a touch event
|
||||
- <supply_name>-supply : Phandle to a regulator supply
|
||||
- rohm,touch-max-x : Maximum outward permitted limit in the X axis
|
||||
- rohm,touch-max-y : Maximum outward permitted limit in the Y axis
|
||||
- rohm,flip-x : Flip touch coordinates on the X axis
|
||||
- rohm,flip-y : Flip touch coordinates on the Y axis
|
||||
|
||||
Example:
|
||||
|
||||
i2c@80110000 {
|
||||
bu21013_tp@0x5c {
|
||||
compatible = "rohm,bu21013_tp";
|
||||
reg = <0x5c>;
|
||||
touch-gpio = <&gpio2 20 0x4>;
|
||||
avdd-supply = <&ab8500_ldo_aux1_reg>;
|
||||
|
||||
rohm,touch-max-x = <384>;
|
||||
rohm,touch-max-y = <704>;
|
||||
rohm,flip-y;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,55 @@
|
|||
FocalTech EDT-FT5x06 Polytouch driver
|
||||
=====================================
|
||||
|
||||
There are 3 variants of the chip for various touch panel sizes
|
||||
FT5206GE1 2.8" .. 3.8"
|
||||
FT5306DE4 4.3" .. 7"
|
||||
FT5406EE8 7" .. 8.9"
|
||||
|
||||
The software interface is identical for all those chips, so that
|
||||
currently there is no need for the driver to distinguish between the
|
||||
different chips. Nevertheless distinct compatible strings are used so
|
||||
that a distinction can be added if necessary without changing the DT
|
||||
bindings.
|
||||
|
||||
|
||||
Required properties:
|
||||
- compatible: "edt,edt-ft5206"
|
||||
or: "edt,edt-ft5306"
|
||||
or: "edt,edt-ft5406"
|
||||
|
||||
- reg: I2C slave address of the chip (0x38)
|
||||
- interrupt-parent: a phandle pointing to the interrupt controller
|
||||
serving the interrupt for this chip
|
||||
- interrupts: interrupt specification for the touchdetect
|
||||
interrupt
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios: GPIO specification for the RESET input
|
||||
- wake-gpios: GPIO specification for the WAKE input
|
||||
|
||||
- pinctrl-names: should be "default"
|
||||
- pinctrl-0: a phandle pointing to the pin settings for the
|
||||
control gpios
|
||||
|
||||
- threshold: allows setting the "click"-threshold in the range
|
||||
from 20 to 80.
|
||||
|
||||
- gain: allows setting the sensitivity in the range from 0 to
|
||||
31. Note that lower values indicate higher
|
||||
sensitivity.
|
||||
|
||||
- offset: allows setting the edge compensation in the range from
|
||||
0 to 31.
|
||||
|
||||
Example:
|
||||
polytouch: edt-ft5x06@38 {
|
||||
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
|
||||
reg = <0x38>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&edt_ft5x06_pins>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <5 0>;
|
||||
reset-gpios = <&gpio2 6 1>;
|
||||
wake-gpios = <&gpio4 9 0>;
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
* EETI eGalax Multiple Touch Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "eeti,egalax_ts"
|
||||
- reg: i2c slave address
|
||||
- interrupt-parent: the phandle for the interrupt controller
|
||||
- interrupts: touch controller interrupt
|
||||
- wakeup-gpios: the gpio pin to be used for waking up the controller
|
||||
and also used as irq pin
|
||||
|
||||
Example:
|
||||
|
||||
egalax_ts@04 {
|
||||
compatible = "eeti,egalax_ts";
|
||||
reg = <0x04>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <9 2>;
|
||||
wakeup-gpios = <&gpio1 9 0>;
|
||||
};
|
|
@ -0,0 +1,16 @@
|
|||
* NXP LPC32xx SoC Touchscreen Controller (TSC)
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "nxp,lpc3220-tsc"
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
- interrupts: The TSC/ADC interrupt
|
||||
|
||||
Example:
|
||||
|
||||
tsc@40048000 {
|
||||
compatible = "nxp,lpc3220-tsc";
|
||||
reg = <0x40048000 0x1000>;
|
||||
interrupt-parent = <&mic>;
|
||||
interrupts = <39 0>;
|
||||
};
|
|
@ -0,0 +1,34 @@
|
|||
* MELFAS MMS114 touchscreen controller
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "melfas,mms114"
|
||||
- reg: I2C address of the chip
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
- x-size: horizontal resolution of touchscreen
|
||||
- y-size: vertical resolution of touchscreen
|
||||
|
||||
Optional properties:
|
||||
- contact-threshold:
|
||||
- moving-threshold:
|
||||
- x-invert: invert X axis
|
||||
- y-invert: invert Y axis
|
||||
|
||||
Example:
|
||||
|
||||
i2c@00000000 {
|
||||
/* ... */
|
||||
|
||||
touchscreen@48 {
|
||||
compatible = "melfas,mms114";
|
||||
reg = <0x48>;
|
||||
interrupts = <39 0>;
|
||||
x-size = <720>;
|
||||
y-size = <1280>;
|
||||
contact-threshold = <10>;
|
||||
moving-threshold = <10>;
|
||||
x-invert;
|
||||
y-invert;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
};
|
|
@ -0,0 +1,26 @@
|
|||
* Pixcir I2C touchscreen controllers
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "pixcir,pixcir_ts" or "pixcir,pixcir_tangoc"
|
||||
- reg: I2C address of the chip
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
- attb-gpio: GPIO connected to the ATTB line of the chip
|
||||
- touchscreen-size-x: horizontal resolution of touchscreen (in pixels)
|
||||
- touchscreen-size-y: vertical resolution of touchscreen (in pixels)
|
||||
|
||||
Example:
|
||||
|
||||
i2c@00000000 {
|
||||
/* ... */
|
||||
|
||||
pixcir_ts@5c {
|
||||
compatible = "pixcir,pixcir_ts";
|
||||
reg = <0x5c>;
|
||||
interrupts = <2 0>;
|
||||
attb-gpio = <&gpf 2 0 2>;
|
||||
touchscreen-size-x = <800>;
|
||||
touchscreen-size-y = <600>;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
* Sitronix st1232 touchscreen controller
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "sitronix,st1232"
|
||||
- reg: I2C address of the chip
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
|
||||
Optional properties:
|
||||
- gpios: a phandle to the reset GPIO
|
||||
|
||||
Example:
|
||||
|
||||
i2c@00000000 {
|
||||
/* ... */
|
||||
|
||||
touchscreen@55 {
|
||||
compatible = "sitronix,st1232";
|
||||
reg = <0x55>;
|
||||
interrupts = <2 0>;
|
||||
gpios = <&gpio1 166 0>;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
};
|
|
@ -0,0 +1,43 @@
|
|||
STMPE Touchscreen
|
||||
----------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "st,stmpe-ts"
|
||||
|
||||
Optional properties:
|
||||
- st,sample-time: ADC converstion time in number of clock. (0 -> 36 clocks, 1 ->
|
||||
44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 clocks, 6
|
||||
-> 144 clocks), recommended is 4.
|
||||
- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC)
|
||||
- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external
|
||||
reference)
|
||||
- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> 6.5 MHz)
|
||||
- st,ave-ctrl: Sample average control (0 -> 1 sample, 1 -> 2 samples, 2 -> 4
|
||||
samples, 3 -> 8 samples)
|
||||
- st,touch-det-delay: Touch detect interrupt delay (0 -> 10 us, 1 -> 50 us, 2 ->
|
||||
100 us, 3 -> 500 us, 4-> 1 ms, 5 -> 5 ms, 6 -> 10 ms, 7 -> 50 ms) recommended
|
||||
is 3
|
||||
- st,settling: Panel driver settling time (0 -> 10 us, 1 -> 100 us, 2 -> 500 us, 3
|
||||
-> 1 ms, 4 -> 5 ms, 5 -> 10 ms, 6 for 50 ms, 7 -> 100 ms) recommended is 2
|
||||
- st,fraction-z: Length of the fractional part in z (fraction-z ([0..7]) = Count of
|
||||
the fractional part) recommended is 7
|
||||
- st,i-drive: current limit value of the touchscreen drivers (0 -> 20 mA typical 35
|
||||
mA max, 1 -> 50 mA typical 80 mA max)
|
||||
|
||||
Node name must be stmpe_touchscreen and should be child node of stmpe node to
|
||||
which it belongs.
|
||||
|
||||
Example:
|
||||
|
||||
stmpe_touchscreen {
|
||||
compatible = "st,stmpe-ts";
|
||||
st,sample-time = <4>;
|
||||
st,mod-12b = <1>;
|
||||
st,ref-sel = <0>;
|
||||
st,adc-freq = <1>;
|
||||
st,ave-ctrl = <1>;
|
||||
st,touch-det-delay = <2>;
|
||||
st,settling = <2>;
|
||||
st,fraction-z = <7>;
|
||||
st,i-drive = <1>;
|
||||
};
|
|
@ -0,0 +1,20 @@
|
|||
sun4i resistive touchscreen controller
|
||||
--------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "allwinner,sun4i-a10-ts"
|
||||
- reg: mmio address range of the chip
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
|
||||
Optional properties:
|
||||
- allwinner,ts-attached: boolean indicating that an actual touchscreen is
|
||||
attached to the controller
|
||||
|
||||
Example:
|
||||
|
||||
rtp: rtp@01c25000 {
|
||||
compatible = "allwinner,sun4i-a10-ts";
|
||||
reg = <0x01c25000 0x100>;
|
||||
interrupts = <29>;
|
||||
allwinner,ts-attached;
|
||||
};
|
|
@ -0,0 +1,44 @@
|
|||
* TI - TSC ADC (Touschscreen and analog digital converter)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Required properties:
|
||||
- child "tsc"
|
||||
ti,wires: Wires refer to application modes i.e. 4/5/8 wire touchscreen
|
||||
support on the platform.
|
||||
ti,x-plate-resistance: X plate resistance
|
||||
ti,coordinate-readouts: The sequencer supports a total of 16
|
||||
programmable steps each step is used to
|
||||
read a single coordinate. A single
|
||||
readout is enough but multiple reads can
|
||||
increase the quality.
|
||||
A value of 5 means, 5 reads for X, 5 for
|
||||
Y and 2 for Z (always). This utilises 12
|
||||
of the 16 software steps available. The
|
||||
remaining 4 can be used by the ADC.
|
||||
ti,wire-config: Different boards could have a different order for
|
||||
connecting wires on touchscreen. We need to provide an
|
||||
8 bit number where in the 1st four bits represent the
|
||||
analog lines and the next 4 bits represent positive/
|
||||
negative terminal on that input line. Notations to
|
||||
represent the input lines and terminals resoectively
|
||||
is as follows:
|
||||
AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
|
||||
XP = 0, XN = 1, YP = 2, YN = 3.
|
||||
- child "adc"
|
||||
ti,adc-channels: List of analog inputs available for ADC.
|
||||
AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
|
||||
|
||||
Example:
|
||||
tscadc: tscadc@44e0d000 {
|
||||
compatible = "ti,am3359-tscadc";
|
||||
tsc {
|
||||
ti,wires = <4>;
|
||||
ti,x-plate-resistance = <200>;
|
||||
ti,coordiante-readouts = <5>;
|
||||
ti,wire-config = <0x00 0x11 0x22 0x33>;
|
||||
};
|
||||
|
||||
adc {
|
||||
ti,adc-channels = <4 5 6 7>;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
General Touchscreen Properties:
|
||||
|
||||
Optional properties for Touchscreens:
|
||||
- touchscreen-size-x : horizontal resolution of touchscreen
|
||||
(in pixels)
|
||||
- touchscreen-size-y : vertical resolution of touchscreen
|
||||
(in pixels)
|
||||
- touchscreen-max-pressure : maximum reported pressure (arbitrary range
|
||||
dependent on the controller)
|
||||
- touchscreen-fuzz-x : horizontal noise value of the absolute input
|
||||
device (in pixels)
|
||||
- touchscreen-fuzz-y : vertical noise value of the absolute input
|
||||
device (in pixels)
|
||||
- touchscreen-fuzz-pressure : pressure noise value of the absolute input
|
||||
device (arbitrary range dependent on the
|
||||
controller)
|
||||
- touchscreen-inverted-x : X axis is inverted (boolean)
|
||||
- touchscreen-inverted-y : Y axis is inverted (boolean)
|
||||
|
||||
Deprecated properties for Touchscreens:
|
||||
- x-size : deprecated name for touchscreen-size-x
|
||||
- y-size : deprecated name for touchscreen-size-y
|
||||
- moving-threshold : deprecated name for a combination of
|
||||
touchscreen-fuzz-x and touchscreen-fuzz-y
|
||||
- contact-threshold : deprecated name for touchscreen-fuzz-pressure
|
||||
- x-invert : deprecated name for touchscreen-inverted-x
|
||||
- y-invert : deprecated name for touchscreen-inverted-y
|
|
@ -0,0 +1,42 @@
|
|||
* Texas Instruments tsc2005 touchscreen controller
|
||||
|
||||
Required properties:
|
||||
- compatible : "ti,tsc2005"
|
||||
- reg : SPI device address
|
||||
- spi-max-frequency : Maximal SPI speed
|
||||
- interrupts : IRQ specifier
|
||||
- reset-gpios : GPIO specifier
|
||||
- vio-supply : Regulator specifier
|
||||
|
||||
Optional properties:
|
||||
- ti,x-plate-ohms : integer, resistance of the touchscreen's X plates
|
||||
in ohm (defaults to 280)
|
||||
- ti,esd-recovery-timeout-ms : integer, if the touchscreen does not respond after
|
||||
the configured time (in milli seconds), the driver
|
||||
will reset it. This is disabled by default.
|
||||
- properties defined in touchscreen.txt
|
||||
|
||||
Example:
|
||||
|
||||
&mcspi1 {
|
||||
tsc2005@0 {
|
||||
compatible = "ti,tsc2005";
|
||||
spi-max-frequency = <6000000>;
|
||||
reg = <0>;
|
||||
|
||||
vio-supply = <&vio>;
|
||||
|
||||
reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
|
||||
interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */
|
||||
|
||||
touchscreen-fuzz-x = <4>;
|
||||
touchscreen-fuzz-y = <7>;
|
||||
touchscreen-fuzz-pressure = <2>;
|
||||
touchscreen-max-x = <4096>;
|
||||
touchscreen-max-y = <4096>;
|
||||
touchscreen-max-pressure = <2048>;
|
||||
|
||||
ti,x-plate-ohms = <280>;
|
||||
ti,esd-recovery-timeout-ms = <8000>;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
* Texas Instruments tsc2007 touchscreen controller
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "ti,tsc2007".
|
||||
- reg: I2C address of the chip.
|
||||
- ti,x-plate-ohms: X-plate resistance in ohms.
|
||||
|
||||
Optional properties:
|
||||
- gpios: the interrupt gpio the chip is connected to (trough the penirq pin).
|
||||
The penirq pin goes to low when the panel is touched.
|
||||
(see GPIO binding[1] for more details).
|
||||
- interrupt-parent: the phandle for the gpio controller
|
||||
(see interrupt binding[0]).
|
||||
- interrupts: (gpio) interrupt to which the chip is connected
|
||||
(see interrupt binding[0]).
|
||||
- ti,max-rt: maximum pressure.
|
||||
- ti,fuzzx: specifies the absolute input fuzz x value.
|
||||
If set, it will permit noise in the data up to +- the value given to the fuzz
|
||||
parameter, that is used to filter noise from the event stream.
|
||||
- ti,fuzzy: specifies the absolute input fuzz y value.
|
||||
- ti,fuzzz: specifies the absolute input fuzz z value.
|
||||
- ti,poll-period: how much time to wait (in milliseconds) before reading again the
|
||||
values from the tsc2007.
|
||||
|
||||
[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
|
||||
|
||||
Example:
|
||||
&i2c1 {
|
||||
/* ... */
|
||||
tsc2007@49 {
|
||||
compatible = "ti,tsc2007";
|
||||
reg = <0x49>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <0x0 0x8>;
|
||||
gpios = <&gpio4 0 0>;
|
||||
ti,x-plate-ohms = <180>;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
};
|
|
@ -0,0 +1,34 @@
|
|||
* Neonode infrared touchscreen controller
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "neonode,zforce"
|
||||
- reg: I2C address of the chip
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
- gpios: gpios the chip is connected to
|
||||
first one is the interrupt gpio and second one the reset gpio
|
||||
- x-size: horizontal resolution of touchscreen
|
||||
- y-size: vertical resolution of touchscreen
|
||||
|
||||
Optional properties:
|
||||
- vdd-supply: Regulator controlling the controller supply
|
||||
|
||||
Example:
|
||||
|
||||
i2c@00000000 {
|
||||
/* ... */
|
||||
|
||||
zforce_ts@50 {
|
||||
compatible = "neonode,zforce";
|
||||
reg = <0x50>;
|
||||
interrupts = <2 0>;
|
||||
vdd-supply = <®_zforce_vdd>;
|
||||
|
||||
gpios = <&gpio5 6 0>, /* INT */
|
||||
<&gpio5 9 0>; /* RST */
|
||||
|
||||
x-size = <800>;
|
||||
y-size = <600>;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
};
|
27
Documentation/devicetree/bindings/input/twl4030-keypad.txt
Normal file
27
Documentation/devicetree/bindings/input/twl4030-keypad.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
* TWL4030's Keypad Controller device tree bindings
|
||||
|
||||
TWL4030's Keypad controller is used to interface a SoC with a matrix-type
|
||||
keypad device. The keypad controller supports multiple row and column lines.
|
||||
A key can be placed at each intersection of a unique row and a unique column.
|
||||
The keypad controller can sense a key-press and key-release and report the
|
||||
event using a interrupt to the cpu.
|
||||
|
||||
This binding is based on the matrix-keymap binding with the following
|
||||
changes:
|
||||
|
||||
* keypad,num-rows and keypad,num-columns are required.
|
||||
|
||||
Required SoC Specific Properties:
|
||||
- compatible: should be one of the following
|
||||
- "ti,twl4030-keypad": For controllers compatible with twl4030 keypad
|
||||
controller.
|
||||
- interrupt: should be one of the following
|
||||
- <1>: For controllers compatible with twl4030 keypad controller.
|
||||
|
||||
Example:
|
||||
twl_keypad: keypad {
|
||||
compatible = "ti,twl4030-keypad";
|
||||
interrupts = <1>;
|
||||
keypad,num-rows = <8>;
|
||||
keypad,num-columns = <8>;
|
||||
};
|
|
@ -0,0 +1,21 @@
|
|||
Texas Instruments TWL family (twl4030) pwrbutton module
|
||||
|
||||
This module is part of the TWL4030. For more details about the whole
|
||||
chip see Documentation/devicetree/bindings/mfd/twl-familly.txt.
|
||||
|
||||
This module provides a simple power button event via an Interrupt.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following
|
||||
- "ti,twl4030-pwrbutton": For controllers compatible with twl4030
|
||||
- interrupts: should be one of the following
|
||||
- <8>: For controllers compatible with twl4030
|
||||
|
||||
Example:
|
||||
|
||||
&twl {
|
||||
twl_pwrbutton: pwrbutton {
|
||||
compatible = "ti,twl4030-pwrbutton";
|
||||
interrupts = <8>;
|
||||
};
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue