aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/input/brcm,bcm-keypad.txt108
-rw-r--r--Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt43
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt76
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt46
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/goodix.txt29
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/sun4i.txt22
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/sx8654.txt16
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt2
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt2
9 files changed, 341 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/input/brcm,bcm-keypad.txt b/Documentation/devicetree/bindings/input/brcm,bcm-keypad.txt
new file mode 100644
index 000000000000..b77f50bd6403
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/brcm,bcm-keypad.txt
@@ -0,0 +1,108 @@
1* Broadcom Keypad Controller device tree bindings
2
3Broadcom Keypad controller is used to interface a SoC with a matrix-type
4keypad device. The keypad controller supports multiple row and column lines.
5A key can be placed at each intersection of a unique row and a unique column.
6The keypad controller can sense a key-press and key-release and report the
7event using a interrupt to the cpu.
8
9This binding is based on the matrix-keymap binding with the following
10changes:
11
12keypad,num-rows and keypad,num-columns are required.
13
14Required SoC Specific Properties:
15- compatible: should be "brcm,bcm-keypad"
16
17- reg: physical base address of the controller and length of memory mapped
18 region.
19
20- interrupts: The interrupt number to the cpu.
21
22Board Specific Properties:
23- keypad,num-rows: Number of row lines connected to the keypad
24 controller.
25
26- keypad,num-columns: Number of column lines connected to the
27 keypad controller.
28
29- col-debounce-filter-period: The debounce period for the Column filter.
30
31 KEYPAD_DEBOUNCE_1_ms = 0
32 KEYPAD_DEBOUNCE_2_ms = 1
33 KEYPAD_DEBOUNCE_4_ms = 2
34 KEYPAD_DEBOUNCE_8_ms = 3
35 KEYPAD_DEBOUNCE_16_ms = 4
36 KEYPAD_DEBOUNCE_32_ms = 5
37 KEYPAD_DEBOUNCE_64_ms = 6
38 KEYPAD_DEBOUNCE_128_ms = 7
39
40- status-debounce-filter-period: The debounce period for the Status filter.
41
42 KEYPAD_DEBOUNCE_1_ms = 0
43 KEYPAD_DEBOUNCE_2_ms = 1
44 KEYPAD_DEBOUNCE_4_ms = 2
45 KEYPAD_DEBOUNCE_8_ms = 3
46 KEYPAD_DEBOUNCE_16_ms = 4
47 KEYPAD_DEBOUNCE_32_ms = 5
48 KEYPAD_DEBOUNCE_64_ms = 6
49 KEYPAD_DEBOUNCE_128_ms = 7
50
51- row-output-enabled: An optional property indicating whether the row or
52 column is being used as output. If specified the row is being used
53 as the output. Else defaults to column.
54
55- pull-up-enabled: An optional property indicating the Keypad scan mode.
56 If specified implies the keypad scan pull-up has been enabled.
57
58- autorepeat: Boolean, Enable auto repeat feature of Linux input
59 subsystem (optional).
60
61- linux,keymap: The keymap for keys as described in the binding document
62 devicetree/bindings/input/matrix-keymap.txt.
63
64Example:
65#include "dt-bindings/input/input.h"
66
67/ {
68 keypad: keypad@180ac000 {
69 /* Required SoC specific properties */
70 compatible = "brcm,bcm-keypad";
71
72 /* Required Board specific properties */
73 keypad,num-rows = <5>;
74 keypad,num-columns = <5>;
75 status = "okay";
76
77 linux,keymap = <MATRIX_KEY(0x00, 0x02, KEY_F) /* key_forward */
78 MATRIX_KEY(0x00, 0x03, KEY_HOME) /* key_home */
79 MATRIX_KEY(0x00, 0x04, KEY_M) /* key_message */
80 MATRIX_KEY(0x01, 0x00, KEY_A) /* key_contacts */
81 MATRIX_KEY(0x01, 0x01, KEY_1) /* key_1 */
82 MATRIX_KEY(0x01, 0x02, KEY_2) /* key_2 */
83 MATRIX_KEY(0x01, 0x03, KEY_3) /* key_3 */
84 MATRIX_KEY(0x01, 0x04, KEY_S) /* key_speaker */
85 MATRIX_KEY(0x02, 0x00, KEY_P) /* key_phone */
86 MATRIX_KEY(0x02, 0x01, KEY_4) /* key_4 */
87 MATRIX_KEY(0x02, 0x02, KEY_5) /* key_5 */
88 MATRIX_KEY(0x02, 0x03, KEY_6) /* key_6 */
89 MATRIX_KEY(0x02, 0x04, KEY_VOLUMEUP) /* key_vol_up */
90 MATRIX_KEY(0x03, 0x00, KEY_C) /* key_call_log */
91 MATRIX_KEY(0x03, 0x01, KEY_7) /* key_7 */
92 MATRIX_KEY(0x03, 0x02, KEY_8) /* key_8 */
93 MATRIX_KEY(0x03, 0x03, KEY_9) /* key_9 */
94 MATRIX_KEY(0x03, 0x04, KEY_VOLUMEDOWN) /* key_vol_down */
95 MATRIX_KEY(0x04, 0x00, KEY_H) /* key_headset */
96 MATRIX_KEY(0x04, 0x01, KEY_KPASTERISK) /* key_* */
97 MATRIX_KEY(0x04, 0x02, KEY_0) /* key_0 */
98 MATRIX_KEY(0x04, 0x03, KEY_GRAVE) /* key_# */
99 MATRIX_KEY(0x04, 0x04, KEY_MUTE) /* key_mute */
100 >;
101
102 /* Optional board specific properties */
103 col-debounce-filter-period = <5>;
104 row-output-enabled;
105 pull-up-enabled;
106
107 };
108};
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
new file mode 100644
index 000000000000..07bf55f6e0b9
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
@@ -0,0 +1,43 @@
1Qualcomm PM8941 PMIC Power Key
2
3PROPERTIES
4
5- compatible:
6 Usage: required
7 Value type: <string>
8 Definition: must be one of:
9 "qcom,pm8941-pwrkey"
10
11- reg:
12 Usage: required
13 Value type: <prop-encoded-array>
14 Definition: base address of registers for block
15
16- interrupts:
17 Usage: required
18 Value type: <prop-encoded-array>
19 Definition: key change interrupt; The format of the specifier is
20 defined by the binding document describing the node's
21 interrupt parent.
22
23- debounce:
24 Usage: optional
25 Value type: <u32>
26 Definition: time in microseconds that key must be pressed or released
27 for state change interrupt to trigger.
28
29- bias-pull-up:
30 Usage: optional
31 Value type: <empty>
32 Definition: presence of this property indicates that the KPDPWR_N pin
33 should be configured for pull up.
34
35EXAMPLE
36
37 pwrkey@800 {
38 compatible = "qcom,pm8941-pwrkey";
39 reg = <0x800>;
40 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
41 debounce = <15625>;
42 bias-pull-up;
43 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt b/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
new file mode 100644
index 000000000000..34e3382a0659
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
@@ -0,0 +1,76 @@
1* Broadcom's IPROC Touchscreen Controller
2
3Required properties:
4- compatible: must be "brcm,iproc-touchscreen"
5- reg: physical base address of the controller and length of memory mapped
6 region.
7- clocks: The clock provided by the SOC to driver the tsc
8- clock-name: name for the clock
9- interrupts: The touchscreen controller's interrupt
10
11Optional properties:
12- scanning_period: Time between scans. Each step is 1024 us. Valid 1-256.
13- debounce_timeout: Each step is 512 us. Valid 0-255
14- settling_timeout: The settling duration (in ms) is the amount of time
15 the tsc waits to allow the voltage to settle after
16 turning on the drivers in detection mode.
17 Valid values: 0-11
18 0 = 0.008 ms
19 1 = 0.01 ms
20 2 = 0.02 ms
21 3 = 0.04 ms
22 4 = 0.08 ms
23 5 = 0.16 ms
24 6 = 0.32 ms
25 7 = 0.64 ms
26 8 = 1.28 ms
27 9 = 2.56 ms
28 10 = 5.12 ms
29 11 = 10.24 ms
30- touch_timeout: The continuous number of scan periods in which touch is
31 not detected before the controller returns to idle state.
32 Valid values 0-255.
33- average_data: Number of data samples which are averaged before a final
34 data point is placed into the FIFO
35 Valid values 0-7
36 0 = 1 sample
37 1 = 2 samples
38 2 = 4 samples
39 3 = 8 samples
40 4 = 16 samples
41 5 = 32 samples
42 6 = 64 samples
43 7 = 128 samples
44- fifo_threshold: Interrupt is generated whenever the number of fifo
45 entries exceeds this value
46 Valid values 0-31
47- touchscreen-size-x: horizontal resolution of touchscreen (in pixels)
48- touchscreen-size-y: vertical resolution of touchscreen (in pixels)
49- touchscreen-fuzz-x: horizontal noise value of the absolute input
50 device (in pixels)
51- touchscreen-fuzz-y: vertical noise value of the absolute input
52 device (in pixels)
53- touchscreen-inverted-x: X axis is inverted (boolean)
54- touchscreen-inverted-y: Y axis is inverted (boolean)
55
56Example:
57
58 touchscreen: tsc@0x180A6000 {
59 compatible = "brcm,iproc-touchscreen";
60 #address-cells = <1>;
61 #size-cells = <1>;
62 reg = <0x180A6000 0x40>;
63 clocks = <&adc_clk>;
64 clock-names = "tsc_clk";
65 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
66
67 scanning_period = <5>;
68 debounce_timeout = <40>;
69 settling_timeout = <7>;
70 touch_timeout = <10>;
71 average_data = <5>;
72 fifo_threshold = <1>;
73 /* Touchscreen is rotated 180 degrees. */
74 touchscreen-inverted-x;
75 touchscreen-inverted-y;
76 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt b/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
new file mode 100644
index 000000000000..d11f8d615b5d
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
@@ -0,0 +1,46 @@
1* ChipOne icn8318 I2C touchscreen controller
2
3Required properties:
4 - compatible : "chipone,icn8318"
5 - reg : I2C slave address of the chip (0x40)
6 - interrupt-parent : a phandle pointing to the interrupt controller
7 serving the interrupt for this chip
8 - interrupts : interrupt specification for the icn8318 interrupt
9 - wake-gpios : GPIO specification for the WAKE input
10 - touchscreen-size-x : horizontal resolution of touchscreen (in pixels)
11 - touchscreen-size-y : vertical resolution of touchscreen (in pixels)
12
13Optional properties:
14 - pinctrl-names : should be "default"
15 - pinctrl-0: : a phandle pointing to the pin settings for the
16 control gpios
17 - touchscreen-fuzz-x : horizontal noise value of the absolute input
18 device (in pixels)
19 - touchscreen-fuzz-y : vertical noise value of the absolute input
20 device (in pixels)
21 - touchscreen-inverted-x : X axis is inverted (boolean)
22 - touchscreen-inverted-y : Y axis is inverted (boolean)
23 - touchscreen-swapped-x-y : X and Y axis are swapped (boolean)
24 Swapping is done after inverting the axis
25
26Example:
27
28i2c@00000000 {
29 /* ... */
30
31 chipone_icn8318@40 {
32 compatible = "chipone,icn8318";
33 reg = <0x40>;
34 interrupt-parent = <&pio>;
35 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
36 pinctrl-names = "default";
37 pinctrl-0 = <&ts_wake_pin_p66>;
38 wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
39 touchscreen-size-x = <800>;
40 touchscreen-size-y = <480>;
41 touchscreen-inverted-x;
42 touchscreen-swapped-x-y;
43 };
44
45 /* ... */
46};
diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix.txt b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
new file mode 100644
index 000000000000..8ba98eec765b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
@@ -0,0 +1,29 @@
1Device tree bindings for Goodix GT9xx series touchscreen controller
2
3Required properties:
4
5 - compatible : Should be "goodix,gt911"
6 or "goodix,gt9110"
7 or "goodix,gt912"
8 or "goodix,gt927"
9 or "goodix,gt9271"
10 or "goodix,gt928"
11 or "goodix,gt967"
12 - reg : I2C address of the chip. Should be 0x5d or 0x14
13 - interrupt-parent : Interrupt controller to which the chip is connected
14 - interrupts : Interrupt to which the chip is connected
15
16Example:
17
18 i2c@00000000 {
19 /* ... */
20
21 gt928@5d {
22 compatible = "goodix,gt928";
23 reg = <0x5d>;
24 interrupt-parent = <&gpio>;
25 interrupts = <0 0>;
26 };
27
28 /* ... */
29 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
index 433332d3b2ba..89abecd938cb 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
@@ -2,14 +2,27 @@ sun4i resistive touchscreen controller
2-------------------------------------- 2--------------------------------------
3 3
4Required properties: 4Required properties:
5 - compatible: "allwinner,sun4i-a10-ts" or "allwinner,sun6i-a31-ts" 5 - compatible: "allwinner,sun4i-a10-ts", "allwinner,sun5i-a13-ts" or
6 "allwinner,sun6i-a31-ts"
6 - reg: mmio address range of the chip 7 - reg: mmio address range of the chip
7 - interrupts: interrupt to which the chip is connected 8 - interrupts: interrupt to which the chip is connected
8 - #thermal-sensor-cells: shall be 0 9 - #thermal-sensor-cells: shall be 0
9 10
10Optional properties: 11Optional properties:
11 - allwinner,ts-attached: boolean indicating that an actual touchscreen is 12 - allwinner,ts-attached : boolean indicating that an actual touchscreen
12 attached to the controller 13 is attached to the controller
14 - allwinner,tp-sensitive-adjust : integer (4 bits)
15 adjust sensitivity of pen down detection
16 between 0 (least sensitive) and 15
17 (defaults to 15)
18 - allwinner,filter-type : integer (2 bits)
19 select median and averaging filter
20 samples used for median / averaging filter
21 0: 4/2
22 1: 5/3
23 2: 8/4
24 3: 16/8
25 (defaults to 1)
13 26
14Example: 27Example:
15 28
@@ -19,4 +32,7 @@ Example:
19 interrupts = <29>; 32 interrupts = <29>;
20 allwinner,ts-attached; 33 allwinner,ts-attached;
21 #thermal-sensor-cells = <0>; 34 #thermal-sensor-cells = <0>;
35 /* sensitive/noisy touch panel */
36 allwinner,tp-sensitive-adjust = <0>;
37 allwinner,filter-type = <3>;
22 }; 38 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/sx8654.txt b/Documentation/devicetree/bindings/input/touchscreen/sx8654.txt
new file mode 100644
index 000000000000..5aaa6b3aa90c
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/sx8654.txt
@@ -0,0 +1,16 @@
1* Semtech SX8654 I2C Touchscreen Controller
2
3Required properties:
4- compatible: must be "semtech,sx8654"
5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: touch controller interrupt
8
9Example:
10
11 sx8654@48 {
12 compatible = "semtech,sx8654";
13 reg = <0x48>;
14 interrupt-parent = <&gpio6>;
15 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
16 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt b/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
index d8e06163c54e..ac23caf518ad 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
@@ -16,6 +16,8 @@ Optional properties for Touchscreens:
16 controller) 16 controller)
17 - touchscreen-inverted-x : X axis is inverted (boolean) 17 - touchscreen-inverted-x : X axis is inverted (boolean)
18 - touchscreen-inverted-y : Y axis is inverted (boolean) 18 - touchscreen-inverted-y : Y axis is inverted (boolean)
19 - touchscreen-swapped-x-y : X and Y axis are swapped (boolean)
20 Swapping is done after inverting the axis
19 21
20Deprecated properties for Touchscreens: 22Deprecated properties for Touchscreens:
21 - x-size : deprecated name for touchscreen-size-x 23 - x-size : deprecated name for touchscreen-size-x
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 8764b5b78772..b13aa55b7a6f 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -37,6 +37,7 @@ capella Capella Microsystems, Inc
37cavium Cavium, Inc. 37cavium Cavium, Inc.
38cdns Cadence Design Systems Inc. 38cdns Cadence Design Systems Inc.
39chipidea Chipidea, Inc 39chipidea Chipidea, Inc
40chipone ChipOne
40chipspark ChipSPARK 41chipspark ChipSPARK
41chrp Common Hardware Reference Platform 42chrp Common Hardware Reference Platform
42chunghwa Chunghwa Picture Tubes Ltd. 43chunghwa Chunghwa Picture Tubes Ltd.
@@ -78,6 +79,7 @@ geniatech Geniatech, Inc.
78giantplus Giantplus Technology Co., Ltd. 79giantplus Giantplus Technology Co., Ltd.
79globalscale Globalscale Technologies, Inc. 80globalscale Globalscale Technologies, Inc.
80gmt Global Mixed-mode Technology, Inc. 81gmt Global Mixed-mode Technology, Inc.
82goodix Shenzhen Huiding Technology Co., Ltd.
81google Google, Inc. 83google Google, Inc.
82gumstix Gumstix, Inc. 84gumstix Gumstix, Inc.
83gw Gateworks Corporation 85gw Gateworks Corporation