diff options
Diffstat (limited to 'Documentation/devicetree/bindings/input')
6 files changed, 98 insertions, 13 deletions
diff --git a/Documentation/devicetree/bindings/input/imx-keypad.txt b/Documentation/devicetree/bindings/input/imx-keypad.txt new file mode 100644 index 000000000000..2ebaf7d26843 --- /dev/null +++ b/Documentation/devicetree/bindings/input/imx-keypad.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | * Freescale i.MX Keypad Port(KPP) device tree bindings | ||
2 | |||
3 | The KPP is designed to interface with a keypad matrix with 2-point contact | ||
4 | or 3-point contact keys. The KPP is designed to simplify the software task | ||
5 | of scanning a keypad matrix. The KPP is capable of detecting, debouncing, | ||
6 | and decoding one or multiple keys pressed simultaneously on a keypad. | ||
7 | |||
8 | Required SoC Specific Properties: | ||
9 | - compatible: Should be "fsl,<soc>-kpp". | ||
10 | |||
11 | - reg: Physical base address of the KPP and length of memory mapped | ||
12 | region. | ||
13 | |||
14 | - interrupts: The KPP interrupt number to the CPU(s). | ||
15 | |||
16 | - clocks: The clock provided by the SoC to the KPP. Some SoCs use dummy | ||
17 | clock(The clock for the KPP is provided by the SoCs automatically). | ||
18 | |||
19 | Required Board Specific Properties: | ||
20 | - pinctrl-names: The definition can be found at | ||
21 | pinctrl/pinctrl-bindings.txt. | ||
22 | |||
23 | - pinctrl-0: The definition can be found at | ||
24 | pinctrl/pinctrl-bindings.txt. | ||
25 | |||
26 | - linux,keymap: The definition can be found at | ||
27 | bindings/input/matrix-keymap.txt. | ||
28 | |||
29 | Example: | ||
30 | kpp: kpp@73f94000 { | ||
31 | compatible = "fsl,imx51-kpp", "fsl,imx21-kpp"; | ||
32 | reg = <0x73f94000 0x4000>; | ||
33 | interrupts = <60>; | ||
34 | clocks = <&clks 0>; | ||
35 | pinctrl-names = "default"; | ||
36 | pinctrl-0 = <&pinctrl_kpp_1>; | ||
37 | linux,keymap = <0x00000067 /* KEY_UP */ | ||
38 | 0x0001006c /* KEY_DOWN */ | ||
39 | 0x00020072 /* KEY_VOLUMEDOWN */ | ||
40 | 0x00030066 /* KEY_HOME */ | ||
41 | 0x0100006a /* KEY_RIGHT */ | ||
42 | 0x01010069 /* KEY_LEFT */ | ||
43 | 0x0102001c /* KEY_ENTER */ | ||
44 | 0x01030073 /* KEY_VOLUMEUP */ | ||
45 | 0x02000040 /* KEY_F6 */ | ||
46 | 0x02010042 /* KEY_F8 */ | ||
47 | 0x02020043 /* KEY_F9 */ | ||
48 | 0x02030044 /* KEY_F10 */ | ||
49 | 0x0300003b /* KEY_F1 */ | ||
50 | 0x0301003c /* KEY_F2 */ | ||
51 | 0x0302003d /* KEY_F3 */ | ||
52 | 0x03030074>; /* KEY_POWER */ | ||
53 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/lpc32xx-key.txt b/Documentation/devicetree/bindings/input/lpc32xx-key.txt index 31afd5014c48..bcf62f856358 100644 --- a/Documentation/devicetree/bindings/input/lpc32xx-key.txt +++ b/Documentation/devicetree/bindings/input/lpc32xx-key.txt | |||
@@ -1,19 +1,22 @@ | |||
1 | NXP LPC32xx Key Scan Interface | 1 | NXP LPC32xx Key Scan Interface |
2 | 2 | ||
3 | This binding is based on the matrix-keymap binding with the following | ||
4 | changes: | ||
5 | |||
3 | Required Properties: | 6 | Required Properties: |
4 | - compatible: Should be "nxp,lpc3220-key" | 7 | - compatible: Should be "nxp,lpc3220-key" |
5 | - reg: Physical base address of the controller and length of memory mapped | 8 | - reg: Physical base address of the controller and length of memory mapped |
6 | region. | 9 | region. |
7 | - interrupts: The interrupt number to the cpu. | 10 | - interrupts: The interrupt number to the cpu. |
8 | - keypad,num-rows: Number of rows and columns, e.g. 1: 1x1, 6: 6x6 | ||
9 | - keypad,num-columns: Must be equal to keypad,num-rows since LPC32xx only | ||
10 | supports square matrices | ||
11 | - nxp,debounce-delay-ms: Debounce delay in ms | 11 | - nxp,debounce-delay-ms: Debounce delay in ms |
12 | - nxp,scan-delay-ms: Repeated scan period in ms | 12 | - nxp,scan-delay-ms: Repeated scan period in ms |
13 | - linux,keymap: the key-code to be reported when the key is pressed | 13 | - linux,keymap: the key-code to be reported when the key is pressed |
14 | and released, see also | 14 | and released, see also |
15 | Documentation/devicetree/bindings/input/matrix-keymap.txt | 15 | Documentation/devicetree/bindings/input/matrix-keymap.txt |
16 | 16 | ||
17 | Note: keypad,num-rows and keypad,num-columns are required, and must be equal | ||
18 | since LPC32xx only supports square matrices | ||
19 | |||
17 | Example: | 20 | Example: |
18 | 21 | ||
19 | key@40050000 { | 22 | key@40050000 { |
diff --git a/Documentation/devicetree/bindings/input/matrix-keymap.txt b/Documentation/devicetree/bindings/input/matrix-keymap.txt index 3cd8b98ccd2d..c54919fad17e 100644 --- a/Documentation/devicetree/bindings/input/matrix-keymap.txt +++ b/Documentation/devicetree/bindings/input/matrix-keymap.txt | |||
@@ -9,6 +9,12 @@ Required properties: | |||
9 | row << 24 | column << 16 | key-code | 9 | row << 24 | column << 16 | key-code |
10 | 10 | ||
11 | Optional properties: | 11 | Optional properties: |
12 | Properties for the number of rows and columns are optional because some | ||
13 | drivers will use fixed values for these. | ||
14 | - keypad,num-rows: Number of row lines connected to the keypad controller. | ||
15 | - keypad,num-columns: Number of column lines connected to the keypad | ||
16 | controller. | ||
17 | |||
12 | Some users of this binding might choose to specify secondary keymaps for | 18 | Some users of this binding might choose to specify secondary keymaps for |
13 | cases where there is a modifier key such as a Fn key. Proposed names | 19 | cases where there is a modifier key such as a Fn key. Proposed names |
14 | for said properties are "linux,fn-keymap" or with another descriptive | 20 | for said properties are "linux,fn-keymap" or with another descriptive |
@@ -17,3 +23,5 @@ word for the modifier other from "Fn". | |||
17 | Example: | 23 | Example: |
18 | linux,keymap = < 0x00030012 | 24 | linux,keymap = < 0x00030012 |
19 | 0x0102003a >; | 25 | 0x0102003a >; |
26 | keypad,num-rows = <2>; | ||
27 | keypad,num-columns = <8>; | ||
diff --git a/Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt b/Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt index 72683be6de35..2995fae7ee47 100644 --- a/Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt +++ b/Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt | |||
@@ -1,7 +1,18 @@ | |||
1 | * Tegra keyboard controller | 1 | * Tegra keyboard controller |
2 | The key controller has maximum 24 pins to make matrix keypad. Any pin | ||
3 | can be configured as row or column. The maximum column pin can be 8 | ||
4 | and maximum row pins can be 16 for Tegra20/Tegra30. | ||
2 | 5 | ||
3 | Required properties: | 6 | Required properties: |
4 | - compatible: "nvidia,tegra20-kbc" | 7 | - compatible: "nvidia,tegra20-kbc" |
8 | - reg: Register base address of KBC. | ||
9 | - interrupts: Interrupt number for the KBC. | ||
10 | - nvidia,kbc-row-pins: The KBC pins which are configured as row. This is an | ||
11 | array of pin numbers which is used as rows. | ||
12 | - nvidia,kbc-col-pins: The KBC pins which are configured as column. This is an | ||
13 | array of pin numbers which is used as column. | ||
14 | - linux,keymap: The keymap for keys as described in the binding document | ||
15 | devicetree/bindings/input/matrix-keymap.txt. | ||
5 | 16 | ||
6 | Optional properties, in addition to those specified by the shared | 17 | Optional properties, in addition to those specified by the shared |
7 | matrix-keyboard bindings: | 18 | matrix-keyboard bindings: |
@@ -19,5 +30,16 @@ Example: | |||
19 | keyboard: keyboard { | 30 | keyboard: keyboard { |
20 | compatible = "nvidia,tegra20-kbc"; | 31 | compatible = "nvidia,tegra20-kbc"; |
21 | reg = <0x7000e200 0x100>; | 32 | reg = <0x7000e200 0x100>; |
33 | interrupts = <0 85 0x04>; | ||
22 | nvidia,ghost-filter; | 34 | nvidia,ghost-filter; |
35 | nvidia,debounce-delay-ms = <640>; | ||
36 | nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */ | ||
37 | nvidia,kbc-col-pins = <11 12 13>; /* pin 11, 12, 13 as columns */ | ||
38 | linux,keymap = <0x00000074 | ||
39 | 0x00010067 | ||
40 | 0x00020066 | ||
41 | 0x01010068 | ||
42 | 0x02000069 | ||
43 | 0x02010070 | ||
44 | 0x02020071>; | ||
23 | }; | 45 | }; |
diff --git a/Documentation/devicetree/bindings/input/omap-keypad.txt b/Documentation/devicetree/bindings/input/omap-keypad.txt index f2fa5e10493d..34ed1c60ff95 100644 --- a/Documentation/devicetree/bindings/input/omap-keypad.txt +++ b/Documentation/devicetree/bindings/input/omap-keypad.txt | |||
@@ -6,19 +6,16 @@ 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 | 6 | The keypad controller can sense a key-press and key-release and report the |
7 | event using a interrupt to the cpu. | 7 | event using a interrupt to the cpu. |
8 | 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 | |||
9 | Required SoC Specific Properties: | 14 | Required SoC Specific Properties: |
10 | - compatible: should be one of the following | 15 | - compatible: should be one of the following |
11 | - "ti,omap4-keypad": For controllers compatible with omap4 keypad | 16 | - "ti,omap4-keypad": For controllers compatible with omap4 keypad |
12 | controller. | 17 | controller. |
13 | 18 | ||
14 | Required Board Specific Properties, in addition to those specified by | ||
15 | the shared matrix-keyboard bindings: | ||
16 | - keypad,num-rows: Number of row lines connected to the keypad | ||
17 | controller. | ||
18 | |||
19 | - keypad,num-columns: Number of column lines connected to the | ||
20 | keypad controller. | ||
21 | |||
22 | Optional Properties specific to linux: | 19 | Optional Properties specific to linux: |
23 | - linux,keypad-no-autorepeat: do no enable autorepeat feature. | 20 | - linux,keypad-no-autorepeat: do no enable autorepeat feature. |
24 | 21 | ||
diff --git a/Documentation/devicetree/bindings/input/tca8418_keypad.txt b/Documentation/devicetree/bindings/input/tca8418_keypad.txt index 2a1538f0053f..255185009167 100644 --- a/Documentation/devicetree/bindings/input/tca8418_keypad.txt +++ b/Documentation/devicetree/bindings/input/tca8418_keypad.txt | |||
@@ -1,8 +1,10 @@ | |||
1 | This binding is based on the matrix-keymap binding with the following | ||
2 | changes: | ||
3 | |||
4 | keypad,num-rows and keypad,num-columns are required. | ||
1 | 5 | ||
2 | Required properties: | 6 | Required properties: |
3 | - compatible: "ti,tca8418" | 7 | - compatible: "ti,tca8418" |
4 | - reg: the I2C address | 8 | - reg: the I2C address |
5 | - interrupts: IRQ line number, should trigger on falling edge | 9 | - interrupts: IRQ line number, should trigger on falling edge |
6 | - keypad,num-rows: The number of rows | ||
7 | - keypad,num-columns: The number of columns | ||
8 | - linux,keymap: Keys definitions, see keypad-matrix. | 10 | - linux,keymap: Keys definitions, see keypad-matrix. |