mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.3 KiB
78 lines
2.3 KiB
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>; |
|
}; |
|
};
|
|
|