Microchip AT42QT1050 Five-channel Touch Sensor IC

The AT42QT1050 (QT1050) is a QTouchADC sensor device. The device can sense from
one to five keys, dependent on mode. The QT1050 includes all signal processing
functions necessary to provide stable sensing under a wide variety of changing
conditions, and the outputs are fully debounced.

The touchkey device node should be placed inside an I2C bus node.

Required properties:
- compatible: Must be "microchip,qt1050"
- reg: The I2C address of the device
- interrupts: The sink for the touchpad's IRQ output,
  see ../interrupt-controller/interrupts.txt

Optional properties:
- wakeup-source: touch keys can be used as a wakeup source

Each button (key) is represented as a sub-node:

Each not specified key or key with linux,code set to KEY_RESERVED gets disabled
in HW.

Subnode properties:
- linux,code: Keycode to emit.
- reg: The key number. Valid values: 0, 1, 2, 3, 4.

Optional subnode-properties:

If a optional property is missing or has a invalid value the default value is
taken.

- microchip,pre-charge-time-ns:
  Each touchpad need some time to precharge. The value depends on the mechanical
  layout.
  Valid value range: 0 - 637500; values must be a multiple of 2500;
  default is 0.
- microchip,average-samples:
  Number of data samples which are averaged for each read.
  Valid values: 1, 4, 16, 64, 256, 1024, 4096, 16384; default is 1.
- microchip,average-scaling:
  The scaling factor which is used to scale the average-samples.
  Valid values: 1, 2, 4, 8, 16, 32, 64, 128; default is 1.
- microchip,threshold:
  Number of counts to register a touch detection.
  Valid value range: 0 - 255; default is 20.

Example:
QT1050 with 3 non continuous keys, key2 and key4 are disabled.

touchkeys@41 {
	compatible = "microchip,qt1050";
	reg = <0x41>;
	interrupt-parent = <&gpio0>;
	interrupts = <17 IRQ_TYPE_EDGE_FALLING>;

	up@0 {
		reg = <0>;
		linux,code = <KEY_UP>;
		microchip,average-samples = <64>;
		microchip,average-scaling = <16>;
		microchip,pre-charge-time-ns = <10000>;
	};

	right@1 {
		reg = <1>;
		linux,code = <KEY_RIGHT>;
		microchip,average-samples = <64>;
		microchip,average-scaling = <8>;
	};

	down@3 {
		reg = <3>;
		linux,code = <KEY_DOWN>;
		microchip,average-samples = <256>;
		microchip,average-scaling = <16>;
	};
};
