From: Rob Herring <robh@kernel.org>
To: Daniel Jansen <djaniboe@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Robert Dolca <robert.dolca@gmail.com>,
Gregor Riepl <onitake@gmail.com>,
Hans de Goede <hdegoede@redhat.com>,
linux-input@vger.kernel.org,
devicetree <devicetree@vger.kernel.org>,
Wessel Blokzijl <wesselb94@gmail.com>
Subject: Re: [PATCH v4] input: touchscreen: Add generic driver for Silead touchscreens
Date: Tue, 14 Jun 2016 18:27:20 -0500 [thread overview]
Message-ID: <20160614232720.GA28035@rob-hp-laptop> (raw)
In-Reply-To: <1465814810-7151-2-git-send-email-djaniboe@gmail.com>
On Mon, Jun 13, 2016 at 12:46:50PM +0200, Daniel Jansen wrote:
> From: Robert Dolca <robert.dolca@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@intel.com>
> Signed-off-by: Daniel Jansen <djaniboe@gmail.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> Changes since v3
> - Check for the hw reporting more touches than expected
> - Fix input_mt_assign_slots usage
> - Remove unnecessary defines.
> - Shorten lines to be under 80 characters.
> - Move closing block comment to new line.
> - Add device tree bindings document for silead_gsl1680.
> - Use dev->driver->acpi_match_table instead of silead_ts_acpi_match
> - Replaced sprintf in default firmware file name generator with snprintf
> - Add missing input_mt_sync_frame() call
> - Fix device tree support
>
> Changes since v2
> - removed device properties requirements
> - max x and y default to 4095
> - max fingers default to 10
> - firmware name uses the HID / device name
> - power named GPIO optional with fallback to indexed GPIO
> (without it there is no pm support in the driver)
> - finger tracking in the kernel using slot assignment
> - add device property for x/y inverting and xy swapping
>
> Changes since v1
> - changed device tree properties names
> - removed cast for `void *id`
> - removed ifdef from suspend and resume and use __maybe_unused
> - remove ifdef from ACPI_PTR
> - renamed ret to error
> - removed input_set_capability for EV_ABS
> - fixed endianess issues
> - added mask for y in order to use only 12 bits
> - using the 4 MSb for touch ID instead of LSb (bug)
> - using the 4 LSB for X instead of MSb (bug)
> ---
> .../bindings/input/touchscreen/silead_gsl1680.txt | 39 ++
> drivers/input/touchscreen/Kconfig | 13 +
> drivers/input/touchscreen/Makefile | 1 +
> drivers/input/touchscreen/silead.c | 652 +++++++++++++++++++++
> 4 files changed, 705 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..d0164be
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> @@ -0,0 +1,39 @@
> +* 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
> +- wake-gpios : GPIO specification for the WAKE input
What direction is this?
> +- touchscreen-size-x : horizontal resolution of touchscreen (in pixels)
> +- touchscreen-size-y : vertical resolution of touchscreen (in pixels)
> +- touchscreen-max-fingers : maximal input values given to inputsystem
> +
> +Optional properties:
> +- touchscreen-inverted-x : X axis is inverted (boolean)
> +- touchscreen-inverted-y : Y axis is inverted (boolean)
> +- touchscreen-swapped-x-y : X and Y axis are swapped (boolean)
> + Swapping is done after inverting the axis
> +
> +Example:
> +
> +i2c@00000000 {
> +
> + gsl1680: touchscreen@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;
> + };
> +
> + /* ... */
> +};
> +
next prev parent reply other threads:[~2016-06-14 23:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 10:46 [PATCH v4 0/1] input: touchscreen: Add generic driver for Silead touchscreens Daniel Jansen
2016-06-13 10:46 ` [PATCH v4] " Daniel Jansen
2016-06-14 23:27 ` Rob Herring [this message]
2016-06-15 7:39 ` Hans de Goede
2016-06-15 18:39 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160614232720.GA28035@rob-hp-laptop \
--to=robh@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=djaniboe@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=hdegoede@redhat.com \
--cc=linux-input@vger.kernel.org \
--cc=onitake@gmail.com \
--cc=robert.dolca@gmail.com \
--cc=wesselb94@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox