1*cbebf5adSMarco FelschMicrochip AT42QT1050 Five-channel Touch Sensor IC 2*cbebf5adSMarco Felsch 3*cbebf5adSMarco FelschThe AT42QT1050 (QT1050) is a QTouchADC sensor device. The device can sense from 4*cbebf5adSMarco Felschone to five keys, dependent on mode. The QT1050 includes all signal processing 5*cbebf5adSMarco Felschfunctions necessary to provide stable sensing under a wide variety of changing 6*cbebf5adSMarco Felschconditions, and the outputs are fully debounced. 7*cbebf5adSMarco Felsch 8*cbebf5adSMarco FelschThe touchkey device node should be placed inside an I2C bus node. 9*cbebf5adSMarco Felsch 10*cbebf5adSMarco FelschRequired properties: 11*cbebf5adSMarco Felsch- compatible: Must be "microchip,qt1050" 12*cbebf5adSMarco Felsch- reg: The I2C address of the device 13*cbebf5adSMarco Felsch- interrupts: The sink for the touchpad's IRQ output, 14*cbebf5adSMarco Felsch see ../interrupt-controller/interrupts.txt 15*cbebf5adSMarco Felsch 16*cbebf5adSMarco FelschOptional properties: 17*cbebf5adSMarco Felsch- wakeup-source: touch keys can be used as a wakeup source 18*cbebf5adSMarco Felsch 19*cbebf5adSMarco FelschEach button (key) is represented as a sub-node: 20*cbebf5adSMarco Felsch 21*cbebf5adSMarco FelschEach not specified key or key with linux,code set to KEY_RESERVED gets disabled 22*cbebf5adSMarco Felschin HW. 23*cbebf5adSMarco Felsch 24*cbebf5adSMarco FelschSubnode properties: 25*cbebf5adSMarco Felsch- linux,code: Keycode to emit. 26*cbebf5adSMarco Felsch- reg: The key number. Valid values: 0, 1, 2, 3, 4. 27*cbebf5adSMarco Felsch 28*cbebf5adSMarco FelschOptional subnode-properties: 29*cbebf5adSMarco Felsch 30*cbebf5adSMarco FelschIf a optional property is missing or has a invalid value the default value is 31*cbebf5adSMarco Felschtaken. 32*cbebf5adSMarco Felsch 33*cbebf5adSMarco Felsch- microchip,pre-charge-time-ns: 34*cbebf5adSMarco Felsch Each touchpad need some time to precharge. The value depends on the mechanical 35*cbebf5adSMarco Felsch layout. 36*cbebf5adSMarco Felsch Valid value range: 0 - 637500; values must be a multiple of 2500; 37*cbebf5adSMarco Felsch default is 0. 38*cbebf5adSMarco Felsch- microchip,average-samples: 39*cbebf5adSMarco Felsch Number of data samples which are averaged for each read. 40*cbebf5adSMarco Felsch Valid values: 1, 4, 16, 64, 256, 1024, 4096, 16384; default is 1. 41*cbebf5adSMarco Felsch- microchip,average-scaling: 42*cbebf5adSMarco Felsch The scaling factor which is used to scale the average-samples. 43*cbebf5adSMarco Felsch Valid values: 1, 2, 4, 8, 16, 32, 64, 128; default is 1. 44*cbebf5adSMarco Felsch- microchip,threshold: 45*cbebf5adSMarco Felsch Number of counts to register a touch detection. 46*cbebf5adSMarco Felsch Valid value range: 0 - 255; default is 20. 47*cbebf5adSMarco Felsch 48*cbebf5adSMarco FelschExample: 49*cbebf5adSMarco FelschQT1050 with 3 non continuous keys, key2 and key4 are disabled. 50*cbebf5adSMarco Felsch 51*cbebf5adSMarco Felschtouchkeys@41 { 52*cbebf5adSMarco Felsch compatible = "microchip,qt1050"; 53*cbebf5adSMarco Felsch reg = <0x41>; 54*cbebf5adSMarco Felsch interrupt-parent = <&gpio0>; 55*cbebf5adSMarco Felsch interrupts = <17 IRQ_TYPE_EDGE_FALLING>; 56*cbebf5adSMarco Felsch 57*cbebf5adSMarco Felsch up@0 { 58*cbebf5adSMarco Felsch reg = <0>; 59*cbebf5adSMarco Felsch linux,code = <KEY_UP>; 60*cbebf5adSMarco Felsch microchip,average-samples = <64>; 61*cbebf5adSMarco Felsch microchip,average-scaling = <16>; 62*cbebf5adSMarco Felsch microchip,pre-charge-time-ns = <10000>; 63*cbebf5adSMarco Felsch }; 64*cbebf5adSMarco Felsch 65*cbebf5adSMarco Felsch right@1 { 66*cbebf5adSMarco Felsch reg = <1>; 67*cbebf5adSMarco Felsch linux,code = <KEY_RIGHT>; 68*cbebf5adSMarco Felsch microchip,average-samples = <64>; 69*cbebf5adSMarco Felsch microchip,average-scaling = <8>; 70*cbebf5adSMarco Felsch }; 71*cbebf5adSMarco Felsch 72*cbebf5adSMarco Felsch down@3 { 73*cbebf5adSMarco Felsch reg = <3>; 74*cbebf5adSMarco Felsch linux,code = <KEY_DOWN>; 75*cbebf5adSMarco Felsch microchip,average-samples = <256>; 76*cbebf5adSMarco Felsch microchip,average-scaling = <16>; 77*cbebf5adSMarco Felsch }; 78*cbebf5adSMarco Felsch}; 79