[PATCH v6] input: touchscreen: Add generic driver for Silead touchscreens

Rob Herring robh at kernel.org
Sat Jul 16 10:56:05 PDT 2016


On Mon, Jul 11, 2016 at 05:51:44PM +0200, Hans de Goede wrote:
> From: Robert Dolca <robert.dolca at intel.com>
> 
> This driver adds support for Silead touchscreens. It has been tested
> with GSL1680 and GSL3680 touch panels.
> 
> It supports ACPI and device tree enumeration. Screen resolution,
> the maximum number of fingers supported and firmware name are
> configurable.
> 
> Signed-off-by: Robert Dolca <robert.dolca at intel.com>
> Signed-off-by: Daniel Jansen <djaniboe at gmail.com>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
> Changes in v6:
> -Default to 5 fingers if max-fingers is not specified
> -Improve devicetree binding doc: improve wake-gpios description, use
>  "See touchscreen.txt" where applicable
> ---
>  .../bindings/input/touchscreen/silead_gsl1680.txt  |  36 ++
>  drivers/input/touchscreen/Kconfig                  |  13 +
>  drivers/input/touchscreen/Makefile                 |   1 +
>  drivers/input/touchscreen/silead.c                 | 652 +++++++++++++++++++++
>  4 files changed, 702 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
>  create mode 100644 drivers/input/touchscreen/silead.c
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> new file mode 100644
> index 0000000..1e58d37
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> @@ -0,0 +1,36 @@
> +* GSL 1680 touchscreen controller
> +
> +Required properties:
> +- compatible		  : "silead,gsl1680"
> +- reg			  : I2C slave address of the chip (0x40)
> +- interrupt-parent	  : a phandle pointing to the interrupt controller
> +			    serving the interrupt for this chip
> +- interrupts		  : interrupt specification for the gsl1680 interrupt
> +- power-gpios		  : Specification for the pin connected to the gsl1680's
> +			    shutdown input. This needs to be driven high to take the
> +			    gsl1680 out of its low power state
> +- touchscreen-size-x	  : See touchscreen.txt
> +- touchscreen-size-y	  : See touchscreen.txt
> +- touchscreen-max-fingers : maximum number of fingers the touchscreen can detect

If you name it like a standard property, then it should be documented in 
touchscreen.txt.

> +Optional properties:
> +- touchscreen-inverted-x  : See touchscreen.txt
> +- touchscreen-inverted-y  : See touchscreen.txt
> +- touchscreen-swapped-x-y : See touchscreen.txt
> +
> +Example:
> +
> +i2c at 00000000 {
> +	gsl1680: touchscreen at 40 {
> +		compatible = "silead,gsl1680";
> +		reg = <0x40>;
> +		interrupt-parent = <&pio>;
> +		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> +		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> +		touchscreen-size-x = <480>;
> +		touchscreen-size-y = <800>;
> +		touchscreen-max-fingers = <5>;
> +		touchscreen-inverted-x;
> +		touchscreen-swapped-x-y;
> +	};
> +};



More information about the linux-arm-kernel mailing list