microchip,qt1050.txt 2.3 KB

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