| /linux/drivers/input/keyboard/ |
| H A D | imx_keypad.c | 1 // 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 D | ep93xx_keypad.c | 1 // 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 D | tc3589x-keypad.c | 1 // 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 D | adp5585-keys.c | 1 // 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 D | max7359_keypad.c | 1 // 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 D | tc3589x.txt | 1 * 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 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 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 D | twl4030-keypad.txt | 1 * 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 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 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 D | pxa27x-keypad.txt | 1 * 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 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 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 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-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 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 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 D | matrix-keymap.c | 1 // 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 D | omap4-droid-bionic-xt875.dts | 1 // 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 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 …]
|