Home
last modified time | relevance | path

Searched +full:matrix +full:- +full:keypad (Results 1 – 25 of 46) sorted by relevance

12

/linux/drivers/input/keyboard/
H A Dimx_keypad.c1 // SPDX-License-Identifier: GPL-2.0
3 // Driver for the IMX keypad port.
23 * Keypad Controller registers (halfword)
25 #define KPCR 0x00 /* Keypad Control Register */
27 #define KPSR 0x02 /* Keypad Status Register */
34 #define KBD_STAT_KPPEN (0x1 << 10) /* Keypad Clock Enable */
36 #define KDDR 0x04 /* Keypad Data Direction Register */
37 #define KPDR 0x06 /* Keypad Data Register */
55 * The matrix is stable only if no changes are detected after
70 * Matrix states:
[all …]
H A Dep93xx_keypad.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Driver for the Cirrus EP93xx matrix keypad controller.
7 * Based on the pxa27x matrix keypad controller by Rodolfo Giometti.
26 * Keypad Interface Register offsets
81 struct ep93xx_keypad *keypad = dev_id; in ep93xx_keypad_irq_handler() local
82 struct input_dev *input_dev = keypad->input_dev; in ep93xx_keypad_irq_handler()
86 status = __raw_readl(keypad->mmio_base + KEY_REG); in ep93xx_keypad_irq_handler()
89 key1 = keypad->keycodes[keycode]; in ep93xx_keypad_irq_handler()
92 key2 = keypad->keycodes[keycode]; in ep93xx_keypad_irq_handler()
95 if (keypad->key1 && key1 != keypad->key1 && key2 != keypad->key1) in ep93xx_keypad_irq_handler()
[all …]
H A Dtc3589x-keypad.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) ST-Ericsson SA 2010
8 * TC35893 MFD Keypad Controller driver
21 /* Maximum supported keypad matrix row/columns size */
25 /* keypad related Constants */
73 * struct tc3589x_keypad_platform_data - platform specific keypad data
74 * @keymap_data: matrix scan code table for keycodes
80 * @enable_wakeup: specifies if keypad event can wake up system from sleep
95 * struct tc_keypad - data structure used by keypad driver
98 * @board: keypad platform device
[all …]
H A Dadp5585-keys.c1 // SPDX-License-Identifier: GPL-2.0-only
23 /* As needed for the matrix parsing code */
39 unsigned long keypad; member
50 if (events[ev] < kpad->info->key_ev_min || in adp5585_keys_validate_events()
51 events[ev] > kpad->info->key_ev_max) in adp5585_keys_validate_events()
58 row = (events[ev] - 1) / kpad->info->max_cols; in adp5585_keys_validate_events()
59 col = (events[ev] - 1) % kpad->info->max_cols; in adp5585_keys_validate_events()
61 if (test_bit(row, &kpad->keypad) && in adp5585_keys_validate_events()
62 test_bit(col + kpad->info->max_rows, &kpad->keypad)) in adp5585_keys_validate_events()
65 return dev_err_probe(kpad->dev, -EINVAL, in adp5585_keys_validate_events()
[all …]
H A Dmax7359_keypad.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * max7359_keypad.c - MAX7359 Key Switch Controller Driver
10 * Datasheet: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5456
57 /* matrix key code map */
69 dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n", in max7359_write_reg()
79 dev_err(&client->dev, "%s: reg 0x%x, err %d\n", in max7359_read_reg()
84 /* runs in an IRQ thread -- can (and will!) sleep */
87 struct max7359_keypad *keypad = dev_id; in max7359_interrupt() local
88 struct input_dev *input_dev = keypad->input_dev; in max7359_interrupt()
91 val = max7359_read_reg(keypad->client, MAX7359_REG_KEYFIFO); in max7359_interrupt()
[all …]
/linux/Documentation/devicetree/bindings/mfd/
H A Dtc3589x.txt1 * Toshiba TC3589x multi-purpose expander
3 The Toshiba TC3589x series are I2C-based MFD devices which may expose the
4 following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
7 - TC35890
8 - TC35892
9 - TC35893
10 - TC35894
11 - TC35895
12 - TC35896
15 - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
[all …]
H A Dadi,adp5585.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Analog Devices ADP5585 Keypad Decoder and I/O Expansion
10 - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
13 The ADP5585 is a 10/11 input/output port expander with a built in keypad
14 matrix decoder, programmable logic, reset generator, and PWM generator.
19 - items:
20 - enum:
21 - adi,adp5585-00 # Default
[all …]
/linux/Documentation/devicetree/bindings/input/
H A Dcirrus,ep9307-keypad.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Cirrus ep93xx keypad
10 - Alexander Sverdlin <alexander.sverdlin@gmail.com>
13 - $ref: /schemas/input/matrix-keymap.yaml#
16 The KPP is designed to interface with a keypad matrix with 2-point contact
17 or 3-point contact keys. The KPP is designed to simplify the software task
18 of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
[all …]
H A Domap-keypad.txt1 * TI's Keypad Controller device tree bindings
3 TI's Keypad controller is used to interface a SoC with a matrix-type
4 keypad device. The keypad controller supports multiple row and column lines.
6 The keypad controller can sense a key-press and key-release and report the
9 This binding is based on the matrix-keymap binding with the following
12 keypad,num-rows and keypad,num-columns are required.
15 - compatible: should be one of the following
16 - "ti,omap4-keypad": For controllers compatible with omap4 keypad
20 - linux,keypad-no-autorepeat: do no enable autorepeat feature.
23 keypad@4ae1c000{
[all …]
H A Dtwl4030-keypad.txt1 * TWL4030's Keypad Controller device tree bindings
3 TWL4030's Keypad controller is used to interface a SoC with a matrix-type
4 keypad device. The keypad controller supports multiple row and column lines.
6 The keypad controller can sense a key-press and key-release and report the
9 This binding is based on the matrix-keymap binding with the following
12 * keypad,num-rows and keypad,num-columns are required.
15 - compatible: should be one of the following
16 - "ti,twl4030-keypad": For controllers compatible with twl4030 keypad
18 - interrupt: should be one of the following
19 - <1>: For controllers compatible with twl4030 keypad controller.
[all …]
H A Dmatrix-keymap.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/input/matrix-keymap.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Common Key Matrices on Matrix-connected Key Boards
10 - Olof Johansson <olof@lixom.net>
13 A simple common binding for matrix-connected key boards. Currently targeted at
19 for said properties are "linux,fn-keymap" or with another descriptive
24 $ref: /schemas/types.yaml#/definitions/uint32-array
26 An array of packed 1-cell entries containing the equivalent of row,
[all …]
H A Dbrcm,bcm-keypad.txt1 * Broadcom Keypad Controller device tree bindings
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.
6 The keypad controller can sense a key-press and key-release and report the
9 This binding is based on the matrix-keymap binding with the following
12 keypad,num-rows and keypad,num-columns are required.
15 - compatible: should be "brcm,bcm-keypad"
17 - reg: physical base address of the controller and length of memory mapped
20 - interrupts: The interrupt number to the cpu.
23 - keypad,num-rows: Number of row lines connected to the keypad
[all …]
H A Dpxa27x-keypad.txt1 * Marvell PXA Keypad controller
4 - compatible : should be "marvell,pxa27x-keypad"
5 - reg : Address and length of the register set for the device
6 - interrupts : The interrupt for the keypad controller
7 - marvell,debounce-interval : How long time the key will be
10 interval for matrix key. The value is in binary number of 2ms
12 Optional Properties For Matrix Keyes
13 Please refer to matrix-keymap.txt
16 - marvell,direct-key-count : How many direct keyes are used.
17 - marvell,direct-key-mask : The mask indicates which keyes
[all …]
H A Dmediatek,mt6779-keypad.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/input/mediatek,mt6779-keypad.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Mediatek's Keypad Controller
10 - Mattijs Korpershoek <mkorpershoek@kernel.org>
13 - $ref: /schemas/input/matrix-keymap.yaml#
16 Mediatek's Keypad controller is used to interface a SoC with a matrix-type
17 keypad device. The keypad controller supports multiple row and column lines.
19 The keypad controller can sense a key-press and key-release and report the
[all …]
H A Dimx-keypad.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/input/imx-keypad.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Freescale i.MX Keypad Port(KPP)
10 - Liu Ying <gnuiyl@gmail.com>
13 - $ref: /schemas/input/matrix-keymap.yaml#
16 The KPP is designed to interface with a keypad matrix with 2-point contact
17 or 3-point contact keys. The KPP is designed to simplify the software task
18 of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
[all …]
H A Dclps711x-keypad.txt1 * Cirrus Logic CLPS711X matrix keypad device tree bindings
4 - compatible: Shall contain "cirrus,ep7209-keypad".
5 - row-gpios: List of GPIOs used as row lines.
6 - poll-interval: Poll interval time in milliseconds.
7 - linux,keymap: The definition can be found at
8 bindings/input/matrix-keymap.txt.
11 - autorepeat: Enable autorepeat feature.
14 keypad {
15 compatible = "cirrus,ep7312-keypad", "cirrus,ep7209-keypad";
17 poll-interval = <120>;
[all …]
H A Dst-keyscan.txt4 matrix-keymap.
7 - compatible: "st,sti-keyscan"
9 - reg: Register base address and size of st-keyscan controller.
11 - interrupts: Interrupt number for the st-keyscan controller.
13 - clocks: Must contain one entry, for the module clock.
14 See ../clocks/clock-bindings.txt for details.
16 - pinctrl: Should specify pin control groups used for this controller.
17 See ../pinctrl/pinctrl-bindings.txt for details.
19 - linux,keymap: The keymap for keys as described in the binding document
20 devicetree/bindings/input/matrix-keymap.txt.
[all …]
H A Dgoogle,cros-ec-keyb.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
11 - Simon Glass <sjg@chromium.org>
12 - Benson Leung <bleung@chromium.org>
15 Google's ChromeOS EC Keyboard is a simple matrix keyboard
24 - description: ChromeOS EC with only buttons/switches
25 const: google,cros-ec-keyb-switches
26 - description: ChromeOS EC with keyboard and possibly buttons/switches
[all …]
H A Dsamsung,s3c6410-keypad.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/input/samsung,s3c6410-keypad.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Samsung SoC series Keypad Controller
10 Samsung SoC Keypad controller is used to interface a SoC with a matrix-type
11 keypad device. The keypad controller supports multiple row and column lines.
13 The keypad controller can sense a key-press and key-release and report the
17 - Krzysztof Kozlowski <krzk@kernel.org>
22 - samsung,s3c6410-keypad
[all …]
H A Dti,nspire-keypad.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/input/ti,nspire-keypad.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: TI-NSPIRE Keypad
10 - Andrew Davis <afd@ti.com>
13 - $ref: input.yaml#
14 - $ref: matrix-keymap.yaml#
19 - ti,nspire-keypad
30 scan-interval:
[all …]
H A Dadi,adp5588.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Analog Devices ADP5588 Keypad Controller
10 - Nuno Sá <nuno.sa@analog.com>
13 Analog Devices Mobile I/O Expander and QWERTY Keypad Controller
14 https://www.analog.com/media/en/technical-documentation/data-sheets/ADP5588.pdf
17 - $ref: matrix-keymap.yaml#
18 - $ref: input.yaml#
23 - adi,adp5587
[all …]
H A Dnvidia,tegra20-kbc.txt2 The key controller has maximum 24 pins to make matrix keypad. Any pin
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
12 - nvidia,kbc-col-pins: The KBC pins which are configured as column. This is an
14 - linux,keymap: The keymap for keys as described in the binding document
15 devicetree/bindings/input/matrix-keymap.txt.
16 - clocks: Must contain one entry, for the module clock.
17 See ../clocks/clock-bindings.txt for details.
[all …]
/linux/drivers/input/
H A Dmatrix-keymap.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Helpers for matrix keyboard bindings
26 unsigned short *keymap = input_dev->keycode; in matrix_keypad_map_key()
32 dev_err(input_dev->dev.parent, in matrix_keypad_map_key()
39 __set_bit(code, input_dev->keybit); in matrix_keypad_map_key()
45 * matrix_keypad_parse_properties() - Read properties of matrix keypad
48 * @rows: Returns number of matrix rows
49 * @cols: Returns number of matrix columns
57 device_property_read_u32(dev, "keypad,num-rows", rows); in matrix_keypad_parse_properties()
58 device_property_read_u32(dev, "keypad,num-columns", cols); in matrix_keypad_parse_properties()
[all …]
/linux/arch/arm/boot/dts/ti/omap/
H A Domap4-droid-bionic-xt875.dts1 // SPDX-License-Identifier: GPL-2.0-only
2 /dts-v1/;
4 #include "motorola-mapphone-xt8xx.dtsi"
8 compatible = "motorola,droid-bionic", "ti,omap4430", "ti,omap4";
11 stdout-path = &uart3;
20 &keypad {
21 keypad,num-rows = <8>;
22 keypad,num-columns = <8>;
30 led-controller@38 {
32 #address-cells = <1>;
[all …]
/linux/Documentation/input/devices/
H A Datarikbd.rst12 provides a convenient connection point for a mouse and switch-type joysticks.
13 The ikbd processor also maintains a time-of-day clock with one second
18 The ikbd communicates with the main processor over a high speed bi-directional
41 0xF8-0xFB relative mouse position records (lsbs determined by
43 0xFC time-of-day
67 ---------------------------
92 +127...-128 range, the motion is broken into multiple packets.
97 ---------------------------
104 ---------------------
120 ------------------------
[all …]

12