diff options
Diffstat (limited to 'Documentation')
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 | |||
3 | Broadcom Keypad controller is used to interface a SoC with a matrix-type | ||
4 | keypad device. The keypad controller supports multiple row and column lines. | ||
5 | A key can be placed at each intersection of a unique row and a unique column. | ||
6 | The keypad controller can sense a key-press and key-release and report the | ||
7 | event using a interrupt to the cpu. | ||
8 | |||
9 | This binding is based on the matrix-keymap binding with the following | ||
10 | changes: | ||
11 | |||
12 | keypad,num-rows and keypad,num-columns are required. | ||
13 | |||
14 | Required 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 | |||
22 | Board 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 | |||
64 | Example: | ||
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 @@ | |||
1 | Qualcomm PM8941 PMIC Power Key | ||
2 | |||
3 | PROPERTIES | ||
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 | |||
35 | EXAMPLE | ||
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 | |||
3 | Required 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 | |||
11 | Optional 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 | |||
56 | Example: | ||
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 | |||
3 | Required 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 | |||
13 | Optional 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 | |||
26 | Example: | ||
27 | |||
28 | i2c@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 @@ | |||
1 | Device tree bindings for Goodix GT9xx series touchscreen controller | ||
2 | |||
3 | Required 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 | |||
16 | Example: | ||
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 | ||
4 | Required properties: | 4 | Required 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 | ||
10 | Optional properties: | 11 | Optional 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 | ||
14 | Example: | 27 | Example: |
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 | |||
3 | Required 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 | |||
9 | Example: | ||
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 | ||
20 | Deprecated properties for Touchscreens: | 22 | Deprecated 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 | |||
37 | cavium Cavium, Inc. | 37 | cavium Cavium, Inc. |
38 | cdns Cadence Design Systems Inc. | 38 | cdns Cadence Design Systems Inc. |
39 | chipidea Chipidea, Inc | 39 | chipidea Chipidea, Inc |
40 | chipone ChipOne | ||
40 | chipspark ChipSPARK | 41 | chipspark ChipSPARK |
41 | chrp Common Hardware Reference Platform | 42 | chrp Common Hardware Reference Platform |
42 | chunghwa Chunghwa Picture Tubes Ltd. | 43 | chunghwa Chunghwa Picture Tubes Ltd. |
@@ -78,6 +79,7 @@ geniatech Geniatech, Inc. | |||
78 | giantplus Giantplus Technology Co., Ltd. | 79 | giantplus Giantplus Technology Co., Ltd. |
79 | globalscale Globalscale Technologies, Inc. | 80 | globalscale Globalscale Technologies, Inc. |
80 | gmt Global Mixed-mode Technology, Inc. | 81 | gmt Global Mixed-mode Technology, Inc. |
82 | goodix Shenzhen Huiding Technology Co., Ltd. | ||
81 | google Google, Inc. | 83 | google Google, Inc. |
82 | gumstix Gumstix, Inc. | 84 | gumstix Gumstix, Inc. |
83 | gw Gateworks Corporation | 85 | gw Gateworks Corporation |