Back to home page

OSCL-LXR

 
 

    


0001 Microchip AT42QT1050 Five-channel Touch Sensor IC
0002 
0003 The AT42QT1050 (QT1050) is a QTouchADC sensor device. The device can sense from
0004 one to five keys, dependent on mode. The QT1050 includes all signal processing
0005 functions necessary to provide stable sensing under a wide variety of changing
0006 conditions, and the outputs are fully debounced.
0007 
0008 The touchkey device node should be placed inside an I2C bus node.
0009 
0010 Required properties:
0011 - compatible: Must be "microchip,qt1050"
0012 - reg: The I2C address of the device
0013 - interrupts: The sink for the touchpad's IRQ output,
0014   see ../interrupt-controller/interrupts.txt
0015 
0016 Optional properties:
0017 - wakeup-source: touch keys can be used as a wakeup source
0018 
0019 Each button (key) is represented as a sub-node:
0020 
0021 Each not specified key or key with linux,code set to KEY_RESERVED gets disabled
0022 in HW.
0023 
0024 Subnode properties:
0025 - linux,code: Keycode to emit.
0026 - reg: The key number. Valid values: 0, 1, 2, 3, 4.
0027 
0028 Optional subnode-properties:
0029 
0030 If a optional property is missing or has a invalid value the default value is
0031 taken.
0032 
0033 - microchip,pre-charge-time-ns:
0034   Each touchpad need some time to precharge. The value depends on the mechanical
0035   layout.
0036   Valid value range: 0 - 637500; values must be a multiple of 2500;
0037   default is 0.
0038 - microchip,average-samples:
0039   Number of data samples which are averaged for each read.
0040   Valid values: 1, 4, 16, 64, 256, 1024, 4096, 16384; default is 1.
0041 - microchip,average-scaling:
0042   The scaling factor which is used to scale the average-samples.
0043   Valid values: 1, 2, 4, 8, 16, 32, 64, 128; default is 1.
0044 - microchip,threshold:
0045   Number of counts to register a touch detection.
0046   Valid value range: 0 - 255; default is 20.
0047 
0048 Example:
0049 QT1050 with 3 non continuous keys, key2 and key4 are disabled.
0050 
0051 touchkeys@41 {
0052         compatible = "microchip,qt1050";
0053         reg = <0x41>;
0054         interrupt-parent = <&gpio0>;
0055         interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
0056 
0057         up@0 {
0058                 reg = <0>;
0059                 linux,code = <KEY_UP>;
0060                 microchip,average-samples = <64>;
0061                 microchip,average-scaling = <16>;
0062                 microchip,pre-charge-time-ns = <10000>;
0063         };
0064 
0065         right@1 {
0066                 reg = <1>;
0067                 linux,code = <KEY_RIGHT>;
0068                 microchip,average-samples = <64>;
0069                 microchip,average-scaling = <8>;
0070         };
0071 
0072         down@3 {
0073                 reg = <3>;
0074                 linux,code = <KEY_DOWN>;
0075                 microchip,average-samples = <256>;
0076                 microchip,average-scaling = <16>;
0077         };
0078 };