162306a36Sopenharmony_ciMicrochip AT42QT1050 Five-channel Touch Sensor IC
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciThe AT42QT1050 (QT1050) is a QTouchADC sensor device. The device can sense from
462306a36Sopenharmony_cione to five keys, dependent on mode. The QT1050 includes all signal processing
562306a36Sopenharmony_cifunctions necessary to provide stable sensing under a wide variety of changing
662306a36Sopenharmony_ciconditions, and the outputs are fully debounced.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciThe touchkey device node should be placed inside an I2C bus node.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciRequired properties:
1162306a36Sopenharmony_ci- compatible: Must be "microchip,qt1050"
1262306a36Sopenharmony_ci- reg: The I2C address of the device
1362306a36Sopenharmony_ci- interrupts: The sink for the touchpad's IRQ output,
1462306a36Sopenharmony_ci  see ../interrupt-controller/interrupts.txt
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciOptional properties:
1762306a36Sopenharmony_ci- wakeup-source: touch keys can be used as a wakeup source
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciEach button (key) is represented as a sub-node:
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciEach not specified key or key with linux,code set to KEY_RESERVED gets disabled
2262306a36Sopenharmony_ciin HW.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciSubnode properties:
2562306a36Sopenharmony_ci- linux,code: Keycode to emit.
2662306a36Sopenharmony_ci- reg: The key number. Valid values: 0, 1, 2, 3, 4.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciOptional subnode-properties:
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciIf a optional property is missing or has a invalid value the default value is
3162306a36Sopenharmony_citaken.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci- microchip,pre-charge-time-ns:
3462306a36Sopenharmony_ci  Each touchpad need some time to precharge. The value depends on the mechanical
3562306a36Sopenharmony_ci  layout.
3662306a36Sopenharmony_ci  Valid value range: 0 - 637500; values must be a multiple of 2500;
3762306a36Sopenharmony_ci  default is 0.
3862306a36Sopenharmony_ci- microchip,average-samples:
3962306a36Sopenharmony_ci  Number of data samples which are averaged for each read.
4062306a36Sopenharmony_ci  Valid values: 1, 4, 16, 64, 256, 1024, 4096, 16384; default is 1.
4162306a36Sopenharmony_ci- microchip,average-scaling:
4262306a36Sopenharmony_ci  The scaling factor which is used to scale the average-samples.
4362306a36Sopenharmony_ci  Valid values: 1, 2, 4, 8, 16, 32, 64, 128; default is 1.
4462306a36Sopenharmony_ci- microchip,threshold:
4562306a36Sopenharmony_ci  Number of counts to register a touch detection.
4662306a36Sopenharmony_ci  Valid value range: 0 - 255; default is 20.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciExample:
4962306a36Sopenharmony_ciQT1050 with 3 non continuous keys, key2 and key4 are disabled.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_citouchkeys@41 {
5262306a36Sopenharmony_ci	compatible = "microchip,qt1050";
5362306a36Sopenharmony_ci	reg = <0x41>;
5462306a36Sopenharmony_ci	interrupt-parent = <&gpio0>;
5562306a36Sopenharmony_ci	interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	up@0 {
5862306a36Sopenharmony_ci		reg = <0>;
5962306a36Sopenharmony_ci		linux,code = <KEY_UP>;
6062306a36Sopenharmony_ci		microchip,average-samples = <64>;
6162306a36Sopenharmony_ci		microchip,average-scaling = <16>;
6262306a36Sopenharmony_ci		microchip,pre-charge-time-ns = <10000>;
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci	right@1 {
6662306a36Sopenharmony_ci		reg = <1>;
6762306a36Sopenharmony_ci		linux,code = <KEY_RIGHT>;
6862306a36Sopenharmony_ci		microchip,average-samples = <64>;
6962306a36Sopenharmony_ci		microchip,average-scaling = <8>;
7062306a36Sopenharmony_ci	};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	down@3 {
7362306a36Sopenharmony_ci		reg = <3>;
7462306a36Sopenharmony_ci		linux,code = <KEY_DOWN>;
7562306a36Sopenharmony_ci		microchip,average-samples = <256>;
7662306a36Sopenharmony_ci		microchip,average-scaling = <16>;
7762306a36Sopenharmony_ci	};
7862306a36Sopenharmony_ci};
79