| /linux/drivers/input/keyboard/ | 
| H A D | imx_keypad.c | 1 // SPDX-License-Identifier: GPL-2.03 // 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 D | ep93xx_keypad.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * 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 D | tc3589x-keypad.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * 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 D | adp5585-keys.c | 1 // SPDX-License-Identifier: GPL-2.0-only23 /* 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 D | max7359_keypad.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * 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 D | tc3589x.txt | 1 * Toshiba TC3589x multi-purpose expander3 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 D | adi,adp5585.yaml | 1 # 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 D | cirrus,ep9307-keypad.yaml | 1 # 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 D | omap-keypad.txt | 1 * TI's Keypad Controller device tree bindings3 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 D | twl4030-keypad.txt | 1 * TWL4030's Keypad Controller device tree bindings3 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 D | matrix-keymap.yaml | 1 # 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 D | brcm,bcm-keypad.txt | 1 * Broadcom Keypad Controller device tree bindings3 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 D | pxa27x-keypad.txt | 1 * Marvell PXA Keypad controller4 - 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 D | mediatek,mt6779-keypad.yaml | 1 # 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 D | imx-keypad.yaml | 1 # 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 D | clps711x-keypad.txt | 1 * Cirrus Logic CLPS711X matrix keypad device tree bindings4 - 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 D | st-keyscan.txt | 4 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 D | google,cros-ec-keyb.yaml | 1 # 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 D | samsung,s3c6410-keypad.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 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 D | ti,nspire-keypad.yaml | 1 # 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 D | adi,adp5588.yaml | 1 # 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 D | nvidia,tegra20-kbc.txt | 2 The key controller has maximum 24 pins to make matrix keypad. Any pin7 - 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 D | matrix-keymap.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * 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 D | omap4-droid-bionic-xt875.dts | 1 // SPDX-License-Identifier: GPL-2.0-only2 /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 D | atarikbd.rst | 12 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 …]
 
 |