mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 10:14:23 +08:00
input: Extend matrix-keypad device tree binding
Some matrix keypad drivers can support different numbers of rows and columns. Add a generic binding for these. Implementation note: In order to implement this binding in the kernel, we will need to modify matrix_keypad_() to look up the number of rows and cols in the keymap. Perhaps this could be done by passing 0 for these parameters? Many of the parameters can already be set to NULL. Ick. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
parent
d2f4ec1026
commit
1d0b1c74ed
@ -1,19 +1,22 @@
|
|||||||
NXP LPC32xx Key Scan Interface
|
NXP LPC32xx Key Scan Interface
|
||||||
|
|
||||||
|
This binding is based on the matrix-keymap binding with the following
|
||||||
|
changes:
|
||||||
|
|
||||||
Required Properties:
|
Required Properties:
|
||||||
- compatible: Should be "nxp,lpc3220-key"
|
- compatible: Should be "nxp,lpc3220-key"
|
||||||
- reg: Physical base address of the controller and length of memory mapped
|
- reg: Physical base address of the controller and length of memory mapped
|
||||||
region.
|
region.
|
||||||
- interrupts: The interrupt number to the cpu.
|
- interrupts: The interrupt number to the cpu.
|
||||||
- keypad,num-rows: Number of rows and columns, e.g. 1: 1x1, 6: 6x6
|
|
||||||
- keypad,num-columns: Must be equal to keypad,num-rows since LPC32xx only
|
|
||||||
supports square matrices
|
|
||||||
- nxp,debounce-delay-ms: Debounce delay in ms
|
- nxp,debounce-delay-ms: Debounce delay in ms
|
||||||
- nxp,scan-delay-ms: Repeated scan period in ms
|
- nxp,scan-delay-ms: Repeated scan period in ms
|
||||||
- linux,keymap: the key-code to be reported when the key is pressed
|
- linux,keymap: the key-code to be reported when the key is pressed
|
||||||
and released, see also
|
and released, see also
|
||||||
Documentation/devicetree/bindings/input/matrix-keymap.txt
|
Documentation/devicetree/bindings/input/matrix-keymap.txt
|
||||||
|
|
||||||
|
Note: keypad,num-rows and keypad,num-columns are required, and must be equal
|
||||||
|
since LPC32xx only supports square matrices
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
key@40050000 {
|
key@40050000 {
|
||||||
|
@ -9,6 +9,12 @@ Required properties:
|
|||||||
row << 24 | column << 16 | key-code
|
row << 24 | column << 16 | key-code
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
|
Properties for the number of rows and columns are optional because some
|
||||||
|
drivers will use fixed values for these.
|
||||||
|
- keypad,num-rows: Number of row lines connected to the keypad controller.
|
||||||
|
- keypad,num-columns: Number of column lines connected to the keypad
|
||||||
|
controller.
|
||||||
|
|
||||||
Some users of this binding might choose to specify secondary keymaps for
|
Some users of this binding might choose to specify secondary keymaps for
|
||||||
cases where there is a modifier key such as a Fn key. Proposed names
|
cases where there is a modifier key such as a Fn key. Proposed names
|
||||||
for said properties are "linux,fn-keymap" or with another descriptive
|
for said properties are "linux,fn-keymap" or with another descriptive
|
||||||
@ -17,3 +23,5 @@ word for the modifier other from "Fn".
|
|||||||
Example:
|
Example:
|
||||||
linux,keymap = < 0x00030012
|
linux,keymap = < 0x00030012
|
||||||
0x0102003a >;
|
0x0102003a >;
|
||||||
|
keypad,num-rows = <2>;
|
||||||
|
keypad,num-columns = <8>;
|
||||||
|
@ -6,19 +6,16 @@ A key can be placed at each intersection of a unique row and a unique column.
|
|||||||
The keypad controller can sense a key-press and key-release and report the
|
The keypad controller can sense a key-press and key-release and report the
|
||||||
event using a interrupt to the cpu.
|
event using a interrupt to the cpu.
|
||||||
|
|
||||||
|
This binding is based on the matrix-keymap binding with the following
|
||||||
|
changes:
|
||||||
|
|
||||||
|
keypad,num-rows and keypad,num-columns are required.
|
||||||
|
|
||||||
Required SoC Specific Properties:
|
Required SoC Specific Properties:
|
||||||
- compatible: should be one of the following
|
- compatible: should be one of the following
|
||||||
- "ti,omap4-keypad": For controllers compatible with omap4 keypad
|
- "ti,omap4-keypad": For controllers compatible with omap4 keypad
|
||||||
controller.
|
controller.
|
||||||
|
|
||||||
Required Board Specific Properties, in addition to those specified by
|
|
||||||
the shared matrix-keyboard bindings:
|
|
||||||
- keypad,num-rows: Number of row lines connected to the keypad
|
|
||||||
controller.
|
|
||||||
|
|
||||||
- keypad,num-columns: Number of column lines connected to the
|
|
||||||
keypad controller.
|
|
||||||
|
|
||||||
Optional Properties specific to linux:
|
Optional Properties specific to linux:
|
||||||
- linux,keypad-no-autorepeat: do no enable autorepeat feature.
|
- linux,keypad-no-autorepeat: do no enable autorepeat feature.
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
This binding is based on the matrix-keymap binding with the following
|
||||||
|
changes:
|
||||||
|
|
||||||
|
keypad,num-rows and keypad,num-columns are required.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: "ti,tca8418"
|
- compatible: "ti,tca8418"
|
||||||
- reg: the I2C address
|
- reg: the I2C address
|
||||||
- interrupts: IRQ line number, should trigger on falling edge
|
- interrupts: IRQ line number, should trigger on falling edge
|
||||||
- keypad,num-rows: The number of rows
|
|
||||||
- keypad,num-columns: The number of columns
|
|
||||||
- linux,keymap: Keys definitions, see keypad-matrix.
|
- linux,keymap: Keys definitions, see keypad-matrix.
|
||||||
|
Loading…
Reference in New Issue
Block a user