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