[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