Re: [PATCH] Input: qt1050 - add Microchip AT42QT1050 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 24, 2018 at 05:13:30PM +0200, Marco Felsch wrote:
> Add initial support for the AT42QT1050 (QT1050) device. The device
> supports up to five input keys, dependent on the mode. Since it adds only
> the initial support the "1 to 4 keys plus Guard Channel" mode isn't
> support.
> 
> Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> ---
>  .../bindings/input/microchip,qt1050.txt       |  54 ++

Please split binding patches.

>  drivers/input/keyboard/Kconfig                |  11 +
>  drivers/input/keyboard/Makefile               |   1 +
>  drivers/input/keyboard/qt1050.c               | 589 ++++++++++++++++++
>  4 files changed, 655 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/microchip,qt1050.txt
>  create mode 100644 drivers/input/keyboard/qt1050.c
> 
> diff --git a/Documentation/devicetree/bindings/input/microchip,qt1050.txt b/Documentation/devicetree/bindings/input/microchip,qt1050.txt
> new file mode 100644
> index 000000000000..d63e286f6526
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/microchip,qt1050.txt
> @@ -0,0 +1,54 @@
> +Microchip AT42QT1050 Five-channel Touch Sensor IC
> +
> +The AT42QT1050 (QT1050) is a QTouchADC sensor driver. The device can sense from

s/driver/device/

Bindings don't describe drivers.

> +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 touchkeys
> +- interrupts: The sink for the touchpad's IRQ output,
> +  see ../interrupt-controller/interrupts.txt
> +- linux,keycodes: Specifies an array of numeric keycode values to be used for
> +  reporting button presses. The array can contain up to 5 entries. Array index
> +  0 correspond to key 0 and so on. If the keys aren't continuous the
> +  KEY_RESERVED must be used. Keys marked as KEY_RESERVED or not specified will
> +  be disabled.
> +
> +Optional properties:
> +- pre-charge-time: Specifies an array of precharge times in ns for each touch
> +  pad. The value for each pad depend on the hardware layouts. If not specified
> +  or invalid values are specified the default value is taken.
> +  Valid value range [ns]: 0 - 637500; values must be a multiple of 2500;
> +  default is 0.

Needs a unit suffix as defined in property-units.txt.

> +- touchscreen-average-samples: Please see ../input/touchscreen/touchscreen.txt
> +  for more information. Unlike the general binding, this is an array to specify
> +  the samples for each pad. If not specified or invalid values are specified
> +  the default value is taken.
> +  Valid values: 1, 4, 16, 64, 256, 1024, 4096, 16384; default is 1.
> +- touchscreen-pre-scaling: Please see ../input/touchscreen/touchscreen.txt for
> +  more information. Unlike the general binding, this is an array to specify the
> +  scaling factor for each pad. If not specified or invalid values are specified
> +  the default value is taken.
> +  Valid values: 1, 2, 4, 8, 16, 32, 64, 128; default is 1.
> +- touchscreen-fuzz-pressure: Please see ../input/touchscreen/touchscreen.txt for
> +  more information. Unlike the general binding, this is an array to specify the
> +  noise (threshold) value for each pad. If not specified or invalid values are
> +  specified the default value is taken.
> +  Valid value range: 0 - 255; default is 20.
> +
> +Example:
> +QT1050 with 3 non continuous key, key3 and key5 are disabled.
> +
> +touchkeys@41 {
> +	compatible = "microchip,qt1050";
> +	reg = <0x41>;
> +	interrupt-parent = <&gpio0>;
> +	interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
> +	linux,keycodes = <KEY_UP>, <KEY_RIGHT>, <KEY_RESERVED>, <KEY_DOWN>;
> +	touchscreen-average-samples = <64>, <64>, <64>, <256>;
> +	touchscreen-pre-scaling = <16>, <8>, <16>, <16>;
> +};



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux