mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 14:05:19 +08:00
cbebf5adde
Add initial support for the AT42QT1050 (QT1050) device. The device supports up to five input keys, dependent on the mode. Since it adds only the initial support, the "1 to 4 keys plus Guard Channel" mode isn't supported. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
Microchip AT42QT1050 Five-channel Touch Sensor IC
|
|
|
|
The AT42QT1050 (QT1050) is a QTouchADC sensor device. The device can sense from
|
|
one to five keys, dependent on mode. The QT1050 includes all signal processing
|
|
functions necessary to provide stable sensing under a wide variety of changing
|
|
conditions, and the outputs are fully debounced.
|
|
|
|
The touchkey device node should be placed inside an I2C bus node.
|
|
|
|
Required properties:
|
|
- compatible: Must be "microchip,qt1050"
|
|
- reg: The I2C address of the device
|
|
- interrupts: The sink for the touchpad's IRQ output,
|
|
see ../interrupt-controller/interrupts.txt
|
|
|
|
Optional properties:
|
|
- wakeup-source: touch keys can be used as a wakeup source
|
|
|
|
Each button (key) is represented as a sub-node:
|
|
|
|
Each not specified key or key with linux,code set to KEY_RESERVED gets disabled
|
|
in HW.
|
|
|
|
Subnode properties:
|
|
- linux,code: Keycode to emit.
|
|
- reg: The key number. Valid values: 0, 1, 2, 3, 4.
|
|
|
|
Optional subnode-properties:
|
|
|
|
If a optional property is missing or has a invalid value the default value is
|
|
taken.
|
|
|
|
- microchip,pre-charge-time-ns:
|
|
Each touchpad need some time to precharge. The value depends on the mechanical
|
|
layout.
|
|
Valid value range: 0 - 637500; values must be a multiple of 2500;
|
|
default is 0.
|
|
- microchip,average-samples:
|
|
Number of data samples which are averaged for each read.
|
|
Valid values: 1, 4, 16, 64, 256, 1024, 4096, 16384; default is 1.
|
|
- microchip,average-scaling:
|
|
The scaling factor which is used to scale the average-samples.
|
|
Valid values: 1, 2, 4, 8, 16, 32, 64, 128; default is 1.
|
|
- microchip,threshold:
|
|
Number of counts to register a touch detection.
|
|
Valid value range: 0 - 255; default is 20.
|
|
|
|
Example:
|
|
QT1050 with 3 non continuous keys, key2 and key4 are disabled.
|
|
|
|
touchkeys@41 {
|
|
compatible = "microchip,qt1050";
|
|
reg = <0x41>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
|
|
|
|
up@0 {
|
|
reg = <0>;
|
|
linux,code = <KEY_UP>;
|
|
microchip,average-samples = <64>;
|
|
microchip,average-scaling = <16>;
|
|
microchip,pre-charge-time-ns = <10000>;
|
|
};
|
|
|
|
right@1 {
|
|
reg = <1>;
|
|
linux,code = <KEY_RIGHT>;
|
|
microchip,average-samples = <64>;
|
|
microchip,average-scaling = <8>;
|
|
};
|
|
|
|
down@3 {
|
|
reg = <3>;
|
|
linux,code = <KEY_DOWN>;
|
|
microchip,average-samples = <256>;
|
|
microchip,average-scaling = <16>;
|
|
};
|
|
};
|